CreateChannelFlow - Amazon Chime SDK

CreateChannelFlow

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

Note

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.

Request Syntax

POST /channel-flows HTTP/1.1 Content-type: application/json { "AppInstanceArn": "string", "ClientRequestToken": "string", "Name": "string", "Processors": [ { "Configuration": { "Lambda": { "InvocationType": "string", "ResourceArn": "string" } }, "ExecutionOrder": number, "FallbackAction": "string", "Name": "string" } ], "Tags": [ { "Key": "string", "Value": "string" } ] }

URI Request Parameters

The request does not use any URI parameters.

Request Body

The request accepts the following data in JSON format.

AppInstanceArn

The ARN of the channel flow request.

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}

Required: Yes

ClientRequestToken

The client token for the request. An Idempotency token.

Type: String

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

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

Required: Yes

Name

The name of the channel flow.

Type: String

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

Pattern: [\u0009\u000A\u000D\u0020-\u007E\u0085\u00A0-\uD7FF\uE000-\uFFFD\u10000-\u10FFFF]*

Required: Yes

Processors

Information about the processor Lambda functions.

Type: Array of Processor objects

Array Members: Minimum number of 1 item. Maximum number of 3 items.

Required: Yes

Tags

The tags for the creation request.

Type: Array of Tag objects

Array Members: Minimum number of 1 item. Maximum number of 50 items.

Required: No

Response Syntax

HTTP/1.1 201 Content-type: application/json { "ChannelFlowArn": "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.

ChannelFlowArn

The ARN of the channel flow.

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}

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

ResourceLimitExceededException

The request exceeds the resource limit.

HTTP Status Code: 400

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: