All Products
Search
Document Center

ApsaraMQ for RocketMQ:CreateTopic

Last Updated:Nov 06, 2025

Creates a topic in ApsaraMQ for RocketMQ. A topic is a top-level container for message transmission and storage. It identifies messages that belong to the same business logic. In the message model, producers send messages to a topic, and consumers subscribe to the topic to consume the messages.

Try it now

Try this API in OpenAPI Explorer, no manual signing needed. Successful calls auto-generate SDK code matching your parameters. Download it with built-in credential security for local usage.

Test

RAM authorization

The table below describes the authorization required to call this API. You can define it in a Resource Access Management (RAM) policy. The table's columns are detailed below:

  • Action: The actions can be used in the Action element of RAM permission policy statements to grant permissions to perform the operation.

  • API: The API that you can call to perform the action.

  • Access level: The predefined level of access granted for each API. Valid values: create, list, get, update, and delete.

  • Resource type: The type of the resource that supports authorization to perform the action. It indicates if the action supports resource-level permission. The specified resource must be compatible with the action. Otherwise, the policy will be ineffective.

    • For APIs with resource-level permissions, required resource types are marked with an asterisk (*). Specify the corresponding Alibaba Cloud Resource Name (ARN) in the Resource element of the policy.

    • For APIs without resource-level permissions, it is shown as All Resources. Use an asterisk (*) in the Resource element of the policy.

  • Condition key: The condition keys defined by the service. The key allows for granular control, applying to either actions alone or actions associated with specific resources. In addition to service-specific condition keys, Alibaba Cloud provides a set of common condition keys applicable across all RAM-supported services.

  • Dependent action: The dependent actions required to run the action. To complete the action, the RAM user or the RAM role must have the permissions to perform all dependent actions.

Action

Access level

Resource type

Condition key

Dependent action

rocketmq:CreateTopic

create

*Topic

acs:rocketmq:{#regionId}:{#accountId}:instance/{#InstanceId}/topic/{#TopicName}

None None

Request syntax

POST /instances/{instanceId}/topics/{topicName} HTTP/1.1

Path Parameters

Parameter

Type

Required

Description

Example

instanceId

string

Yes

The ID of the instance that contains the topic.

rmq-cn-7e22ody****

topicName

string

Yes

The name of the topic to create. The name must be globally unique.

The name must meet the following requirements:

  • It can contain letters (a to z and A to Z), digits (0 to 9), underscores (_), and hyphens (-).

  • It must be 1 to 60 characters in length.

For more information about reserved characters, see Parameter limits.

topic_test

Request parameters

Parameter

Type

Required

Description

Example

body

object

No

The information about the topic.

messageType

string

Yes

The message type of the topic to create.

Valid values:

  • TRANSACTION: transactional message

  • FIFO: ordered message

  • DELAY: scheduled and delayed message

  • NORMAL: normal message

Important The topic type must be the same as the message type. For example, if you create a topic for ordered messages, the topic can only be used to send and receive ordered messages. It cannot be used for other message types.

Valid values:

  • TRANSACTION :

    transactional message

  • FIFO :

    ordered message

  • DELAY :

    scheduled and delayed message

  • NORMAL :

    normal message

NORMAL

remark

string

No

The remarks on the topic.

This is the remark for test.

maxSendTps

integer

No

The maximum transactions per second (TPS) for sending messages.

1500

liteTopicExpiration

integer

No

The expiration time of a lite topic, in minutes. Valid values: 15 to 720. The default value is -1, which indicates that the topic is permanent.

20

Response elements

Element

Type

Description

Example

object

Result

requestId

string

The ID of the request. This ID is unique to each request. You can use this ID to troubleshoot issues.

AF9A8B10-C426-530F-A0DD-96320B39****

success

boolean

Indicates whether the request was successful.

true

data

boolean

The returned data.

true

code

string

The error code.

Topic.Existed

message

string

The error message.

The topic already exists.

httpStatusCode

integer

The HTTP status code.

400

dynamicCode

string

The dynamic error code.

TopicName

dynamicMessage

string

The dynamic error message.

topicName

Examples

Success response

JSON format

{
  "requestId": "AF9A8B10-C426-530F-A0DD-96320B39****",
  "success": true,
  "data": true,
  "code": "Topic.Existed",
  "message": "The topic already exists.",
  "httpStatusCode": 400,
  "dynamicCode": "TopicName",
  "dynamicMessage": "topicName"
}

Error codes

See Error Codes for a complete list.

Release notes

See Release Notes for a complete list.