CreateUsagePlanCommand

Creates a usage plan with the throttle and quota limits, as well as the associated API stages, specified in the payload.

Example Syntax

Use a bare-bones client and the command you need to make an API call.

import { APIGatewayClient, CreateUsagePlanCommand } from "@aws-sdk/client-api-gateway"; // ES Modules import
// const { APIGatewayClient, CreateUsagePlanCommand } = require("@aws-sdk/client-api-gateway"); // CommonJS import
const client = new APIGatewayClient(config);
const input = { // CreateUsagePlanRequest
  name: "STRING_VALUE", // required
  description: "STRING_VALUE",
  apiStages: [ // ListOfApiStage
    { // ApiStage
      apiId: "STRING_VALUE",
      stage: "STRING_VALUE",
      throttle: { // MapOfApiStageThrottleSettings
        "<keys>": { // ThrottleSettings
          burstLimit: Number("int"),
          rateLimit: Number("double"),
        },
      },
    },
  ],
  throttle: {
    burstLimit: Number("int"),
    rateLimit: Number("double"),
  },
  quota: { // QuotaSettings
    limit: Number("int"),
    offset: Number("int"),
    period: "DAY" || "WEEK" || "MONTH",
  },
  tags: { // MapOfStringToString
    "<keys>": "STRING_VALUE",
  },
};
const command = new CreateUsagePlanCommand(input);
const response = await client.send(command);
// { // UsagePlan
//   id: "STRING_VALUE",
//   name: "STRING_VALUE",
//   description: "STRING_VALUE",
//   apiStages: [ // ListOfApiStage
//     { // ApiStage
//       apiId: "STRING_VALUE",
//       stage: "STRING_VALUE",
//       throttle: { // MapOfApiStageThrottleSettings
//         "<keys>": { // ThrottleSettings
//           burstLimit: Number("int"),
//           rateLimit: Number("double"),
//         },
//       },
//     },
//   ],
//   throttle: {
//     burstLimit: Number("int"),
//     rateLimit: Number("double"),
//   },
//   quota: { // QuotaSettings
//     limit: Number("int"),
//     offset: Number("int"),
//     period: "DAY" || "WEEK" || "MONTH",
//   },
//   productCode: "STRING_VALUE",
//   tags: { // MapOfStringToString
//     "<keys>": "STRING_VALUE",
//   },
// };

CreateUsagePlanCommand Input

See CreateUsagePlanCommandInput for more details

Parameter
Type
Description
name
Required
string | undefined

The name of the usage plan.

apiStages
ApiStage[] | undefined

The associated API stages of the usage plan.

description
string | undefined

The description of the usage plan.

quota
QuotaSettings | undefined

The quota of the usage plan.

tags
Record<string, string> | undefined

The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

throttle
ThrottleSettings | undefined

The throttling limits of the usage plan.

CreateUsagePlanCommand Output

Parameter
Type
Description
$metadata
Required
ResponseMetadata
Metadata pertaining to this request.
apiStages
ApiStage[] | undefined

The associated API stages of a usage plan.

description
string | undefined

The description of a usage plan.

id
string | undefined

The identifier of a UsagePlan resource.

name
string | undefined

The name of a usage plan.

productCode
string | undefined

The Amazon Web Services Marketplace product identifier to associate with the usage plan as a SaaS product on the Amazon Web Services Marketplace.

quota
QuotaSettings | undefined

The target maximum number of permitted requests per a given unit time interval.

tags
Record<string, string> | undefined

The collection of tags. Each tag element is associated with a given resource.

throttle
ThrottleSettings | undefined

A map containing method level throttling information for API stage in a usage plan.

Throws

Name
Fault
Details
BadRequestException
client

The submitted request is not valid, for example, the input is incomplete or incorrect. See the accompanying error message for details.

ConflictException
client

The request configuration has conflicts. For details, see the accompanying error message.

LimitExceededException
client

The request exceeded the rate limit. Retry after the specified time period.

NotFoundException
client

The requested resource is not found. Make sure that the request URI is correct.

TooManyRequestsException
client

The request has reached its throttling limit. Retry after the specified time period.

UnauthorizedException
client

The request is denied because the caller has insufficient permissions.

APIGatewayServiceException
Base exception class for all service exceptions from APIGateway service.