CreateGateway
Creates a gateway for Amazon Bedrock Agent. A gateway serves as an integration point between your agent and external services.
To create a gateway, you must specify a name, protocol type, and IAM role. The role grants the gateway permission to access AWS services and resources.
Request Syntax
POST /gateways/ HTTP/1.1
Content-type: application/json
{
"authorizerConfiguration": { ... },
"authorizerType": "string
",
"clientToken": "string
",
"description": "string
",
"exceptionLevel": "string
",
"kmsKeyArn": "string
",
"name": "string
",
"protocolConfiguration": { ... },
"protocolType": "string
",
"roleArn": "string
"
}
URI Request Parameters
The request does not use any URI parameters.
Request Body
The request accepts the following data in JSON format.
-
The authorizer configuration for the Gateway.
Type: AuthorizerConfiguration object
Note: This object is a Union. Only one member of this object can be specified or returned.
Required: Yes
-
The type of authorizer to use for the gateway.
Type: String
Valid Values:
CUSTOM_JWT
Required: Yes
- clientToken
-
A unique, case-sensitive identifier to ensure that the operation completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request but does not return an error.
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
- description
-
The description of the gateway.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 200.
Required: No
- exceptionLevel
-
The verbosity of exception messages. Use DEBUG mode to see granular exception messages from a Gateway. If this parameter is not set, exception messages are by default sanitized for presentation to end users.
Type: String
Valid Values:
DEBUG
Required: No
- kmsKeyArn
-
The Amazon Resource Name (ARN) of the AWS KMS key used to encrypt data associated with the gateway.
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
- name
-
The name of the gateway. The name must be unique within your account.
Type: String
Pattern:
([0-9a-zA-Z][-]?){1,100}
Required: Yes
- protocolConfiguration
-
The configuration settings for the protocol specified in the protocolType parameter.
Type: GatewayProtocolConfiguration object
Note: This object is a Union. Only one member of this object can be specified or returned.
Required: No
- protocolType
-
The protocol type for the gateway. Currently supports MCP (Model Context Protocol).
Type: String
Valid Values:
MCP
Required: Yes
- roleArn
-
The Amazon Resource Name (ARN) of the IAM role that provides permissions for the gateway to access AWS services.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 2048.
Pattern:
arn:aws(-[^:]+)?:iam::([0-9]{12})?:role/.+
Required: Yes
Response Syntax
HTTP/1.1 202
Content-type: application/json
{
"authorizerConfiguration": { ... },
"authorizerType": "string",
"createdAt": "string",
"description": "string",
"exceptionLevel": "string",
"gatewayArn": "string",
"gatewayId": "string",
"gatewayUrl": "string",
"kmsKeyArn": "string",
"name": "string",
"protocolConfiguration": { ... },
"protocolType": "string",
"roleArn": "string",
"status": "string",
"statusReasons": [ "string" ],
"updatedAt": "string",
"workloadIdentityDetails": {
"workloadIdentityArn": "string"
}
}
Response Elements
If the action is successful, the service sends back an HTTP 202 response.
The following data is returned in JSON format by the service.
-
The authorizer configuration for the created Gateway.
Type: AuthorizerConfiguration object
Note: This object is a Union. Only one member of this object can be specified or returned.
-
The type of authorizer used by the gateway.
Type: String
Valid Values:
CUSTOM_JWT
- createdAt
-
The timestamp when the gateway was created.
Type: Timestamp
- description
-
The description of the gateway.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 200.
- exceptionLevel
-
The verbosity of exception messages. Use DEBUG mode to see granular exception messages from a Gateway. If this parameter is not set, exception messages are by default sanitized for presentation to end users.
Type: String
Valid Values:
DEBUG
- gatewayArn
-
The Amazon Resource Name (ARN) of the created gateway.
Type: String
Pattern:
arn:aws(|-cn|-us-gov):bedrock-agentcore:[a-z0-9-]{1,20}:[0-9]{12}:gateway/[0-9a-zA-Z]{10}
- gatewayId
-
The unique identifier of the created gateway.
Type: String
Pattern:
([0-9a-z][-]?){1,100}-[0-9a-z]{10}
- gatewayUrl
-
The URL endpoint for the created gateway.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1024.
- kmsKeyArn
-
The Amazon Resource Name (ARN) of the AWS KMS key used to encrypt data associated with the gateway.
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}
- name
-
The name of the gateway.
Type: String
Pattern:
([0-9a-zA-Z][-]?){1,100}
- protocolConfiguration
-
The configuration settings for the protocol used by the gateway.
Type: GatewayProtocolConfiguration object
Note: This object is a Union. Only one member of this object can be specified or returned.
- protocolType
-
The protocol type of the gateway.
Type: String
Valid Values:
MCP
- roleArn
-
The Amazon Resource Name (ARN) of the IAM role associated with the gateway.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 2048.
Pattern:
arn:aws(-[^:]+)?:iam::([0-9]{12})?:role/.+
- status
-
The current status of the gateway.
Type: String
Valid Values:
CREATING | UPDATING | UPDATE_UNSUCCESSFUL | DELETING | READY | FAILED
- statusReasons
-
The reasons for the current status of the gateway.
Type: Array of strings
Array Members: Minimum number of 0 items. Maximum number of 100 items.
Length Constraints: Minimum length of 0. Maximum length of 2048.
- updatedAt
-
The timestamp when the gateway was last updated.
Type: Timestamp
- workloadIdentityDetails
-
The workload identity details for the created Gateway.
Type: WorkloadIdentityDetails object
Errors
For information about the errors that are common to all actions, see Common Errors.
- AccessDeniedException
-
This exception is thrown when a request is denied per access permissions
HTTP Status Code: 403
- ConflictException
-
This exception is thrown when there is a conflict performing an operation
HTTP Status Code: 409
- InternalServerException
-
This exception is thrown if there was an unexpected error during processing of request
HTTP Status Code: 500
- ServiceQuotaExceededException
-
This exception is thrown when a request is made beyond the service quota
HTTP Status Code: 402
- ThrottlingException
-
This exception is thrown when the number of requests exceeds the limit
HTTP Status Code: 429
- ValidationException
-
The input fails to satisfy the constraints specified by the service.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: