CreatePrompt - Amazon Bedrock

CreatePrompt

Creates a prompt in your prompt library that you can add to a flow. For more information, see Prompt management in Amazon Bedrock, Create a prompt using Prompt management and Prompt flows in Amazon Bedrock in the Amazon Bedrock User Guide.

Request Syntax

POST /prompts/ HTTP/1.1 Content-type: application/json { "clientToken": "string", "customerEncryptionKeyArn": "string", "defaultVariant": "string", "description": "string", "name": "string", "tags": { "string" : "string" }, "variants": [ { "additionalModelRequestFields": JSON value, "genAiResource": { ... }, "inferenceConfiguration": { ... }, "metadata": [ { "key": "string", "value": "string" } ], "modelId": "string", "name": "string", "templateConfiguration": { ... }, "templateType": "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 prompt.

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

defaultVariant

The name of the default variant for the prompt. This value must match the name field in the relevant PromptVariant object.

Type: String

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

Required: No

description

A description for the prompt.

Type: String

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

Required: No

name

A name for the prompt.

Type: String

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

Required: Yes

tags

Any tags that you want to attach to the prompt. 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

variants

A list of objects, each containing details about a variant of the prompt.

Type: Array of PromptVariant objects

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

Required: No

Response Syntax

HTTP/1.1 201 Content-type: application/json { "arn": "string", "createdAt": "string", "customerEncryptionKeyArn": "string", "defaultVariant": "string", "description": "string", "id": "string", "name": "string", "updatedAt": "string", "variants": [ { "additionalModelRequestFields": JSON value, "genAiResource": { ... }, "inferenceConfiguration": { ... }, "metadata": [ { "key": "string", "value": "string" } ], "modelId": "string", "name": "string", "templateConfiguration": { ... }, "templateType": "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 prompt.

Type: String

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

createdAt

The time at which the prompt was created.

Type: Timestamp

customerEncryptionKeyArn

The Amazon Resource Name (ARN) of the KMS key that you encrypted the prompt 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}$

defaultVariant

The name of the default variant for your prompt.

Type: String

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

description

The description of the prompt.

Type: String

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

id

The unique identifier of the prompt.

Type: String

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

name

The name of the prompt.

Type: String

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

updatedAt

The time at which the prompt was last updated.

Type: Timestamp

variants

A list of objects, each containing details about a variant of the prompt.

Type: Array of PromptVariant objects

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

version

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

Type: String

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

Pattern: ^(DRAFT|[0-9]{0,4}[1-9][0-9]{0,4})$

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: