Updated on 2023-08-29 GMT+08:00

Creating a User

Function

This API is used to create a user.

URI

POST /v2/{project_id}/instances/{instance_id}/users

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID. For details about how to obtain it, see Obtaining a Project ID.

instance_id

Yes

String

Instance ID.

Request Parameters

Table 2 Request body parameters

Parameter

Mandatory

Type

Description

access_key

No

String

Username, which starts with a letter, consists of 7 to 64 characters and can contain only letters, digits, hyphens (-), and underscores (_).

secret_key

No

String

Secret key. Use 8 to 32 characters. Contain at least three of the following character types:

  • Uppercase letters

  • Lowercase letters

  • Digits

  • Special characters`~!@#$%^&*()-_=+\|[{}];:'"",<.>/? Cannot be the username or the username spelled backwards. "

white_remote_address

No

String

IP address whitelist.

admin

No

Boolean

Whether the user is an administrator.

default_topic_perm

No

String

Default topic permissions.

default_group_perm

No

String

Default consumer group permissions.

topic_perms

No

Array of topic_perms objects

Special topic permissions.

group_perms

No

Array of group_perms objects

Special consumer group permissions.

Table 3 topic_perms

Parameter

Mandatory

Type

Description

name

No

String

Topic name.

perm

No

String

Permissions.

Table 4 group_perms

Parameter

Mandatory

Type

Description

name

No

String

Consumer group name.

perm

No

String

Permissions.

Response Parameters

Status code: 200

Table 5 Response body parameters

Parameter

Type

Description

access_key

String

Username, which starts with a letter, consists of 7 to 64 characters and can contain only letters, digits, hyphens (-), and underscores (_).

secret_key

String

Secret key. Use 8 to 32 characters. Contain at least three of the following character types:

  • Uppercase letters

  • Lowercase letters

  • Digits

  • Special characters`~!@#$%^&*()-_=+\|[{}];:'"",<.>/? Cannot be the username or the username spelled backwards. "

white_remote_address

String

IP address whitelist.

admin

Boolean

Whether the user is an administrator.

default_topic_perm

String

Default topic permissions.

default_group_perm

String

Default consumer group permissions.

topic_perms

Array of topic_perms objects

Special topic permissions.

group_perms

Array of group_perms objects

Special consumer group permissions.

Table 6 topic_perms

Parameter

Type

Description

name

String

Topic name.

perm

String

Permissions.

Table 7 group_perms

Parameter

Type

Description

name

String

Consumer group name.

perm

String

Permissions.

Example Requests

Creating a non-administrator user with permissions to publish and subscribe to topic1 and group1

POST https://{endpoint}/v2/{project_id}/instances/{instance_id}/users

{
  "access_key" : "user_name",
  "secret_key" : "**************",
  "white_remote_address" : "",
  "admin" : false,
  "default_topic_perm" : "DENY",
  "default_group_perm" : "DENY",
  "topic_perms" : [ {
    "name" : "topic1",
    "perm" : "PUB|SUB"
  } ],
  "group_perms" : [ {
    "name" : "group1",
    "perm" : "PUB|SUB"
  } ]
}

Example Responses

Status code: 200

The creation is successful.

{
  "access_key" : "test_01",
  "admin" : false,
  "default_group_perm" : "DENY",
  "default_topic_perm" : "SUB",
  "group_perms" : [ ],
  "secret_key" : "**************",
  "topic_perms" : [ ],
  "white_remote_address" : ""
}

Status Codes

Status Code

Description

200

The creation is successful.

Error Codes

See Error Codes.