View a markdown version of this page

CreateGatewayRateLimit - Amazon Bedrock AgentCore Control Plane

CreateGatewayRateLimit

Creates a rate limit for a gateway. Rate limits define throttling rules for each dimension that control request rates, token consumption rates, and concurrent connections through the gateway.

Request Syntax

POST /gateways/gatewayIdentifier/rate-limits HTTP/1.1 Content-type: application/json { "clientToken": "string", "description": "string", "dimensionKeys": [ "string" ], "entries": [ { "connections": [ { "period": "string", "rate": number } ], "dimensions": { "string" : "string" }, "requests": [ { "period": "string", "rate": number } ], "tokens": [ { "period": "string", "rate": number } ] } ], "rateLimitId": "string" }

URI Request Parameters

The request uses the following URI parameters.

gatewayIdentifier

The unique identifier of the gateway to create the rate limit for.

Pattern: ([0-9a-z][-]?){1,100}-[0-9a-z]{10}

Required: Yes

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 you don't specify this field, a value is randomly generated for you. If this token matches a previous request, the service ignores the request, but doesn't 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

description

An optional human-readable description for this rate limit. If not provided, the rate limit is created without a description.

Type: String

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

Required: No

dimensionKeys

The ordered list of dimension key names that define the scope of this rate limit. Must be unique per gateway—no two rate limits can share the same dimension keys.

Type: Array of strings

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

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

Pattern: (targetName|toolName|qualifiedModelId|\$\.context\.iam\.principal|\$\.context\.iam\.sourceIdentity|\$\.context\.jwt\.[a-zA-Z_][a-zA-Z0-9_\-\.]{0,61}[a-zA-Z0-9_])

Required: Yes

entries

The rule entries that map dimension values to rate configurations.

Type: Array of LimitEntry objects

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

Required: Yes

rateLimitId

An optional customer-defined identifier for the rate limit. If not provided, the system generates one.

Type: String

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

Pattern: [a-zA-Z0-9][a-zA-Z0-9\-_\.]{0,62}[a-zA-Z0-9]

Required: No

Response Syntax

HTTP/1.1 201 Content-type: application/json { "createdAt": "string", "description": "string", "dimensionKeys": [ "string" ], "entries": [ { "connections": [ { "period": "string", "rate": number } ], "dimensions": { "string" : "string" }, "requests": [ { "period": "string", "rate": number } ], "tokens": [ { "period": "string", "rate": number } ] } ], "gatewayIdentifier": "string", "rateLimitId": "string", "status": "string", "updatedAt": "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.

createdAt

The timestamp when the rate limit was created.

Type: Timestamp

description

The human-readable description of the rate limit.

Type: String

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

dimensionKeys

The ordered list of dimension key names that define the scope of this rate limit.

Type: Array of strings

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

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

Pattern: (targetName|toolName|qualifiedModelId|\$\.context\.iam\.principal|\$\.context\.iam\.sourceIdentity|\$\.context\.jwt\.[a-zA-Z_][a-zA-Z0-9_\-\.]{0,61}[a-zA-Z0-9_])

entries

The list of rule entries that map dimension values to rate configurations.

Type: Array of LimitEntry objects

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

gatewayIdentifier

The unique identifier of the gateway.

Type: String

Pattern: ([0-9a-z][-]?){1,100}-[0-9a-z]{10}

rateLimitId

The unique identifier of the created rate limit.

Type: String

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

Pattern: [a-zA-Z0-9][a-zA-Z0-9\-_\.]{0,62}[a-zA-Z0-9]

status

The current status of the rate limit.

Type: String

Valid Values: CREATING | ACTIVE | UPDATING | DELETING

updatedAt

The timestamp when the rate limit was last updated.

Type: Timestamp

Errors

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

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

ResourceNotFoundException

This exception is thrown when a resource referenced by the operation does not exist

HTTP Status Code: 404

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: