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
-
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: