All Products
Search
Document Center

ApsaraMQ for RocketMQ:CreateTopic

Last Updated:Jul 20, 2026

Creates a topic for ApsaraMQ for RocketMQ. A topic is the top-level container for message transmission and storage in ApsaraMQ for RocketMQ, used to identify messages of the same business logic. In the messaging model, producers send messages to a topic, and consumers consume messages by subscribing to a specified topic.

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 to which the topic to be created belongs.

rmq-cn-7e22ody****

topicName

string

Yes

The name of the topic to be created. The name is used to identify the topic and must be globally unique.

Naming conventions:

  • Character limit: letters a-z or A-Z, digits 0-9, underscores (_), and hyphens (-).

  • Length limit: 1 to 60 characters.

For reserved character restrictions, see Parameter limits.

topic_test

Request parameters

Parameter

Type

Required

Description

Example

body

object

No

The topic information.

messageType

string

Yes

The message type of the topic to be created.

Important The type of the topic must be consistent with the type of messages sent to it. For example, if you create a topic of the ordered message type, the topic can be used only to send and receive ordered messages, not other types of messages.

Valid values:

  • TRANSACTION :

    Transactional message.

  • FIFO :

    Ordered message.

  • DELAY :

    Scheduled/delayed message.

  • NORMAL :

    Normal message.

  • LITE :

    Lightweight topic message.

NORMAL

remark

string

No

The remarks for the topic to be created.

This is the remark for test.

maxSendTps

integer

No

The maximum TPS for sending messages.

1500

liteTopicExpiration

integer

No

The expiration time of the lite topic, in minutes. Valid values: 30 to 720. Default value: -1, which indicates the topic never expires.

60

Response elements

Element

Type

Description

Example

object

Result

requestId

string

The request ID. Each request has a unique ID, which can be used to troubleshoot issues.

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

success

boolean

Indicates whether the operation is 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.