# RateLimitedApiKeyProps

RateLimitedApiKey properties.

Extends: RateLimitedApiKeyProps
Extends: ApiKeyProps
Used as props by: RateLimitedApiKey

- Source: [`aws-apigatewayv2/lib/websocket/api-key.ts`](https://github.com/aws/aws-cdk/blob/v2.274.0/packages/aws-cdk-lib/aws-apigatewayv2/lib/websocket/api-key.ts#L207)
- Type last changed: v2.212.0 · 20 Aug 2025

## Example

```ts
declare const api: apigwv2.WebSocketApi;
declare const stage: apigwv2.WebSocketStage;

const key = new apigwv2.RateLimitedApiKey(this, 'rate-limited-api-key', {
  customerId: 'test-customer',
  apiStages: [{
    api: api,
    stage: stage
  }],
  quota: {
    limit: 10000,
    period: apigwv2.Period.MONTH
  },
  throttle: {
    rateLimit: 100,
    burstLimit: 200
  }
});
```

## Properties

- `apiKeyName`: string — A name for the API key.

  **Default:** automatically generated name

  If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the API key name.

- `apiStages`: [UsagePlanPerApiStage](/cdk/api/v2/docs/aws-cdk-lib.aws_apigatewayv2.UsagePlanPerApiStage.html)[] = none — API Stages to be associated with the RateLimitedApiKey.

- `customerId`: string = none — An AWS Marketplace customer identifier to use when integrating with the AWS SaaS Marketplace.

- `description`: string = none — A description of the purpose of the API key.

- `enabled`: boolean = true — Indicates whether the API key can be used by clients.

- `generateDistinctId`: boolean = false — Specifies whether the key identifier is distinct from the created API key value.

- `quota`: [QuotaSettings](/cdk/api/v2/docs/aws-cdk-lib.aws_apigatewayv2.QuotaSettings.html) = none — Number of requests clients can make in a given time period.

- `throttle`: [ThrottleSettings](/cdk/api/v2/docs/aws-cdk-lib.aws_apigatewayv2.ThrottleSettings.html) = none — Overall throttle settings for the API.

- `value`: string = none — The value of the API key.

  Must be at least 20 characters long.
