Skip to content

Get user department list

This document is automatically generated based on https://github.com/authing/authing-docs-factory based on https://api-explorer.genauth.ai V3 API, and is consistent with API parameters and return results. If this document description is incorrect, please refer to V3 API.

Get the user department list through user ID, support paging, you can choose to get custom data, select a specified user ID type, ascending or descending order, etc.

Method name

ManagementClient.getUserDepartments

Request parameters

| Name | Type | Required | Default value | Description | Sample value | | ------------------- | ------- | -------------------------------------- | ------------------------------------ | ---------------------------- ... | 6229ffaxxxxxxxxcade3e3d9 | | userIdType | string | No | user_id | User ID type, the default value is user_id, the optional values are:
- user_id: GenAuth user ID, such as 6319a1504f3xxxxf214dd5b7
- phone: User phone number
- email: User email
- username: User name
- external_id: User ID in the external system, corresponding to the externalId field of GenAuth user information
- identity: User's external identity source information, the format is <extIdpId>:<userIdInIdp>, where <extIdpId> is the ID of the GenAuth identity source, and <userIdInIdp> is the ID of the user in the external identity source.
Example value: 62f20932716fbcc10d966ee5:ou_8bae746eac07cd2564654140d2a9ac61.
- sync_relation: The user's external identity source information, in the format of <provier>:<userIdInIdp>, where <provier> is the synchronization identity source type, such as wechatwork, lark; <userIdInIdp> is the user's ID in the external identity source.
Example value: lark:ou_8bae746eac07cd2564654140d2a9ac61.
| user_id | | page | number | No | 1 | Current page number, starting from 1 | 1 | | limit | number | No | 10 | Number per page, maximum cannot exceed 50, default is 10| 10 | | withCustomData | boolean | No | - | Whether to obtain custom data | true | | withDepartmentPaths | boolean | No | - | Whether to obtain department paths | true | | sortBy | string | No | JoinDepartmentAt | Sorting basis, such as department creation time, department joining time, department name, department identifier | JoinDepartmentAt | | orderBy | string | No | Desc | Ascending or descending order | Desc |

Sample code

ts
import { ManagementClient, Models } from "authing-node-sdk";

// Initialize ManagementClient
const managementClient = new ManagementClient({
  // Need to be replaced with your GenAuth Access Key ID
  accessKeyId: "GEN_AUTH_ACCESS_KEY_ID",
  // Need to be replaced with your GenAuth Access Key Secret
  accessKeySecret: "GEN_AUTH_ACCESS_KEY_SECRET",
  // If you are a privately deployed customer, you need to set the GenAuth service domain name
  // host: 'https://api.your-authing-service.com'
});

(async () => {
  const result = await managementClient.getUserDepartments({
    // Replace user ID
    userId: "6229ffaxxxxxxxxcade3e3d9",
    userIdType: "user_id",
    page: 1,
    limit: 10,
    withCustomData: true,
    sortBy: "JoinDepartmentAt",
    orderBy: "Desc",
  });

  console.log(JSON.stringify(result, null, 2));
})();

Request response

Type: UserDepartmentPaginatedRespDto

NameTypeDescription
statusCodenumberBusiness status code, which can be used to determine whether the operation is successful. 200 means success.
messagestringDescription
apiCodenumberSegmented error code, which can be used to get the specific error type (successful request does not return). For a detailed list of error codes, see: API Code List
requestIdstringRequest ID. Returned when the request fails.
data<a UserDepartmentPagingDtoResponse data

Sample result:

json
{
  "statusCode": 200,
  "message": "Operation successful",
  "requestId": "934108e5-9fbf-4d24-8da1-c330328abd6c",
  "data": {
    "list": {
      "organizationCode": "steamory",
      "departmentId": "60b49eb83fd80adb96f26e68",
      "createdAt": "2022-07-03T03:20:30.000Z",
      "name": "dd8d7stf44",
      "description": "dd8d7stf44",
      "openDepartmentId": "ou_7dab8a3d3cdccxxxxxx777c7ad535d62",
      "isLeader": true,
      "code": "6229c4deb3e4d8a20b6021ff",
      "isMainDepartment": true,
      "joinedAt": "2022-07-03T03:20:30.000Z",
      "i18n": {
        "name": {
          "zh-CN": { "enabled": false, "value": "Chinese" },
          "en-US": { "enabled": false, "value": "English" }
        }
      },
      "customData": { "icon": "https://example.com/logo" },
      "departmentIdPath": "[\"parentId1\",\"parentId2\"]",
      "departmentCodePath": "[\"parentCode1\",\"parentCode2\"]",
      "departmentNamePath": "[\"parentName1\",\"parentName2\"]"
    }
  }
}

Data structure

UserDepartmentPagingDto

NameTypeIs it requiredDescriptionSample value
totalCountnumberYesTotal number of records
listarrayYesResponse data Nested type: <a UserDepartmentRespDto.

UserDepartmentRespDto

NameTypeIs it required?DescriptionSample value
organizationCodestringYesOrganization Code (organizationCode)steamory
departmentIdstringYesDepartment ID60b49eb83fd80adb96f26e68
isRootbooleanyesIs it the root department?
createdAtstringyesDepartment creation time2022-07-03T03:20:30.000Z
namestringyesDepartment namedd8d7stf44
descriptionstringyesDepartment descriptiondd8d7stf44
openDepartmentIdstringnoCustom department ID, used to store custom IDsou_7dab8a3d3cdccxxxxxx777c7ad535d62
isLeaderbooleanyesIs it the department leader?true
codestringyesDepartment identification code6229c4deb3e4d8a20b6021ff
isMainDepartmentbooleanyesIs it the main departmenttrue
joinedAtstringyesJoined department time2022-07-03T03:20:30.000Z
isVirtualNodebooleanyesIs it a virtual department
i18nnoMulti-language settings Nested type: <a DepartmentI18nDto.{"name":{"zh-CN":{"enabled":false,"value":"中文"},"en-US":{"enabled":false,"value":"English"}}}
customDataobjectNoExtended field data of department{"icon":"https://example.com/logo"}
departmentIdPatharrayNoDepartment ID path["parentId1","parentId2"]
departmentCodePatharrayNoDepartment Code path["parentCode1","parentCode2"]
departmentNamePatharrayNoDepartment name path["parentName1","parentName2"]

DepartmentI18nDto

NameTypeIs it requiredDescriptionSample value
nameYesMulti-language-supported field Nested type: <a LangObject.{"zh-CN":{"enabled":false,"value":"中文"},"en-US":{"enabled":false,"value":"English"}}

LangUnit

NameTypeRequiredDescriptionExample value
enabledbooleanYesWhether it is enabled. If enabled and the language is selected in the console, the content will be displayed. (off by default)
valuestringyesmultilingual content

Agent infrastructure for identity, memory, and web action.