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": [ 
               { 
                  "category": "string",
                  "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
 - 
               
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": [ 
               { 
                  "category": "string",
                  "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 becomesFailed.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
DRAFTversion.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.
- fieldList
 - 
                        
A list of objects containing fields that caused validation errors and their corresponding validation error messages.
 
HTTP Status Code: 400
 
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: