SendChannelMessage - Amazon Chime

The Amazon Chime SDK Identity, Media Pipelines, Meetings, and Messaging APIs are now published on the new Amazon Chime SDK API Reference. For more information, see the Amazon Chime SDK API Reference.

SendChannelMessage

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

Note

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.

Also, STANDARD messages can contain 4KB of data and the 1KB of metadata. CONTROL messages can contain 30 bytes of data and no metadata.

Important

This API is no longer supported and will not be updated. We recommend using the latest version, SendChannelMessage, in the Amazon Chime SDK.

Using the latest version requires migrating to a dedicated namespace. For more information, refer to Migrating from the Amazon Chime namespace in the Amazon Chime SDK Developer Guide.

Request Syntax

POST /channels/channelArn/messages HTTP/1.1 x-amz-chime-bearer: ChimeBearer Content-type: application/json { "ClientRequestToken": "string", "Content": "string", "Metadata": "string", "Persistence": "string", "Type": "string" }

URI Request Parameters

The request uses the following URI parameters.

channelArn

The ARN of the channel.

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

Pattern: arn:[a-z0-9-\.]{1,63}:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}:[^/].{0,1023}

Required: Yes

ChimeBearer

The AppInstanceUserArn of the user that makes the API call.

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

Pattern: arn:[a-z0-9-\.]{1,63}:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}:[^/].{0,1023}

Request Body

The request accepts the following data in JSON format.

ClientRequestToken

The Idempotency token for each client request.

Type: String

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

Pattern: [-_a-zA-Z0-9]*

Required: Yes

Content

The content of the message.

Type: String

Length Constraints: Minimum length of 1.

Pattern: [\s\S]*

Required: Yes

Metadata

The optional metadata for each message.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 1024.

Pattern: .*

Required: No

Persistence

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

Type: String

Valid Values: PERSISTENT | NON_PERSISTENT

Required: Yes

Type

The type of message, STANDARD or CONTROL.

Type: String

Valid Values: STANDARD | CONTROL

Required: Yes

Response Syntax

HTTP/1.1 201 Content-type: application/json { "ChannelArn": "string", "MessageId": "string" }

Response Elements

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

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

ChannelArn

The ARN of the channel.

Type: String

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

Pattern: arn:[a-z0-9-\.]{1,63}:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}:[^/].{0,1023}

MessageId

The ID string assigned to each message.

Type: String

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

Pattern: [-_a-zA-Z0-9]*

Errors

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

BadRequestException

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

HTTP Status Code: 400

ConflictException

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

HTTP Status Code: 409

ForbiddenException

The client is permanently forbidden from making the request.

HTTP Status Code: 403

ServiceFailureException

The service encountered an unexpected error.

HTTP Status Code: 500

ServiceUnavailableException

The service is currently unavailable.

HTTP Status Code: 503

ThrottledClientException

The client exceeded its request rate limit.

HTTP Status Code: 429

UnauthorizedClientException

The client is not currently authorized to make the request.

HTTP Status Code: 401

See Also

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