CreateFlow - Amazon Bedrock

CreateFlow

Creates a prompt flow that you can use to send an input through various steps to yield an output. Configure nodes, each of which corresponds to a step of the flow, and create connections between the nodes to create paths to different outputs. For more information, see How it works and Create a flow in Amazon Bedrock in the Amazon Bedrock User Guide.

Request Syntax

POST /flows/ HTTP/1.1 Content-type: application/json { "clientToken": "string", "customerEncryptionKeyArn": "string", "definition": { "connections": [ { "configuration": { ... }, "name": "string", "source": "string", "target": "string", "type": "string" } ], "nodes": [ { "configuration": { ... }, "inputs": [ { "expression": "string", "name": "string", "type": "string" } ], "name": "string", "outputs": [ { "name": "string", "type": "string" } ], "type": "string" } ] }, "description": "string", "executionRoleArn": "string", "name": "string", "tags": { "string" : "string" } }

URI Request Parameters

The request does not use any URI parameters.

Request Body

The request accepts the following data in JSON format.

clientToken

A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency.

Type: String

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

Pattern: ^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,256}$

Required: No

customerEncryptionKeyArn

The Amazon Resource Name (ARN) of the KMS key to encrypt the flow.

Type: String

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

Pattern: ^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}$

Required: No

definition

A definition of the nodes and connections between nodes in the flow.

Type: FlowDefinition object

Required: No

description

A description for the flow.

Type: String

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

Required: No

executionRoleArn

The Amazon Resource Name (ARN) of the service role with permissions to create and manage a flow. For more information, see Create a service role for flows in Amazon Bedrock in the Amazon Bedrock User Guide.

Type: String

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

Pattern: ^arn:aws(-[^:]+)?:iam::([0-9]{12})?:role/(service-role/)?.+$

Required: Yes

name

A name for the flow.

Type: String

Pattern: ^([0-9a-zA-Z][_-]?){1,100}$

Required: Yes

tags

Any tags that you want to attach to the flow. For more information, see Tagging resources in Amazon Bedrock.

Type: String to string map

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

Key Pattern: ^[a-zA-Z0-9\s._:/=+@-]*$

Value Length Constraints: Minimum length of 0. Maximum length of 256.

Value Pattern: ^[a-zA-Z0-9\s._:/=+@-]*$

Required: No

Response Syntax

HTTP/1.1 201 Content-type: application/json { "arn": "string", "createdAt": "string", "customerEncryptionKeyArn": "string", "definition": { "connections": [ { "configuration": { ... }, "name": "string", "source": "string", "target": "string", "type": "string" } ], "nodes": [ { "configuration": { ... }, "inputs": [ { "expression": "string", "name": "string", "type": "string" } ], "name": "string", "outputs": [ { "name": "string", "type": "string" } ], "type": "string" } ] }, "description": "string", "executionRoleArn": "string", "id": "string", "name": "string", "status": "string", "updatedAt": "string", "version": "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.

arn

The Amazon Resource Name (ARN) of the flow.

Type: String

Pattern: ^arn:aws:bedrock:[a-z0-9-]{1,20}:[0-9]{12}:flow/[0-9a-zA-Z]{10}$

createdAt

The time at which the flow was created.

Type: Timestamp

customerEncryptionKeyArn

The Amazon Resource Name (ARN) of the KMS key that you encrypted the flow with.

Type: String

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

Pattern: ^arn:aws(|-cn|-us-gov):kms:[a-zA-Z0-9-]*:[0-9]{12}:key/[a-zA-Z0-9-]{36}$

definition

A definition of the nodes and connections between nodes in the flow.

Type: FlowDefinition object

description

The description of the flow.

Type: String

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

executionRoleArn

The Amazon Resource Name (ARN) of the service role with permissions to create a flow. For more information, see Create a service role for flows in Amazon Bedrock in the Amazon Bedrock User Guide.

Type: String

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

Pattern: ^arn:aws(-[^:]+)?:iam::([0-9]{12})?:role/(service-role/)?.+$

id

The unique identifier of the flow.

Type: String

Pattern: ^[0-9a-zA-Z]{10}$

name

The name of the flow.

Type: String

Pattern: ^([0-9a-zA-Z][_-]?){1,100}$

status

The status of the flow. When you submit this request, the status will be NotPrepared. If creation fails, the status becomes Failed.

Type: String

Valid Values: Failed | Prepared | Preparing | NotPrepared

updatedAt

The time at which the flow was last updated.

Type: Timestamp

version

The version of the flow. When you create a flow, the version created is the DRAFT version.

Type: String

Length Constraints: Fixed length of 5.

Pattern: ^DRAFT$

Errors

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

AccessDeniedException

The request is denied because of missing access permissions.

HTTP Status Code: 403

ConflictException

There was a conflict performing an operation.

HTTP Status Code: 409

InternalServerException

An internal server error occurred. Retry your request.

HTTP Status Code: 500

ServiceQuotaExceededException

The number of requests exceeds the service quota. Resubmit your request later.

HTTP Status Code: 402

ThrottlingException

The number of requests exceeds the limit. Resubmit your request later.

HTTP Status Code: 429

ValidationException

Input validation failed. Check your request parameters and retry the request.

HTTP Status Code: 400

See Also

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