SDK for PHP V3

Client: Aws\EndUserMessaging\EndUserMessagingClient
Service ID: endusermessaging
Version: 2026-09-21

This page describes the parameters and results for the operations of the AWS End User Messaging (2026-09-21), and shows how to use the Aws\EndUserMessaging\EndUserMessagingClient object to call the described operations. This documentation is specific to the 2026-09-21 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

CreateBrandProfile ( array $params = [] )
Creates a brand profile.
CreateBrandProfileAttributes ( array $params = [] )
Creates up to 10 attributes for a brand profile in a single request.
CreateBrandProfileFromRegistration ( array $params = [] )
Creates a brand profile and populates its attributes from an existing registration.
CreateNotifyCodeConfiguration ( array $params = [] )
Creates a notify code configuration.
CreateRegistrationsFromBrandProfile ( array $params = [] )
Creates one or more registrations in the DRAFT state and prefills their fields from the attributes of a brand profile.
DeleteBrandProfile ( array $params = [] )
Deletes a brand profile.
DeleteBrandProfileAttribute ( array $params = [] )
Deletes a brand profile attribute.
DeleteNotifyCodeConfiguration ( array $params = [] )
Deletes a notify code configuration.
GetBrandProfile ( array $params = [] )
Retrieves the metadata for a brand profile, including its name, status, deletion protection setting, and timestamps.
GetBrandProfileAttribute ( array $params = [] )
Retrieves a single brand profile attribute.
GetJob ( array $params = [] )
Retrieves the current state of an asynchronous job, including its status and any resources that it created or updated.
GetNotifyCodeConfiguration ( array $params = [] )
Retrieves a notify code configuration.
ListBrandProfileAttributes ( array $params = [] )
Retrieves a paginated list of the attributes for a brand profile.
ListBrandProfiles ( array $params = [] )
Retrieves a paginated list of the brand profiles in your account.
ListJobs ( array $params = [] )
Retrieves a paginated list of the asynchronous jobs in your account.
ListNotifyCodeConfigurations ( array $params = [] )
Retrieves a paginated list of the notify code configurations in your account.
ListRegistrationsFromBrandProfile ( array $params = [] )
Retrieves a paginated list of the registrations that were created from a brand profile through the synchronization operations.
ListTagsForResource ( array $params = [] )
Retrieves the tags that are associated with a resource.
SendNotifyCodeVerification ( array $params = [] )
Generates a one-time passcode and delivers it to a recipient over the requested channel.
TagResource ( array $params = [] )
Adds or overwrites the tags on a resource.
UntagResource ( array $params = [] )
Removes the specified tags from a resource.
UpdateBrandProfile ( array $params = [] )
Updates the name or the deletion protection setting of a brand profile.
UpdateBrandProfileAttribute ( array $params = [] )
Updates the value, description, or category of an existing brand profile attribute.
UpdateBrandProfileFromRegistration ( array $params = [] )
Imports or refreshes the attributes of an existing brand profile from an existing registration.
UpdateNotifyCodeConfiguration ( array $params = [] )
Updates the mutable fields of a notify code configuration.
UpdateRegistrationsFromBrandProfile ( array $params = [] )
Repushes the attributes of a brand profile into existing DRAFT registrations.
ValidateNotifyCodeVerification ( array $params = [] )
Validates a one-time passcode that a recipient submitted.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

ListBrandProfileAttributes
ListBrandProfiles
ListJobs
ListNotifyCodeConfigurations
ListRegistrationsFromBrandProfile

Waiters

Waiters allow you to poll a resource until it enters into a desired state. A waiter has a name used to describe what it does, and is associated with an API operation. When creating a waiter, you can provide the API operation parameters associated with the corresponding operation. Waiters can be accessed using the getWaiter($waiterName, $operationParameters) method of a client object. This client supports the following waiters:

Waiter name API Operation Delay Max Attempts
BrandProfileActive GetBrandProfile 30 5
JobSuccess GetJob 30 5

Operations

CreateBrandProfile

$result = $client->createBrandProfile([/* ... */]);
$promise = $client->createBrandProfileAsync([/* ... */]);

Creates a brand profile. A brand profile is a lightweight container that holds your brand identity information as flexible attributes. After you create a brand profile, use the CreateBrandProfileAttributes operation to add company information, addresses, compliance documents, and logos.

Parameter Syntax

$result = $client->createBrandProfile([
    'brandProfileName' => '<string>', // REQUIRED
    'clientToken' => '<string>',
    'deletionProtectionEnabled' => true || false,
    'tags' => [
        [
            'key' => '<string>', // REQUIRED
            'value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
brandProfileName
Required: Yes
Type: string

The name of the brand profile. The name can contain alphanumeric characters, underscores, hyphens, and spaces.

clientToken
Type: string

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you do not specify a client token, the AWS SDK automatically generates one.

deletionProtectionEnabled
Type: boolean

Specifies whether deletion protection is enabled. When enabled, the resource cannot be deleted until deletion protection is turned off.

tags
Type: Array of Tag structures

An array of key and value pair tags that are associated with the resource.

Result Syntax

[
    'attributesCreated' => <integer>,
    'brandProfileArn' => '<string>',
    'brandProfileId' => '<string>',
    'brandProfileName' => '<string>',
    'createdAt' => <DateTime>,
    'deletionProtectionEnabled' => true || false,
    'status' => 'ACTIVE|BLOCKED|PAUSED|CANCELLED|FAILED',
    'updatedAt' => <DateTime>,
]

Result Details

Members
attributesCreated
Required: Yes
Type: int

The number of default attributes that were created for the brand profile.

brandProfileArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the brand profile.

brandProfileId
Required: Yes
Type: string

The unique identifier of the brand profile.

brandProfileName
Required: Yes
Type: string

The name of the brand profile. The name can contain alphanumeric characters, underscores, hyphens, and spaces.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the resource was created, in Unix epoch time.

deletionProtectionEnabled
Required: Yes
Type: boolean

Specifies whether deletion protection is enabled. When enabled, the resource cannot be deleted until deletion protection is turned off.

status
Required: Yes
Type: string

The current lifecycle status of the brand profile.

updatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the resource was last updated, in Unix epoch time.

Errors

ValidationException:

A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.

ThrottlingException:

The request was denied because it exceeded the allowed request rate.

AccessDeniedException:

You do not have sufficient access to perform this action.

InternalServerException:

An unexpected error occurred during the processing of the request.

ConflictException:

The request conflicts with the current state of the resource.

ServiceQuotaExceededException:

The request would exceed a service quota for your account.

Examples

Example 1: Create a brand profile
$result = $client->createBrandProfile([
    'brandProfileName' => 'AcmeCorp',
    'deletionProtectionEnabled' => 1,
]);

Result syntax:

[
    'attributesCreated' => 0,
    'brandProfileArn' => 'arn:aws:end-user-messaging:us-east-1:123456789012:brand-profile/bp-abc12345678901234',
    'brandProfileId' => 'bp-abc12345678901234',
    'brandProfileName' => 'AcmeCorp',
    'createdAt' => ,
    'deletionProtectionEnabled' => 1,
    'status' => 'ACTIVE',
    'updatedAt' => ,
]

CreateBrandProfileAttributes

$result = $client->createBrandProfileAttributes([/* ... */]);
$promise = $client->createBrandProfileAttributesAsync([/* ... */]);

Creates up to 10 attributes for a brand profile in a single request. For attributes of type IMAGE or DOCUMENT, the response includes a presigned Amazon S3 URL that you use to upload the media. This operation is atomic: either all of the attributes are created, or none of them are.

Parameter Syntax

$result = $client->createBrandProfileAttributes([
    'attributes' => [ // REQUIRED
        [
            'attachmentBody' => <string || resource || Psr\Http\Message\StreamInterface>,
            'attributeName' => '<string>', // REQUIRED
            'attributeType' => 'TEXT|IMAGE|DOCUMENT', // REQUIRED
            'attributeValue' => '<string>',
            'category' => '<string>',
            'description' => '<string>',
        ],
        // ...
    ],
    'brandProfileId' => '<string>', // REQUIRED
    'clientToken' => '<string>',
]);

Parameter Details

Members
attributes
Required: Yes
Type: Array of BrandProfileAttributeInput structures

The brand profile attributes.

brandProfileId
Required: Yes
Type: string

The unique identifier of the brand profile. You can specify either the bare ID or the full Amazon Resource Name (ARN).

clientToken
Type: string

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you do not specify a client token, the AWS SDK automatically generates one.

Result Syntax

[
    'attributes' => [
        [
            'attributeName' => '<string>',
            'attributeType' => 'TEXT|IMAGE|DOCUMENT',
            'mediaDownloadUrl' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
attributes
Required: Yes
Type: Array of BrandProfileAttributeOutput structures

The brand profile attributes.

Errors

ValidationException:

A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.

ThrottlingException:

The request was denied because it exceeded the allowed request rate.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The request references a resource that does not exist. Verify that the resource identifier is correct and try your request again.

InternalServerException:

An unexpected error occurred during the processing of the request.

ConflictException:

The request conflicts with the current state of the resource.

ServiceQuotaExceededException:

The request would exceed a service quota for your account.

Examples

Example 1: Create a text attribute on a brand profile
$result = $client->createBrandProfileAttributes([
    'attributes' => [
        [
            'attributeName' => 'SupportEmail',
            'attributeType' => 'TEXT',
            'attributeValue' => 'support@example.com',
            'category' => 'CONTACT',
        ],
    ],
    'brandProfileId' => 'bp-abc12345678901234',
]);

Result syntax:

[
    'attributes' => [
        [
            'attributeName' => 'SupportEmail',
            'attributeType' => 'TEXT',
        ],
    ],
]

CreateBrandProfileFromRegistration

$result = $client->createBrandProfileFromRegistration([/* ... */]);
$promise = $client->createBrandProfileFromRegistrationAsync([/* ... */]);

Creates a brand profile and populates its attributes from an existing registration. This operation runs asynchronously. Use the GetJob operation to track its progress.

Parameter Syntax

$result = $client->createBrandProfileFromRegistration([
    'brandProfileName' => '<string>', // REQUIRED
    'clientToken' => '<string>',
    'registrationId' => '<string>', // REQUIRED
    'smartMatch' => true || false,
    'tags' => [
        [
            'key' => '<string>', // REQUIRED
            'value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
brandProfileName
Required: Yes
Type: string

The name of the brand profile. The name can contain alphanumeric characters, underscores, hyphens, and spaces.

clientToken
Type: string

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you do not specify a client token, the AWS SDK automatically generates one.

registrationId
Required: Yes
Type: string

The identifier or Amazon Resource Name (ARN) of the registration to populate the brand profile from.

smartMatch
Type: boolean

Specifies whether to use semantic field mapping between brand profile attributes and registration fields. The default is true. When false, the service maps fields using a fixed set of standard field types.

tags
Type: Array of Tag structures

An array of key and value pair tags that are associated with the resource.

Result Syntax

[
    'results' => [
        [
            'jobId' => '<string>',
            'resourceIdentifier' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
results
Required: Yes
Type: Array of JobResult structures

The results of the operation. Each result pairs a requested item with the asynchronous job that processes it.

Errors

ValidationException:

A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.

ThrottlingException:

The request was denied because it exceeded the allowed request rate.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The request references a resource that does not exist. Verify that the resource identifier is correct and try your request again.

InternalServerException:

An unexpected error occurred during the processing of the request.

ConflictException:

The request conflicts with the current state of the resource.

ServiceQuotaExceededException:

The request would exceed a service quota for your account.

Examples

Example 1: Create a brand profile from a registration
$result = $client->createBrandProfileFromRegistration([
    'brandProfileName' => 'AcmeCorp',
    'registrationId' => 'reg-abc12345678901234',
    'smartMatch' => 1,
]);

Result syntax:

[
    'results' => [
        [
            'jobId' => 'job-abc12345678901234',
            'resourceIdentifier' => 'reg-abc12345678901234',
        ],
    ],
]

CreateNotifyCodeConfiguration

$result = $client->createNotifyCodeConfiguration([/* ... */]);
$promise = $client->createNotifyCodeConfigurationAsync([/* ... */]);

Creates a notify code configuration. A notify code configuration is a reusable policy that defines how one-time passcodes are generated and rendered, including the code type, length, validity period, maximum number of attempts, and channel templates.

Parameter Syntax

$result = $client->createNotifyCodeConfiguration([
    'channelParameters' => [
        'notify' => [
            'notifyTemplateId' => '<string>',
            'voiceId' => '<string>',
        ],
        'text' => [
            'destinationCountryParameters' => ['<string>', ...],
            'inlineTemplateBody' => '<string>',
        ],
        'voice' => [
            'inlineTemplateBody' => '<string>',
            'languageCode' => '<string>',
            'voiceId' => '<string>',
            'voiceMessageBodyTextType' => 'TEXT|SSML',
        ],
        'whatsApp' => [
            'languageCode' => '<string>',
            'whatsAppTemplateName' => '<string>',
        ],
    ],
    'clientToken' => '<string>',
    'codeConfigurationParameters' => [
        'codeLength' => <integer>,
        'codeType' => 'NUMERIC|ALPHA|ALPHANUMERIC',
        'maxAttempts' => <integer>,
        'validityPeriodMinutes' => <integer>,
    ],
    'deletionProtectionEnabled' => true || false,
    'notifyCodeConfigurationName' => '<string>', // REQUIRED
    'tags' => [
        [
            'key' => '<string>', // REQUIRED
            'value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
channelParameters
Type: ChannelParameters structure

The channel-specific parameters used to render and deliver the one-time passcode. Provide parameters for any subset of channels. Each member configures one delivery route, and the route that is selected at send time uses the matching channel.

clientToken
Type: string

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you do not specify a client token, the AWS SDK automatically generates one.

codeConfigurationParameters
Type: CodeConfigurationParameters structure

The passcode policy parameters, including the code type, length, validity period, and maximum number of attempts. Each member is optional. When you omit a member, no value is applied at create time and the default is applied when a passcode is sent.

deletionProtectionEnabled
Type: boolean

Specifies whether deletion protection is enabled. When enabled, the resource cannot be deleted until deletion protection is turned off.

notifyCodeConfigurationName
Required: Yes
Type: string

The name of the notify code configuration.

tags
Type: Array of Tag structures

An array of key and value pair tags that are associated with the resource.

Result Syntax

[
    'notifyCodeConfiguration' => [
        'channelParameters' => [
            'notify' => [
                'notifyTemplateId' => '<string>',
                'voiceId' => '<string>',
            ],
            'text' => [
                'destinationCountryParameters' => ['<string>', ...],
                'inlineTemplateBody' => '<string>',
            ],
            'voice' => [
                'inlineTemplateBody' => '<string>',
                'languageCode' => '<string>',
                'voiceId' => '<string>',
                'voiceMessageBodyTextType' => 'TEXT|SSML',
            ],
            'whatsApp' => [
                'languageCode' => '<string>',
                'whatsAppTemplateName' => '<string>',
            ],
        ],
        'codeConfigurationParameters' => [
            'codeLength' => <integer>,
            'codeType' => 'NUMERIC|ALPHA|ALPHANUMERIC',
            'maxAttempts' => <integer>,
            'validityPeriodMinutes' => <integer>,
        ],
        'createdAt' => <DateTime>,
        'deletionProtectionEnabled' => true || false,
        'notifyCodeConfigurationArn' => '<string>',
        'notifyCodeConfigurationId' => '<string>',
        'notifyCodeConfigurationName' => '<string>',
        'updatedAt' => <DateTime>,
    ],
]

Result Details

Members
notifyCodeConfiguration
Required: Yes
Type: NotifyCodeConfiguration structure

The notify code configuration resource.

Errors

ValidationException:

A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.

ThrottlingException:

The request was denied because it exceeded the allowed request rate.

AccessDeniedException:

You do not have sufficient access to perform this action.

InternalServerException:

An unexpected error occurred during the processing of the request.

ConflictException:

The request conflicts with the current state of the resource.

ServiceQuotaExceededException:

The request would exceed a service quota for your account.

Examples

Example 1: Create a notify code configuration
$result = $client->createNotifyCodeConfiguration([
    'channelParameters' => [
        'text' => [
            'inlineTemplateBody' => 'Your verification code is {{code}}.',
        ],
    ],
    'codeConfigurationParameters' => [
        'codeLength' => 6,
        'codeType' => 'NUMERIC',
        'maxAttempts' => 3,
        'validityPeriodMinutes' => 10,
    ],
    'notifyCodeConfigurationName' => 'SignupOtp',
]);

Result syntax:

[
    'notifyCodeConfiguration' => [
        'channelParameters' => [
            'text' => [
                'inlineTemplateBody' => 'Your verification code is {{code}}.',
            ],
        ],
        'codeConfigurationParameters' => [
            'codeLength' => 6,
            'codeType' => 'NUMERIC',
            'maxAttempts' => 3,
            'validityPeriodMinutes' => 10,
        ],
        'createdAt' => ,
        'deletionProtectionEnabled' => ,
        'notifyCodeConfigurationArn' => 'arn:aws:end-user-messaging:us-east-1:123456789012:notify-code-configuration/ncc-abc12345678901234',
        'notifyCodeConfigurationId' => 'ncc-abc12345678901234',
        'notifyCodeConfigurationName' => 'SignupOtp',
        'updatedAt' => ,
    ],
]

CreateRegistrationsFromBrandProfile

$result = $client->createRegistrationsFromBrandProfile([/* ... */]);
$promise = $client->createRegistrationsFromBrandProfileAsync([/* ... */]);

Creates one or more registrations in the DRAFT state and prefills their fields from the attributes of a brand profile. This operation runs asynchronously. Use the GetJob operation to track its progress.

Parameter Syntax

$result = $client->createRegistrationsFromBrandProfile([
    'brandProfileId' => '<string>', // REQUIRED
    'clientToken' => '<string>',
    'registrationTypes' => ['<string>', ...], // REQUIRED
    'smartMatch' => true || false,
]);

Parameter Details

Members
brandProfileId
Required: Yes
Type: string

The unique identifier of the brand profile. You can specify either the bare ID or the full Amazon Resource Name (ARN).

clientToken
Type: string

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you do not specify a client token, the AWS SDK automatically generates one.

registrationTypes
Required: Yes
Type: Array of strings

The registration types to create, for example US_TOLL_FREE_REGISTRATION or SENDER_ID.

smartMatch
Type: boolean

Specifies whether to use semantic field mapping between brand profile attributes and registration fields. The default is true. When false, the service maps fields using a fixed set of standard field types.

Result Syntax

[
    'results' => [
        [
            'jobId' => '<string>',
            'resourceIdentifier' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
results
Required: Yes
Type: Array of JobResult structures

The results of the operation. Each result pairs a requested item with the asynchronous job that processes it.

Errors

ValidationException:

A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.

ThrottlingException:

The request was denied because it exceeded the allowed request rate.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The request references a resource that does not exist. Verify that the resource identifier is correct and try your request again.

InternalServerException:

An unexpected error occurred during the processing of the request.

ConflictException:

The request conflicts with the current state of the resource.

Examples

Example 1: Create draft registrations from a brand profile
$result = $client->createRegistrationsFromBrandProfile([
    'brandProfileId' => 'bp-abc12345678901234',
    'registrationTypes' => [
        'US_TOLL_FREE_REGISTRATION',
    ],
    'smartMatch' => 1,
]);

Result syntax:

[
    'results' => [
        [
            'jobId' => 'job-abc12345678901234',
            'resourceIdentifier' => 'US_TOLL_FREE_REGISTRATION',
        ],
    ],
]

DeleteBrandProfile

$result = $client->deleteBrandProfile([/* ... */]);
$promise = $client->deleteBrandProfileAsync([/* ... */]);

Deletes a brand profile. This operation also deletes the attributes of the profile and any associated media. The request fails if deletion protection is enabled for the profile.

Parameter Syntax

$result = $client->deleteBrandProfile([
    'brandProfileId' => '<string>', // REQUIRED
]);

Parameter Details

Members
brandProfileId
Required: Yes
Type: string

The unique identifier of the brand profile. You can specify either the bare ID or the full Amazon Resource Name (ARN).

Result Syntax

[
    'brandProfileArn' => '<string>',
    'brandProfileId' => '<string>',
]

Result Details

Members
brandProfileArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the brand profile.

brandProfileId
Required: Yes
Type: string

The unique identifier of the brand profile.

Errors

ValidationException:

A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.

ThrottlingException:

The request was denied because it exceeded the allowed request rate.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The request references a resource that does not exist. Verify that the resource identifier is correct and try your request again.

InternalServerException:

An unexpected error occurred during the processing of the request.

ConflictException:

The request conflicts with the current state of the resource.

Examples

Example 1: Delete a brand profile
$result = $client->deleteBrandProfile([
    'brandProfileId' => 'bp-abc12345678901234',
]);

Result syntax:

[
    'brandProfileArn' => 'arn:aws:end-user-messaging:us-east-1:123456789012:brand-profile/bp-abc12345678901234',
    'brandProfileId' => 'bp-abc12345678901234',
]

DeleteBrandProfileAttribute

$result = $client->deleteBrandProfileAttribute([/* ... */]);
$promise = $client->deleteBrandProfileAttributeAsync([/* ... */]);

Deletes a brand profile attribute. If the attribute stores media, this operation also deletes the associated media.

Parameter Syntax

$result = $client->deleteBrandProfileAttribute([
    'attributeName' => '<string>', // REQUIRED
    'brandProfileId' => '<string>', // REQUIRED
]);

Parameter Details

Members
attributeName
Required: Yes
Type: string

The name of the brand profile attribute. The name is unique within a brand profile.

brandProfileId
Required: Yes
Type: string

The unique identifier of the brand profile. You can specify either the bare ID or the full Amazon Resource Name (ARN).

Result Syntax

[
    'attributeName' => '<string>',
    'brandProfileId' => '<string>',
]

Result Details

Members
attributeName
Required: Yes
Type: string

The name of the brand profile attribute. The name is unique within a brand profile.

brandProfileId
Required: Yes
Type: string

The unique identifier of the brand profile.

Errors

ValidationException:

A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.

ThrottlingException:

The request was denied because it exceeded the allowed request rate.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The request references a resource that does not exist. Verify that the resource identifier is correct and try your request again.

InternalServerException:

An unexpected error occurred during the processing of the request.

ConflictException:

The request conflicts with the current state of the resource.

Examples

Example 1: Delete a brand profile attribute
$result = $client->deleteBrandProfileAttribute([
    'attributeName' => 'SupportEmail',
    'brandProfileId' => 'bp-abc12345678901234',
]);

Result syntax:

[
    'attributeName' => 'SupportEmail',
    'brandProfileId' => 'bp-abc12345678901234',
]

DeleteNotifyCodeConfiguration

$result = $client->deleteNotifyCodeConfiguration([/* ... */]);
$promise = $client->deleteNotifyCodeConfigurationAsync([/* ... */]);

Deletes a notify code configuration. Verifications that are already in progress are not affected, because they capture the policy at the time that the passcode was sent.

Parameter Syntax

$result = $client->deleteNotifyCodeConfiguration([
    'notifyCodeConfigurationId' => '<string>', // REQUIRED
]);

Parameter Details

Members
notifyCodeConfigurationId
Required: Yes
Type: string

The unique identifier of the notify code configuration. You can specify either the bare ID or the full Amazon Resource Name (ARN).

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ValidationException:

A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.

ThrottlingException:

The request was denied because it exceeded the allowed request rate.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The request references a resource that does not exist. Verify that the resource identifier is correct and try your request again.

InternalServerException:

An unexpected error occurred during the processing of the request.

ConflictException:

The request conflicts with the current state of the resource.

Examples

Example 1: Delete a notify code configuration
$result = $client->deleteNotifyCodeConfiguration([
    'notifyCodeConfigurationId' => 'ncc-abc12345678901234',
]);

Result syntax:

[
]

GetBrandProfile

$result = $client->getBrandProfile([/* ... */]);
$promise = $client->getBrandProfileAsync([/* ... */]);

Retrieves the metadata for a brand profile, including its name, status, deletion protection setting, and timestamps. To retrieve the attributes of the profile, use the ListBrandProfileAttributes operation.

Parameter Syntax

$result = $client->getBrandProfile([
    'brandProfileId' => '<string>', // REQUIRED
]);

Parameter Details

Members
brandProfileId
Required: Yes
Type: string

The unique identifier of the brand profile. You can specify either the bare ID or the full Amazon Resource Name (ARN).

Result Syntax

[
    'brandProfileArn' => '<string>',
    'brandProfileId' => '<string>',
    'brandProfileName' => '<string>',
    'createdAt' => <DateTime>,
    'deletionProtectionEnabled' => true || false,
    'status' => 'ACTIVE|BLOCKED|PAUSED|CANCELLED|FAILED',
    'updatedAt' => <DateTime>,
]

Result Details

Members
brandProfileArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the brand profile.

brandProfileId
Required: Yes
Type: string

The unique identifier of the brand profile.

brandProfileName
Required: Yes
Type: string

The name of the brand profile. The name can contain alphanumeric characters, underscores, hyphens, and spaces.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the resource was created, in Unix epoch time.

deletionProtectionEnabled
Required: Yes
Type: boolean

Specifies whether deletion protection is enabled. When enabled, the resource cannot be deleted until deletion protection is turned off.

status
Required: Yes
Type: string

The current lifecycle status of the brand profile.

updatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the resource was last updated, in Unix epoch time.

Errors

ValidationException:

A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.

ThrottlingException:

The request was denied because it exceeded the allowed request rate.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The request references a resource that does not exist. Verify that the resource identifier is correct and try your request again.

InternalServerException:

An unexpected error occurred during the processing of the request.

Examples

Example 1: Get a brand profile
$result = $client->getBrandProfile([
    'brandProfileId' => 'bp-abc12345678901234',
]);

Result syntax:

[
    'brandProfileArn' => 'arn:aws:end-user-messaging:us-east-1:123456789012:brand-profile/bp-abc12345678901234',
    'brandProfileId' => 'bp-abc12345678901234',
    'brandProfileName' => 'AcmeCorp',
    'createdAt' => ,
    'deletionProtectionEnabled' => 1,
    'status' => 'ACTIVE',
    'updatedAt' => ,
]

GetBrandProfileAttribute

$result = $client->getBrandProfileAttribute([/* ... */]);
$promise = $client->getBrandProfileAttributeAsync([/* ... */]);

Retrieves a single brand profile attribute.

Parameter Syntax

$result = $client->getBrandProfileAttribute([
    'attributeName' => '<string>', // REQUIRED
    'brandProfileId' => '<string>', // REQUIRED
]);

Parameter Details

Members
attributeName
Required: Yes
Type: string

The name of the brand profile attribute. The name is unique within a brand profile.

brandProfileId
Required: Yes
Type: string

The unique identifier of the brand profile. You can specify either the bare ID or the full Amazon Resource Name (ARN).

Result Syntax

[
    'attributeName' => '<string>',
    'attributeType' => 'TEXT|IMAGE|DOCUMENT',
    'attributeValue' => '<string>',
    'category' => '<string>',
    'createdAt' => <DateTime>,
    'description' => '<string>',
    'mediaContentType' => '<string>',
    'mediaDownloadUrl' => '<string>',
    'mediaSizeBytes' => <integer>,
    'updatedAt' => <DateTime>,
]

Result Details

Members
attributeName
Required: Yes
Type: string

The name of the brand profile attribute. The name is unique within a brand profile.

attributeType
Required: Yes
Type: string

The type of the attribute. TEXT stores an inline value. IMAGE and DOCUMENT store binary media that you upload.

attributeValue
Type: string

The text value of the attribute. This value applies to attributes of type TEXT.

category
Type: string

The category of the attribute.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the resource was created, in Unix epoch time.

description
Type: string

A description of the attribute.

mediaContentType
Type: string

The MIME content type of the attribute media.

mediaDownloadUrl
Type: string

A presigned Amazon S3 URL that you can use to download the attribute media. The URL is valid for one hour and is present only for attributes of type IMAGE or DOCUMENT.

mediaSizeBytes
Type: long (int|float)

The size of the attribute media, in bytes.

updatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the resource was last updated, in Unix epoch time.

Errors

ValidationException:

A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.

ThrottlingException:

The request was denied because it exceeded the allowed request rate.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The request references a resource that does not exist. Verify that the resource identifier is correct and try your request again.

InternalServerException:

An unexpected error occurred during the processing of the request.

Examples

Example 1: Get a brand profile attribute
$result = $client->getBrandProfileAttribute([
    'attributeName' => 'SupportEmail',
    'brandProfileId' => 'bp-abc12345678901234',
]);

Result syntax:

[
    'attributeName' => 'SupportEmail',
    'attributeType' => 'TEXT',
    'attributeValue' => 'support@example.com',
    'category' => 'CONTACT',
    'createdAt' => ,
    'updatedAt' => ,
]

GetJob

$result = $client->getJob([/* ... */]);
$promise = $client->getJobAsync([/* ... */]);

Retrieves the current state of an asynchronous job, including its status and any resources that it created or updated.

Parameter Syntax

$result = $client->getJob([
    'jobId' => '<string>', // REQUIRED
]);

Parameter Details

Members
jobId
Required: Yes
Type: string

The unique identifier of the asynchronous job. Use the GetJob operation to check the status of the job and to retrieve its results.

Result Syntax

[
    'brandProfileId' => '<string>',
    'createdAt' => <DateTime>,
    'errorCode' => '<string>',
    'errorMessage' => '<string>',
    'jobId' => '<string>',
    'operationType' => '<string>',
    'resources' => [
        [
            'resourceArn' => '<string>',
            'resourceId' => '<string>',
            'resourceType' => 'REGISTRATION|BRAND_PROFILE',
        ],
        // ...
    ],
    'status' => 'SUCCESS|PROCESSING|FAILED',
    'updatedAt' => <DateTime>,
]

Result Details

Members
brandProfileId
Type: string

The brand profile that the job operates on. This value is absent for operations that create a brand profile.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the resource was created, in Unix epoch time.

errorCode
Type: string

A machine-readable code that identifies why the job failed. This value is present only when the job status is FAILED.

errorMessage
Type: string

A human-readable description of why the job failed. This value is present only when the job status is FAILED.

jobId
Required: Yes
Type: string

The unique identifier of the asynchronous job. Use the GetJob operation to check the status of the job and to retrieve its results.

operationType
Required: Yes
Type: string

The type of mutating operation that created the job.

resources
Type: Array of JobResource structures

The resources that were created or updated by the job.

status
Required: Yes
Type: string

The current lifecycle status of the job.

updatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the resource was last updated, in Unix epoch time.

Errors

ValidationException:

A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.

ThrottlingException:

The request was denied because it exceeded the allowed request rate.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The request references a resource that does not exist. Verify that the resource identifier is correct and try your request again.

InternalServerException:

An unexpected error occurred during the processing of the request.

Examples

Example 1: Get an async job
$result = $client->getJob([
    'jobId' => 'job-abc12345678901234',
]);

Result syntax:

[
    'brandProfileId' => 'bp-abc12345678901234',
    'createdAt' => ,
    'jobId' => 'job-abc12345678901234',
    'operationType' => 'CreateRegistrationsFromBrandProfile',
    'resources' => [
        [
            'resourceArn' => 'arn:aws:end-user-messaging:us-east-1:123456789012:registration/reg-abc12345678901234',
            'resourceId' => 'reg-abc12345678901234',
            'resourceType' => 'REGISTRATION',
        ],
    ],
    'status' => 'SUCCESS',
    'updatedAt' => ,
]

GetNotifyCodeConfiguration

$result = $client->getNotifyCodeConfiguration([/* ... */]);
$promise = $client->getNotifyCodeConfigurationAsync([/* ... */]);

Retrieves a notify code configuration.

Parameter Syntax

$result = $client->getNotifyCodeConfiguration([
    'notifyCodeConfigurationId' => '<string>', // REQUIRED
]);

Parameter Details

Members
notifyCodeConfigurationId
Required: Yes
Type: string

The unique identifier of the notify code configuration. You can specify either the bare ID or the full Amazon Resource Name (ARN).

Result Syntax

[
    'notifyCodeConfiguration' => [
        'channelParameters' => [
            'notify' => [
                'notifyTemplateId' => '<string>',
                'voiceId' => '<string>',
            ],
            'text' => [
                'destinationCountryParameters' => ['<string>', ...],
                'inlineTemplateBody' => '<string>',
            ],
            'voice' => [
                'inlineTemplateBody' => '<string>',
                'languageCode' => '<string>',
                'voiceId' => '<string>',
                'voiceMessageBodyTextType' => 'TEXT|SSML',
            ],
            'whatsApp' => [
                'languageCode' => '<string>',
                'whatsAppTemplateName' => '<string>',
            ],
        ],
        'codeConfigurationParameters' => [
            'codeLength' => <integer>,
            'codeType' => 'NUMERIC|ALPHA|ALPHANUMERIC',
            'maxAttempts' => <integer>,
            'validityPeriodMinutes' => <integer>,
        ],
        'createdAt' => <DateTime>,
        'deletionProtectionEnabled' => true || false,
        'notifyCodeConfigurationArn' => '<string>',
        'notifyCodeConfigurationId' => '<string>',
        'notifyCodeConfigurationName' => '<string>',
        'updatedAt' => <DateTime>,
    ],
]

Result Details

Members
notifyCodeConfiguration
Required: Yes
Type: NotifyCodeConfiguration structure

The notify code configuration resource.

Errors

ValidationException:

A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.

ThrottlingException:

The request was denied because it exceeded the allowed request rate.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The request references a resource that does not exist. Verify that the resource identifier is correct and try your request again.

InternalServerException:

An unexpected error occurred during the processing of the request.

Examples

Example 1: Get a notify code configuration
$result = $client->getNotifyCodeConfiguration([
    'notifyCodeConfigurationId' => 'ncc-abc12345678901234',
]);

Result syntax:

[
    'notifyCodeConfiguration' => [
        'channelParameters' => [
            'text' => [
                'inlineTemplateBody' => 'Your verification code is {{code}}.',
            ],
        ],
        'codeConfigurationParameters' => [
            'codeLength' => 6,
            'codeType' => 'NUMERIC',
            'maxAttempts' => 3,
            'validityPeriodMinutes' => 10,
        ],
        'createdAt' => ,
        'deletionProtectionEnabled' => ,
        'notifyCodeConfigurationArn' => 'arn:aws:end-user-messaging:us-east-1:123456789012:notify-code-configuration/ncc-abc12345678901234',
        'notifyCodeConfigurationId' => 'ncc-abc12345678901234',
        'notifyCodeConfigurationName' => 'SignupOtp',
        'updatedAt' => ,
    ],
]

ListBrandProfileAttributes

$result = $client->listBrandProfileAttributes([/* ... */]);
$promise = $client->listBrandProfileAttributesAsync([/* ... */]);

Retrieves a paginated list of the attributes for a brand profile.

Parameter Syntax

$result = $client->listBrandProfileAttributes([
    'brandProfileId' => '<string>', // REQUIRED
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
brandProfileId
Required: Yes
Type: string

The unique identifier of the brand profile. You can specify either the bare ID or the full Amazon Resource Name (ARN).

maxResults
Type: int

The maximum number of results to return per page.

nextToken
Type: string

The token to retrieve the next page of results. This value is returned when more results are available, and is null when there are no more results to return.

Result Syntax

[
    'brandProfileAttributes' => [
        [
            'attributeName' => '<string>',
            'attributeType' => 'TEXT|IMAGE|DOCUMENT',
            'category' => '<string>',
            'createdAt' => <DateTime>,
            'description' => '<string>',
            'updatedAt' => <DateTime>,
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
brandProfileAttributes
Required: Yes
Type: Array of BrandProfileAttributeSummary structures

The list of brand profile attributes.

nextToken
Type: string

The token to retrieve the next page of results. This value is returned when more results are available, and is null when there are no more results to return.

Errors

ValidationException:

A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.

ThrottlingException:

The request was denied because it exceeded the allowed request rate.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The request references a resource that does not exist. Verify that the resource identifier is correct and try your request again.

InternalServerException:

An unexpected error occurred during the processing of the request.

Examples

Example 1: List brand profile attributes
$result = $client->listBrandProfileAttributes([
    'brandProfileId' => 'bp-abc12345678901234',
    'maxResults' => 10,
]);

Result syntax:

[
    'brandProfileAttributes' => [
        [
            'attributeName' => 'SupportEmail',
            'attributeType' => 'TEXT',
            'category' => 'CONTACT',
            'createdAt' => ,
            'updatedAt' => ,
        ],
    ],
]

ListBrandProfiles

$result = $client->listBrandProfiles([/* ... */]);
$promise = $client->listBrandProfilesAsync([/* ... */]);

Retrieves a paginated list of the brand profiles in your account. Use the nextToken parameter to retrieve additional results.

Parameter Syntax

$result = $client->listBrandProfiles([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return per page.

nextToken
Type: string

The token to retrieve the next page of results. This value is returned when more results are available, and is null when there are no more results to return.

Result Syntax

[
    'brandProfiles' => [
        [
            'brandProfileArn' => '<string>',
            'brandProfileId' => '<string>',
            'brandProfileName' => '<string>',
            'createdAt' => <DateTime>,
            'deletionProtectionEnabled' => true || false,
            'status' => 'ACTIVE|BLOCKED|PAUSED|CANCELLED|FAILED',
            'updatedAt' => <DateTime>,
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
brandProfiles
Required: Yes
Type: Array of BrandProfileInfo structures

The list of brand profiles.

nextToken
Type: string

The token to retrieve the next page of results. This value is returned when more results are available, and is null when there are no more results to return.

Errors

ValidationException:

A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.

ThrottlingException:

The request was denied because it exceeded the allowed request rate.

AccessDeniedException:

You do not have sufficient access to perform this action.

InternalServerException:

An unexpected error occurred during the processing of the request.

Examples

Example 1: List brand profiles
$result = $client->listBrandProfiles([
    'maxResults' => 10,
]);

Result syntax:

[
    'brandProfiles' => [
        [
            'brandProfileArn' => 'arn:aws:end-user-messaging:us-east-1:123456789012:brand-profile/bp-abc12345678901234',
            'brandProfileId' => 'bp-abc12345678901234',
            'brandProfileName' => 'AcmeCorp',
            'createdAt' => ,
            'deletionProtectionEnabled' => 1,
            'status' => 'ACTIVE',
            'updatedAt' => ,
        ],
    ],
]

ListJobs

$result = $client->listJobs([/* ... */]);
$promise = $client->listJobsAsync([/* ... */]);

Retrieves a paginated list of the asynchronous jobs in your account. You can filter the results by status, brand profile, or operation type.

Parameter Syntax

$result = $client->listJobs([
    'brandProfileId' => '<string>',
    'maxResults' => <integer>,
    'nextToken' => '<string>',
    'operationType' => '<string>',
    'status' => 'SUCCESS|PROCESSING|FAILED',
]);

Parameter Details

Members
brandProfileId
Type: string

Filters the results to jobs for the specified brand profile.

maxResults
Type: int

The maximum number of results to return per page.

nextToken
Type: string

The token to retrieve the next page of results. This value is returned when more results are available, and is null when there are no more results to return.

operationType
Type: string

Filters the results to jobs of the specified operation type.

status
Type: string

Filters the results to jobs that have the specified status.

Result Syntax

[
    'jobs' => [
        [
            'brandProfileId' => '<string>',
            'createdAt' => <DateTime>,
            'errorCode' => '<string>',
            'errorMessage' => '<string>',
            'jobId' => '<string>',
            'operationType' => '<string>',
            'resources' => [
                [
                    'resourceArn' => '<string>',
                    'resourceId' => '<string>',
                    'resourceType' => 'REGISTRATION|BRAND_PROFILE',
                ],
                // ...
            ],
            'status' => 'SUCCESS|PROCESSING|FAILED',
            'updatedAt' => <DateTime>,
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
jobs
Required: Yes
Type: Array of JobSummary structures

The list of asynchronous jobs.

nextToken
Type: string

The token to retrieve the next page of results. This value is returned when more results are available, and is null when there are no more results to return.

Errors

ValidationException:

A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.

ThrottlingException:

The request was denied because it exceeded the allowed request rate.

AccessDeniedException:

You do not have sufficient access to perform this action.

InternalServerException:

An unexpected error occurred during the processing of the request.

Examples

Example 1: List async jobs
$result = $client->listJobs([
    'maxResults' => 10,
    'status' => 'SUCCESS',
]);

Result syntax:

[
    'jobs' => [
        [
            'brandProfileId' => 'bp-abc12345678901234',
            'createdAt' => ,
            'jobId' => 'job-abc12345678901234',
            'operationType' => 'CreateRegistrationsFromBrandProfile',
            'status' => 'SUCCESS',
            'updatedAt' => ,
        ],
    ],
]

ListNotifyCodeConfigurations

$result = $client->listNotifyCodeConfigurations([/* ... */]);
$promise = $client->listNotifyCodeConfigurationsAsync([/* ... */]);

Retrieves a paginated list of the notify code configurations in your account.

Parameter Syntax

$result = $client->listNotifyCodeConfigurations([
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
maxResults
Type: int

The maximum number of results to return per page.

nextToken
Type: string

The token to retrieve the next page of results. This value is returned when more results are available, and is null when there are no more results to return.

Result Syntax

[
    'nextToken' => '<string>',
    'notifyCodeConfigurations' => [
        [
            'channelParameters' => [
                'notify' => [
                    'notifyTemplateId' => '<string>',
                    'voiceId' => '<string>',
                ],
                'text' => [
                    'destinationCountryParameters' => ['<string>', ...],
                    'inlineTemplateBody' => '<string>',
                ],
                'voice' => [
                    'inlineTemplateBody' => '<string>',
                    'languageCode' => '<string>',
                    'voiceId' => '<string>',
                    'voiceMessageBodyTextType' => 'TEXT|SSML',
                ],
                'whatsApp' => [
                    'languageCode' => '<string>',
                    'whatsAppTemplateName' => '<string>',
                ],
            ],
            'codeConfigurationParameters' => [
                'codeLength' => <integer>,
                'codeType' => 'NUMERIC|ALPHA|ALPHANUMERIC',
                'maxAttempts' => <integer>,
                'validityPeriodMinutes' => <integer>,
            ],
            'createdAt' => <DateTime>,
            'deletionProtectionEnabled' => true || false,
            'notifyCodeConfigurationArn' => '<string>',
            'notifyCodeConfigurationId' => '<string>',
            'notifyCodeConfigurationName' => '<string>',
            'updatedAt' => <DateTime>,
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

The token to retrieve the next page of results. This value is returned when more results are available, and is null when there are no more results to return.

notifyCodeConfigurations
Required: Yes
Type: Array of NotifyCodeConfiguration structures

The list of notify code configurations.

Errors

ValidationException:

A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.

ThrottlingException:

The request was denied because it exceeded the allowed request rate.

AccessDeniedException:

You do not have sufficient access to perform this action.

InternalServerException:

An unexpected error occurred during the processing of the request.

Examples

Example 1: List notify code configurations
$result = $client->listNotifyCodeConfigurations([
    'maxResults' => 10,
]);

Result syntax:

[
    'notifyCodeConfigurations' => [
        [
            'channelParameters' => [
                'text' => [
                    'inlineTemplateBody' => 'Your verification code is {{code}}.',
                ],
            ],
            'codeConfigurationParameters' => [
                'codeLength' => 6,
                'codeType' => 'NUMERIC',
                'maxAttempts' => 3,
                'validityPeriodMinutes' => 10,
            ],
            'createdAt' => ,
            'deletionProtectionEnabled' => ,
            'notifyCodeConfigurationArn' => 'arn:aws:end-user-messaging:us-east-1:123456789012:notify-code-configuration/ncc-abc12345678901234',
            'notifyCodeConfigurationId' => 'ncc-abc12345678901234',
            'notifyCodeConfigurationName' => 'SignupOtp',
            'updatedAt' => ,
        ],
    ],
]

ListRegistrationsFromBrandProfile

$result = $client->listRegistrationsFromBrandProfile([/* ... */]);
$promise = $client->listRegistrationsFromBrandProfileAsync([/* ... */]);

Retrieves a paginated list of the registrations that were created from a brand profile through the synchronization operations.

Parameter Syntax

$result = $client->listRegistrationsFromBrandProfile([
    'brandProfileId' => '<string>', // REQUIRED
    'maxResults' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
brandProfileId
Required: Yes
Type: string

The unique identifier of the brand profile. You can specify either the bare ID or the full Amazon Resource Name (ARN).

maxResults
Type: int

The maximum number of results to return per page.

nextToken
Type: string

The token to retrieve the next page of results. This value is returned when more results are available, and is null when there are no more results to return.

Result Syntax

[
    'nextToken' => '<string>',
    'registrationAssociations' => [
        [
            'createdAt' => <DateTime>,
            'registrationId' => '<string>',
            'registrationType' => '<string>',
            'smartMatchUsed' => true || false,
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string

The token to retrieve the next page of results. This value is returned when more results are available, and is null when there are no more results to return.

registrationAssociations
Required: Yes
Type: Array of RegistrationAssociationSummary structures

The list of registrations that are associated with the brand profile.

Errors

ValidationException:

A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.

ThrottlingException:

The request was denied because it exceeded the allowed request rate.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The request references a resource that does not exist. Verify that the resource identifier is correct and try your request again.

InternalServerException:

An unexpected error occurred during the processing of the request.

Examples

Example 1: List registrations created from a brand profile
$result = $client->listRegistrationsFromBrandProfile([
    'brandProfileId' => 'bp-abc12345678901234',
    'maxResults' => 10,
]);

Result syntax:

[
    'registrationAssociations' => [
        [
            'createdAt' => ,
            'registrationId' => 'reg-abc12345678901234',
            'registrationType' => 'US_TOLL_FREE_REGISTRATION',
            'smartMatchUsed' => 1,
        ],
    ],
]

ListTagsForResource

$result = $client->listTagsForResource([/* ... */]);
$promise = $client->listTagsForResourceAsync([/* ... */]);

Retrieves the tags that are associated with a resource.

Parameter Syntax

$result = $client->listTagsForResource([
    'resourceArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the resource.

Result Syntax

[
    'tags' => [
        [
            'key' => '<string>',
            'value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
tags
Type: Array of Tag structures

An array of key and value pair tags that are associated with the resource.

Errors

ValidationException:

A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.

ThrottlingException:

The request was denied because it exceeded the allowed request rate.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The request references a resource that does not exist. Verify that the resource identifier is correct and try your request again.

InternalServerException:

An unexpected error occurred during the processing of the request.

Examples

Example 1: List tags on a resource
$result = $client->listTagsForResource([
    'resourceArn' => 'arn:aws:end-user-messaging:us-east-1:123456789012:brand-profile/bp-abc12345678901234',
]);

Result syntax:

[
    'tags' => [
        [
            'key' => 'Environment',
            'value' => 'Production',
        ],
    ],
]

SendNotifyCodeVerification

$result = $client->sendNotifyCodeVerification([/* ... */]);
$promise = $client->sendNotifyCodeVerificationAsync([/* ... */]);

Generates a one-time passcode and delivers it to a recipient over the requested channel. The passcode policy is captured from the referenced notify code configuration at the time of the request, so later updates to the configuration do not affect verifications that are already in progress.

Parameter Syntax

$result = $client->sendNotifyCodeVerification([
    'channel' => 'TEXT|VOICE|WHATSAPP', // REQUIRED
    'configurationSetName' => '<string>',
    'context' => ['<string>', ...],
    'destinationIdentity' => '<string>', // REQUIRED
    'notifyCodeConfiguration' => '<string>',
    'originationIdentity' => '<string>', // REQUIRED
    'overrideChannelParameters' => [
        'notify' => [
            'notifyTemplateId' => '<string>',
            'voiceId' => '<string>',
        ],
        'text' => [
            'destinationCountryParameters' => ['<string>', ...],
            'inlineTemplateBody' => '<string>',
        ],
        'voice' => [
            'inlineTemplateBody' => '<string>',
            'languageCode' => '<string>',
            'voiceId' => '<string>',
            'voiceMessageBodyTextType' => 'TEXT|SSML',
        ],
        'whatsApp' => [
            'languageCode' => '<string>',
            'whatsAppTemplateName' => '<string>',
        ],
    ],
    'overrideCodeConfigurationParameters' => [
        'codeLength' => <integer>,
        'codeType' => 'NUMERIC|ALPHA|ALPHANUMERIC',
        'maxAttempts' => <integer>,
        'validityPeriodMinutes' => <integer>,
    ],
    'referenceId' => '<string>',
]);

Parameter Details

Members
channel
Required: Yes
Type: string

The channel used to deliver the one-time passcode to the recipient.

configurationSetName
Type: string

The name of the configuration set used to control how delivery events for the message are handled.

context
Type: Associative array of custom strings keys (ContextKey) to strings

A map of custom key and value pairs that are propagated to the delivery events for this verification.

destinationIdentity
Required: Yes
Type: string

The recipient identifier. For the TEXT and VOICE channels, specify an E.164 phone number. For the WhatsApp channel, specify a WhatsApp address.

notifyCodeConfiguration
Type: string

The identifier or Amazon Resource Name (ARN) of the notify code configuration that supplies the passcode policy and template defaults. When you do not specify a configuration, you must supply the template in the request.

originationIdentity
Required: Yes
Type: string

The identity used to send the message, such as a phone number, sender ID, or pool that is owned by your account.

overrideChannelParameters
Type: ChannelParameters structure

The channel-specific parameters used to render and deliver the one-time passcode for this request. The route that is derived from the channel and the origination identity selects the matching channel. When you do not specify channel parameters, the service uses the parameters from the referenced notify code configuration.

overrideCodeConfigurationParameters
Type: CodeConfigurationParameters structure

The per-send overrides for the passcode policy parameters, including the code type, length, validity period, and maximum number of attempts. These values override the values from the referenced notify code configuration. When you do not specify a value, the value from the configuration is used, and if neither is set, the service default applies.

referenceId
Type: string

A caller-supplied reference identifier that binds a send request to a later validate request. Specify the same value in both requests.

Result Syntax

[
    'messageId' => '<string>',
    'verificationId' => '<string>',
]

Result Details

Members
messageId
Required: Yes
Type: string

The service-generated identifier for the message that delivers the one-time passcode.

verificationId
Required: Yes
Type: string

The service-generated identifier for the verification.

Errors

ValidationException:

A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.

ThrottlingException:

The request was denied because it exceeded the allowed request rate.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The request references a resource that does not exist. Verify that the resource identifier is correct and try your request again.

InternalServerException:

An unexpected error occurred during the processing of the request.

ConflictException:

The request conflicts with the current state of the resource.

ServiceQuotaExceededException:

The request would exceed a service quota for your account.

Examples

Example 1: Send a one-time passcode over SMS
$result = $client->sendNotifyCodeVerification([
    'channel' => 'TEXT',
    'destinationIdentity' => '+14255550100',
    'notifyCodeConfiguration' => 'ncc-abc12345678901234',
    'originationIdentity' => 'arn:aws:sms-voice:us-east-1:123456789012:phone-number/pn-abc123',
    'referenceId' => 'signup-flow-42',
]);

Result syntax:

[
    'messageId' => 'msg-abc12345678901234',
    'verificationId' => 'ver-abc12345678901234',
]

TagResource

$result = $client->tagResource([/* ... */]);
$promise = $client->tagResourceAsync([/* ... */]);

Adds or overwrites the tags on a resource.

Parameter Syntax

$result = $client->tagResource([
    'resourceArn' => '<string>', // REQUIRED
    'tags' => [ // REQUIRED
        [
            'key' => '<string>', // REQUIRED
            'value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the resource.

tags
Required: Yes
Type: Array of Tag structures

An array of key and value pair tags that are associated with the resource.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ValidationException:

A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.

ThrottlingException:

The request was denied because it exceeded the allowed request rate.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The request references a resource that does not exist. Verify that the resource identifier is correct and try your request again.

InternalServerException:

An unexpected error occurred during the processing of the request.

ServiceQuotaExceededException:

The request would exceed a service quota for your account.

Examples

Example 1: Tag a resource
$result = $client->tagResource([
    'resourceArn' => 'arn:aws:end-user-messaging:us-east-1:123456789012:brand-profile/bp-abc12345678901234',
    'tags' => [
        [
            'key' => 'Environment',
            'value' => 'Production',
        ],
    ],
]);

Result syntax:

[
]

UntagResource

$result = $client->untagResource([/* ... */]);
$promise = $client->untagResourceAsync([/* ... */]);

Removes the specified tags from a resource.

Parameter Syntax

$result = $client->untagResource([
    'resourceArn' => '<string>', // REQUIRED
    'tagKeys' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the resource.

tagKeys
Required: Yes
Type: Array of strings

The list of tag keys to remove from the resource.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ValidationException:

A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.

ThrottlingException:

The request was denied because it exceeded the allowed request rate.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The request references a resource that does not exist. Verify that the resource identifier is correct and try your request again.

InternalServerException:

An unexpected error occurred during the processing of the request.

Examples

Example 1: Remove tags from a resource
$result = $client->untagResource([
    'resourceArn' => 'arn:aws:end-user-messaging:us-east-1:123456789012:brand-profile/bp-abc12345678901234',
    'tagKeys' => [
        'Environment',
    ],
]);

Result syntax:

[
]

UpdateBrandProfile

$result = $client->updateBrandProfile([/* ... */]);
$promise = $client->updateBrandProfileAsync([/* ... */]);

Updates the name or the deletion protection setting of a brand profile. To change the information that is stored in the profile, use the brand profile attribute operations.

Parameter Syntax

$result = $client->updateBrandProfile([
    'brandProfileId' => '<string>', // REQUIRED
    'brandProfileName' => '<string>',
    'deletionProtectionEnabled' => true || false,
]);

Parameter Details

Members
brandProfileId
Required: Yes
Type: string

The unique identifier of the brand profile. You can specify either the bare ID or the full Amazon Resource Name (ARN).

brandProfileName
Type: string

The name of the brand profile. The name can contain alphanumeric characters, underscores, hyphens, and spaces.

deletionProtectionEnabled
Type: boolean

Specifies whether deletion protection is enabled. When enabled, the resource cannot be deleted until deletion protection is turned off.

Result Syntax

[
    'brandProfileArn' => '<string>',
    'brandProfileId' => '<string>',
    'brandProfileName' => '<string>',
    'createdAt' => <DateTime>,
    'deletionProtectionEnabled' => true || false,
    'status' => 'ACTIVE|BLOCKED|PAUSED|CANCELLED|FAILED',
    'updatedAt' => <DateTime>,
]

Result Details

Members
brandProfileArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the brand profile.

brandProfileId
Required: Yes
Type: string

The unique identifier of the brand profile.

brandProfileName
Required: Yes
Type: string

The name of the brand profile. The name can contain alphanumeric characters, underscores, hyphens, and spaces.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the resource was created, in Unix epoch time.

deletionProtectionEnabled
Required: Yes
Type: boolean

Specifies whether deletion protection is enabled. When enabled, the resource cannot be deleted until deletion protection is turned off.

status
Required: Yes
Type: string

The current lifecycle status of the brand profile.

updatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the resource was last updated, in Unix epoch time.

Errors

ValidationException:

A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.

ThrottlingException:

The request was denied because it exceeded the allowed request rate.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The request references a resource that does not exist. Verify that the resource identifier is correct and try your request again.

InternalServerException:

An unexpected error occurred during the processing of the request.

ConflictException:

The request conflicts with the current state of the resource.

Examples

Example 1: Update a brand profile name
$result = $client->updateBrandProfile([
    'brandProfileId' => 'bp-abc12345678901234',
    'brandProfileName' => 'AcmeCorpUpdated',
    'deletionProtectionEnabled' => ,
]);

Result syntax:

[
    'brandProfileArn' => 'arn:aws:end-user-messaging:us-east-1:123456789012:brand-profile/bp-abc12345678901234',
    'brandProfileId' => 'bp-abc12345678901234',
    'brandProfileName' => 'AcmeCorpUpdated',
    'createdAt' => ,
    'deletionProtectionEnabled' => ,
    'status' => 'ACTIVE',
    'updatedAt' => ,
]

UpdateBrandProfileAttribute

$result = $client->updateBrandProfileAttribute([/* ... */]);
$promise = $client->updateBrandProfileAttributeAsync([/* ... */]);

Updates the value, description, or category of an existing brand profile attribute.

Parameter Syntax

$result = $client->updateBrandProfileAttribute([
    'attachmentBody' => <string || resource || Psr\Http\Message\StreamInterface>,
    'attributeName' => '<string>', // REQUIRED
    'attributeValue' => '<string>',
    'brandProfileId' => '<string>', // REQUIRED
    'category' => '<string>',
    'description' => '<string>',
]);

Parameter Details

Members
attachmentBody
Type: blob (string|resource|Psr\Http\Message\StreamInterface)

The binary content for an attribute of type IMAGE or DOCUMENT. The content is base64-encoded when it is sent over the wire.

attributeName
Required: Yes
Type: string

The name of the brand profile attribute. The name is unique within a brand profile.

attributeValue
Type: string

The text value of the attribute. This value applies to attributes of type TEXT.

brandProfileId
Required: Yes
Type: string

The unique identifier of the brand profile. You can specify either the bare ID or the full Amazon Resource Name (ARN).

category
Type: string

The category of the attribute.

description
Type: string

A description of the attribute.

Result Syntax

[
    'attributeName' => '<string>',
    'attributeType' => 'TEXT|IMAGE|DOCUMENT',
    'attributeValue' => '<string>',
    'category' => '<string>',
    'createdAt' => <DateTime>,
    'description' => '<string>',
    'mediaContentType' => '<string>',
    'mediaSizeBytes' => <integer>,
    'updatedAt' => <DateTime>,
]

Result Details

Members
attributeName
Required: Yes
Type: string

The name of the brand profile attribute. The name is unique within a brand profile.

attributeType
Required: Yes
Type: string

The type of the attribute. TEXT stores an inline value. IMAGE and DOCUMENT store binary media that you upload.

attributeValue
Type: string

The text value of the attribute. This value applies to attributes of type TEXT.

category
Type: string

The category of the attribute.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the resource was created, in Unix epoch time.

description
Type: string

A description of the attribute.

mediaContentType
Type: string

The MIME content type of the attribute media.

mediaSizeBytes
Type: long (int|float)

The size of the attribute media, in bytes.

updatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the resource was last updated, in Unix epoch time.

Errors

ValidationException:

A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.

ThrottlingException:

The request was denied because it exceeded the allowed request rate.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The request references a resource that does not exist. Verify that the resource identifier is correct and try your request again.

InternalServerException:

An unexpected error occurred during the processing of the request.

ConflictException:

The request conflicts with the current state of the resource.

Examples

Example 1: Update a brand profile attribute value
$result = $client->updateBrandProfileAttribute([
    'attributeName' => 'SupportEmail',
    'attributeValue' => 'help@example.com',
    'brandProfileId' => 'bp-abc12345678901234',
    'category' => 'CONTACT',
]);

Result syntax:

[
    'attributeName' => 'SupportEmail',
    'attributeType' => 'TEXT',
    'attributeValue' => 'help@example.com',
    'category' => 'CONTACT',
    'createdAt' => ,
    'updatedAt' => ,
]

UpdateBrandProfileFromRegistration

$result = $client->updateBrandProfileFromRegistration([/* ... */]);
$promise = $client->updateBrandProfileFromRegistrationAsync([/* ... */]);

Imports or refreshes the attributes of an existing brand profile from an existing registration. This operation runs asynchronously. Use the GetJob operation to track its progress.

Parameter Syntax

$result = $client->updateBrandProfileFromRegistration([
    'brandProfileId' => '<string>', // REQUIRED
    'clientToken' => '<string>',
    'onAttributeConflict' => 'REPLACE|PRESERVE',
    'registrationId' => '<string>', // REQUIRED
    'smartMatch' => true || false,
]);

Parameter Details

Members
brandProfileId
Required: Yes
Type: string

The unique identifier of the brand profile. You can specify either the bare ID or the full Amazon Resource Name (ARN).

clientToken
Type: string

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you do not specify a client token, the AWS SDK automatically generates one.

onAttributeConflict
Type: string

Specifies how the service resolves an attribute that already exists. REPLACE overwrites the existing value with the incoming value. PRESERVE keeps the existing value.

registrationId
Required: Yes
Type: string

The identifier or Amazon Resource Name (ARN) of the registration to import attributes from.

smartMatch
Type: boolean

Specifies whether to use semantic field mapping between brand profile attributes and registration fields. The default is true. When false, the service maps fields using a fixed set of standard field types.

Result Syntax

[
    'results' => [
        [
            'jobId' => '<string>',
            'resourceIdentifier' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
results
Required: Yes
Type: Array of JobResult structures

The results of the operation. Each result pairs a requested item with the asynchronous job that processes it.

Errors

ValidationException:

A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.

ThrottlingException:

The request was denied because it exceeded the allowed request rate.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The request references a resource that does not exist. Verify that the resource identifier is correct and try your request again.

InternalServerException:

An unexpected error occurred during the processing of the request.

ConflictException:

The request conflicts with the current state of the resource.

Examples

Example 1: Update a brand profile from a registration
$result = $client->updateBrandProfileFromRegistration([
    'brandProfileId' => 'bp-abc12345678901234',
    'onAttributeConflict' => 'REPLACE',
    'registrationId' => 'reg-abc12345678901234',
    'smartMatch' => 1,
]);

Result syntax:

[
    'results' => [
        [
            'jobId' => 'job-abc12345678901234',
            'resourceIdentifier' => 'reg-abc12345678901234',
        ],
    ],
]

UpdateNotifyCodeConfiguration

$result = $client->updateNotifyCodeConfiguration([/* ... */]);
$promise = $client->updateNotifyCodeConfigurationAsync([/* ... */]);

Updates the mutable fields of a notify code configuration. Only the fields that you supply are changed. For the template and language fields, supplying an empty value clears the currently stored value.

Parameter Syntax

$result = $client->updateNotifyCodeConfiguration([
    'channelParameters' => [
        'notify' => [
            'notifyTemplateId' => '<string>',
            'voiceId' => '<string>',
        ],
        'text' => [
            'destinationCountryParameters' => ['<string>', ...],
            'inlineTemplateBody' => '<string>',
        ],
        'voice' => [
            'inlineTemplateBody' => '<string>',
            'languageCode' => '<string>',
            'voiceId' => '<string>',
            'voiceMessageBodyTextType' => 'TEXT|SSML',
        ],
        'whatsApp' => [
            'languageCode' => '<string>',
            'whatsAppTemplateName' => '<string>',
        ],
    ],
    'codeConfigurationParameters' => [
        'codeLength' => <integer>,
        'codeType' => 'NUMERIC|ALPHA|ALPHANUMERIC',
        'maxAttempts' => <integer>,
        'validityPeriodMinutes' => <integer>,
    ],
    'deletionProtectionEnabled' => true || false,
    'notifyCodeConfigurationId' => '<string>', // REQUIRED
    'notifyCodeConfigurationName' => '<string>',
]);

Parameter Details

Members
channelParameters
Type: UpdateChannelParameters structure

The updated channel-specific parameters used to render and deliver the one-time passcode. This is a loose, nested update: when you omit a channel, that channel's parameters remain unchanged. Within a supplied channel, an empty string on a string member, or an empty map on the destination-country parameters, clears the currently stored value, and absent members preserve the current value.

codeConfigurationParameters

The updated passcode policy parameters, including the code type, length, validity period, and maximum number of attempts. When you omit a member, its current value is preserved.

deletionProtectionEnabled
Type: boolean

Specifies whether deletion protection is enabled. When enabled, the resource cannot be deleted until deletion protection is turned off.

notifyCodeConfigurationId
Required: Yes
Type: string

The unique identifier of the notify code configuration. You can specify either the bare ID or the full Amazon Resource Name (ARN).

notifyCodeConfigurationName
Type: string

The name of the notify code configuration.

Result Syntax

[
    'notifyCodeConfiguration' => [
        'channelParameters' => [
            'notify' => [
                'notifyTemplateId' => '<string>',
                'voiceId' => '<string>',
            ],
            'text' => [
                'destinationCountryParameters' => ['<string>', ...],
                'inlineTemplateBody' => '<string>',
            ],
            'voice' => [
                'inlineTemplateBody' => '<string>',
                'languageCode' => '<string>',
                'voiceId' => '<string>',
                'voiceMessageBodyTextType' => 'TEXT|SSML',
            ],
            'whatsApp' => [
                'languageCode' => '<string>',
                'whatsAppTemplateName' => '<string>',
            ],
        ],
        'codeConfigurationParameters' => [
            'codeLength' => <integer>,
            'codeType' => 'NUMERIC|ALPHA|ALPHANUMERIC',
            'maxAttempts' => <integer>,
            'validityPeriodMinutes' => <integer>,
        ],
        'createdAt' => <DateTime>,
        'deletionProtectionEnabled' => true || false,
        'notifyCodeConfigurationArn' => '<string>',
        'notifyCodeConfigurationId' => '<string>',
        'notifyCodeConfigurationName' => '<string>',
        'updatedAt' => <DateTime>,
    ],
]

Result Details

Members
notifyCodeConfiguration
Required: Yes
Type: NotifyCodeConfiguration structure

The notify code configuration resource.

Errors

ValidationException:

A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.

ThrottlingException:

The request was denied because it exceeded the allowed request rate.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The request references a resource that does not exist. Verify that the resource identifier is correct and try your request again.

InternalServerException:

An unexpected error occurred during the processing of the request.

ConflictException:

The request conflicts with the current state of the resource.

Examples

Example 1: Update a notify code configuration
$result = $client->updateNotifyCodeConfiguration([
    'codeConfigurationParameters' => [
        'codeLength' => 8,
        'validityPeriodMinutes' => 15,
    ],
    'notifyCodeConfigurationId' => 'ncc-abc12345678901234',
]);

Result syntax:

[
    'notifyCodeConfiguration' => [
        'channelParameters' => [
            'text' => [
                'inlineTemplateBody' => 'Your verification code is {{code}}.',
            ],
        ],
        'codeConfigurationParameters' => [
            'codeLength' => 8,
            'codeType' => 'NUMERIC',
            'maxAttempts' => 3,
            'validityPeriodMinutes' => 15,
        ],
        'createdAt' => ,
        'deletionProtectionEnabled' => ,
        'notifyCodeConfigurationArn' => 'arn:aws:end-user-messaging:us-east-1:123456789012:notify-code-configuration/ncc-abc12345678901234',
        'notifyCodeConfigurationId' => 'ncc-abc12345678901234',
        'notifyCodeConfigurationName' => 'SignupOtp',
        'updatedAt' => ,
    ],
]

UpdateRegistrationsFromBrandProfile

$result = $client->updateRegistrationsFromBrandProfile([/* ... */]);
$promise = $client->updateRegistrationsFromBrandProfileAsync([/* ... */]);

Repushes the attributes of a brand profile into existing DRAFT registrations. This operation runs asynchronously. Use the GetJob operation to track its progress.

Parameter Syntax

$result = $client->updateRegistrationsFromBrandProfile([
    'brandProfileId' => '<string>', // REQUIRED
    'clientToken' => '<string>',
    'onAttributeConflict' => 'REPLACE|PRESERVE',
    'registrationIds' => ['<string>', ...], // REQUIRED
    'smartMatch' => true || false,
]);

Parameter Details

Members
brandProfileId
Required: Yes
Type: string

The unique identifier of the brand profile. You can specify either the bare ID or the full Amazon Resource Name (ARN).

clientToken
Type: string

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you do not specify a client token, the AWS SDK automatically generates one.

onAttributeConflict
Type: string

Specifies how the service resolves an attribute that already exists. REPLACE overwrites the existing value with the incoming value. PRESERVE keeps the existing value.

registrationIds
Required: Yes
Type: Array of strings

The identifiers of the registrations.

smartMatch
Type: boolean

Specifies whether to use semantic field mapping between brand profile attributes and registration fields. The default is true. When false, the service maps fields using a fixed set of standard field types.

Result Syntax

[
    'results' => [
        [
            'jobId' => '<string>',
            'resourceIdentifier' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
results
Required: Yes
Type: Array of JobResult structures

The results of the operation. Each result pairs a requested item with the asynchronous job that processes it.

Errors

ValidationException:

A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.

ThrottlingException:

The request was denied because it exceeded the allowed request rate.

AccessDeniedException:

You do not have sufficient access to perform this action.

ResourceNotFoundException:

The request references a resource that does not exist. Verify that the resource identifier is correct and try your request again.

InternalServerException:

An unexpected error occurred during the processing of the request.

ConflictException:

The request conflicts with the current state of the resource.

Examples

Example 1: Update registrations from a brand profile
$result = $client->updateRegistrationsFromBrandProfile([
    'brandProfileId' => 'bp-abc12345678901234',
    'onAttributeConflict' => 'PRESERVE',
    'registrationIds' => [
        'reg-abc12345678901234',
    ],
    'smartMatch' => 1,
]);

Result syntax:

[
    'results' => [
        [
            'jobId' => 'job-abc12345678901234',
            'resourceIdentifier' => 'reg-abc12345678901234',
        ],
    ],
]

ValidateNotifyCodeVerification

$result = $client->validateNotifyCodeVerification([/* ... */]);
$promise = $client->validateNotifyCodeVerificationAsync([/* ... */]);

Validates a one-time passcode that a recipient submitted. Validation succeeds when the passcode matches, the validity period has not elapsed, and the maximum number of attempts has not been exceeded.

Parameter Syntax

$result = $client->validateNotifyCodeVerification([
    'code' => '<string>', // REQUIRED
    'destinationIdentity' => '<string>', // REQUIRED
    'referenceId' => '<string>',
]);

Parameter Details

Members
code
Required: Yes
Type: string

The one-time passcode that the recipient submitted for validation.

destinationIdentity
Required: Yes
Type: string

The recipient identifier. For the TEXT and VOICE channels, specify an E.164 phone number. For the WhatsApp channel, specify a WhatsApp address.

referenceId
Type: string

The caller-supplied reference identifier used to locate the verification. This value must match the value that you supplied to the SendNotifyCodeVerification operation.

Result Syntax

[
    'status' => 'VALID|INVALID',
]

Result Details

Members
status
Required: Yes
Type: string

The outcome of the validation attempt. VALID indicates that the submitted passcode matched an active verification. INVALID indicates that the passcode did not match, expired, or exceeded its attempt limit.

Errors

ValidationException:

A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.

ThrottlingException:

The request was denied because it exceeded the allowed request rate.

AccessDeniedException:

You do not have sufficient access to perform this action.

InternalServerException:

An unexpected error occurred during the processing of the request.

Examples

Example 1: Validate a submitted one-time passcode
$result = $client->validateNotifyCodeVerification([
    'code' => '123456',
    'destinationIdentity' => '+14255550100',
    'referenceId' => 'signup-flow-42',
]);

Result syntax:

[
    'status' => 'VALID',
]

Shapes

AccessDeniedException

Description

You do not have sufficient access to perform this action.

Members
message
Required: Yes
Type: string

BrandProfileAttributeInput

Description

Specifies an attribute to create for a brand profile.

Members
attachmentBody
Type: blob (string|resource|Psr\Http\Message\StreamInterface)

The binary content for an attribute of type IMAGE or DOCUMENT. The content is base64-encoded when it is sent over the wire.

attributeName
Required: Yes
Type: string

The name of the brand profile attribute. The name is unique within a brand profile.

attributeType
Required: Yes
Type: string

The type of the attribute. TEXT stores an inline value. IMAGE and DOCUMENT store binary media that you upload.

attributeValue
Type: string

The text value for the attribute. This value applies to attributes of type TEXT. For attributes of type IMAGE or DOCUMENT, provide the media through the attachment body instead.

category
Type: string

The category of the attribute.

description
Type: string

A description of the attribute.

BrandProfileAttributeOutput

Description

Contains information about an attribute that was created for a brand profile.

Members
attributeName
Required: Yes
Type: string

The name of the brand profile attribute. The name is unique within a brand profile.

attributeType
Required: Yes
Type: string

The type of the attribute. TEXT stores an inline value. IMAGE and DOCUMENT store binary media that you upload.

mediaDownloadUrl
Type: string

A presigned Amazon S3 URL that you can use to download the attribute media. The URL is valid for one hour and is present only for attributes of type IMAGE or DOCUMENT.

BrandProfileAttributeSummary

Description

Contains summary information about a brand profile attribute in a list response.

Members
attributeName
Required: Yes
Type: string

The name of the brand profile attribute. The name is unique within a brand profile.

attributeType
Required: Yes
Type: string

The type of the attribute. TEXT stores an inline value. IMAGE and DOCUMENT store binary media that you upload.

category
Type: string

The category of the attribute.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the resource was created, in Unix epoch time.

description
Type: string

A description of the attribute.

updatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the resource was last updated, in Unix epoch time.

BrandProfileInfo

Description

Contains information about a brand profile.

Members
brandProfileArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the brand profile.

brandProfileId
Required: Yes
Type: string

The unique identifier of the brand profile.

brandProfileName
Required: Yes
Type: string

The name of the brand profile. The name can contain alphanumeric characters, underscores, hyphens, and spaces.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the resource was created, in Unix epoch time.

deletionProtectionEnabled
Required: Yes
Type: boolean

Specifies whether deletion protection is enabled. When enabled, the resource cannot be deleted until deletion protection is turned off.

status
Required: Yes
Type: string

The current lifecycle status of the brand profile.

updatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the resource was last updated, in Unix epoch time.

ChannelParameters

Description

The channel-specific parameters used to render and deliver a one-time passcode. Each member configures the parameters for one delivery route. Populate only the channels that a configuration or send request supports. A notify code configuration can carry every channel at once, and a send request resolves to a single route that selects the matching channel at send time.

Members
notify
Type: NotifyParameters structure

The parameters for the preapproved notify-template route over the SMS or voice channels.

text
Type: TextParameters structure

The parameters for the text channel, which delivers over SMS or RCS.

voice
Type: VoiceParameters structure

The parameters for the voice channel.

whatsApp
Type: WhatsAppParameters structure

The parameters for the WhatsApp channel.

CodeConfigurationParameters

Description

The passcode policy parameters that are grouped for reuse across a notify code configuration and its create request. Each member is optional. When you omit a member on a create request, no value is applied at create time and the default is applied when a passcode is sent.

Members
codeLength
Type: int

The number of characters in the one-time passcode. Valid values range from 4 through 8. When you do not specify a value, the default is applied when a passcode is sent.

codeType
Type: string

The character set used to generate the one-time passcode. Valid values are NUMERIC (digits only), ALPHA (uppercase letters only), and ALPHANUMERIC (uppercase letters and digits). When you do not specify a value, the default is applied when a passcode is sent.

maxAttempts
Type: int

The maximum number of validation attempts that are allowed before the verification is locked. Valid values range from 1 through 5. When you do not specify a value, the default is applied when a passcode is sent.

validityPeriodMinutes
Type: int

The length of time, in minutes, that the one-time passcode remains valid. Valid values range from 1 through 60. When you do not specify a value, the default is applied when a passcode is sent.

ConflictException

Description

The request conflicts with the current state of the resource.

Members
message
Required: Yes
Type: string
resourceId
Type: string

The identifier of the resource that the request conflicts with.

resourceType
Type: string

The type of the resource that the request conflicts with.

InternalServerException

Description

An unexpected error occurred during the processing of the request.

Members
message
Required: Yes
Type: string

JobResource

Description

Contains information about a resource that was created or updated by an asynchronous job.

Members
resourceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the resource.

resourceId
Required: Yes
Type: string

The identifier of the resource that the job created or updated.

resourceType
Required: Yes
Type: string

The type of the resource that the job created or updated.

JobResult

Description

Pairs an asynchronous job with the resource identifier from your request that the job processes.

Members
jobId
Required: Yes
Type: string

The unique identifier of the asynchronous job. Use the GetJob operation to check the status of the job and to retrieve its results.

resourceIdentifier
Required: Yes
Type: string

The identifier from your request that this job is processing.

JobSummary

Description

Contains summary information about an asynchronous job in a list response.

Members
brandProfileId
Type: string

The brand profile that the job operates on. This value is absent for operations that create a brand profile.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the resource was created, in Unix epoch time.

errorCode
Type: string

A machine-readable code that identifies why the job failed. This value is present only when the job status is FAILED.

errorMessage
Type: string

A human-readable description of why the job failed. This value is present only when the job status is FAILED.

jobId
Required: Yes
Type: string

The unique identifier of the asynchronous job. Use the GetJob operation to check the status of the job and to retrieve its results.

operationType
Required: Yes
Type: string

The type of mutating operation that created the job.

resources
Type: Array of JobResource structures

The resources that were created or updated by the job.

status
Required: Yes
Type: string

The current lifecycle status of the job.

updatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the resource was last updated, in Unix epoch time.

NotifyCodeConfiguration

Description

Contains the settings of a notify code configuration, which is a reusable one-time passcode policy.

Members
channelParameters
Type: ChannelParameters structure

The channel-specific parameters used to render and deliver the one-time passcode. A configuration can carry parameters for every channel at once, and the send route selects the matching channel at send time.

codeConfigurationParameters
Type: CodeConfigurationParameters structure

The passcode policy parameters, including the code type, length, validity period, and maximum number of attempts.

createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the resource was created, in Unix epoch time.

deletionProtectionEnabled
Required: Yes
Type: boolean

Specifies whether deletion protection is enabled. When enabled, the resource cannot be deleted until deletion protection is turned off.

notifyCodeConfigurationArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the notify code configuration.

notifyCodeConfigurationId
Required: Yes
Type: string

The unique identifier of the notify code configuration.

notifyCodeConfigurationName
Required: Yes
Type: string

The name of the notify code configuration.

updatedAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the resource was last updated, in Unix epoch time.

NotifyParameters

Description

The delivery parameters for the preapproved notify-template route over the SMS or voice channels.

Members
notifyTemplateId
Type: string

The identifier of a preapproved notify template for the SMS or voice channels.

voiceId
Type: string

The Amazon Polly voice ID used when the notify template is delivered over the voice channel.

RegistrationAssociationSummary

Description

Contains summary information about a registration that is associated with a brand profile.

Members
createdAt
Required: Yes
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time when the resource was created, in Unix epoch time.

registrationId
Required: Yes
Type: string

The identifier of the registration.

registrationType
Required: Yes
Type: string

The type of the registration, for example US_TOLL_FREE_REGISTRATION or SENDER_ID.

smartMatchUsed
Required: Yes
Type: boolean

Specifies whether smart matching was used to create the association.

ResourceNotFoundException

Description

The request references a resource that does not exist. Verify that the resource identifier is correct and try your request again.

Members
message
Required: Yes
Type: string
resourceId
Type: string

The identifier of the resource that could not be found.

resourceType
Type: string

The type of the resource that could not be found.

ServiceQuotaExceededException

Description

The request would exceed a service quota for your account.

Members
message
Required: Yes
Type: string

Tag

Description

Describes a tag as a key and value pair that you can associate with a resource.

Members
key
Required: Yes
Type: string

The key of the tag.

value
Required: Yes
Type: string

The value of the tag.

TextParameters

Description

The delivery parameters for the text channel, which delivers over SMS or RCS.

Members
destinationCountryParameters
Type: Associative array of custom strings keys (DestinationCountryParameterKey) to strings

A map of country-specific parameters that control one-time passcode delivery.

inlineTemplateBody
Type: string

The freeform message template used to render the one-time passcode for the SMS or RCS channels. The template must contain the code placeholder.

ThrottlingException

Description

The request was denied because it exceeded the allowed request rate.

Members
message
Required: Yes
Type: string

UpdateChannelParameters

Description

The updated channel-specific parameters used only when you update a notify code configuration. When you omit a channel, that channel's parameters remain unchanged. When you supply a channel, you can clear individual fields by using the empty-string or empty-map sentinel on a member, or drop the whole channel's parameters by clearing every member. These sentinels apply only when you update a configuration; a create request rejects empty values with a validation error.

Members
notify
Type: UpdateNotifyParameters structure

The notify-template-route parameters to update. Omit this member to leave them unchanged.

text
Type: UpdateTextParameters structure

The text-channel parameters to update. Omit this member to leave the text-channel parameters unchanged.

voice
Type: UpdateVoiceParameters structure

The voice-channel parameters to update. Omit this member to leave the voice-channel parameters unchanged.

whatsApp
Type: UpdateWhatsAppParameters structure

The WhatsApp-channel parameters to update. Omit this member to leave the WhatsApp-channel parameters unchanged.

UpdateCodeConfigurationParameters

Description

The loose variant of the passcode policy parameters that is used only when you update a notify code configuration. When you omit a member, its current value is preserved.

Members
codeLength
Type: int

The updated number of characters in the one-time passcode. Valid values range from 4 through 8. Omit this member to preserve the current value.

codeType
Type: string

The updated character set used to generate the one-time passcode. Omit this member to preserve the current value.

maxAttempts
Type: int

The updated maximum number of validation attempts that are allowed before the verification is locked. Valid values range from 1 through 5. Omit this member to preserve the current value.

validityPeriodMinutes
Type: int

The updated length of time, in minutes, that the one-time passcode remains valid. Valid values range from 1 through 60. Omit this member to preserve the current value.

UpdateNotifyParameters

Description

The updated delivery parameters for the preapproved notify-template route. Absent members preserve the current value, and the empty sentinel on a member clears it.

Members
notifyTemplateId
Type: string

The updated identifier of a preapproved notify template for the SMS or voice channels. An empty string clears the previously stored value.

voiceId
Type: string

The updated Amazon Polly voice ID. An empty string clears the previously stored value.

UpdateTextParameters

Description

The updated delivery parameters for the text channel. Absent members preserve the current value, and the empty sentinel on a member clears it.

Members
destinationCountryParameters
Type: Associative array of custom strings keys (DestinationCountryParameterKey) to strings

The updated map of country-specific parameters that control one-time passcode delivery. An empty map clears the previously stored value.

inlineTemplateBody
Type: string

The updated freeform SMS or RCS template body. An empty string clears the previously stored value.

UpdateVoiceParameters

Description

The updated delivery parameters for the voice channel. Absent members preserve the current value, and the empty sentinel on a member clears it.

Members
inlineTemplateBody
Type: string

The updated freeform voice template body. An empty string clears the previously stored value.

languageCode
Type: string

The updated BCP 47 language code. An empty string clears the previously stored value.

voiceId
Type: string

The updated Amazon Polly voice ID. An empty string clears the previously stored value.

voiceMessageBodyTextType
Type: string

The updated format of the voice message body. Valid values are TEXT and SSML. Omit this member to preserve the current value.

UpdateWhatsAppParameters

Description

The updated delivery parameters for the WhatsApp channel. Absent members preserve the current value, and the empty sentinel on a member clears it.

Members
languageCode
Type: string

The updated BCP 47 language code. An empty string clears the previously stored value.

whatsAppTemplateName
Type: string

The updated name of the Meta-approved WhatsApp authentication template. An empty string clears the previously stored value.

ValidationException

Description

A standard error for input validation failures. This should be thrown by services when a member of the input structure falls outside of the modeled or documented constraints.

Members
fieldList
Type: Array of ValidationExceptionField structures

A list of specific failures encountered while validating the input. A member can appear in this list more than once if it failed to satisfy multiple constraints.

message
Required: Yes
Type: string

A summary of the validation failure.

ValidationExceptionField

Description

Describes one specific validation failure for an input member.

Members
message
Required: Yes
Type: string

A detailed description of the validation failure.

path
Required: Yes
Type: string

A JSONPointer expression to the structure member whose value failed to satisfy the modeled constraints.

VoiceParameters

Description

The delivery parameters for the voice channel.

Members
inlineTemplateBody
Type: string

The freeform message template used to render the one-time passcode for the voice channel. The template must contain the code placeholder.

languageCode
Type: string

The BCP 47 language code used to render the voice message.

voiceId
Type: string

The Amazon Polly voice ID used for the voice channel.

voiceMessageBodyTextType
Type: string

The format of the voice message body. Valid values are TEXT and SSML.

WhatsAppParameters

Description

The delivery parameters for the WhatsApp channel.

Members
languageCode
Type: string

The BCP 47 language code used to render the template. This value is required for the WhatsApp channel.

whatsAppTemplateName
Type: string

The name of the Meta-approved WhatsApp authentication template.