GenAuth DocsDocuments
Concepts
User Guide
Development Integration
AgentAuth
Metadata
Development Integration
Multi-tenant (beta)
Console Documentation
Multi-tenant Console
Tenant Console
Saas Application Demo
Concepts
User Guide
Development Integration
AgentAuth
Metadata
Development Integration
Multi-tenant (beta)
Console Documentation
Multi-tenant Console
Tenant Console
Saas Application Demo
Old version
Development Integration
  • API

  • SDK

    • Java

    • Node.js

    • Python

      • Installation and Usage
      • Authentication Module

      • Management Module

        • User Management

          • Get User List
          • Get User Information
          • Batch Get User Information
          • Create User
          • Batch Create Users
          • Update User Profile
          • Batch Update User Profile
          • Delete Users
          • Get User External Identity Sources
          • Get User Role List
          • Get User Real-name Authentication Info
          • Delete User Real-name Authentication Info
          • Get User Department List
          • Set User Departments
          • Get User Group List
          • Get User MFA Binding Info
          • Get Archived User List
          • Force Logout Users
          • Check if User Exists
          • Get User Accessible Apps
          • Get User Authorized Apps
          • Check if User Has Role
          • Get User Login History
          • Get User Previously Logged In Apps
          • Get User Previously Logged In Identity Sources
          • User Resignation
          • Batch User Resignation
          • Get User Authorized Resources
          • Check User Session Status in Application
          • Import User OTP
        • Organization Management

        • Role Management

        • User Group Management

        • Custom Field Management

        • Resource and Permission Management

        • 管理应用

        • 管理身份源

        • 管理安全配置

        • 管理消息服务

        • 管理 Pipeline

        • 管理 Webhook

        • 获取审计日志

        • 管理计量计费

        • 事件
  • Error Codes
  1. Development Integration
  2. /
  3. SDK
  4. /
  5. Python
  6. /
  7. Management Module

  8. /
  9. User Management

  10. /
  11. Batch Create Users

¶ Create users in batches

Update time: 2025-07-23 07:34:21
Edit

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.

To create users in batches, one of the email, mobile number, and username must be included. The email, mobile number, username, and externalId are unique in the user pool. This interface will create users as an administrator, so there is no need to perform security checks such as mobile number verification code verification.

¶ Method name

ManagementClient.create_users_batch

¶ Request parameters

NameType
Required
Default value
Description
Sample value
listCreateUserInfoDto[]yes-User list Array length limit: 50.[{"status":"Activated","email":"test@example.com","username":"bob","name":"xxx","nickname":"xxx","password":"passw0rd","photo":"https://files.authing.co/authing-console/default-user-avatar.p ng","gender":"M","birthdate":"2022-06-03","country":"CN","province":"BJ","city":"BJ","address":" xxxxx","streetAddress":"xxxxx","postalCode":"438100","company":"steamory","browser":"Mozilla/5.0 (Linux; Android 10; V2001A; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/87.0.4280.141 Mobile Safari/537.36 VivoBrowser/10.2.10.0","device":"iOS","givenName":"xx","familyName":"xxx","middleName":"James","profile":"alice","p referredUsername":"alice","website":"https://my-website.com","zoneinfo":"GMT-08:00","locale":"af","formatted":"132, My Street, Kingston, New York 12401.","region":"Xinjiang Uyghur Autonomous Region"}]

¶ Request Response

Type: UserListRespDto

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, please see: API Code List (opens new window)
requestIdstringRequest ID. Returned when the request fails.
dataarrayUser list

Example results:

{
  "statusCode": 200,
  "message": "Success",
  "requestId": "934108e5-9fbf-4d24-8da1-c330328abd6c",
  "data": {
    "userId": "6229ffaxxxxxxxxcade3e3d9",
    "createdAt": "2022-07-03T03:20:30.000Z",
    "updatedAt": "2022-07-03T03:20:30.000Z",
    "status": "Activated",
    "workStatus": "Active",
    "externalId": "10010",
    "email": "test@example.com",
    "phone": "188xxxx8888",
    "phoneCountryCode": "+86",
    "username": "bob",
    "name": "xxx",
    "nickname": "xxx",
    "photo": "https://files.authing.co/authing-console/default-user-avatar.png",
    "loginsCount": 3,
    "lastLogin": "2022-07-03T03:20:30.000Z",
    "lastIp": "127.0.0.1",
    "gender": "M",
    "emailVerified": true,
    "phoneVerified": true,
    "passwordLastSetAt": "2022-07-03T03:20:30.000Z",
    "birthdate": "2022-06-03",
    "country": "CN",
    "province": "BJ",
    "city": "BJ",
    "address": "xxxxx",
    "streetAddress": "xxxxx",
    "postalCode": "438100",
    "company": "steamory",
    "browser": "Mozilla/5.0 (Linux; Android 10; V2001A; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/87.0.4280.141 Mobile Safari/537.36 VivoBrowser/10.2.10.0",
    "device": "iOS",
    "givenName": "xx",
    "familyName": "xxx",
    "middleName": "James",
    "profile": "alice",
    "preferredUsername": "alice",
    "website": "https://my-website.com",
    "zoneinfo": "GMT-08:00",
    "locale": "af",
    "formatted": "132, My Street, Kingston, New York 12401.",
    "region": "Xinjiang Uyghur Autonomous Region",
    "userSourceType": "register",
    "passwordSecurityLevel": 1,
    "departmentIds": "[\"624d930c3xxxx5c08dd4986e\",\"624d93102xxxx012f33cd2fe\"]",
    "identities": {
      "identityId": "62299d8b866d2dab79a89dc4",
      "extIdpId": "6076bacxxxxxxxxd80d993b5",
      "provider": "wechat",
      "type": "openid",
      "userIdInIdp": "oj7Nq05R-RRaqak0_YlMLnnIwsvg",
      "accessToken": "57_fK0xgSL_NwVlS-gmUwlMQ2N6AONNIOAYxxxx",
      "refreshToken": "57_IZFu91Ak1Wg6DRytZFFIOd3upNF5lH7vPxxxxx",
      "originConnIds": "[\"605492ac41xxxxe0362f0707\"]"
    },
    "identityNumber": "420421xxxxxxxx1234",
    "customData": {
      "school": "xxxxx",
      "age": 22
    },
    "statusChangedAt": "2022-07-03T03:20:30.000Z"
  }
}

¶ Data Structure

¶ CreateUserInfoDto

NameType
Is this field required?
Description
Sample value
statusstringNoCurrent account statusSuspended
emailstringNoEmail address, case insensitivetest@example.com
phonestringNoPhone number without area code. If it is a foreign phone number, please specify the area code in the phoneCountryCode parameter.188xxxx8888
phoneCountryCodestringNoPhone area code, which can be left blank for mainland China phone numbers. The GenAuth SMS service does not currently support international phone numbers. You need to configure the corresponding international SMS service in the GenAuth console. For a complete list of phone area codes, please refer to https://en.wikipedia.org/wiki/List_of_country_calling_codes.+86
usernamestringNoUser name, unique in the user poolbob
externalIdstringNoThird-party external ID10010
namestringNoUser's real name, not uniquexxx
nicknamestringNoNicknamexxx
photostringNoAvatar linkhttps://files.authing.co/authing-console/default-user-avatar.png
genderstringNoGenderM
emailVerifiedbooleanNoEmail verifiedtrue
phoneVerifiedbooleanNoPhone number verifiedtrue
birthdatestringNoDate of birth2022-06-03
countrystringNoCountryCN
provincestringnoProvinceBJ
citystringnoCityBJ
addressstringnoAddressxxxxx
streetAddressstringnoStreet addressxxxxx
postalCodestringnoPostal code438100
companystringnoCompanysteamory
browserstringnoLast browser UAMozilla/5.0 (Linux; Android 10; V2001A; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/87.0.4280.141 Mobile Safari/537.36 VivoBrowser/10.2.10.0
devicestringnoLast deviceiOS
givenNamestringnofirst namexx
familyNamestringnolast namexxx
middleNamestringnomiddle nameJames
profilestringnoPreferred Usernamealice
preferredUsernamestringnoPreferred Usernamealice
websitestringnoUser personal websitehttps://my-website.com
zoneinfostringnoUser time zone informationGMT-08:00
localestringnoLocaleaf
formattedstringnoFull standard address132, My Street, Kingston, New York 12401.
regionstringnoUser regionXinjiang Uyghur Autonomous Region
passwordstringnoUser password, in plain text by default. We use the HTTPS protocol to securely transmit passwords, which can ensure security to a certain extent. If you need a higher level of security, we also support RSA256 and SM2 encryption for passwords. For details, see the passwordEncryptType parameter.passw0rd
saltstringnoSalt to encrypt the user's passworddgisaeieruur
tenantIdsarraynoTenant IDs["63f867961cxxxx41e7ccb582","63bea7828f4xxxxbfa80df93"]
otpnoOTP authenticator for the user Nested type: CreateUserOtpDto.{"recoveryCode":"b471-8ec0-874a-087f-bccb-cd54","secret":"HZ2F6J3AGNAVSOTV"}
departmentIdsarrayNoList of department IDs to which the user belongs["624d930c3xxxx5c08dd4986e","624d93102xxxx012f33cd2fe"]
customDataobjectNoCustom data. The key in the passed object must first be defined in the user pool for the relevant custom fields{"school":"xxxxx","age":22}
metadataSourceobjectNoData object data. The key in the passed object must first be defined in the user pool for the relevant custom fields{"school":"xxxxx","age":22}
identitiesarrayNoThird-party identity source (it is recommended to call the binding interface for binding) Nested type: CreateIdentityDto.[{"extIdpId":"6076bacxxxxxxxxd80d993b5","provider":"wechat","type":"openid","userIdInIdp":"oj7Nq05R-RRaqak0_YlMLnnIwsvg"}]
identityNumberstringNoUser ID number420421xxxxxxxx1234

¶ CreateUserOtpDto

NameType
Required
Description
Sample value
secretstringyesOTP keyHZ2F6J3AGNAVSOTV
recoveryCodestringnoOTP Recovery Codeb471-8ec0-874a-087f-bccb-cd54

¶ CreateIdentityDto

NameType
Is this field required?
Description
Sample value
extIdpIdstringyesIdentity source connection ID6076bacxxxxxxxxd80d993b5
providerstringyesExternal identity source type:
- wechat: WeChat
- qq: QQ
- wechatwork: WeChat for Business
- dingtalk: DingTalk
- weibo: Weibo
- github: GitHub
- alipay: Alipay
- baidu: Baidu
- lark: Feishu
- welink: Welink
- yidun: NetEase Yidun
- qingcloud: Qingyun
- google: Google
- gitlab: GitLab
- gitee: Gitee
- twitter: Twitter
- facebook: Facebook
- slack: Slack
- linkedin: Linkedin
- instagram: Instagram
- oidc: OIDC-based enterprise identity source
- oauth2: OAuth2-based enterprise identity source
- saml: SAML-based enterprise identity source
- ldap: LDAP-based enterprise identity source
- ad: AD-based enterprise identity source
- cas: CAS-based enterprise identity source
- azure-ad: Azure AD-based enterprise identity source
oidc
typestringyesIdentity type, such as unionid, openid, primaryopenid
userIdInIdpstringyesID in the external identity sourceoj7Nq05R-RRaqak0_YlMLnnIwsvg
userInfoInIdpobjectyesUser's identity information in idp
accessTokenstringnoAccess Token in the external identity source (this parameter is returned only when the user actively obtains it, and it is not returned by the management interface).57_fK0xgSL_NwVlS-gmUwlMQ2N6AONNIOAYxxxx
refreshTokenstringnoRefresh Token in the external identity source (this parameter is returned only when the user actively obtains it, and it is not returned by the management interface).57_IZFu91Ak1Wg6DRytZFFIOd3upNF5lH7vPxxxxx
originConnIdsarrayyesIdentity source connection ID list from which the identity comes["605492ac41xxxxe0362f0707"]

¶ CreateUserOptionsDto

NameType
Is this field required?
Description
Sample value
keepPasswordbooleannoThis parameter is usually set when migrating old user data to GenAuth. When this switch is turned on, the password field will be written directly to the GenAuth database, and GenAuth will not encrypt this field again. If your password is not stored in plain text, you should keep it turned on and write a password calculation function.
autoGeneratePasswordbooleannoWhether to automatically generate a password
resetPasswordOnFirstLoginbooleannoWhether to force users to reset their passwords the first time
departmentIdTypestringnoThe type of the parent department ID used in this calldepartment_id
sendNotificationnoOptions for sending email and mobile phone number when resetting passwords Nested type: SendCreateAccountNotificationDto.{"sendEmailNotification":true,"sendPhoneNotification":true}
passwordEncryptTypestringNoPassword encryption type, supports RSA256 and SM2 algorithms. The default is none, no encryption.
- none: Do not encrypt the password, use plain text for transmission.
- rsa: Use RSA256 algorithm to encrypt the password, and need to use the RSA public key of the GenAuth service for encryption. Please read the Introduction section to learn how to obtain the RSA256 public key of the GenAuth service.
- sm2: Use SM2 algorithm (opens new window) to encrypt the password, and need to use the SM2 public key of the GenAuth service for encryption. Please read the Introduction section to learn how to obtain the SM2 public key of the GenAuth service.
sm2

¶ SendCreateAccountNotificationDto

NameType
Is it required?
Description
Sample value
sendEmailNotificationbooleanNoWhether to send email notification after creating an account
sendPhoneNotificationbooleanNoWhether to send SMS notification after creating an account
appIdstringNoWhen sending the login address, the specified application id will send the login address of this application to the user's email or mobile phone number. The default is the login address of the user pool application panel.appid1

¶ UserDto

NameType
Is this field required?
Description
Sample value
userIdstringYesThe unique identifier of the user, which can be user ID, user name, email, phone number, externalId, or ID in an external identity source. For details, see the description of the userIdType field. The default is user id.6229ffaxxxxxxxxcade3e3d9
createdAtstringyescreation time2022-07-03T03:20:30.000Z
updatedAtstringyesupdate time2022-07-03T03:20:30.000Z
statusstringyescurrent status of the account:
- Activated: normal status
- Suspended: deactivated
- Deactivated: disabled
- Resigned: resigned
- Archived: archived
Suspended
workStatusstringyescurrent work status of the accountClosed
externalIdstringnothird-party external ID10010
emailstringnoemail address, case insensitivetest@example.com
phonestringNoPhone number without area code. If it is a foreign phone number, specify the area code in the phoneCountryCode parameter.188xxxx8888
phoneCountryCodestringNoMobile phone area code. This field is optional for mainland China mobile phone numbers. The GenAuth SMS service does not yet support international mobile phone numbers. You need to configure the corresponding international SMS service in the GenAuth console. For a complete list of mobile phone area codes, please refer to https://en.wikipedia.org/wiki/List_of_country_calling_codes.+86
usernamestringNoUsername, unique in the user poolbob
namestringNoUser's real name, not uniquexxx
nicknamestringNoNicknamexxx
photostringNoAvatar linkhttps://files.authing.co/authing-console/default-user-avatar.png
loginsCountnumberNoTotal number of historical logins3
lastLoginstringNoLast login time2022-07-03T03:20:30.000Z
lastIpstringNoLast login IP127.0.0.1
genderstringYesGender:
- M: Male, male
- F: Female, female
- U: unknown, unknown
M
emailVerifiedbooleanyesIs the email verifiedtrue
phoneVerifiedbooleanyesIs the phone number verified?true
passwordLastSetAtstringnoThe time when the user last changed his password2022-07-03T03:20:30.000Z
birthdatestringnoDate of birth2022-06-03
countrystringnoCountryCN
provincestringnoProvinceBJ
citystringnoCityBJ
addressstringnoAddressxxxxx
streetAddressstringnoStreet addressxxxxx
postalCodestringnoPostal code438100
companystringnoCompanysteamory
browserstringnoLast login browser UAMozilla/5.0 (Linux; Android 10; V2001A; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/87.0.4280.141 Mobile Safari/537.36 VivoBrowser/10.2.10.0
devicestringnoLast login deviceiOS
givenNamestringnoFirst namexx
familyNamestringnoLast namexxx
middleNamestringnoMiddle nameJames
profilestringnoPreferred Usernamealice
preferredUsernamestringnoPreferred Usernamealice
websitestringnoUser personal websitehttps://my-website.com
zoneinfostringnoUser time zone informationGMT-08:00
localestringNoLocaleaf
formattedstringNoStandard full address132, My Street, Kingston, New York 12401.
regionstringNoUser's regionXinjiang Uyghur Autonomous Region
userSourceTypestringYesSource type:
- excel: Imported via excel
- register: User self-registration
- adminCreated: Manual creation by the administrator backend (including creating users using the management API)
- syncTask: Sync task in the sync center
excel
userSourceIdstringNoApplication ID or sync task ID
lastLoginAppstringNoApplication ID of the user's last login
mainDepartmentIdstringNoUser's main department ID
lastMfaTimestringNoThe last time the user performed MFA Authentication time
passwordSecurityLevelnumberNoUser password security strength level1
resetPasswordOnNextLoginbooleanNoRequire password reset on next login
registerSourcearraynoRegistration method
departmentIdsarraynoList of department IDs to which the user belongs["624d930c3xxxx5c08dd4986e","624d93102xxxx012f33cd2fe"]
identitiesarraynoExternal identity source Nested type: IdentityDto.
identityNumberstringNoUser ID number420421xxxxxxxx1234
customDataobjectNoUser's extended field data{"school":"xxxxx","age":22}
postIdListarrayNoUser-associated department ID
statusChangedAtstringNoUser status last modified time2022-07-03T03:20:30.000Z
tenantIdstringNoUser tenant ID

¶ IdentityDto

NameType
Is this field required?
Description
Sample value
identityIdstringyesIdentity source ID62299d8b866d2dab79a89dc4
extIdpIdstringyesIdentity source connection ID6076bacxxxxxxxxd80d993b5
providerstringyesExternal identity source type:
- wechat: WeChat
- qq: QQ
- wechatwork: WeChat for Business
- dingtalk: DingTalk
- weibo: Weibo
- github: GitHub
- alipay: Alipay
- baidu: Baidu
- lark: Feishu
- welink: Welink
- yidun: NetEase Yidun
- qingcloud: Qingyun
- google: Google
- gitlab: GitLab
- gitee: Gitee
- twitter: Twitter
- facebook: Facebook
- slack: Slack
- linkedin: Linkedin
- instagram: Instagram
- oidc: OIDC-based enterprise identity source
- oauth2: OAuth2-based enterprise identity source
- saml: SAML-based enterprise identity source
- ldap: LDAP-based enterprise identity source
- ad: AD-based enterprise identity source
- cas: CAS-based enterprise identity source
- azure-ad: Azure AD-based enterprise identity source
oidc
typestringYesIdentity type, such as unionid, openid, primaryopenid
userIdInIdpstringYesID in external identity sourceoj7Nq05R-RRaqak0_YlMLnnIwsvg
userInfoInIdpobjectyesUser's identity information in idp
accessTokenstringnoAccess Token in external identity source (this parameter is returned only when user actively obtains it, and it is not returned by management interface).57_fK0xgSL_NwVlS-gmUwlMQ2N6AONNIOAYxxxx
refreshTokenstringnoRefresh Token in external identity source (this parameter is returned only when user actively obtains it, and it is not returned by management interface).57_IZFu91Ak1Wg6DRytZFFIOd3upNF5lH7vPxxxxx
originConnIdsarrayyesIdentity source connection ID list from which identity comes["605492ac41xxxxe0362f0707"]
Previous article: Create User Next article: Update User Profile
  • Method name
  • Request parameters
  • Request Response
  • Data Structure

User identity management

Integrated third-party login
Customized authentication process

Enterprise internal management

Single sign-on
Multi-factor authentication
Permission management

Developer

Development Documentation
GitHub (opens new window)

Company

official@genauth.ai
16th Floor, Building B, Beichen Century Center, Chaoyang District, Beijing (Total)
Room 406, 4th Floor, Block B, No. 200, Tianfu Fifth Street, High-tech Zone, Chengdu (Branch)

© Beijing Steamory Technology Co., Ltd.