Amazon API Gateway offers a RESTful management layer for creating and configuring API resources—including REST APIs, stages, deployments, models, request validators, documentation, custom domain names, base‑path mappings, usage plans, API keys, authorizers, client certificates, and VPC links—allowing developers to define, publish, and control the lifecycle of their APIs.
Creates a usage plan with the throttle and quota limits, as well as the associated API stages, specified in the payload.
POST
/domainnames/{domain_name}/basepathmappings
Creates a new BasePathMapping resource.
domain_name(path, required) — The domain name of the BasePathMapping resource to create.
POST
/restapis/{restapi_id}/stages
Creates a new Stage resource that references a pre-existing Deployment for the API.
restapi_id(path, required) — The string identifier of the associated RestApi.
GET
/domainnames/{domain_name}/basepathmappings
Represents a collection of BasePathMapping resources.
domain_name(path, required) — The domain name of a BasePathMapping resource.
position(query) — The current pagination position in the paged result set.
limit(query, limit) — The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
POST
/restapis/{restapi_id}/deployments
Creates a Deployment resource, which makes a specified RestApi callable over the internet.
restapi_id(path, required) — The string identifier of the associated RestApi.
GET
/restapis/{restapi_id}/stages
Gets information about one or more Stage resources.
restapi_id(path, required) — The string identifier of the associated RestApi.
deploymentId(query) — The stages' deployment identifiers.
POST
/apikeys
Create an ApiKey resource.
GET
/apikeys
Gets information about the current ApiKeys resource.
position(query) — The current pagination position in the paged result set.
limit(query, limit) — The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
name(query) — The name of queried API keys.
customerId(query) — The identifier of a customer in AWS Marketplace or an external system, such as a developer portal.
includeValues(query) — A boolean flag to specify whether ( true ) or not ( false ) the result contains key values.
POST
/restapis/{restapi_id}/authorizers
Adds a new Authorizer resource to an existing RestApi resource.
restapi_id(path, required) — The string identifier of the associated RestApi.
GET
/restapis/{restapi_id}/authorizers
Describe an existing Authorizers resource.
restapi_id(path, required) — The string identifier of the associated RestApi.
position(query) — The current pagination position in the paged result set.
limit(query, limit) — The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
GET
/restapis/{restapi_id}/deployments
Gets information about a Deployments collection.
restapi_id(path, required) — The string identifier of the associated RestApi.
position(query) — The current pagination position in the paged result set.
limit(query, limit) — The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
POST
/restapis/{restapi_id}/documentation/parts
Creates a documentation part.
restapi_id(path, required) — The string identifier of the associated RestApi.
GET
/restapis/{restapi_id}/documentation/parts
Gets documentation parts.
restapi_id(path, required) — The string identifier of the associated RestApi.
type(query) — The type of API entities of the to-be-retrieved documentation parts.
name(query) — The name of API entities of the to-be-retrieved documentation parts.
path(query) — The path of API entities of the to-be-retrieved documentation parts.
position(query) — The current pagination position in the paged result set.
limit(query, limit) — The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
locationStatus(query) — The status of the API documentation parts to retrieve. Valid values are DOCUMENTED for retrieving DocumentationPart resources with content and UNDOCUMENTED for DocumentationPart resources without content.
PUT
/restapis/{restapi_id}/documentation/parts
Imports documentation parts
restapi_id(path, required) — The string identifier of the associated RestApi.
mode(query) — A query parameter to indicate whether to overwrite ( OVERWRITE ) any existing DocumentationParts definition or to merge ( MERGE ) the new definition into the existing one. The default value is MERGE .
failonwarnings(query) — A query parameter to specify whether to rollback the documentation importation ( true ) or not ( false ) when a warning is encountered. The default value is false .
POST
/restapis/{restapi_id}/documentation/versions
Creates a documentation version
restapi_id(path, required) — The string identifier of the associated RestApi.
GET
/restapis/{restapi_id}/documentation/versions
Gets documentation versions.
restapi_id(path, required) — The string identifier of the associated RestApi.
position(query) — The current pagination position in the paged result set.
limit(query, limit) — The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
POST
/domainnames
Creates a new domain name.
GET
/domainnames
Represents a collection of DomainName resources.
position(query) — The current pagination position in the paged result set.
limit(query, limit) — The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
POST
/restapis/{restapi_id}/models
Adds a new Model resource to an existing RestApi resource.
restapi_id(path, required) — The RestApi identifier under which the Model will be created.
GET
/restapis/{restapi_id}/models
Describes existing Models defined for a RestApi resource.
restapi_id(path, required) — The string identifier of the associated RestApi.
position(query) — The current pagination position in the paged result set.
limit(query, limit) — The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
POST
/restapis/{restapi_id}/requestvalidators
Creates a RequestValidator of a given RestApi.
restapi_id(path, required) — The string identifier of the associated RestApi.
GET
/restapis/{restapi_id}/requestvalidators
Gets the RequestValidators collection of a given RestApi.
restapi_id(path, required) — The string identifier of the associated RestApi.
position(query) — The current pagination position in the paged result set.
limit(query, limit) — The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
POST
/restapis/{restapi_id}/resources/{parent_id}
Creates a Resource resource.
restapi_id(path, required) — The string identifier of the associated RestApi.
parent_id(path, required) — The parent resource's identifier.
POST
/restapis
Creates a new RestApi resource.
GET
/restapis
Lists the RestApis resources for your collection.
position(query) — The current pagination position in the paged result set.
limit(query, limit) — The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
GET
/usageplans
Gets all the usage plans of the caller's account.
position(query) — The current pagination position in the paged result set.
keyId(query) — The identifier of the API key associated with the usage plans.
limit(query, limit) — The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
POST
/usageplans/{usageplanId}/keys
Creates a usage plan key for adding an existing API key to a usage plan.
usageplanId(path, required) — The Id of the UsagePlan resource representing the usage plan containing the to-be-created UsagePlanKey resource representing a plan customer.
GET
/usageplans/{usageplanId}/keys
Gets all the usage plan keys representing the API keys added to a specified usage plan.
usageplanId(path, required) — The Id of the UsagePlan resource representing the usage plan containing the to-be-retrieved UsagePlanKey resource representing a plan customer.
position(query) — The current pagination position in the paged result set.
limit(query, limit) — The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
name(query) — A query parameter specifying the name of the to-be-returned usage plan keys.
POST
/vpclinks
Creates a VPC link, under the caller's account in a selected region, in an asynchronous operation that typically takes 2-4 minutes to complete and become operational. The caller must have permissions to create and update VPC Endpoint services.
GET
/vpclinks
Gets the VpcLinks collection under the caller's account in a selected region.
position(query) — The current pagination position in the paged result set.
limit(query, limit) — The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
DELETE
/apikeys/{api_Key}
Deletes the ApiKey resource.
api_Key(path, required) — The identifier of the ApiKey resource to be deleted.
GET
/apikeys/{api_Key}
Gets information about the current ApiKey resource.
api_Key(path, required) — The identifier of the ApiKey resource.
includeValue(query) — A boolean flag to specify whether ( true ) or not ( false ) the result contains the key value.
PATCH
/apikeys/{api_Key}
Changes information about an ApiKey resource.
api_Key(path, required) — The identifier of the ApiKey resource to be updated.
domain_name(path, required) — The domain name of the BasePathMapping resource to delete.
base_path(path, required) — The base path name of the BasePathMapping resource to delete. To specify an empty base path, set this parameter to '(none)' .
domain_name(path, required) — The domain name of the BasePathMapping resource to be described.
base_path(path, required) — The base path name that callers of the API must provide as part of the URL after the domain name. This value must be unique for all of the mappings across a single API. Specify '(none)' if you do not want callers to specify any base path name after the domain name.
restapi_id(path, required) — The string identifier of the associated RestApi.
deployment_id(path, required) — The identifier of the Deployment resource to get information about.
embed(query) — A query parameter to retrieve the specified embedded resources of the returned Deployment resource in the response. In a REST API call, this embed parameter value is a list of comma-separated strings, as in GET /restapis/{restapi_id}/deployments/{deployment_id}?embed=var1,var2 . The SDK and other platform-dependent libraries might use a different format for the list. Currently, this request supports only retrieval of the embedded API summary this way. Hence, the parameter value must be a single-valued list containing only the "apisummary" string. For example, GET /restapis/{restapi_id}/deployments/{deployment_id}?embed=apisummary .
restapi_id(path, required) — The string identifier of the associated RestApi.
resource_id(path, required) — The Resource identifier for the MethodResponse resource.
http_method(path, required) — The HTTP verb of the Method resource.
status_code(path, required) — The status code for the MethodResponse resource.
DELETE
/restapis/{restapi_id}/models/{model_name}
Deletes a model.
restapi_id(path, required) — The string identifier of the associated RestApi.
model_name(path, required) — The name of the model to delete.
GET
/restapis/{restapi_id}/models/{model_name}
Describes an existing model defined for a RestApi resource.
restapi_id(path, required) — The RestApi identifier under which the Model exists.
model_name(path, required) — The name of the model as an identifier.
flatten(query) — A query parameter of a Boolean value to resolve ( true ) all external model references and returns a flattened model schema or not ( false ) The default is false .
PATCH
/restapis/{restapi_id}/models/{model_name}
Changes information about a model.
restapi_id(path, required) — The string identifier of the associated RestApi.
model_name(path, required) — The name of the model to update.
restapi_id(path, required) — The string identifier of the associated RestApi.
requestvalidator_id(path, required) — The identifier of RequestValidator to be updated.
DELETE
/restapis/{restapi_id}/resources/{resource_id}
Deletes a Resource resource.
restapi_id(path, required) — The string identifier of the associated RestApi.
resource_id(path, required) — The identifier of the Resource resource.
GET
/restapis/{restapi_id}/resources/{resource_id}
Lists information about a resource.
restapi_id(path, required) — The string identifier of the associated RestApi.
resource_id(path, required) — The identifier for the Resource resource.
embed(query) — A query parameter to retrieve the specified resources embedded in the returned Resource representation in the response. This embed parameter value is a list of comma-separated strings. Currently, the request supports only retrieval of the embedded Method resources this way. The query parameter value must be a single-valued list and contain the "methods" string. For example, GET /restapis/{restapi_id}/resources/{resource_id}?embed=methods .
PATCH
/restapis/{restapi_id}/resources/{resource_id}
Changes information about a Resource resource.
restapi_id(path, required) — The string identifier of the associated RestApi.
resource_id(path, required) — The identifier of the Resource resource.
DELETE
/restapis/{restapi_id}
Deletes the specified API.
restapi_id(path, required) — The string identifier of the associated RestApi.
GET
/restapis/{restapi_id}
Lists the RestApi resource in the collection.
restapi_id(path, required) — The string identifier of the associated RestApi.
PUT
/restapis/{restapi_id}
A feature of the API Gateway control service for updating an existing API with an input of external API definitions. The update can take the form of merging the supplied definition into the existing API or overwriting the existing API.
restapi_id(path, required) — The string identifier of the associated RestApi.
mode(query) — The mode query parameter to specify the update mode. Valid values are "merge" and "overwrite". By default, the update mode is "merge".
failonwarnings(query) — A query parameter to indicate whether to rollback the API update ( true ) or not ( false ) when a warning is encountered. The default value is false .
parameters(query) — Custom header parameters as part of the request. For example, to exclude DocumentationParts from an imported API, set ignore=documentation as a parameters value, as in the AWS CLI command of aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json' .
PATCH
/restapis/{restapi_id}
Changes information about the specified API.
restapi_id(path, required) — The string identifier of the associated RestApi.
DELETE
/restapis/{restapi_id}/stages/{stage_name}
Deletes a Stage resource.
restapi_id(path, required) — The string identifier of the associated RestApi.
stage_name(path, required) — The name of the Stage resource to delete.
GET
/restapis/{restapi_id}/stages/{stage_name}
Gets information about a Stage resource.
restapi_id(path, required) — The string identifier of the associated RestApi.
stage_name(path, required) — The name of the Stage resource to get information about.
PATCH
/restapis/{restapi_id}/stages/{stage_name}
Changes information about a Stage resource.
restapi_id(path, required) — The string identifier of the associated RestApi.
stage_name(path, required) — The name of the Stage resource to change information about.
DELETE
/usageplans/{usageplanId}
Deletes a usage plan of a given plan Id.
usageplanId(path, required) — The Id of the to-be-deleted usage plan.
GET
/usageplans/{usageplanId}
Gets a usage plan of a given plan identifier.
usageplanId(path, required) — The identifier of the UsagePlan resource to be retrieved.
PATCH
/usageplans/{usageplanId}
Updates a usage plan of a given plan Id.
usageplanId(path, required) — The Id of the to-be-updated usage plan.
DELETE
/usageplans/{usageplanId}/keys/{keyId}
Deletes a usage plan key and remove the underlying API key from the associated usage plan.
usageplanId(path, required) — The Id of the UsagePlan resource representing the usage plan containing the to-be-deleted UsagePlanKey resource representing a plan customer.
keyId(path, required) — The Id of the UsagePlanKey resource to be deleted.
GET
/usageplans/{usageplanId}/keys/{keyId}
Gets a usage plan key of a given key identifier.
usageplanId(path, required) — The Id of the UsagePlan resource representing the usage plan containing the to-be-retrieved UsagePlanKey resource representing a plan customer.
keyId(path, required) — The key Id of the to-be-retrieved UsagePlanKey resource representing a plan customer.
DELETE
/vpclinks/{vpclink_id}
Deletes an existing VpcLink of a specified identifier.
vpclink_id(path, required) — The identifier of the VpcLink. It is used in an Integration to reference this VpcLink.
GET
/vpclinks/{vpclink_id}
Gets a specified VPC link under the caller's account in a region.
vpclink_id(path, required) — The identifier of the VpcLink. It is used in an Integration to reference this VpcLink.
PATCH
/vpclinks/{vpclink_id}
Updates an existing VpcLink of a specified identifier.
vpclink_id(path, required) — The identifier of the VpcLink. It is used in an Integration to reference this VpcLink.
Exports a deployed version of a RestApi in a specified format.
restapi_id(path, required) — The string identifier of the associated RestApi.
stage_name(path, required) — The name of the Stage that will be exported.
export_type(path, required) — The type of export. Acceptable values are 'oas30' for OpenAPI 3.0.x and 'swagger' for Swagger/OpenAPI 2.0.
parameters(query) — A key-value map of query string parameters that specify properties of the export, depending on the requested exportType . For exportType oas30 and swagger , any combination of the following parameters are supported: extensions='integrations' or extensions='apigateway' will export the API with x-amazon-apigateway-integration extensions. extensions='authorizers' will export the API with x-amazon-apigateway-authorizer extensions. postman will export the API with Postman extensions, allowing for import to the Postman tool
Accept(header) — The content-type of the export, for example application/json . Currently application/json and application/yaml are supported for exportType of oas30 and swagger . This should be specified in the Accept header for direct API requests.
GET
/restapis/{restapi_id}/gatewayresponses
Gets the GatewayResponses collection on the given RestApi. If an API developer has not added any definitions for gateway responses, the result will be the API Gateway-generated default GatewayResponses collection for the supported response types.
restapi_id(path, required) — The string identifier of the associated RestApi.
position(query) — The current pagination position in the paged result set. The GatewayResponse collection does not support pagination and the position does not apply here.
limit(query, limit) — The maximum number of returned results per page. The default value is 25 and the maximum value is 500. The GatewayResponses collection does not support pagination and the limit does not apply here.
Generates a sample mapping template that can be used to transform a payload into the structure of a model.
restapi_id(path, required) — The string identifier of the associated RestApi.
model_name(path, required) — The name of the model for which to generate a template.
GET
/restapis/{restapi_id}/resources
Lists information about a collection of Resource resources.
restapi_id(path, required) — The string identifier of the associated RestApi.
position(query) — The current pagination position in the paged result set.
limit(query, limit) — The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
embed(query) — A query parameter used to retrieve the specified resources embedded in the returned Resources resource in the response. This embed parameter value is a list of comma-separated strings. Currently, the request supports only retrieval of the embedded Method resources this way. The query parameter value must be a single-valued list and contain the "methods" string. For example, GET /restapis/{restapi_id}/resources?embed=methods .
restapi_id(path, required) — The string identifier of the associated RestApi.
stage_name(path, required) — The name of the Stage that the SDK will use.
sdk_type(path, required) — The language for the generated SDK. Currently java , javascript , android , objectivec (for iOS), swift (for iOS), and ruby are supported.
parameters(query) — A string-to-string key-value map of query parameters sdkType -dependent properties of the SDK. For sdkType of objectivec or swift , a parameter named classPrefix is required. For sdkType of android , parameters named groupId , artifactId , artifactVersion , and invokerPackage are required. For sdkType of java , parameters named serviceName and javaPackageName are required.
GET
/sdktypes/{sdktype_id}
Gets an SDK type.
sdktype_id(path, required) — The identifier of the queried SdkType instance.
GET
/sdktypes
Gets SDK types
position(query) — The current pagination position in the paged result set.
limit(query, limit) — The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
GET
/tags/{resource_arn}
Gets the Tags collection for a given resource.
resource_arn(path, required) — The ARN of a resource that can be tagged.
position(query) — (Not currently supported) The current pagination position in the paged result set.
limit(query, limit) — (Not currently supported) The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
PUT
/tags/{resource_arn}
Adds or updates a tag on a given resource.
resource_arn(path, required) — The ARN of a resource that can be tagged.
GET
/usageplans/{usageplanId}/usage#startDate&endDate
Gets the usage data of a usage plan in a specified time interval.
usageplanId(path, required) — The Id of the usage plan associated with the usage data.
keyId(query) — The Id of the API key associated with the resultant usage data.
startDate(query, required) — The starting date (e.g., 2016-01-01) of the usage data.
endDate(query, required) — The ending date (e.g., 2016-12-31) of the usage data.
position(query) — The current pagination position in the paged result set.
limit(query, limit) — The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
POST
/apikeys#mode=import&format
Import API keys from an external source, such as a CSV-formatted file.
format(query, required) — A query parameter to specify the input format to imported API keys. Currently, only the csv format is supported.
failonwarnings(query) — A query parameter to indicate whether to rollback ApiKey importation ( true ) or not ( false ) when error is encountered.
mode(query, required)
POST
/restapis#mode=import
A feature of the API Gateway control service for creating a new API from an external API definition file.
failonwarnings(query) — A query parameter to indicate whether to rollback the API creation ( true ) or not ( false ) when a warning is encountered. The default value is false .
parameters(query) — A key-value map of context-specific query string parameters specifying the behavior of different API importing operations. The following shows operation-specific parameters and their supported values. To exclude DocumentationParts from the import, set parameters as ignore=documentation . To configure the endpoint type, set parameters as endpointConfigurationTypes=EDGE , endpointConfigurationTypes=REGIONAL , or endpointConfigurationTypes=PRIVATE . The default endpoint type is EDGE . To handle imported basepath , set parameters as basepath=ignore , basepath=prepend or basepath=split . For example, the AWS CLI command to exclude documentation from the imported API is: The AWS CLI command to set the regional endpoint on the imported API is:
mode(query, required)
PATCH
/usageplans/{usageplanId}/keys/{keyId}/usage
Grants a temporary extension to the remaining quota of a usage plan associated with a specified API key.
usageplanId(path, required) — The Id of the usage plan associated with the usage data.
keyId(path, required) — The identifier of the API key associated with the usage plan in which a temporary extension is granted to the remaining quota.
120 endpoints auto-detected
Authentication
This API uses an API key, passed in the "Authorization" header. No OAuth required.
curl -X POST \
"https://github.com/mermade/aws2openapi/usageplans" \
-H "Authorization: YOUR_API_KEY"