SDK for PHP 3.x

Client: Aws\ChimeSDKMessaging\ChimeSDKMessagingClient
Service ID: chime-sdk-messaging
Version: 2021-05-15

This page describes the parameters and results for the operations of the Amazon Chime SDK Messaging (2021-05-15), and shows how to use the Aws\ChimeSDKMessaging\ChimeSDKMessagingClient object to call the described operations. This documentation is specific to the 2021-05-15 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 */).

AssociateChannelFlow ( array $params = [] )
Associates a channel flow with a channel.
BatchCreateChannelMembership ( array $params = [] )
Adds a specified number of users and bots to a channel.
ChannelFlowCallback ( array $params = [] )
Calls back Amazon Chime SDK messaging with a processing response message.
CreateChannel ( array $params = [] )
Creates a channel to which you can add users and send messages.
CreateChannelBan ( array $params = [] )
Permanently bans a member from a channel.
CreateChannelFlow ( array $params = [] )
Creates a channel flow, a container for processors.
CreateChannelMembership ( array $params = [] )
Adds a member to a channel.
CreateChannelModerator ( array $params = [] )
Creates a new ChannelModerator.
DeleteChannel ( array $params = [] )
Immediately makes a channel and its memberships inaccessible and marks them for deletion.
DeleteChannelBan ( array $params = [] )
Removes a member from a channel's ban list.
DeleteChannelFlow ( array $params = [] )
Deletes a channel flow, an irreversible process.
DeleteChannelMembership ( array $params = [] )
Removes a member from a channel.
DeleteChannelMessage ( array $params = [] )
Deletes a channel message.
DeleteChannelModerator ( array $params = [] )
Deletes a channel moderator.
DeleteMessagingStreamingConfigurations ( array $params = [] )
Deletes the streaming configurations for an AppInstance.
DescribeChannel ( array $params = [] )
Returns the full details of a channel in an Amazon Chime AppInstance.
DescribeChannelBan ( array $params = [] )
Returns the full details of a channel ban.
DescribeChannelFlow ( array $params = [] )
Returns the full details of a channel flow in an Amazon Chime AppInstance.
DescribeChannelMembership ( array $params = [] )
Returns the full details of a user's channel membership.
DescribeChannelMembershipForAppInstanceUser ( array $params = [] )
Returns the details of a channel based on the membership of the specified AppInstanceUser or AppInstanceBot.
DescribeChannelModeratedByAppInstanceUser ( array $params = [] )
Returns the full details of a channel moderated by the specified AppInstanceUser or AppInstanceBot.
DescribeChannelModerator ( array $params = [] )
Returns the full details of a single ChannelModerator.
DisassociateChannelFlow ( array $params = [] )
Disassociates a channel flow from all its channels.
GetChannelMembershipPreferences ( array $params = [] )
Gets the membership preferences of an AppInstanceUser or AppInstanceBot for the specified channel.
GetChannelMessage ( array $params = [] )
Gets the full details of a channel message.
GetChannelMessageStatus ( array $params = [] )
Gets message status for a specified messageId.
GetMessagingSessionEndpoint ( array $params = [] )
The details of the endpoint for the messaging session.
GetMessagingStreamingConfigurations ( array $params = [] )
Retrieves the data streaming configuration for an AppInstance.
ListChannelBans ( array $params = [] )
Lists all the users and bots banned from a particular channel.
ListChannelFlows ( array $params = [] )
Returns a paginated lists of all the channel flows created under a single Chime.
ListChannelMemberships ( array $params = [] )
Lists all channel memberships in a channel.
ListChannelMembershipsForAppInstanceUser ( array $params = [] )
Lists all channels that an AppInstanceUser or AppInstanceBot is a part of.
ListChannelMessages ( array $params = [] )
List all the messages in a channel.
ListChannelModerators ( array $params = [] )
Lists all the moderators for a channel.
ListChannels ( array $params = [] )
Lists all Channels created under a single Chime App as a paginated list.
ListChannelsAssociatedWithChannelFlow ( array $params = [] )
Lists all channels associated with a specified channel flow.
ListChannelsModeratedByAppInstanceUser ( array $params = [] )
A list of the channels moderated by an AppInstanceUser.
ListSubChannels ( array $params = [] )
Lists all the SubChannels in an elastic channel when given a channel ID.
ListTagsForResource ( array $params = [] )
Lists the tags applied to an Amazon Chime SDK messaging resource.
PutChannelExpirationSettings ( array $params = [] )
Sets the number of days before the channel is automatically deleted.
PutChannelMembershipPreferences ( array $params = [] )
Sets the membership preferences of an AppInstanceUser or AppInstanceBot for the specified channel.
PutMessagingStreamingConfigurations ( array $params = [] )
Sets the data streaming configuration for an AppInstance.
RedactChannelMessage ( array $params = [] )
Redacts message content, but not metadata.
SearchChannels ( array $params = [] )
Allows the ChimeBearer to search channels by channel members.
SendChannelMessage ( array $params = [] )
Sends a message to a particular channel that the member is a part of.
TagResource ( array $params = [] )
Applies the specified tags to the specified Amazon Chime SDK messaging resource.
UntagResource ( array $params = [] )
Removes the specified tags from the specified Amazon Chime SDK messaging resource.
UpdateChannel ( array $params = [] )
Update a channel's attributes.
UpdateChannelFlow ( array $params = [] )
Updates channel flow attributes.
UpdateChannelMessage ( array $params = [] )
Updates the content of a message.
UpdateChannelReadMarker ( array $params = [] )
The details of the time when a user last read messages in a channel.

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:

ListChannelBans
ListChannelFlows
ListChannelMemberships
ListChannelMembershipsForAppInstanceUser
ListChannelMessages
ListChannelModerators
ListChannels
ListChannelsAssociatedWithChannelFlow
ListChannelsModeratedByAppInstanceUser
ListSubChannels
SearchChannels

Operations

AssociateChannelFlow

$result = $client->associateChannelFlow([/* ... */]);
$promise = $client->associateChannelFlowAsync([/* ... */]);

Associates a channel flow with a channel. Once associated, all messages to that channel go through channel flow processors. To stop processing, use the DisassociateChannelFlow API.

Only administrators or channel moderators can associate a channel flow. The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Parameter Syntax

$result = $client->associateChannelFlow([
    'ChannelArn' => '<string>', // REQUIRED
    'ChannelFlowArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
]);

Parameter Details

Members
ChannelArn
Required: Yes
Type: string

The ARN of the channel.

ChannelFlowArn
Required: Yes
Type: string

The ARN of the channel flow.

ChimeBearer
Required: Yes
Type: string

The AppInstanceUserArn of the user making the API call.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

NotFoundException:

One or more of the resources in the request does not exist in the system.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ConflictException:

The request could not be processed because of conflict in the current state of the resource.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

BatchCreateChannelMembership

$result = $client->batchCreateChannelMembership([/* ... */]);
$promise = $client->batchCreateChannelMembershipAsync([/* ... */]);

Adds a specified number of users and bots to a channel.

Parameter Syntax

$result = $client->batchCreateChannelMembership([
    'ChannelArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
    'MemberArns' => ['<string>', ...], // REQUIRED
    'SubChannelId' => '<string>',
    'Type' => 'DEFAULT|HIDDEN',
]);

Parameter Details

Members
ChannelArn
Required: Yes
Type: string

The ARN of the channel to which you're adding users or bots.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

MemberArns
Required: Yes
Type: Array of strings

The ARNs of the members you want to add to the channel. Only AppInstanceUsers and AppInstanceBots can be added as a channel member.

SubChannelId
Type: string

The ID of the SubChannel in the request.

Only required when creating membership in a SubChannel for a moderator in an elastic channel.

Type
Type: string

The membership type of a user, DEFAULT or HIDDEN. Default members are always returned as part of ListChannelMemberships. Hidden members are only returned if the type filter in ListChannelMemberships equals HIDDEN. Otherwise hidden members are not returned. This is only supported by moderators.

Result Syntax

[
    'BatchChannelMemberships' => [
        'ChannelArn' => '<string>',
        'InvitedBy' => [
            'Arn' => '<string>',
            'Name' => '<string>',
        ],
        'Members' => [
            [
                'Arn' => '<string>',
                'Name' => '<string>',
            ],
            // ...
        ],
        'SubChannelId' => '<string>',
        'Type' => 'DEFAULT|HIDDEN',
    ],
    'Errors' => [
        [
            'ErrorCode' => 'BadRequest|Conflict|Forbidden|NotFound|PreconditionFailed|ResourceLimitExceeded|ServiceFailure|AccessDenied|ServiceUnavailable|Throttled|Throttling|Unauthorized|Unprocessable|VoiceConnectorGroupAssociationsExist|PhoneNumberAssociationsExist',
            'ErrorMessage' => '<string>',
            'MemberArn' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
BatchChannelMemberships
Type: BatchChannelMemberships structure

The list of channel memberships in the response.

Errors
Type: Array of BatchCreateChannelMembershipError structures

If the action fails for one or more of the memberships in the request, a list of the memberships is returned, along with error codes and error messages.

Errors

ServiceFailureException:

The service encountered an unexpected error.

ServiceUnavailableException:

The service is currently unavailable.

UnauthorizedClientException:

The client is not currently authorized to make the request.

BadRequestException:

The input parameters don't match the service's restrictions.

NotFoundException:

One or more of the resources in the request does not exist in the system.

ForbiddenException:

The client is permanently forbidden from making the request.

ThrottledClientException:

The client exceeded its request rate limit.

ResourceLimitExceededException:

The request exceeds the resource limit.

ChannelFlowCallback

$result = $client->channelFlowCallback([/* ... */]);
$promise = $client->channelFlowCallbackAsync([/* ... */]);

Calls back Amazon Chime SDK messaging with a processing response message. This should be invoked from the processor Lambda. This is a developer API.

You can return one of the following processing responses:

  • Update message content or metadata

  • Deny a message

  • Make no changes to the message

Parameter Syntax

$result = $client->channelFlowCallback([
    'CallbackId' => '<string>', // REQUIRED
    'ChannelArn' => '<string>', // REQUIRED
    'ChannelMessage' => [ // REQUIRED
        'Content' => '<string>',
        'ContentType' => '<string>',
        'MessageAttributes' => [
            '<MessageAttributeName>' => [
                'StringValues' => ['<string>', ...],
            ],
            // ...
        ],
        'MessageId' => '<string>', // REQUIRED
        'Metadata' => '<string>',
        'PushNotification' => [
            'Body' => '<string>',
            'Title' => '<string>',
            'Type' => 'DEFAULT|VOIP',
        ],
        'SubChannelId' => '<string>',
    ],
    'DeleteResource' => true || false,
]);

Parameter Details

Members
CallbackId
Required: Yes
Type: string

The identifier passed to the processor by the service when invoked. Use the identifier to call back the service.

ChannelArn
Required: Yes
Type: string

The ARN of the channel.

ChannelMessage
Required: Yes
Type: ChannelMessageCallback structure

Stores information about the processed message.

DeleteResource
Type: boolean

When a processor determines that a message needs to be DENIED, pass this parameter with a value of true.

Result Syntax

[
    'CallbackId' => '<string>',
    'ChannelArn' => '<string>',
]

Result Details

Members
CallbackId
Type: string

The call back ID passed in the request.

ChannelArn
Type: string

The ARN of the channel.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ConflictException:

The request could not be processed because of conflict in the current state of the resource.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

CreateChannel

$result = $client->createChannel([/* ... */]);
$promise = $client->createChannelAsync([/* ... */]);

Creates a channel to which you can add users and send messages.

Restriction: You can't change a channel's privacy.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Parameter Syntax

$result = $client->createChannel([
    'AppInstanceArn' => '<string>', // REQUIRED
    'ChannelId' => '<string>',
    'ChimeBearer' => '<string>', // REQUIRED
    'ClientRequestToken' => '<string>', // REQUIRED
    'ElasticChannelConfiguration' => [
        'MaximumSubChannels' => <integer>, // REQUIRED
        'MinimumMembershipPercentage' => <integer>, // REQUIRED
        'TargetMembershipsPerSubChannel' => <integer>, // REQUIRED
    ],
    'ExpirationSettings' => [
        'ExpirationCriterion' => 'CREATED_TIMESTAMP|LAST_MESSAGE_TIMESTAMP', // REQUIRED
        'ExpirationDays' => <integer>, // REQUIRED
    ],
    'MemberArns' => ['<string>', ...],
    'Metadata' => '<string>',
    'Mode' => 'UNRESTRICTED|RESTRICTED',
    'ModeratorArns' => ['<string>', ...],
    'Name' => '<string>', // REQUIRED
    'Privacy' => 'PUBLIC|PRIVATE',
    'Tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
AppInstanceArn
Required: Yes
Type: string

The ARN of the channel request.

ChannelId
Type: string

The ID of the channel in the request.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

ClientRequestToken
Required: Yes
Type: string

The client token for the request. An Idempotency token.

ElasticChannelConfiguration
Type: ElasticChannelConfiguration structure

The attributes required to configure and create an elastic channel. An elastic channel can support a maximum of 1-million users, excluding moderators.

ExpirationSettings
Type: ExpirationSettings structure

Settings that control the interval after which the channel is automatically deleted.

MemberArns
Type: Array of strings

The ARNs of the channel members in the request.

Metadata
Type: string

The metadata of the creation request. Limited to 1KB and UTF-8.

Mode
Type: string

The channel mode: UNRESTRICTED or RESTRICTED. Administrators, moderators, and channel members can add themselves and other members to unrestricted channels. Only administrators and moderators can add members to restricted channels.

ModeratorArns
Type: Array of strings

The ARNs of the channel moderators in the request.

Name
Required: Yes
Type: string

The name of the channel.

Privacy
Type: string

The channel's privacy level: PUBLIC or PRIVATE. Private channels aren't discoverable by users outside the channel. Public channels are discoverable by anyone in the AppInstance.

Tags
Type: Array of Tag structures

The tags for the creation request.

Result Syntax

[
    'ChannelArn' => '<string>',
]

Result Details

Members
ChannelArn
Type: string

The ARN of the channel.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ConflictException:

The request could not be processed because of conflict in the current state of the resource.

ResourceLimitExceededException:

The request exceeds the resource limit.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

CreateChannelBan

$result = $client->createChannelBan([/* ... */]);
$promise = $client->createChannelBanAsync([/* ... */]);

Permanently bans a member from a channel. Moderators can't add banned members to a channel. To undo a ban, you first have to DeleteChannelBan, and then CreateChannelMembership. Bans are cleaned up when you delete users or channels.

If you ban a user who is already part of a channel, that user is automatically kicked from the channel.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Parameter Syntax

$result = $client->createChannelBan([
    'ChannelArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
    'MemberArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
ChannelArn
Required: Yes
Type: string

The ARN of the ban request.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

MemberArn
Required: Yes
Type: string

The AppInstanceUserArn of the member being banned.

Result Syntax

[
    'ChannelArn' => '<string>',
    'Member' => [
        'Arn' => '<string>',
        'Name' => '<string>',
    ],
]

Result Details

Members
ChannelArn
Type: string

The ARN of the response to the ban request.

Member
Type: Identity structure

The ChannelArn and BannedIdentity of the member in the ban response.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ConflictException:

The request could not be processed because of conflict in the current state of the resource.

ResourceLimitExceededException:

The request exceeds the resource limit.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

CreateChannelFlow

$result = $client->createChannelFlow([/* ... */]);
$promise = $client->createChannelFlowAsync([/* ... */]);

Creates a channel flow, a container for processors. Processors are AWS Lambda functions that perform actions on chat messages, such as stripping out profanity. You can associate channel flows with channels, and the processors in the channel flow then take action on all messages sent to that channel. This is a developer API.

Channel flows process the following items:

  1. New and updated messages

  2. Persistent and non-persistent messages

  3. The Standard message type

Channel flows don't process Control or System messages. For more information about the message types provided by Chime SDK messaging, refer to Message types in the Amazon Chime developer guide.

Parameter Syntax

$result = $client->createChannelFlow([
    'AppInstanceArn' => '<string>', // REQUIRED
    'ClientRequestToken' => '<string>', // REQUIRED
    'Name' => '<string>', // REQUIRED
    'Processors' => [ // REQUIRED
        [
            'Configuration' => [ // REQUIRED
                'Lambda' => [ // REQUIRED
                    'InvocationType' => 'ASYNC', // REQUIRED
                    'ResourceArn' => '<string>', // REQUIRED
                ],
            ],
            'ExecutionOrder' => <integer>, // REQUIRED
            'FallbackAction' => 'CONTINUE|ABORT', // REQUIRED
            'Name' => '<string>', // REQUIRED
        ],
        // ...
    ],
    'Tags' => [
        [
            'Key' => '<string>', // REQUIRED
            'Value' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
AppInstanceArn
Required: Yes
Type: string

The ARN of the channel flow request.

ClientRequestToken
Required: Yes
Type: string

The client token for the request. An Idempotency token.

Name
Required: Yes
Type: string

The name of the channel flow.

Processors
Required: Yes
Type: Array of Processor structures

Information about the processor Lambda functions.

Tags
Type: Array of Tag structures

The tags for the creation request.

Result Syntax

[
    'ChannelFlowArn' => '<string>',
]

Result Details

Members
ChannelFlowArn
Type: string

The ARN of the channel flow.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ConflictException:

The request could not be processed because of conflict in the current state of the resource.

ResourceLimitExceededException:

The request exceeds the resource limit.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

CreateChannelMembership

$result = $client->createChannelMembership([/* ... */]);
$promise = $client->createChannelMembershipAsync([/* ... */]);

Adds a member to a channel. The InvitedBy field in ChannelMembership is derived from the request header. A channel member can:

  • List messages

  • Send messages

  • Receive messages

  • Edit their own messages

  • Leave the channel

Privacy settings impact this action as follows:

  • Public Channels: You do not need to be a member to list messages, but you must be a member to send messages.

  • Private Channels: You must be a member to list or send messages.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUserArn or AppInstanceBot that makes the API call as the value in the header.

Parameter Syntax

$result = $client->createChannelMembership([
    'ChannelArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
    'MemberArn' => '<string>', // REQUIRED
    'SubChannelId' => '<string>',
    'Type' => 'DEFAULT|HIDDEN', // REQUIRED
]);

Parameter Details

Members
ChannelArn
Required: Yes
Type: string

The ARN of the channel to which you're adding users.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

MemberArn
Required: Yes
Type: string

The AppInstanceUserArn of the member you want to add to the channel.

SubChannelId
Type: string

The ID of the SubChannel in the request.

Only required when creating membership in a SubChannel for a moderator in an elastic channel.

Type
Required: Yes
Type: string

The membership type of a user, DEFAULT or HIDDEN. Default members are always returned as part of ListChannelMemberships. Hidden members are only returned if the type filter in ListChannelMemberships equals HIDDEN. Otherwise hidden members are not returned. This is only supported by moderators.

Result Syntax

[
    'ChannelArn' => '<string>',
    'Member' => [
        'Arn' => '<string>',
        'Name' => '<string>',
    ],
    'SubChannelId' => '<string>',
]

Result Details

Members
ChannelArn
Type: string

The ARN of the channel.

Member
Type: Identity structure

The ARN and metadata of the member being added.

SubChannelId
Type: string

The ID of the SubChannel in the response.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

NotFoundException:

One or more of the resources in the request does not exist in the system.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ConflictException:

The request could not be processed because of conflict in the current state of the resource.

ResourceLimitExceededException:

The request exceeds the resource limit.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

CreateChannelModerator

$result = $client->createChannelModerator([/* ... */]);
$promise = $client->createChannelModeratorAsync([/* ... */]);

Creates a new ChannelModerator. A channel moderator can:

  • Add and remove other members of the channel.

  • Add and remove other moderators of the channel.

  • Add and remove user bans for the channel.

  • Redact messages in the channel.

  • List messages in the channel.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBotof the user that makes the API call as the value in the header.

Parameter Syntax

$result = $client->createChannelModerator([
    'ChannelArn' => '<string>', // REQUIRED
    'ChannelModeratorArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
]);

Parameter Details

Members
ChannelArn
Required: Yes
Type: string

The ARN of the channel.

ChannelModeratorArn
Required: Yes
Type: string

The AppInstanceUserArn of the moderator.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

Result Syntax

[
    'ChannelArn' => '<string>',
    'ChannelModerator' => [
        'Arn' => '<string>',
        'Name' => '<string>',
    ],
]

Result Details

Members
ChannelArn
Type: string

The ARN of the channel.

ChannelModerator
Type: Identity structure

The ARNs of the channel and the moderator.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ConflictException:

The request could not be processed because of conflict in the current state of the resource.

ResourceLimitExceededException:

The request exceeds the resource limit.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

DeleteChannel

$result = $client->deleteChannel([/* ... */]);
$promise = $client->deleteChannelAsync([/* ... */]);

Immediately makes a channel and its memberships inaccessible and marks them for deletion. This is an irreversible process.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUserArn or AppInstanceBot that makes the API call as the value in the header.

Parameter Syntax

$result = $client->deleteChannel([
    'ChannelArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
]);

Parameter Details

Members
ChannelArn
Required: Yes
Type: string

The ARN of the channel being deleted.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

ConflictException:

The request could not be processed because of conflict in the current state of the resource.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

DeleteChannelBan

$result = $client->deleteChannelBan([/* ... */]);
$promise = $client->deleteChannelBanAsync([/* ... */]);

Removes a member from a channel's ban list.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Parameter Syntax

$result = $client->deleteChannelBan([
    'ChannelArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
    'MemberArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
ChannelArn
Required: Yes
Type: string

The ARN of the channel from which the AppInstanceUser was banned.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

MemberArn
Required: Yes
Type: string

The ARN of the AppInstanceUser that you want to reinstate.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

DeleteChannelFlow

$result = $client->deleteChannelFlow([/* ... */]);
$promise = $client->deleteChannelFlowAsync([/* ... */]);

Deletes a channel flow, an irreversible process. This is a developer API.

This API works only when the channel flow is not associated with any channel. To get a list of all channels that a channel flow is associated with, use the ListChannelsAssociatedWithChannelFlow API. Use the DisassociateChannelFlow API to disassociate a channel flow from all channels.

Parameter Syntax

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

Parameter Details

Members
ChannelFlowArn
Required: Yes
Type: string

The ARN of the channel flow.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ConflictException:

The request could not be processed because of conflict in the current state of the resource.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

DeleteChannelMembership

$result = $client->deleteChannelMembership([/* ... */]);
$promise = $client->deleteChannelMembershipAsync([/* ... */]);

Removes a member from a channel.

The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes the API call as the value in the header.

Parameter Syntax

$result = $client->deleteChannelMembership([
    'ChannelArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
    'MemberArn' => '<string>', // REQUIRED
    'SubChannelId' => '<string>',
]);

Parameter Details

Members
ChannelArn
Required: Yes
Type: string

The ARN of the channel from which you want to remove the user.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

MemberArn
Required: Yes
Type: string

The AppInstanceUserArn of the member that you're removing from the channel.

SubChannelId
Type: string

The ID of the SubChannel in the request.

Only for use by moderators.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ConflictException:

The request could not be processed because of conflict in the current state of the resource.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

DeleteChannelMessage

$result = $client->deleteChannelMessage([/* ... */]);
$promise = $client->deleteChannelMessageAsync([/* ... */]);

Deletes a channel message. Only admins can perform this action. Deletion makes messages inaccessible immediately. A background process deletes any revisions created by UpdateChannelMessage.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Parameter Syntax

$result = $client->deleteChannelMessage([
    'ChannelArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
    'MessageId' => '<string>', // REQUIRED
    'SubChannelId' => '<string>',
]);

Parameter Details

Members
ChannelArn
Required: Yes
Type: string

The ARN of the channel.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

MessageId
Required: Yes
Type: string

The ID of the message being deleted.

SubChannelId
Type: string

The ID of the SubChannel in the request.

Only required when deleting messages in a SubChannel that the user belongs to.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

DeleteChannelModerator

$result = $client->deleteChannelModerator([/* ... */]);
$promise = $client->deleteChannelModeratorAsync([/* ... */]);

Deletes a channel moderator.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Parameter Syntax

$result = $client->deleteChannelModerator([
    'ChannelArn' => '<string>', // REQUIRED
    'ChannelModeratorArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
]);

Parameter Details

Members
ChannelArn
Required: Yes
Type: string

The ARN of the channel.

ChannelModeratorArn
Required: Yes
Type: string

The AppInstanceUserArn of the moderator being deleted.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

DeleteMessagingStreamingConfigurations

$result = $client->deleteMessagingStreamingConfigurations([/* ... */]);
$promise = $client->deleteMessagingStreamingConfigurationsAsync([/* ... */]);

Deletes the streaming configurations for an AppInstance. For more information, see Streaming messaging data in the Amazon Chime SDK Developer Guide.

Parameter Syntax

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

Parameter Details

Members
AppInstanceArn
Required: Yes
Type: string

The ARN of the streaming configurations being deleted.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

DescribeChannel

$result = $client->describeChannel([/* ... */]);
$promise = $client->describeChannelAsync([/* ... */]);

Returns the full details of a channel in an Amazon Chime AppInstance.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Parameter Syntax

$result = $client->describeChannel([
    'ChannelArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
]);

Parameter Details

Members
ChannelArn
Required: Yes
Type: string

The ARN of the channel.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

Result Syntax

[
    'Channel' => [
        'ChannelArn' => '<string>',
        'ChannelFlowArn' => '<string>',
        'CreatedBy' => [
            'Arn' => '<string>',
            'Name' => '<string>',
        ],
        'CreatedTimestamp' => <DateTime>,
        'ElasticChannelConfiguration' => [
            'MaximumSubChannels' => <integer>,
            'MinimumMembershipPercentage' => <integer>,
            'TargetMembershipsPerSubChannel' => <integer>,
        ],
        'ExpirationSettings' => [
            'ExpirationCriterion' => 'CREATED_TIMESTAMP|LAST_MESSAGE_TIMESTAMP',
            'ExpirationDays' => <integer>,
        ],
        'LastMessageTimestamp' => <DateTime>,
        'LastUpdatedTimestamp' => <DateTime>,
        'Metadata' => '<string>',
        'Mode' => 'UNRESTRICTED|RESTRICTED',
        'Name' => '<string>',
        'Privacy' => 'PUBLIC|PRIVATE',
    ],
]

Result Details

Members
Channel
Type: Channel structure

The channel details.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

DescribeChannelBan

$result = $client->describeChannelBan([/* ... */]);
$promise = $client->describeChannelBanAsync([/* ... */]);

Returns the full details of a channel ban.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Parameter Syntax

$result = $client->describeChannelBan([
    'ChannelArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
    'MemberArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
ChannelArn
Required: Yes
Type: string

The ARN of the channel from which the user is banned.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

MemberArn
Required: Yes
Type: string

The AppInstanceUserArn of the member being banned.

Result Syntax

[
    'ChannelBan' => [
        'ChannelArn' => '<string>',
        'CreatedBy' => [
            'Arn' => '<string>',
            'Name' => '<string>',
        ],
        'CreatedTimestamp' => <DateTime>,
        'Member' => [
            'Arn' => '<string>',
            'Name' => '<string>',
        ],
    ],
]

Result Details

Members
ChannelBan
Type: ChannelBan structure

The details of the ban.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

NotFoundException:

One or more of the resources in the request does not exist in the system.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

DescribeChannelFlow

$result = $client->describeChannelFlow([/* ... */]);
$promise = $client->describeChannelFlowAsync([/* ... */]);

Returns the full details of a channel flow in an Amazon Chime AppInstance. This is a developer API.

Parameter Syntax

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

Parameter Details

Members
ChannelFlowArn
Required: Yes
Type: string

The ARN of the channel flow.

Result Syntax

[
    'ChannelFlow' => [
        'ChannelFlowArn' => '<string>',
        'CreatedTimestamp' => <DateTime>,
        'LastUpdatedTimestamp' => <DateTime>,
        'Name' => '<string>',
        'Processors' => [
            [
                'Configuration' => [
                    'Lambda' => [
                        'InvocationType' => 'ASYNC',
                        'ResourceArn' => '<string>',
                    ],
                ],
                'ExecutionOrder' => <integer>,
                'FallbackAction' => 'CONTINUE|ABORT',
                'Name' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
ChannelFlow
Type: ChannelFlow structure

The channel flow details.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

DescribeChannelMembership

$result = $client->describeChannelMembership([/* ... */]);
$promise = $client->describeChannelMembershipAsync([/* ... */]);

Returns the full details of a user's channel membership.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Parameter Syntax

$result = $client->describeChannelMembership([
    'ChannelArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
    'MemberArn' => '<string>', // REQUIRED
    'SubChannelId' => '<string>',
]);

Parameter Details

Members
ChannelArn
Required: Yes
Type: string

The ARN of the channel.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

MemberArn
Required: Yes
Type: string

The AppInstanceUserArn of the member.

SubChannelId
Type: string

The ID of the SubChannel in the request. The response contains an ElasticChannelConfiguration object.

Only required to get a user’s SubChannel membership details.

Result Syntax

[
    'ChannelMembership' => [
        'ChannelArn' => '<string>',
        'CreatedTimestamp' => <DateTime>,
        'InvitedBy' => [
            'Arn' => '<string>',
            'Name' => '<string>',
        ],
        'LastUpdatedTimestamp' => <DateTime>,
        'Member' => [
            'Arn' => '<string>',
            'Name' => '<string>',
        ],
        'SubChannelId' => '<string>',
        'Type' => 'DEFAULT|HIDDEN',
    ],
]

Result Details

Members
ChannelMembership
Type: ChannelMembership structure

The details of the membership.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

NotFoundException:

One or more of the resources in the request does not exist in the system.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

DescribeChannelMembershipForAppInstanceUser

$result = $client->describeChannelMembershipForAppInstanceUser([/* ... */]);
$promise = $client->describeChannelMembershipForAppInstanceUserAsync([/* ... */]);

Returns the details of a channel based on the membership of the specified AppInstanceUser or AppInstanceBot.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Parameter Syntax

$result = $client->describeChannelMembershipForAppInstanceUser([
    'AppInstanceUserArn' => '<string>', // REQUIRED
    'ChannelArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
]);

Parameter Details

Members
AppInstanceUserArn
Required: Yes
Type: string

The ARN of the user or bot in a channel.

ChannelArn
Required: Yes
Type: string

The ARN of the channel to which the user belongs.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

Result Syntax

[
    'ChannelMembership' => [
        'AppInstanceUserMembershipSummary' => [
            'ReadMarkerTimestamp' => <DateTime>,
            'SubChannelId' => '<string>',
            'Type' => 'DEFAULT|HIDDEN',
        ],
        'ChannelSummary' => [
            'ChannelArn' => '<string>',
            'LastMessageTimestamp' => <DateTime>,
            'Metadata' => '<string>',
            'Mode' => 'UNRESTRICTED|RESTRICTED',
            'Name' => '<string>',
            'Privacy' => 'PUBLIC|PRIVATE',
        ],
    ],
]

Result Details

Members
ChannelMembership

The channel to which a user belongs.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

DescribeChannelModeratedByAppInstanceUser

$result = $client->describeChannelModeratedByAppInstanceUser([/* ... */]);
$promise = $client->describeChannelModeratedByAppInstanceUserAsync([/* ... */]);

Returns the full details of a channel moderated by the specified AppInstanceUser or AppInstanceBot.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Parameter Syntax

$result = $client->describeChannelModeratedByAppInstanceUser([
    'AppInstanceUserArn' => '<string>', // REQUIRED
    'ChannelArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
]);

Parameter Details

Members
AppInstanceUserArn
Required: Yes
Type: string

The ARN of the user or bot in the moderated channel.

ChannelArn
Required: Yes
Type: string

The ARN of the moderated channel.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

Result Syntax

[
    'Channel' => [
        'ChannelSummary' => [
            'ChannelArn' => '<string>',
            'LastMessageTimestamp' => <DateTime>,
            'Metadata' => '<string>',
            'Mode' => 'UNRESTRICTED|RESTRICTED',
            'Name' => '<string>',
            'Privacy' => 'PUBLIC|PRIVATE',
        ],
    ],
]

Result Details

Members
Channel

The moderated channel.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

DescribeChannelModerator

$result = $client->describeChannelModerator([/* ... */]);
$promise = $client->describeChannelModeratorAsync([/* ... */]);

Returns the full details of a single ChannelModerator.

The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes the API call as the value in the header.

Parameter Syntax

$result = $client->describeChannelModerator([
    'ChannelArn' => '<string>', // REQUIRED
    'ChannelModeratorArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
]);

Parameter Details

Members
ChannelArn
Required: Yes
Type: string

The ARN of the channel.

ChannelModeratorArn
Required: Yes
Type: string

The AppInstanceUserArn of the channel moderator.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

Result Syntax

[
    'ChannelModerator' => [
        'ChannelArn' => '<string>',
        'CreatedBy' => [
            'Arn' => '<string>',
            'Name' => '<string>',
        ],
        'CreatedTimestamp' => <DateTime>,
        'Moderator' => [
            'Arn' => '<string>',
            'Name' => '<string>',
        ],
    ],
]

Result Details

Members
ChannelModerator
Type: ChannelModerator structure

The details of the channel moderator.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

NotFoundException:

One or more of the resources in the request does not exist in the system.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

DisassociateChannelFlow

$result = $client->disassociateChannelFlow([/* ... */]);
$promise = $client->disassociateChannelFlowAsync([/* ... */]);

Disassociates a channel flow from all its channels. Once disassociated, all messages to that channel stop going through the channel flow processor.

Only administrators or channel moderators can disassociate a channel flow.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Parameter Syntax

$result = $client->disassociateChannelFlow([
    'ChannelArn' => '<string>', // REQUIRED
    'ChannelFlowArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
]);

Parameter Details

Members
ChannelArn
Required: Yes
Type: string

The ARN of the channel.

ChannelFlowArn
Required: Yes
Type: string

The ARN of the channel flow.

ChimeBearer
Required: Yes
Type: string

The AppInstanceUserArn of the user making the API call.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

NotFoundException:

One or more of the resources in the request does not exist in the system.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ConflictException:

The request could not be processed because of conflict in the current state of the resource.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

GetChannelMembershipPreferences

$result = $client->getChannelMembershipPreferences([/* ... */]);
$promise = $client->getChannelMembershipPreferencesAsync([/* ... */]);

Gets the membership preferences of an AppInstanceUser or AppInstanceBot for the specified channel. A user or a bot must be a member of the channel and own the membership in order to retrieve membership preferences. Users or bots in the AppInstanceAdmin and channel moderator roles can't retrieve preferences for other users or bots. Banned users or bots can't retrieve membership preferences for the channel from which they are banned.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Parameter Syntax

$result = $client->getChannelMembershipPreferences([
    'ChannelArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
    'MemberArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
ChannelArn
Required: Yes
Type: string

The ARN of the channel.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

MemberArn
Required: Yes
Type: string

The AppInstanceUserArn of the member retrieving the preferences.

Result Syntax

[
    'ChannelArn' => '<string>',
    'Member' => [
        'Arn' => '<string>',
        'Name' => '<string>',
    ],
    'Preferences' => [
        'PushNotifications' => [
            'AllowNotifications' => 'ALL|NONE|FILTERED',
            'FilterRule' => '<string>',
        ],
    ],
]

Result Details

Members
ChannelArn
Type: string

The ARN of the channel.

Member
Type: Identity structure

The details of a user.

Preferences

The channel membership preferences for an AppInstanceUser .

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ForbiddenException:

The client is permanently forbidden from making the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

GetChannelMessage

$result = $client->getChannelMessage([/* ... */]);
$promise = $client->getChannelMessageAsync([/* ... */]);

Gets the full details of a channel message.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Parameter Syntax

$result = $client->getChannelMessage([
    'ChannelArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
    'MessageId' => '<string>', // REQUIRED
    'SubChannelId' => '<string>',
]);

Parameter Details

Members
ChannelArn
Required: Yes
Type: string

The ARN of the channel.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

MessageId
Required: Yes
Type: string

The ID of the message.

SubChannelId
Type: string

The ID of the SubChannel in the request.

Only required when getting messages in a SubChannel that the user belongs to.

Result Syntax

[
    'ChannelMessage' => [
        'ChannelArn' => '<string>',
        'Content' => '<string>',
        'ContentType' => '<string>',
        'CreatedTimestamp' => <DateTime>,
        'LastEditedTimestamp' => <DateTime>,
        'LastUpdatedTimestamp' => <DateTime>,
        'MessageAttributes' => [
            '<MessageAttributeName>' => [
                'StringValues' => ['<string>', ...],
            ],
            // ...
        ],
        'MessageId' => '<string>',
        'Metadata' => '<string>',
        'Persistence' => 'PERSISTENT|NON_PERSISTENT',
        'Redacted' => true || false,
        'Sender' => [
            'Arn' => '<string>',
            'Name' => '<string>',
        ],
        'Status' => [
            'Detail' => '<string>',
            'Value' => 'SENT|PENDING|FAILED|DENIED',
        ],
        'SubChannelId' => '<string>',
        'Target' => [
            [
                'MemberArn' => '<string>',
            ],
            // ...
        ],
        'Type' => 'STANDARD|CONTROL',
    ],
]

Result Details

Members
ChannelMessage
Type: ChannelMessage structure

The details of and content in the message.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

NotFoundException:

One or more of the resources in the request does not exist in the system.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

GetChannelMessageStatus

$result = $client->getChannelMessageStatus([/* ... */]);
$promise = $client->getChannelMessageStatusAsync([/* ... */]);

Gets message status for a specified messageId. Use this API to determine the intermediate status of messages going through channel flow processing. The API provides an alternative to retrieving message status if the event was not received because a client wasn't connected to a websocket.

Messages can have any one of these statuses.

SENT

Message processed successfully

PENDING

Ongoing processing

FAILED

Processing failed

DENIED

Message denied by the processor

  • This API does not return statuses for denied messages, because we don't store them once the processor denies them.

  • Only the message sender can invoke this API.

  • The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Parameter Syntax

$result = $client->getChannelMessageStatus([
    'ChannelArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
    'MessageId' => '<string>', // REQUIRED
    'SubChannelId' => '<string>',
]);

Parameter Details

Members
ChannelArn
Required: Yes
Type: string

The ARN of the channel

ChimeBearer
Required: Yes
Type: string

The AppInstanceUserArn of the user making the API call.

MessageId
Required: Yes
Type: string

The ID of the message.

SubChannelId
Type: string

The ID of the SubChannel in the request.

Only required when getting message status in a SubChannel that the user belongs to.

Result Syntax

[
    'Status' => [
        'Detail' => '<string>',
        'Value' => 'SENT|PENDING|FAILED|DENIED',
    ],
]

Result Details

Members
Status

The message status and details.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

GetMessagingSessionEndpoint

$result = $client->getMessagingSessionEndpoint([/* ... */]);
$promise = $client->getMessagingSessionEndpointAsync([/* ... */]);

The details of the endpoint for the messaging session.

Parameter Syntax

$result = $client->getMessagingSessionEndpoint([
]);

Parameter Details

Members

Result Syntax

[
    'Endpoint' => [
        'Url' => '<string>',
    ],
]

Result Details

Members
Endpoint
Type: MessagingSessionEndpoint structure

The endpoint returned in the response.

Errors

UnauthorizedClientException:

The client is not currently authorized to make the request.

ForbiddenException:

The client is permanently forbidden from making the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

GetMessagingStreamingConfigurations

$result = $client->getMessagingStreamingConfigurations([/* ... */]);
$promise = $client->getMessagingStreamingConfigurationsAsync([/* ... */]);

Retrieves the data streaming configuration for an AppInstance. For more information, see Streaming messaging data in the Amazon Chime SDK Developer Guide.

Parameter Syntax

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

Parameter Details

Members
AppInstanceArn
Required: Yes
Type: string

The ARN of the streaming configurations.

Result Syntax

[
    'StreamingConfigurations' => [
        [
            'DataType' => 'Channel|ChannelMessage',
            'ResourceArn' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
StreamingConfigurations
Type: Array of StreamingConfiguration structures

The streaming settings.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

NotFoundException:

One or more of the resources in the request does not exist in the system.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

ListChannelBans

$result = $client->listChannelBans([/* ... */]);
$promise = $client->listChannelBansAsync([/* ... */]);

Lists all the users and bots banned from a particular channel.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Parameter Syntax

$result = $client->listChannelBans([
    'ChannelArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
ChannelArn
Required: Yes
Type: string

The ARN of the channel.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

MaxResults
Type: int

The maximum number of bans that you want returned.

NextToken
Type: string

The token passed by previous API calls until all requested bans are returned.

Result Syntax

[
    'ChannelArn' => '<string>',
    'ChannelBans' => [
        [
            'Member' => [
                'Arn' => '<string>',
                'Name' => '<string>',
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
ChannelArn
Type: string

The ARN of the channel.

ChannelBans
Type: Array of ChannelBanSummary structures

The information for each requested ban.

NextToken
Type: string

The token passed by previous API calls until all requested bans are returned.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

ListChannelFlows

$result = $client->listChannelFlows([/* ... */]);
$promise = $client->listChannelFlowsAsync([/* ... */]);

Returns a paginated lists of all the channel flows created under a single Chime. This is a developer API.

Parameter Syntax

$result = $client->listChannelFlows([
    'AppInstanceArn' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
AppInstanceArn
Required: Yes
Type: string

The ARN of the app instance.

MaxResults
Type: int

The maximum number of channel flows that you want to return.

NextToken
Type: string

The token passed by previous API calls until all requested channel flows are returned.

Result Syntax

[
    'ChannelFlows' => [
        [
            'ChannelFlowArn' => '<string>',
            'Name' => '<string>',
            'Processors' => [
                [
                    'Configuration' => [
                        'Lambda' => [
                            'InvocationType' => 'ASYNC',
                            'ResourceArn' => '<string>',
                        ],
                    ],
                    'ExecutionOrder' => <integer>,
                    'FallbackAction' => 'CONTINUE|ABORT',
                    'Name' => '<string>',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
ChannelFlows
Type: Array of ChannelFlowSummary structures

The information about each channel flow.

NextToken
Type: string

The token passed by previous API calls until all requested channels are returned.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

ListChannelMemberships

$result = $client->listChannelMemberships([/* ... */]);
$promise = $client->listChannelMembershipsAsync([/* ... */]);

Lists all channel memberships in a channel.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

If you want to list the channels to which a specific app instance user belongs, see the ListChannelMembershipsForAppInstanceUser API.

Parameter Syntax

$result = $client->listChannelMemberships([
    'ChannelArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'SubChannelId' => '<string>',
    'Type' => 'DEFAULT|HIDDEN',
]);

Parameter Details

Members
ChannelArn
Required: Yes
Type: string

The maximum number of channel memberships that you want returned.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

MaxResults
Type: int

The maximum number of channel memberships that you want returned.

NextToken
Type: string

The token passed by previous API calls until all requested channel memberships are returned.

SubChannelId
Type: string

The ID of the SubChannel in the request.

Only required when listing a user's memberships in a particular sub-channel of an elastic channel.

Type
Type: string

The membership type of a user, DEFAULT or HIDDEN. Default members are returned as part of ListChannelMemberships if no type is specified. Hidden members are only returned if the type filter in ListChannelMemberships equals HIDDEN.

Result Syntax

[
    'ChannelArn' => '<string>',
    'ChannelMemberships' => [
        [
            'Member' => [
                'Arn' => '<string>',
                'Name' => '<string>',
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
ChannelArn
Type: string

The ARN of the channel.

ChannelMemberships
Type: Array of ChannelMembershipSummary structures

The information for the requested channel memberships.

NextToken
Type: string

The token passed by previous API calls until all requested channel memberships are returned.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

ListChannelMembershipsForAppInstanceUser

$result = $client->listChannelMembershipsForAppInstanceUser([/* ... */]);
$promise = $client->listChannelMembershipsForAppInstanceUserAsync([/* ... */]);

Lists all channels that an AppInstanceUser or AppInstanceBot is a part of. Only an AppInstanceAdmin can call the API with a user ARN that is not their own.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Parameter Syntax

$result = $client->listChannelMembershipsForAppInstanceUser([
    'AppInstanceUserArn' => '<string>',
    'ChimeBearer' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
AppInstanceUserArn
Type: string

The ARN of the user or bot.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

MaxResults
Type: int

The maximum number of users that you want returned.

NextToken
Type: string

The token returned from previous API requests until the number of channel memberships is reached.

Result Syntax

[
    'ChannelMemberships' => [
        [
            'AppInstanceUserMembershipSummary' => [
                'ReadMarkerTimestamp' => <DateTime>,
                'SubChannelId' => '<string>',
                'Type' => 'DEFAULT|HIDDEN',
            ],
            'ChannelSummary' => [
                'ChannelArn' => '<string>',
                'LastMessageTimestamp' => <DateTime>,
                'Metadata' => '<string>',
                'Mode' => 'UNRESTRICTED|RESTRICTED',
                'Name' => '<string>',
                'Privacy' => 'PUBLIC|PRIVATE',
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
ChannelMemberships
Type: Array of ChannelMembershipForAppInstanceUserSummary structures

The information for the requested channel memberships.

NextToken
Type: string

The token passed by previous API calls until all requested users are returned.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

ListChannelMessages

$result = $client->listChannelMessages([/* ... */]);
$promise = $client->listChannelMessagesAsync([/* ... */]);

List all the messages in a channel. Returns a paginated list of ChannelMessages. By default, sorted by creation timestamp in descending order.

Redacted messages appear in the results as empty, since they are only redacted, not deleted. Deleted messages do not appear in the results. This action always returns the latest version of an edited message.

Also, the x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Parameter Syntax

$result = $client->listChannelMessages([
    'ChannelArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'NotAfter' => <integer || string || DateTime>,
    'NotBefore' => <integer || string || DateTime>,
    'SortOrder' => 'ASCENDING|DESCENDING',
    'SubChannelId' => '<string>',
]);

Parameter Details

Members
ChannelArn
Required: Yes
Type: string

The ARN of the channel.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

MaxResults
Type: int

The maximum number of messages that you want returned.

NextToken
Type: string

The token passed by previous API calls until all requested messages are returned.

NotAfter
Type: timestamp (string|DateTime or anything parsable by strtotime)

The final or ending time stamp for your requested messages.

NotBefore
Type: timestamp (string|DateTime or anything parsable by strtotime)

The initial or starting time stamp for your requested messages.

SortOrder
Type: string

The order in which you want messages sorted. Default is Descending, based on time created.

SubChannelId
Type: string

The ID of the SubChannel in the request.

Only required when listing the messages in a SubChannel that the user belongs to.

Result Syntax

[
    'ChannelArn' => '<string>',
    'ChannelMessages' => [
        [
            'Content' => '<string>',
            'ContentType' => '<string>',
            'CreatedTimestamp' => <DateTime>,
            'LastEditedTimestamp' => <DateTime>,
            'LastUpdatedTimestamp' => <DateTime>,
            'MessageAttributes' => [
                '<MessageAttributeName>' => [
                    'StringValues' => ['<string>', ...],
                ],
                // ...
            ],
            'MessageId' => '<string>',
            'Metadata' => '<string>',
            'Redacted' => true || false,
            'Sender' => [
                'Arn' => '<string>',
                'Name' => '<string>',
            ],
            'Status' => [
                'Detail' => '<string>',
                'Value' => 'SENT|PENDING|FAILED|DENIED',
            ],
            'Target' => [
                [
                    'MemberArn' => '<string>',
                ],
                // ...
            ],
            'Type' => 'STANDARD|CONTROL',
        ],
        // ...
    ],
    'NextToken' => '<string>',
    'SubChannelId' => '<string>',
]

Result Details

Members
ChannelArn
Type: string

The ARN of the channel containing the requested messages.

ChannelMessages
Type: Array of ChannelMessageSummary structures

The information about, and content of, each requested message.

NextToken
Type: string

The token passed by previous API calls until all requested messages are returned.

SubChannelId
Type: string

The ID of the SubChannel in the response.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

ListChannelModerators

$result = $client->listChannelModerators([/* ... */]);
$promise = $client->listChannelModeratorsAsync([/* ... */]);

Lists all the moderators for a channel.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Parameter Syntax

$result = $client->listChannelModerators([
    'ChannelArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
ChannelArn
Required: Yes
Type: string

The ARN of the channel.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

MaxResults
Type: int

The maximum number of moderators that you want returned.

NextToken
Type: string

The token passed by previous API calls until all requested moderators are returned.

Result Syntax

[
    'ChannelArn' => '<string>',
    'ChannelModerators' => [
        [
            'Moderator' => [
                'Arn' => '<string>',
                'Name' => '<string>',
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
ChannelArn
Type: string

The ARN of the channel.

ChannelModerators
Type: Array of ChannelModeratorSummary structures

The information about and names of each moderator.

NextToken
Type: string

The token passed by previous API calls until all requested moderators are returned.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

ListChannels

$result = $client->listChannels([/* ... */]);
$promise = $client->listChannelsAsync([/* ... */]);

Lists all Channels created under a single Chime App as a paginated list. You can specify filters to narrow results.

Functionality & restrictions

  • Use privacy = PUBLIC to retrieve all public channels in the account.

  • Only an AppInstanceAdmin can set privacy = PRIVATE to list the private channels in an account.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Parameter Syntax

$result = $client->listChannels([
    'AppInstanceArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
    'Privacy' => 'PUBLIC|PRIVATE',
]);

Parameter Details

Members
AppInstanceArn
Required: Yes
Type: string

The ARN of the AppInstance.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

MaxResults
Type: int

The maximum number of channels that you want to return.

NextToken
Type: string

The token passed by previous API calls until all requested channels are returned.

Privacy
Type: string

The privacy setting. PUBLIC retrieves all the public channels. PRIVATE retrieves private channels. Only an AppInstanceAdmin can retrieve private channels.

Result Syntax

[
    'Channels' => [
        [
            'ChannelArn' => '<string>',
            'LastMessageTimestamp' => <DateTime>,
            'Metadata' => '<string>',
            'Mode' => 'UNRESTRICTED|RESTRICTED',
            'Name' => '<string>',
            'Privacy' => 'PUBLIC|PRIVATE',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Channels
Type: Array of ChannelSummary structures

The information about each channel.

NextToken
Type: string

The token returned from previous API requests until the number of channels is reached.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

ListChannelsAssociatedWithChannelFlow

$result = $client->listChannelsAssociatedWithChannelFlow([/* ... */]);
$promise = $client->listChannelsAssociatedWithChannelFlowAsync([/* ... */]);

Lists all channels associated with a specified channel flow. You can associate a channel flow with multiple channels, but you can only associate a channel with one channel flow. This is a developer API.

Parameter Syntax

$result = $client->listChannelsAssociatedWithChannelFlow([
    'ChannelFlowArn' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
ChannelFlowArn
Required: Yes
Type: string

The ARN of the channel flow.

MaxResults
Type: int

The maximum number of channels that you want to return.

NextToken
Type: string

The token passed by previous API calls until all requested channels are returned.

Result Syntax

[
    'Channels' => [
        [
            'ChannelArn' => '<string>',
            'Metadata' => '<string>',
            'Mode' => 'UNRESTRICTED|RESTRICTED',
            'Name' => '<string>',
            'Privacy' => 'PUBLIC|PRIVATE',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Channels
Type: Array of ChannelAssociatedWithFlowSummary structures

The information about each channel.

NextToken
Type: string

The token passed by previous API calls until all requested channels are returned.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

ListChannelsModeratedByAppInstanceUser

$result = $client->listChannelsModeratedByAppInstanceUser([/* ... */]);
$promise = $client->listChannelsModeratedByAppInstanceUserAsync([/* ... */]);

A list of the channels moderated by an AppInstanceUser.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Parameter Syntax

$result = $client->listChannelsModeratedByAppInstanceUser([
    'AppInstanceUserArn' => '<string>',
    'ChimeBearer' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
AppInstanceUserArn
Type: string

The ARN of the user or bot in the moderated channel.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

MaxResults
Type: int

The maximum number of channels in the request.

NextToken
Type: string

The token returned from previous API requests until the number of channels moderated by the user is reached.

Result Syntax

[
    'Channels' => [
        [
            'ChannelSummary' => [
                'ChannelArn' => '<string>',
                'LastMessageTimestamp' => <DateTime>,
                'Metadata' => '<string>',
                'Mode' => 'UNRESTRICTED|RESTRICTED',
                'Name' => '<string>',
                'Privacy' => 'PUBLIC|PRIVATE',
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Channels
Type: Array of ChannelModeratedByAppInstanceUserSummary structures

The moderated channels in the request.

NextToken
Type: string

The token returned from previous API requests until the number of channels moderated by the user is reached.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

ListSubChannels

$result = $client->listSubChannels([/* ... */]);
$promise = $client->listSubChannelsAsync([/* ... */]);

Lists all the SubChannels in an elastic channel when given a channel ID. Available only to the app instance admins and channel moderators of elastic channels.

Parameter Syntax

$result = $client->listSubChannels([
    'ChannelArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
ChannelArn
Required: Yes
Type: string

The ARN of elastic channel.

ChimeBearer
Required: Yes
Type: string

The AppInstanceUserArn of the user making the API call.

MaxResults
Type: int

The maximum number of sub-channels that you want to return.

NextToken
Type: string

The token passed by previous API calls until all requested sub-channels are returned.

Result Syntax

[
    'ChannelArn' => '<string>',
    'NextToken' => '<string>',
    'SubChannels' => [
        [
            'MembershipCount' => <integer>,
            'SubChannelId' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
ChannelArn
Type: string

The ARN of elastic channel.

NextToken
Type: string

The token passed by previous API calls until all requested sub-channels are returned.

SubChannels
Type: Array of SubChannelSummary structures

The information about each sub-channel.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

ListTagsForResource

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

Lists the tags applied to an Amazon Chime SDK messaging resource.

Parameter Syntax

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

Parameter Details

Members
ResourceARN
Required: Yes
Type: string

The ARN of the resource.

Result Syntax

[
    'Tags' => [
        [
            'Key' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
Tags
Type: Array of Tag structures

The tag key-value pairs.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

PutChannelExpirationSettings

$result = $client->putChannelExpirationSettings([/* ... */]);
$promise = $client->putChannelExpirationSettingsAsync([/* ... */]);

Sets the number of days before the channel is automatically deleted.

  • A background process deletes expired channels within 6 hours of expiration. Actual deletion times may vary.

  • Expired channels that have not yet been deleted appear as active, and you can update their expiration settings. The system honors the new settings.

  • The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Parameter Syntax

$result = $client->putChannelExpirationSettings([
    'ChannelArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>',
    'ExpirationSettings' => [
        'ExpirationCriterion' => 'CREATED_TIMESTAMP|LAST_MESSAGE_TIMESTAMP', // REQUIRED
        'ExpirationDays' => <integer>, // REQUIRED
    ],
]);

Parameter Details

Members
ChannelArn
Required: Yes
Type: string

The ARN of the channel.

ChimeBearer
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

ExpirationSettings
Type: ExpirationSettings structure

Settings that control the interval after which a channel is deleted.

Result Syntax

[
    'ChannelArn' => '<string>',
    'ExpirationSettings' => [
        'ExpirationCriterion' => 'CREATED_TIMESTAMP|LAST_MESSAGE_TIMESTAMP',
        'ExpirationDays' => <integer>,
    ],
]

Result Details

Members
ChannelArn
Type: string

The channel ARN.

ExpirationSettings
Type: ExpirationSettings structure

Settings that control the interval after which a channel is deleted.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

ConflictException:

The request could not be processed because of conflict in the current state of the resource.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

PutChannelMembershipPreferences

$result = $client->putChannelMembershipPreferences([/* ... */]);
$promise = $client->putChannelMembershipPreferencesAsync([/* ... */]);

Sets the membership preferences of an AppInstanceUser or AppInstanceBot for the specified channel. The user or bot must be a member of the channel. Only the user or bot who owns the membership can set preferences. Users or bots in the AppInstanceAdmin and channel moderator roles can't set preferences for other users. Banned users or bots can't set membership preferences for the channel from which they are banned.

The x-amz-chime-bearer request header is mandatory. Use the ARN of an AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Parameter Syntax

$result = $client->putChannelMembershipPreferences([
    'ChannelArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
    'MemberArn' => '<string>', // REQUIRED
    'Preferences' => [ // REQUIRED
        'PushNotifications' => [
            'AllowNotifications' => 'ALL|NONE|FILTERED', // REQUIRED
            'FilterRule' => '<string>',
        ],
    ],
]);

Parameter Details

Members
ChannelArn
Required: Yes
Type: string

The ARN of the channel.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

MemberArn
Required: Yes
Type: string

The ARN of the member setting the preferences.

Preferences
Required: Yes
Type: ChannelMembershipPreferences structure

The channel membership preferences of an AppInstanceUser .

Result Syntax

[
    'ChannelArn' => '<string>',
    'Member' => [
        'Arn' => '<string>',
        'Name' => '<string>',
    ],
    'Preferences' => [
        'PushNotifications' => [
            'AllowNotifications' => 'ALL|NONE|FILTERED',
            'FilterRule' => '<string>',
        ],
    ],
]

Result Details

Members
ChannelArn
Type: string

The ARN of the channel.

Member
Type: Identity structure

The details of a user.

Preferences

The ARN and metadata of the member being added.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ConflictException:

The request could not be processed because of conflict in the current state of the resource.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ForbiddenException:

The client is permanently forbidden from making the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

PutMessagingStreamingConfigurations

$result = $client->putMessagingStreamingConfigurations([/* ... */]);
$promise = $client->putMessagingStreamingConfigurationsAsync([/* ... */]);

Sets the data streaming configuration for an AppInstance. For more information, see Streaming messaging data in the Amazon Chime SDK Developer Guide.

Parameter Syntax

$result = $client->putMessagingStreamingConfigurations([
    'AppInstanceArn' => '<string>', // REQUIRED
    'StreamingConfigurations' => [ // REQUIRED
        [
            'DataType' => 'Channel|ChannelMessage', // REQUIRED
            'ResourceArn' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
AppInstanceArn
Required: Yes
Type: string

The ARN of the streaming configuration.

StreamingConfigurations
Required: Yes
Type: Array of StreamingConfiguration structures

The streaming configurations.

Result Syntax

[
    'StreamingConfigurations' => [
        [
            'DataType' => 'Channel|ChannelMessage',
            'ResourceArn' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
StreamingConfigurations
Type: Array of StreamingConfiguration structures

The requested streaming configurations.

Errors

NotFoundException:

One or more of the resources in the request does not exist in the system.

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ConflictException:

The request could not be processed because of conflict in the current state of the resource.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

RedactChannelMessage

$result = $client->redactChannelMessage([/* ... */]);
$promise = $client->redactChannelMessageAsync([/* ... */]);

Redacts message content, but not metadata. The message exists in the back end, but the action returns null content, and the state shows as redacted.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Parameter Syntax

$result = $client->redactChannelMessage([
    'ChannelArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
    'MessageId' => '<string>', // REQUIRED
    'SubChannelId' => '<string>',
]);

Parameter Details

Members
ChannelArn
Required: Yes
Type: string

The ARN of the channel containing the messages that you want to redact.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

MessageId
Required: Yes
Type: string

The ID of the message being redacted.

SubChannelId
Type: string

The ID of the SubChannel in the request.

Result Syntax

[
    'ChannelArn' => '<string>',
    'MessageId' => '<string>',
    'SubChannelId' => '<string>',
]

Result Details

Members
ChannelArn
Type: string

The ARN of the channel containing the messages that you want to redact.

MessageId
Type: string

The ID of the message being redacted.

SubChannelId
Type: string

The ID of the SubChannel in the response.

Only required when redacting messages in a SubChannel that the user belongs to.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

ConflictException:

The request could not be processed because of conflict in the current state of the resource.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

SearchChannels

$result = $client->searchChannels([/* ... */]);
$promise = $client->searchChannelsAsync([/* ... */]);

Allows the ChimeBearer to search channels by channel members. Users or bots can search across the channels that they belong to. Users in the AppInstanceAdmin role can search across all channels.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Parameter Syntax

$result = $client->searchChannels([
    'ChimeBearer' => '<string>',
    'Fields' => [ // REQUIRED
        [
            'Key' => 'MEMBERS', // REQUIRED
            'Operator' => 'EQUALS|INCLUDES', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'MaxResults' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
ChimeBearer
Type: string

The AppInstanceUserArn of the user making the API call.

Fields
Required: Yes
Type: Array of SearchField structures

A list of the Field objects in the channel being searched.

MaxResults
Type: int

The maximum number of channels that you want returned.

NextToken
Type: string

The token returned from previous API requests until the number of channels is reached.

Result Syntax

[
    'Channels' => [
        [
            'ChannelArn' => '<string>',
            'LastMessageTimestamp' => <DateTime>,
            'Metadata' => '<string>',
            'Mode' => 'UNRESTRICTED|RESTRICTED',
            'Name' => '<string>',
            'Privacy' => 'PUBLIC|PRIVATE',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Channels
Type: Array of ChannelSummary structures

A list of the channels in the request.

NextToken
Type: string

The token returned from previous API responses until the number of channels is reached.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

SendChannelMessage

$result = $client->sendChannelMessage([/* ... */]);
$promise = $client->sendChannelMessageAsync([/* ... */]);

Sends a message to a particular channel that the member is a part of.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Also, STANDARD messages can be up to 4KB in size and contain metadata. Metadata is arbitrary, and you can use it in a variety of ways, such as containing a link to an attachment.

CONTROL messages are limited to 30 bytes and do not contain metadata.

Parameter Syntax

$result = $client->sendChannelMessage([
    'ChannelArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
    'ClientRequestToken' => '<string>', // REQUIRED
    'Content' => '<string>', // REQUIRED
    'ContentType' => '<string>',
    'MessageAttributes' => [
        '<MessageAttributeName>' => [
            'StringValues' => ['<string>', ...],
        ],
        // ...
    ],
    'Metadata' => '<string>',
    'Persistence' => 'PERSISTENT|NON_PERSISTENT', // REQUIRED
    'PushNotification' => [
        'Body' => '<string>',
        'Title' => '<string>',
        'Type' => 'DEFAULT|VOIP',
    ],
    'SubChannelId' => '<string>',
    'Target' => [
        [
            'MemberArn' => '<string>',
        ],
        // ...
    ],
    'Type' => 'STANDARD|CONTROL', // REQUIRED
]);

Parameter Details

Members
ChannelArn
Required: Yes
Type: string

The ARN of the channel.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

ClientRequestToken
Required: Yes
Type: string

The Idempotency token for each client request.

Content
Required: Yes
Type: string

The content of the channel message.

ContentType
Type: string

The content type of the channel message.

MessageAttributes
Type: Associative array of custom strings keys (MessageAttributeName) to MessageAttributeValue structures

The attributes for the message, used for message filtering along with a FilterRule defined in the PushNotificationPreferences.

Metadata
Type: string

The optional metadata for each message.

Persistence
Required: Yes
Type: string

Boolean that controls whether the message is persisted on the back end. Required.

PushNotification

The push notification configuration of the message.

SubChannelId
Type: string

The ID of the SubChannel in the request.

Target
Type: Array of Target structures

The target of a message. Must be a member of the channel, such as another user, a bot, or the sender. Only the target and the sender can view targeted messages. Only users who can see targeted messages can take actions on them. However, administrators can delete targeted messages that they can’t see.

Type
Required: Yes
Type: string

The type of message, STANDARD or CONTROL.

STANDARD messages can be up to 4KB in size and contain metadata. Metadata is arbitrary, and you can use it in a variety of ways, such as containing a link to an attachment.

CONTROL messages are limited to 30 bytes and do not contain metadata.

Result Syntax

[
    'ChannelArn' => '<string>',
    'MessageId' => '<string>',
    'Status' => [
        'Detail' => '<string>',
        'Value' => 'SENT|PENDING|FAILED|DENIED',
    ],
    'SubChannelId' => '<string>',
]

Result Details

Members
ChannelArn
Type: string

The ARN of the channel.

MessageId
Type: string

The ID string assigned to each message.

Status

The status of the channel message.

SubChannelId
Type: string

The ID of the SubChannel in the response.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ConflictException:

The request could not be processed because of conflict in the current state of the resource.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

TagResource

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

Applies the specified tags to the specified Amazon Chime SDK messaging 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 resource ARN.

Tags
Required: Yes
Type: Array of Tag structures

The tag key-value pairs.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ResourceLimitExceededException:

The request exceeds the resource limit.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

UntagResource

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

Removes the specified tags from the specified Amazon Chime SDK messaging resource.

Parameter Syntax

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

Parameter Details

Members
ResourceARN
Required: Yes
Type: string

The resource ARN.

TagKeys
Required: Yes
Type: Array of strings

The tag keys.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

UpdateChannel

$result = $client->updateChannel([/* ... */]);
$promise = $client->updateChannelAsync([/* ... */]);

Update a channel's attributes.

Restriction: You can't change a channel's privacy.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Parameter Syntax

$result = $client->updateChannel([
    'ChannelArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
    'Metadata' => '<string>',
    'Mode' => 'UNRESTRICTED|RESTRICTED',
    'Name' => '<string>',
]);

Parameter Details

Members
ChannelArn
Required: Yes
Type: string

The ARN of the channel.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

Metadata
Type: string

The metadata for the update request.

Mode
Type: string

The mode of the update request.

Name
Type: string

The name of the channel.

Result Syntax

[
    'ChannelArn' => '<string>',
]

Result Details

Members
ChannelArn
Type: string

The ARN of the channel.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

ConflictException:

The request could not be processed because of conflict in the current state of the resource.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

UpdateChannelFlow

$result = $client->updateChannelFlow([/* ... */]);
$promise = $client->updateChannelFlowAsync([/* ... */]);

Updates channel flow attributes. This is a developer API.

Parameter Syntax

$result = $client->updateChannelFlow([
    'ChannelFlowArn' => '<string>', // REQUIRED
    'Name' => '<string>', // REQUIRED
    'Processors' => [ // REQUIRED
        [
            'Configuration' => [ // REQUIRED
                'Lambda' => [ // REQUIRED
                    'InvocationType' => 'ASYNC', // REQUIRED
                    'ResourceArn' => '<string>', // REQUIRED
                ],
            ],
            'ExecutionOrder' => <integer>, // REQUIRED
            'FallbackAction' => 'CONTINUE|ABORT', // REQUIRED
            'Name' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
ChannelFlowArn
Required: Yes
Type: string

The ARN of the channel flow.

Name
Required: Yes
Type: string

The name of the channel flow.

Processors
Required: Yes
Type: Array of Processor structures

Information about the processor Lambda functions

Result Syntax

[
    'ChannelFlowArn' => '<string>',
]

Result Details

Members
ChannelFlowArn
Type: string

The ARN of the channel flow.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ConflictException:

The request could not be processed because of conflict in the current state of the resource.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

UpdateChannelMessage

$result = $client->updateChannelMessage([/* ... */]);
$promise = $client->updateChannelMessageAsync([/* ... */]);

Updates the content of a message.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Parameter Syntax

$result = $client->updateChannelMessage([
    'ChannelArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
    'Content' => '<string>', // REQUIRED
    'ContentType' => '<string>',
    'MessageId' => '<string>', // REQUIRED
    'Metadata' => '<string>',
    'SubChannelId' => '<string>',
]);

Parameter Details

Members
ChannelArn
Required: Yes
Type: string

The ARN of the channel.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

Content
Required: Yes
Type: string

The content of the channel message.

ContentType
Type: string

The content type of the channel message.

MessageId
Required: Yes
Type: string

The ID string of the message being updated.

Metadata
Type: string

The metadata of the message being updated.

SubChannelId
Type: string

The ID of the SubChannel in the request.

Only required when updating messages in a SubChannel that the user belongs to.

Result Syntax

[
    'ChannelArn' => '<string>',
    'MessageId' => '<string>',
    'Status' => [
        'Detail' => '<string>',
        'Value' => 'SENT|PENDING|FAILED|DENIED',
    ],
    'SubChannelId' => '<string>',
]

Result Details

Members
ChannelArn
Type: string

The ARN of the channel.

MessageId
Type: string

The ID string of the message being updated.

Status

The status of the message update.

SubChannelId
Type: string

The ID of the SubChannel in the response.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ConflictException:

The request could not be processed because of conflict in the current state of the resource.

ForbiddenException:

The client is permanently forbidden from making the request.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

UpdateChannelReadMarker

$result = $client->updateChannelReadMarker([/* ... */]);
$promise = $client->updateChannelReadMarkerAsync([/* ... */]);

The details of the time when a user last read messages in a channel.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Parameter Syntax

$result = $client->updateChannelReadMarker([
    'ChannelArn' => '<string>', // REQUIRED
    'ChimeBearer' => '<string>', // REQUIRED
]);

Parameter Details

Members
ChannelArn
Required: Yes
Type: string

The ARN of the channel.

ChimeBearer
Required: Yes
Type: string

The ARN of the AppInstanceUser or AppInstanceBot that makes the API call.

Result Syntax

[
    'ChannelArn' => '<string>',
]

Result Details

Members
ChannelArn
Type: string

The ARN of the channel.

Errors

BadRequestException:

The input parameters don't match the service's restrictions.

ForbiddenException:

The client is permanently forbidden from making the request.

ConflictException:

The request could not be processed because of conflict in the current state of the resource.

UnauthorizedClientException:

The client is not currently authorized to make the request.

ThrottledClientException:

The client exceeded its request rate limit.

ServiceUnavailableException:

The service is currently unavailable.

ServiceFailureException:

The service encountered an unexpected error.

Shapes

AppInstanceUserMembershipSummary

Description

Summary of the membership details of an AppInstanceUser.

Members
ReadMarkerTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time at which an AppInstanceUser last marked a channel as read.

SubChannelId
Type: string

The ID of the SubChannel that the AppInstanceUser is a member of.

Type
Type: string

The type of ChannelMembership.

BadRequestException

Description

The input parameters don't match the service's restrictions.

Members
Code
Type: string
Message
Type: string

BatchChannelMemberships

Description

The membership information, including member ARNs, the channel ARN, and membership types.

Members
ChannelArn
Type: string

The ARN of the channel to which you're adding members.

InvitedBy
Type: Identity structure

The identifier of the member who invited another member.

Members
Type: Array of Identity structures

The users successfully added to the request.

SubChannelId
Type: string

The ID of the SubChannel.

Type
Type: string

The membership types set for the channel members.

BatchCreateChannelMembershipError

Description

A list of failed member ARNs, error codes, and error messages.

Members
ErrorCode
Type: string

The error code.

ErrorMessage
Type: string

The error message.

MemberArn
Type: string

The AppInstanceUserArn of the member that the service couldn't add.

Channel

Description

The details of a channel.

Members
ChannelArn
Type: string

The ARN of a channel.

ChannelFlowArn
Type: string

The ARN of the channel flow.

CreatedBy
Type: Identity structure

The AppInstanceUser who created the channel.

CreatedTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time at which the AppInstanceUser created the channel.

ElasticChannelConfiguration
Type: ElasticChannelConfiguration structure

The attributes required to configure and create an elastic channel. An elastic channel can support a maximum of 1-million members.

ExpirationSettings
Type: ExpirationSettings structure

Settings that control when a channel expires.

LastMessageTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time at which a member sent the last message in the channel.

LastUpdatedTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time at which a channel was last updated.

Metadata
Type: string

The channel's metadata.

Mode
Type: string

The mode of the channel.

Name
Type: string

The name of a channel.

Privacy
Type: string

The channel's privacy setting.

ChannelAssociatedWithFlowSummary

Description

Summary of details of a channel associated with channel flow.

Members
ChannelArn
Type: string

The ARN of the channel.

Metadata
Type: string

The channel's metadata.

Mode
Type: string

The mode of the channel.

Name
Type: string

The name of the channel flow.

Privacy
Type: string

The channel's privacy setting.

ChannelBan

Description

The details of a channel ban.

Members
ChannelArn
Type: string

The ARN of the channel from which a member is being banned.

CreatedBy
Type: Identity structure

The AppInstanceUser who created the ban.

CreatedTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time at which the ban was created.

Member
Type: Identity structure

The member being banned from the channel.

ChannelBanSummary

Description

Summary of the details of a ChannelBan.

Members
Member
Type: Identity structure

The member being banned from a channel.

ChannelFlow

Description

The details of a channel flow.

Members
ChannelFlowArn
Type: string

The ARN of the channel flow.

CreatedTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time at which the channel flow was created.

LastUpdatedTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time at which a channel flow was updated.

Name
Type: string

The name of the channel flow.

Processors
Type: Array of Processor structures

Information about the processor Lambda functions.

ChannelFlowSummary

Description

Summary of details of a channel flow.

Members
ChannelFlowArn
Type: string

The ARN of the channel flow.

Name
Type: string

The name of the channel flow.

Processors
Type: Array of Processor structures

Information about the processor Lambda functions.

ChannelMembership

Description

The details of a channel member.

Members
ChannelArn
Type: string

The ARN of the member's channel.

CreatedTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time at which the channel membership was created.

InvitedBy
Type: Identity structure

The identifier of the member who invited another member.

LastUpdatedTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time at which a channel membership was last updated.

Member
Type: Identity structure

The data of the channel member.

SubChannelId
Type: string

The ID of the SubChannel that a user belongs to.

Type
Type: string

The membership type set for the channel member.

ChannelMembershipForAppInstanceUserSummary

Description

Summary of the channel membership details of an AppInstanceUser.

Members
AppInstanceUserMembershipSummary

Returns the channel membership data for an AppInstance.

ChannelSummary
Type: ChannelSummary structure

Returns the channel data for an AppInstance.

ChannelMembershipPreferences

Description

The channel membership preferences for an AppInstanceUser.

Members
PushNotifications
Type: PushNotificationPreferences structure

The push notification configuration of a message.

ChannelMembershipSummary

Description

Summary of the details of a ChannelMembership.

Members
Member
Type: Identity structure

A member's summary data.

ChannelMessage

Description

The details of a message in a channel.

Members
ChannelArn
Type: string

The ARN of the channel.

Content
Type: string

The content of the channel message. For Amazon Lex V2 bot responses, this field holds a list of messages originating from the bot. For more information, refer to Processing responses from an AppInstanceBot in the Amazon Chime SDK Messaging Developer Guide.

ContentType
Type: string

The content type of the channel message. For Amazon Lex V2 bot responses, the content type is application/amz-chime-lex-msgs for success responses and application/amz-chime-lex-error for failure responses. For more information, refer to Processing responses from an AppInstanceBot in the Amazon Chime SDK Messaging Developer Guide.

CreatedTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time at which the message was created.

LastEditedTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time at which a message was edited.

LastUpdatedTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time at which a message was updated.

MessageAttributes
Type: Associative array of custom strings keys (MessageAttributeName) to MessageAttributeValue structures

The attributes for the channel message. For Amazon Lex V2 bot responses, the attributes are mapped to specific fields from the bot. For more information, refer to Processing responses from an AppInstanceBot in the Amazon Chime SDK Messaging Developer Guide.

MessageId
Type: string

The ID of a message.

Metadata
Type: string

The message metadata.

Persistence
Type: string

The persistence setting for a channel message.

Redacted
Type: boolean

Hides the content of a message.

Sender
Type: Identity structure

The message sender.

Status

The status of the channel message.

SubChannelId
Type: string

The ID of the SubChannel.

Target
Type: Array of Target structures

The target of a message, a sender, a user, or a bot. Only the target and the sender can view targeted messages. Only users who can see targeted messages can take actions on them. However, administrators can delete targeted messages that they can’t see.

Type
Type: string

The message type.

ChannelMessageCallback

Description

Stores information about a callback.

Members
Content
Type: string

The message content. For Amazon Lex V2 bot responses, this field holds a list of messages originating from the bot. For more information, refer to Processing responses from an AppInstanceBot in the Amazon Chime SDK Messaging Developer Guide.

ContentType
Type: string

The content type of the call-back message. For Amazon Lex V2 bot responses, the content type is application/amz-chime-lex-msgs for success responses and application/amz-chime-lex-error for failure responses. For more information, refer to Processing responses from an AppInstanceBot in the Amazon Chime SDK Messaging Developer Guide.

MessageAttributes
Type: Associative array of custom strings keys (MessageAttributeName) to MessageAttributeValue structures

The attributes for the channel message. For Amazon Lex V2 bot responses, the attributes are mapped to specific fields from the bot. For more information, refer to Processing responses from an AppInstanceBot in the Amazon Chime SDK Messaging Developer Guide.

MessageId
Required: Yes
Type: string

The message ID.

Metadata
Type: string

The message metadata.

PushNotification

The push notification configuration of the message.

SubChannelId
Type: string

The ID of the SubChannel.

ChannelMessageStatusStructure

Description

Stores information about a message status.

Members
Detail
Type: string

Contains more details about the message status.

Value
Type: string

The message status value.

ChannelMessageSummary

Description

Summary of the messages in a Channel.

Members
Content
Type: string

The content of the channel message. For Amazon Lex V2 bot responses, this field holds a list of messages originating from the bot. For more information, refer to Processing responses from an AppInstanceBot in the Amazon Chime SDK Messaging Developer Guide.

ContentType
Type: string

The content type of the channel message listed in the summary. For Amazon Lex V2 bot responses, the content type is application/amz-chime-lex-msgs for success responses and application/amz-chime-lex-error for failure responses. For more information, refer to Processing responses from an AppInstanceBot in the Amazon Chime SDK Messaging Developer Guide.

CreatedTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time at which the message summary was created.

LastEditedTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time at which a message was last edited.

LastUpdatedTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time at which a message was last updated.

MessageAttributes
Type: Associative array of custom strings keys (MessageAttributeName) to MessageAttributeValue structures

The attributes for the channel message. For Amazon Lex V2 bot responses, the attributes are mapped to specific fields from the bot. For more information, refer to Processing responses from an AppInstanceBot in the Amazon Chime SDK Messaging Developer Guide.

MessageId
Type: string

The ID of the message.

Metadata
Type: string

The metadata of the message.

Redacted
Type: boolean

Indicates whether a message was redacted.

Sender
Type: Identity structure

The message sender.

Status

The message status. The status value is SENT for messages sent to a channel without a channel flow. For channels associated with channel flow, the value determines the processing stage.

Target
Type: Array of Target structures

The target of a message, a sender, a user, or a bot. Only the target and the sender can view targeted messages. Only users who can see targeted messages can take actions on them. However, administrators can delete targeted messages that they can’t see.

Type
Type: string

The type of message.

ChannelModeratedByAppInstanceUserSummary

Description

Summary of the details of a moderated channel.

Members
ChannelSummary
Type: ChannelSummary structure

Summary of the details of a Channel.

ChannelModerator

Description

The details of a channel moderator.

Members
ChannelArn
Type: string

The ARN of the moderator's channel.

CreatedBy
Type: Identity structure

The AppInstanceUser who created the moderator.

CreatedTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time at which the moderator was created.

Moderator
Type: Identity structure

The moderator's data.

ChannelModeratorSummary

Description

Summary of the details of a ChannelModerator.

Members
Moderator
Type: Identity structure

The data for a moderator.

ChannelSummary

Description

Summary of the details of a Channel.

Members
ChannelArn
Type: string

The ARN of the channel.

LastMessageTimestamp
Type: timestamp (string|DateTime or anything parsable by strtotime)

The time at which the last persistent message visible to the caller in a channel was sent.

Metadata
Type: string

The metadata of the channel.

Mode
Type: string

The mode of the channel.

Name
Type: string

The name of the channel.

Privacy
Type: string

The privacy setting of the channel.

ConflictException

Description

The request could not be processed because of conflict in the current state of the resource.

Members
Code
Type: string
Message
Type: string

ElasticChannelConfiguration

Description

The attributes required to configure and create an elastic channel. An elastic channel can support a maximum of 1-million members.

Members
MaximumSubChannels
Required: Yes
Type: int

The maximum number of SubChannels that you want to allow in the elastic channel.

MinimumMembershipPercentage
Required: Yes
Type: int

The minimum allowed percentage of TargetMembershipsPerSubChannel users. Ceil of the calculated value is used in balancing members among SubChannels of the elastic channel.

TargetMembershipsPerSubChannel
Required: Yes
Type: int

The maximum number of members allowed in a SubChannel.

ExpirationSettings

Description

Settings that control the interval after which a channel is deleted.

Members
ExpirationCriterion
Required: Yes
Type: string

The conditions that must be met for a channel to expire.

ExpirationDays
Required: Yes
Type: int

The period in days after which the system automatically deletes a channel.

ForbiddenException

Description

The client is permanently forbidden from making the request.

Members
Code
Type: string
Message
Type: string

Identity

Description

The details of a user or bot.

Members
Arn
Type: string

The ARN in an Identity.

Name
Type: string

The name in an Identity.

LambdaConfiguration

Description

Stores metadata about a Lambda processor.

Members
InvocationType
Required: Yes
Type: string

Controls how the Lambda function is invoked.

ResourceArn
Required: Yes
Type: string

The ARN of the Lambda message processing function.

MessageAttributeValue

Description

A list of message attribute values.

Members
StringValues
Type: Array of strings

The strings in a message attribute value.

MessagingSessionEndpoint

Description

The websocket endpoint used to connect to Amazon Chime SDK messaging.

Members
Url
Type: string

The endpoint to which you establish a websocket connection.

NotFoundException

Description

One or more of the resources in the request does not exist in the system.

Members
Code
Type: string
Message
Type: string

Processor

Description

The information about a processor in a channel flow.

Members
Configuration
Required: Yes
Type: ProcessorConfiguration structure

The information about the type of processor and its identifier.

ExecutionOrder
Required: Yes
Type: int

The sequence in which processors run. If you have multiple processors in a channel flow, message processing goes through each processor in the sequence. The value determines the sequence. At this point, we support only 1 processor within a flow.

FallbackAction
Required: Yes
Type: string

Determines whether to continue with message processing or stop it in cases where communication with a processor fails. If a processor has a fallback action of ABORT and communication with it fails, the processor sets the message status to FAILED and does not send the message to any recipients. Note that if the last processor in the channel flow sequence has a fallback action of CONTINUE and communication with the processor fails, then the message is considered processed and sent to recipients of the channel.

Name
Required: Yes
Type: string

The name of the channel flow.

ProcessorConfiguration

Description

A processor's metadata.

Members
Lambda
Required: Yes
Type: LambdaConfiguration structure

Indicates that the processor is of type Lambda.

PushNotificationConfiguration

Description

The push notification configuration of the message.

Members
Body
Type: string

The body of the push notification.

Title
Type: string

The title of the push notification.

Type
Type: string

Enum value that indicates the type of the push notification for a message. DEFAULT: Normal mobile push notification. VOIP: VOIP mobile push notification.

PushNotificationPreferences

Description

The channel membership preferences for push notification.

Members
AllowNotifications
Required: Yes
Type: string

Enum value that indicates which push notifications to send to the requested member of a channel. ALL sends all push notifications, NONE sends no push notifications, FILTERED sends only filtered push notifications.

FilterRule
Type: string

The simple JSON object used to send a subset of a push notification to the requested member.

ResourceLimitExceededException

Description

The request exceeds the resource limit.

Members
Code
Type: string
Message
Type: string

SearchField

Description

A Field of the channel that you want to search.

Members
Key
Required: Yes
Type: string

An enum value that indicates the key to search the channel on. MEMBERS allows you to search channels based on memberships. You can use it with the EQUALS operator to get channels whose memberships are equal to the specified values, and with the INCLUDES operator to get channels whose memberships include the specified values.

Operator
Required: Yes
Type: string

The operator used to compare field values, currently EQUALS or INCLUDES. Use the EQUALS operator to find channels whose memberships equal the specified values. Use the INCLUDES operator to find channels whose memberships include the specified values.

Values
Required: Yes
Type: Array of strings

The values that you want to search for, a list of strings. The values must be AppInstanceUserArns specified as a list of strings.

This operation isn't supported for AppInstanceUsers with large number of memberships.

ServiceFailureException

Description

The service encountered an unexpected error.

Members
Code
Type: string
Message
Type: string

ServiceUnavailableException

Description

The service is currently unavailable.

Members
Code
Type: string
Message
Type: string

StreamingConfiguration

Description

The configuration for connecting a messaging stream to Amazon Kinesis.

Members
DataType
Required: Yes
Type: string

The data type of the configuration.

ResourceArn
Required: Yes
Type: string

The ARN of the resource in the configuration.

SubChannelSummary

Description

Summary of the sub-channels associated with the elastic channel.

Members
MembershipCount
Type: int

The number of members in a SubChannel.

SubChannelId
Type: string

The unique ID of a SubChannel.

Tag

Description

A tag object containing a key-value pair.

Members
Key
Required: Yes
Type: string

The key in a tag.

Value
Required: Yes
Type: string

The value in a tag.

Target

Description

The target of a message, a sender, a user, or a bot. Only the target and the sender can view targeted messages. Only users who can see targeted messages can take actions on them. However, administrators can delete targeted messages that they can’t see.

Members
MemberArn
Type: string

The ARN of the target channel member.

ThrottledClientException

Description

The client exceeded its request rate limit.

Members
Code
Type: string
Message
Type: string

UnauthorizedClientException

Description

The client is not currently authorized to make the request.

Members
Code
Type: string
Message
Type: string