CreatePool - AWS End User Messaging SMS

CreatePool

Creates a new pool and associates the specified origination identity to the pool. A pool can include one or more phone numbers and SenderIds that are associated with your AWS account.

The new pool inherits its configuration from the specified origination identity. This includes keywords, message type, opt-out list, two-way configuration, and self-managed opt-out configuration. Deletion protection isn't inherited from the origination identity and defaults to false.

If the origination identity is a phone number and is already associated with another pool, an error is returned. A sender ID can be associated with multiple pools.

Request Syntax

{ "ClientToken": "string", "DeletionProtectionEnabled": boolean, "IsoCountryCode": "string", "MessageType": "string", "OriginationIdentity": "string", "Tags": [ { "Key": "string", "Value": "string" } ] }

Request Parameters

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

The request accepts the following data in JSON format.

ClientToken

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

Pattern: [!-~]+

Required: No

DeletionProtectionEnabled

By default this is set to false. When set to true the pool can't be deleted. You can change this value using the UpdatePool action.

Type: Boolean

Required: No

IsoCountryCode

The new two-character code, in ISO 3166-1 alpha-2 format, for the country or region of the new pool.

Type: String

Length Constraints: Fixed length of 2.

Pattern: [A-Z]{2}

Required: Yes

MessageType

The type of message. Valid values are TRANSACTIONAL for messages that are critical or time-sensitive and PROMOTIONAL for messages that aren't critical or time-sensitive. After the pool is created the MessageType can't be changed.

Type: String

Valid Values: TRANSACTIONAL | PROMOTIONAL

Required: Yes

OriginationIdentity

The origination identity to use such as a PhoneNumberId, PhoneNumberArn, SenderId or SenderIdArn. You can use DescribePhoneNumbers to find the values for PhoneNumberId and PhoneNumberArn while DescribeSenderIds can be used to get the values for SenderId and SenderIdArn.

After the pool is created you can add more origination identities to the pool by using AssociateOriginationIdentity.

Important

If you are using a shared AWS End User Messaging SMS and Voice resource then you must use the full Amazon Resource Name(ARN).

Type: String

Length Constraints: Minimum length of 1. Maximum length of 256.

Pattern: [A-Za-z0-9_:/-]+

Required: Yes

Tags

An array of tags (key and value pairs) associated with the pool.

Type: Array of Tag objects

Array Members: Minimum number of 0 items. Maximum number of 200 items.

Required: No

Response Syntax

{ "CreatedTimestamp": number, "DeletionProtectionEnabled": boolean, "MessageType": "string", "OptOutListName": "string", "PoolArn": "string", "PoolId": "string", "SelfManagedOptOutsEnabled": boolean, "SharedRoutesEnabled": boolean, "Status": "string", "Tags": [ { "Key": "string", "Value": "string" } ], "TwoWayChannelArn": "string", "TwoWayChannelRole": "string", "TwoWayEnabled": boolean }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

CreatedTimestamp

The time when the pool was created, in UNIX epoch time format.

Type: Timestamp

DeletionProtectionEnabled

When set to true deletion protection is enabled. By default this is set to false.

Type: Boolean

MessageType

The type of message for the pool to use.

Type: String

Valid Values: TRANSACTIONAL | PROMOTIONAL

OptOutListName

The name of the OptOutList associated with the pool.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

Pattern: [A-Za-z0-9_-]+

PoolArn

The Amazon Resource Name (ARN) for the pool.

Type: String

PoolId

The unique identifier for the pool.

Type: String

SelfManagedOptOutsEnabled

By default this is set to false. When an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, AWS End User Messaging SMS and Voice automatically replies with a customizable message and adds the end recipient to the OptOutList. When set to true you're responsible for responding to HELP and STOP requests. You're also responsible for tracking and honoring opt-out requests.

Type: Boolean

SharedRoutesEnabled

Indicates whether shared routes are enabled for the pool. Set to false and only origination identities in this pool are used to send messages.

Type: Boolean

Status

The current status of the pool.

  • CREATING: The pool is currently being created and isn't yet available for use.

  • ACTIVE: The pool is active and available for use.

  • DELETING: The pool is being deleted.

Type: String

Valid Values: CREATING | ACTIVE | DELETING

Tags

An array of tags (key and value pairs) associated with the pool.

Type: Array of Tag objects

Array Members: Minimum number of 0 items. Maximum number of 200 items.

TwoWayChannelArn

The Amazon Resource Name (ARN) of the two way channel.

Type: String

Length Constraints: Minimum length of 20. Maximum length of 2048.

Pattern: \S+

TwoWayChannelRole

An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages.

Type: String

Length Constraints: Minimum length of 20. Maximum length of 2048.

Pattern: arn:\S+

TwoWayEnabled

By default this is set to false. When set to true you can receive incoming text messages from your end recipients.

Type: Boolean

Errors

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

AccessDeniedException

The request was denied because you don't have sufficient permissions to access the resource.

HTTP Status Code: 400

ConflictException

Your request has conflicting operations. This can occur if you're trying to perform more than one operation on the same resource at the same time or it could be that the requested action isn't valid for the current state or configuration of the resource.

HTTP Status Code: 400

InternalServerException

The API encountered an unexpected error and couldn't complete the request. You might be able to successfully issue the request again in the future.

HTTP Status Code: 500

ResourceNotFoundException

A requested resource couldn't be found.

HTTP Status Code: 400

ServiceQuotaExceededException

The request would cause a service quota to be exceeded.

HTTP Status Code: 400

ThrottlingException

An error that occurred because too many requests were sent during a certain amount of time.

HTTP Status Code: 400

ValidationException

A validation exception for a field.

HTTP Status Code: 400

See Also

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