Updated on 2026-02-10 GMT+08:00

Creating a User

Function

Creates a Workspace user.

Debugging

You can debug this API through automatic authentication in API Explorer or use the SDK sample code generated by API Explorer.

Authorization Information

Each account has all the permissions required to call all APIs, but IAM users must be assigned the required permissions.

  • If you are using role/policy-based authorization, see Permissions Policies and Supported Actions for details on the required permissions.
  • If you are using identity policy-based authorization, the following identity policy-based permissions are required.

    Action

    Access Level

    Resource Type (*: required)

    Condition Key

    Alias

    Dependencies

    workspace:users:create

    Write

    user *

    -

    -

    -

URI

POST /v2/{project_id}/users

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID.

Request Parameters

Table 2 Request body parameters

Parameter

Mandatory

Type

Description

user_name

Yes

String

Username.

user_email

No

String

User mailbox.

account_expires

No

String

Account expiration time. 0 indicates that the account never expires. The time format is yyyy-MM-ddTHH:mm:ssZ or yyyy-MM-ddTHH:mm:ss.SSSZ.

active_type

No

String

Activation type, which defaults to activation by users.

  • USER_ACTIVATE: activated by users

  • ADMIN_ACTIVATE: activated by the administrator

user_phone

No

String

Mobile number of the user.

password

No

String

Initial user password, which is required for the administrator activation mode.

enable_change_password

No

Boolean

Whether a user is allowed to change the password. The default value is true.

next_login_change_password

No

Boolean

Whether the password must be changed upon the next login. The default value is true. This parameter is valid only when active_type is set to ADMIN_ACTIVATE.

group_ids

No

Array of strings

Dedicated IDs of the user group.

description

No

String

User description, which contains 0 to 255 characters.

alias_name

No

String

Alias.

enterprise_project_id

No

String

Enterprise project ID.

user_info_map

No

String

User information mapping, including the service level, operation mode and type.

domain

No

String

Domain to which the user belongs. If this parameter is empty, the primary domain is used by default.

Response Parameters

Status code: 201

Table 3 Response body parameters

Parameter

Type

Description

id

String

User ID.

Status code: 400

Table 4 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

encoded_authorization_message

String

Encrypted detailed reason for rejection. You can call the API decode-authorization-message of STS to decrypt the reason.

Status code: 401

Table 5 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

encoded_authorization_message

String

Encrypted detailed reason for rejection. You can call the API decode-authorization-message of STS to decrypt the reason.

Status code: 403

Table 6 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

encoded_authorization_message

String

Encrypted detailed reason for rejection. You can call the API decode-authorization-message of STS to decrypt the reason.

Status code: 404

Table 7 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

encoded_authorization_message

String

Encrypted detailed reason for rejection. You can call the API decode-authorization-message of STS to decrypt the reason.

Status code: 405

Table 8 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

encoded_authorization_message

String

Encrypted detailed reason for rejection. You can call the API decode-authorization-message of STS to decrypt the reason.

Status code: 500

Table 9 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

encoded_authorization_message

String

Encrypted detailed reason for rejection. You can call the API decode-authorization-message of STS to decrypt the reason.

Status code: 503

Table 10 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

encoded_authorization_message

String

Encrypted detailed reason for rejection. You can call the API decode-authorization-message of STS to decrypt the reason.

Example Requests

POST /v2/0bec5db98280d2d02fd6c00c2de791ce/users

{
  "user_name" : "api-test",
  "user_email" : "test@huawei.com"
}

Example Responses

Status code: 201

Response to the request for creating a Workspace user.

{
  "id" : "8a2c3f9579d240820179d51e6caf0001"
}

Status Codes

Status Code

Description

201

Response to the request for creating a Workspace user.

400

The request cannot be understood by the server due to malformed syntax.

401

Authentication failed.

403

No operation permissions.

404

No resources found.

405

The method specified in the request is not allowed.

500

An internal service error occurred. For details about the error code, see the error code description.

503

Service unavailable.

Error Codes

See Error Codes.