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

CreateTopic

Creates a topic to which notifications can be published. Users can create at most 100,000 topics. For more information, see https://aws.amazon.com/sns. 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
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

Name

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

Response Elements

The following element is returned by the service.

TopicArn

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

Type: String

Errors

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

AuthorizationError

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

HTTP Status Code: 403

InternalError

Indicates an internal service error.

HTTP Status Code: 500

InvalidParameter

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

HTTP Status Code: 400

InvalidSecurity

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

HTTP Status Code: 403

TopicLimitExceeded

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

HTTP Status Code: 403

Example

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.

Example

Sample Request

https://sns.us-east-2.amazonaws.com/?Action=CreateTopic &Name=My-Topic &Version=2010-03-31 &AUTHPARAMS

Sample Response

<CreateTopicResponse xmlns="https://sns.amazonaws.com/doc/2010-03-31/"> <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: