PutKeyword - Amazon Pinpoint SMS and Voice v2 API

PutKeyword

Creates or updates a keyword configuration on an origination phone number or pool.

A keyword is a word that you can search for on a particular phone number or pool. It is also a specific word or phrase that an end user can send to your number to elicit a response, such as an informational message or a special offer. When your number receives a message that begins with a keyword, Amazon Pinpoint responds with a customizable message.

If you specify a keyword that isn't valid, an error is returned.

Request Syntax

{ "Keyword": "string", "KeywordAction": "string", "KeywordMessage": "string", "OriginationIdentity": "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.

Keyword

The new keyword to add.

Type: String

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

Pattern: [ \S]+

Required: Yes

KeywordAction

The action to perform for the new keyword when it is received.

  • AUTOMATIC_RESPONSE: A message is sent to the recipient.

  • OPT_OUT: Keeps the recipient from receiving future messages.

  • OPT_IN: The recipient wants to receive future messages.

Type: String

Valid Values: AUTOMATIC_RESPONSE | OPT_OUT | OPT_IN

Required: No

KeywordMessage

The message associated with the keyword.

Type: String

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

Pattern: (?!\s*$)[\s\S]+

Required: Yes

OriginationIdentity

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

Type: String

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

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

Required: Yes

Response Syntax

{ "Keyword": "string", "KeywordAction": "string", "KeywordMessage": "string", "OriginationIdentity": "string", "OriginationIdentityArn": "string" }

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.

Keyword

The keyword that was added.

Type: String

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

Pattern: [ \S]+

KeywordAction

The action to perform when the keyword is used.

Type: String

Valid Values: AUTOMATIC_RESPONSE | OPT_OUT | OPT_IN

KeywordMessage

The message associated with the keyword.

Type: String

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

Pattern: (?!\s*$)[\s\S]+

OriginationIdentity

The PhoneNumberId or PoolId that the keyword was associated with.

Type: String

OriginationIdentityArn

The PhoneNumberArn or PoolArn that the keyword was associated with.

Type: String

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: