GetUsagePlans - Amazon API Gateway


Gets all the usage plans of the caller's account.

Request Syntax

GET /usageplans?keyId=keyId&limit=limit&position=position HTTP/1.1

URI Request Parameters

The request uses the following URI parameters.


The identifier of the API key associated with the usage plans.


The maximum number of returned results per page. The default value is 25 and the maximum value is 500.


The current pagination position in the paged result set.

Request Body

The request does not have a request body.

Response Syntax

HTTP/1.1 200 Content-type: application/json { "item": [ { "apiStages": [ { "apiId": "string", "stage": "string", "throttle": { "string" : { "burstLimit": number, "rateLimit": number } } } ], "description": "string", "id": "string", "name": "string", "productCode": "string", "quota": { "limit": number, "offset": number, "period": "string" }, "tags": { "string" : "string" }, "throttle": { "burstLimit": number, "rateLimit": number } } ], "position": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.


The current page of elements from this collection.

Type: Array of UsagePlan objects


The current pagination position in the paged result set.

Type: String


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


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

HTTP Status Code: 400


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

HTTP Status Code: 404


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

HTTP Status Code: 429


The request is denied because the caller has insufficient permissions.

HTTP Status Code: 401


Retrieve usage plans

The following example request gets the UsagePlans of the caller's account.

The successful response returns a 200 OK status code and a payload similar to the following:

Sample Request

GET /usageplans HTTP/1.1 Content-Type: application/json Host: Content-Length: 254 X-Amz-Date: 20160801T204414Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160801/ap-southeast-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sigv4_hash}

Sample Response

{ "_links": { "curies": [ { "href": "{rel}.html", "name": "usage", "templated": true }, { "href": "{rel}.html", "name": "usageplan", "templated": true }, { "href": "{rel}.html", "name": "usageplankey", "templated": true } ], "self": { "href": "/usageplans" }, "item": { "href": "/usageplans/ywbqww" }, "usageplan:by-id": { "href": "/usageplans/{usageplanId}", "templated": true }, "usageplan:create": { "href": "/usageplans" } }, "_embedded": { "item": { "_links": { "self": { "href": "/usageplans/ywbqww" }, "usage:get": { "href": "/usageplans/ywbqww/usage?startDate=2016-07-02&endDate=2016-08-01" }, "usageplan:delete": { "href": "/usageplans/ywbqww" }, "usageplan:update": { "href": "/usageplans/ywbqww" }, "usageplan:usageplankeys": { "href": "/usageplans/ywbqww/keys" }, "usageplankey:create": { "href": "/usageplans/ywbqww/keys" } }, "apiStages": { "stage": "testStage", "apiId": "xbvxlpijch" }, "description": "Plan A", "id": "ywbqww", "name": "Plan_A", "quota": { "period": "MONTH", "offset": 0, "limit": 1000 }, "throttle": { "rateLimit": 100, "burstLimit": 200 } } } }

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: