Updated on 2024-03-13 GMT+08:00

Creating a Topic

Function

This API is used to create a topic. Each user can create up to 3,000 topics. In high-concurrent scenarios, a user may create a few topics more than 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.

Calling Method

For details, see Calling APIs.

URI

POST /v2/{project_id}/notifications/topics

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Specifies the project ID.For details about how to obtain the project ID, see Obtaining the Project ID.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

Specifies a user token.

It can be obtained by calling an IAM API. The value of X-Subject-Token in the response header is the user token.

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: 1

Maximum: 255

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. display_name is left blank by default.

Minimum: 1

Maximum: 192

enterprise_project_id

No

String

Specifies the enterprise project ID. It is required only when the enterprise project function is enabled.

Default: 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 with the name of test_topic_v2 and display name of testtest

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.