Creating a Topic

Function

This API is used to create a topic. Each user can create up to 3,000 topics. In the high-concurrent scenario, topics can still be created even if the total number of topics exceeds 3,000. The API is idempotent. It returns a successful result after creating a topic. If a topic of the same name already exists, the status code is 200. Otherwise, the status code is 201.

URI

POST /v2/{project_id}/notifications/topics

Table 1 Path parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Specifies the project ID.

See Obtaining a Project ID.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

Specifies the user token.

It can be obtained by calling the IAM API (value of X-Subject-Token in the response header).

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

name

Yes

String

Specifies the topic name. Enter 1 to 255 characters. Only letters, digits, hyphens (-), and underscores (_) are allowed. The topic name must start with a letter or digit.

Minimum length: 1 character

Maximum length: 255 characters

display_name

Yes

String

Specifies the topic display name, which is presented as the name of the email sender in email messages. The display name cannot exceed 192 bytes. It is left blank by default.

Minimum length: 1 byte

Maximum length: 192 bytes

enterprise_project_id

No

String

(Optional) Specifies the enterprise project ID. It is required when the enterprise project function is enabled.

Default value: 0

Response Parameters

Status code: 201

Table 4 Response body parameters

Parameter

Type

Description

request_id

String

Specifies the request ID, which is unique.

topic_urn

String

Specifies the resource identifier of the topic, which is unique. To obtain the resource identifier, see Querying Topics.

Status code: 400

Table 5 Response body parameters

Parameter

Type

Description

request_id

String

Specifies the request ID, which is unique.

code

String

Specifies the error code.

message

String

Describes the error message.

Status code: 403

Table 6 Response body parameters

Parameter

Type

Description

request_id

String

Specifies the request ID, which is unique.

code

String

Specifies the error code.

message

String

Describes the error message.

Status code: 404

Table 7 Response body parameters

Parameter

Type

Description

request_id

String

Specifies the request ID, which is unique.

code

String

Specifies the error code.

message

String

Describes the error message.

Status code: 500

Table 8 Response body parameters

Parameter

Type

Description

request_id

String

Specifies the request ID, which is unique.

code

String

Specifies the error code.

message

String

Describes the error message.

Example Requests

Creating a topic

POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics

{
  "name" : "test_topic_v2",
  "display_name" : "testtest"
}

Example Responses

Status code: 201

OK

{
  "request_id" : "6a63a18b8bab40ffb71ebd9cb80d0085",
  "topic_urn" : "urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_topic_v2"
}

Status Codes

Status Code

Description

201

OK

400

Bad Request

403

Unauthorized

404

Not Found

500

Internal Server Error

Error Codes

See Error Codes.