Amazon Simple Notification Service
API Reference (API Version 2010-03-31)


Creates a topic to which notifications can be published. Users can create at most 100,000 topics. For more information, see This action is idempotent, so if the requester already owns a topic with the specified name, that topic's ARN is returned without creating a new topic.

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

Attributes.entry.N.key (key)
Attributes.entry.N.value (value)

A map of attributes with their corresponding values.

The following lists the names, descriptions, and values of the special request parameters that the CreateTopic action uses:

  • DeliveryPolicy – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.

  • DisplayName – The display name to use for a topic with SMS subscriptions.

  • Policy – The policy that defines who can access your topic. By default, only the topic owner can publish or subscribe to the topic.

The following attribute applies only to server-side-encryption:

  • KmsMasterKeyId - The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the AWS Key Management Service API Reference.

Type: String to string map

Required: No


The name of the topic you want to create.

Constraints: Topic names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long.

Type: String

Required: Yes


The list of tags to add to a new topic.


To be able to tag a topic on creation, you must have the sns:CreateTopic and sns:TagResource permissions.

Type: Array of Tag objects

Required: No

Response Elements

The following element is returned by the service.


The Amazon Resource Name (ARN) assigned to the created topic.

Type: String


For information about the errors that are common to all actions, see Common Errors.


Indicates that the user has been denied access to the requested resource.

HTTP Status Code: 403


Can't perform multiple operations on a tag simultaneously. Perform the operations sequentially.

HTTP Status Code: 400


Indicates an internal service error.

HTTP Status Code: 500


Indicates that a request parameter does not comply with the associated constraints.

HTTP Status Code: 400


The credential signature isn't valid. You must use an HTTPS endpoint and sign your request using Signature Version 4.

HTTP Status Code: 403


A tag has been added to a resource with the same ARN as a deleted resource. Wait a short while and then retry the operation.

HTTP Status Code: 400


Can't add more than 50 tags to a topic.

HTTP Status Code: 400


The request doesn't comply with the IAM tag policy. Correct your request and then retry it.

HTTP Status Code: 400


Indicates that the customer already owns the maximum allowed number of topics.

HTTP Status Code: 403


The structure of AUTHPARAMS depends on the signature of the API request. For more information, see Examples of Signed Signature Version 4 Requests in the Amazon Web Services General Reference.


Sample Request &Name=My-Topic &Version=2010-03-31 &AUTHPARAMS

Sample Response

<CreateTopicResponse xmlns=""> <CreateTopicResult> <TopicArn>arn:aws:sns:us-east-2:123456789012:My-Topic</TopicArn> </CreateTopicResult> <ResponseMetadata> <RequestId>a8dec8b3-33a4-11df-8963-01868b7c937a</RequestId> </ResponseMetadata> </CreateTopicResponse>

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: