# UsagePlanProps

Properties for defining an API Gateway Usage Plan for WebSocket APIs.

Extends: UsagePlanProps
Used as props by: UsagePlan

- Source: [`aws-apigatewayv2/lib/websocket/usage-plan.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/aws-apigatewayv2/lib/websocket/usage-plan.ts#L83)
- Type last changed: v2.212.0 · 20 Aug 2025

## Example

```ts
const api = new apigwv2.WebSocketApi(this, 'my-api');
const stage = new apigwv2.WebSocketStage(this, 'my-stage', {
  webSocketApi: api,
  stageName: 'dev',
});

const usagePlan = new apigwv2.UsagePlan(this, 'my-usage-plan', {
  usagePlanName: 'Basic',
});

usagePlan.addApiStage({
  api: api,
  stage: stage,
});
```

## Properties

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

- `description`: string = none — Represents usage plan purpose.

- `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.

- `usagePlanName`: string = none — Name for this usage plan.
