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
| 
        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
| 
        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.  | 
     
| 
        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.  | 
     
| 
        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.  | 
     
| 
        enterprise_project_id  | 
      
        No  | 
      
        String  | 
      
        Specifies the enterprise project ID. It is required only when the enterprise project function is enabled.  | 
     
Response Parameters
Status code: 201
| 
        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
| 
        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
| 
        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
| 
        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
| 
        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.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.