Amazon API Gateway helps developers deliver robust, secure, and scalable mobile and web application back ends. API Gateway allows developers to securely connect mobile and web applications to APIs that run on AWS Lambda, Amazon EC2, or other publicly addressable web services that are hosted outside of AWS.
Access log settings, including the access log format and access log destination ARN.
Represents an AWS account that is associated with API Gateway.
To view the account info, call
The following exception may be thrown when the request fails.
For detailed error code information, including the corresponding HTTP Status Codes, see API Gateway Error Codes
Example: Get the information about an account.
The successful response returns a
In addition to making the REST API call directly, you can use the AWS CLI and an AWS SDK to access this resource.
A client for the Amazon API Gateway API.
A resource that can be distributed to callers for executing Method resources that require an API key. API keys can be mapped to any Stage on any RestApi, which indicates that the callers with the API key can make requests to that stage.
Represents a collection of API keys as represented by an ApiKeys resource.
API stage name of the associated API stage in a usage plan.
Represents an authorization layer for methods. If enabled on a method, API Gateway will activate the authorizer when a client calls the method.
Represents a collection of Authorizer resources.
Represents the base path that callers of the API must provide as part of the URL after the domain name.
A custom domain name plus a
Represents a collection of BasePathMapping resources.
Configuration settings of a canary deployment.
Represents a client certificate used to configure client-side SSL authentication while sending requests to the integration endpoint.
Client certificates are used to authenticate an API by the backend server. To authenticate an API client (or user), use IAM roles and policies, a custom Authorizer or an Amazon Cognito user pool.
Represents a collection of ClientCertificate resources.
Request to create an ApiKey resource.
Requests API Gateway to create a new BasePathMapping resource.
Requests API Gateway to create a Deployment resource.
Creates a new documentation part of a given API.
Creates a new documentation version of a given API.
A request to create a new domain name.
Requests API Gateway to create a Resource resource.
The POST Request to add a new RestApi resource to your collection.
Requests API Gateway to create a Stage resource.
The POST request to create a usage plan key for adding an existing API key to a usage plan.
The POST request to create a usage plan with the name, description, throttle limits and quota limits, as well as the associated API stages, specified in the payload.
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.
A request to delete the ApiKey resource.
Request to delete an existing Authorizer resource.
A request to delete the BasePathMapping resource.
A request to delete the ClientCertificate resource.
Requests API Gateway to delete a Deployment resource.
Deletes an existing documentation part of an API.
Deletes an existing documentation version of an API.
A request to delete the DomainName resource.
Represents a delete integration request.
Represents a delete integration response request.
Request to delete an existing Method resource.
A request to delete an existing MethodResponse resource.
Request to delete an existing model in an existing RestApi resource.
Request to delete a Resource.
Request to delete the specified API from your collection.
Requests API Gateway to delete a Stage resource.
The DELETE request to delete a usage plan key and remove the underlying API key from the associated usage plan.
The DELETE request to delete a usage plan of a given plan Id.
Deletes an existing VpcLink of a specified identifier.
To create a deployment, call
The input configuration for a canary deployment.
Represents a collection resource that contains zero or more references to your existing deployments, and links that guide you on how to interact with your collection. The collection offers a paginated view of the contained deployments.
To create a new deployment of a RestApi, make a
A documentation part for a targeted API entity.
A documentation part consists of a content map (
The content map is a JSON string of API-specific key-value pairs. Although an API can use any shape for the content map, only the OpenAPI-compliant documentation fields will be injected into the associated API entity definition in the exported OpenAPI definition file.
A collection of the imported DocumentationPart identifiers.
This is used to return the result when documentation parts in an external (e.g., OpenAPI) file are imported into API Gateway
Specifies the target API entity to which the documentation applies.
The collection of documentation parts of an API.
A snapshot of the documentation of an API.
Publishing API documentation involves creating a documentation version associated with an API stage and exporting the versioned documentation to an external (e.g., OpenAPI) file.
The collection of documentation snapshots of an API.
Use the DocumentationVersions to manage documentation snapshots associated with various API stages.
Represents a custom domain name as a user-friendly host name of an API (RestApi).
When you deploy an API, API Gateway creates a default host name for the API. This default API host name is of the
Represents a collection of DomainName resources.
The binary blob response to GetExport, which contains the generated SDK.
Request to flush authorizer cache entries on a specified stage.
Requests API Gateway to flush a stage's cache.
A gateway response of a given response type and status code, with optional response parameters and mapping templates.
For more information about valid gateway response types, see Gateway Response Types Supported by API Gateway
Example: Get a Gateway Response of a given response type
This example shows how to get a gateway response of the
The response type is specified as a URL path.
The successful operation returns the
For more information about valid gateway response types, see Gateway Response Types Supported by API Gateway
Example: Get the collection of gateway responses of an API
This example request shows how to retrieve the GatewayResponses collection from an API.
The successful operation returns the
A request to generate a ClientCertificate resource.
Requests API Gateway to get information about the current Account resource.
A request to get information about the current ApiKey resource.
A request to get information about the current ApiKeys resource.
Request to describe an existing Authorizer resource.
Request to describe an existing Authorizers resource.
Request to describe a BasePathMapping resource.
A request to get information about a collection of BasePathMapping resources.
A request to get information about the current ClientCertificate resource.
A request to get information about a collection of ClientCertificate resources.
Requests API Gateway to get information about a Deployment resource.
Requests API Gateway to get information about a Deployments collection.
Gets a specified documentation part of a given API.
Gets the documentation parts of an API. The result may be filtered by the type, name, or path of API entities (targets).
Gets a documentation snapshot of an API.
Gets the documentation versions of an API.
Request to get the name of a DomainName resource.
Request to describe a collection of DomainName resources.
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.
Represents a request to get the integration configuration.
Represents a get integration response request.
Request to describe an existing Method resource.
Request to describe a MethodResponse resource.
Request to list information about a model in an existing RestApi resource.
Request to generate a sample mapping template used to transform the payload.
Request to list information about a resource.
Request to list information about a collection of resources.
The GET request to list an existing RestApi defined for your collection.
The GET request to list existing RestApis defined for your collection.
Get an SdkType instance.
Get the SdkTypes collection.
Requests API Gateway to get information about a Stage resource.
Requests API Gateway to get information about one or more Stage resources.
Gets the Tags collection for a given resource.
The GET request to get a usage plan key of a given key identifier.
The GET request to get all the usage plan keys representing the API keys added to a specified usage plan.
The GET request to get a usage plan of a given plan identifier.
The GET request to get all the usage plans of the caller's account.
The GET request to get the usage data of a usage plan in a specified time interval.
Gets a specified VPC link under the caller's account in a region.
Gets the VpcLinks collection under the caller's account in a selected region.
The POST request to import API keys from an external source, such as a CSV-formatted file.
Import documentation parts from an external (e.g., OpenAPI) definition file.
A POST request to import an API to API Gateway using an input of an API definition file.
Represents an HTTP, HTTPPROXY, AWS, AWSPROXY, or Mock integration.
In the API Gateway console, the built-in Lambda integration is an AWS integration.
Represents an integration response. The status code must map to an existing MethodResponse, and parameters and templates can be used to transform the back-end response.
Represents a client-facing interface by which the client calls the API to access back-end resources. A Method resource is integrated with an Integration resource. Both consist of a request and one or more responses. The method request takes the client input that is passed to the back end through the integration request. A method response returns the output from the back end to the client through an integration response. A method request is embodied in a Method resource, whereas an integration request is embodied in an Integration resource. On the other hand, a method response is represented by a MethodResponse resource, whereas an integration response is represented by an IntegrationResponse resource.
Example: Retrive the GET method on a specified resource
The following example request retrieves the information about the GET method on an API resource (
The successful response returns a
In the example above, the response template for the
Represents a method response of a given HTTP status code returned to the client. The method response is passed from the back end through the associated integration response that can be transformed using a mapping template.
Example: A MethodResponse instance of an API
The example request retrieves a MethodResponse of the 200 status code.
The successful response returns
Specifies the method setting properties.
Represents a summary of a Method resource, given a particular date and time.
Represents the data structure of a method's request or response payload.
A request model defines the data structure of the client-supplied request payload. A response model defines the data structure of the response payload returned by the back end. Although not required, models are useful for mapping payloads between the front end and back end.
A model is used for generating an API's SDK, validating the input request body, and creating a skeletal mapping template.
Represents a collection of Model resources.
A single patch operation to apply to the specified resource. Please refer to http://tools.ietf.org/html/rfc6902#section-4 for an explanation of how each operation is used.
Sets up a method's integration.
Represents a put integration response request.
Request to add a method to an existing Resource resource.
A PUT request to update an existing API, with external API definitions specified as the request body.
Quotas configured for a usage plan.
A set of validation rules for incoming Method requests.
In OpenAPI, a RequestValidator of an API is defined by the x-amazon-apigateway-request-validators.requestValidator object. It the referenced using the x-amazon-apigateway-request-validator property.
Represents an API resource.
Represents a collection of Resource resources.
Represents a REST API.
Contains references to your APIs and links that guide you in how to interact with your collection. A collection offers a paginated view of your APIs.
A configuration property of an SDK type.
The binary blob response to GetSdk, which contains the generated SDK.
A type of SDK that API Gateway can generate.
The collection of SdkType instances.
Represents a unique identifier for a version of a deployed RestApi that is callable by users.
A reference to a unique stage identified in the format
Adds or updates a tag on a given resource.
The collection of tags. Each tag element is associated with a given resource.
Represents a mapping template used to transform a payload.
Make a request to simulate the execution of an Authorizer.
Represents the response of the test invoke request for a custom Authorizer
Make a request to simulate the execution of a Method.
Represents the response of the test invoke request in the HTTP method.
The API request rate limits.
Removes a tag from a given resource.
Requests API Gateway to change information about the current Account resource.
A request to change information about an ApiKey resource.
Request to update an existing Authorizer resource.
A request to change information about the BasePathMapping resource.
A request to change information about an ClientCertificate resource.
Requests API Gateway to change information about a Deployment resource.
Updates an existing documentation part of a given API.
Updates an existing documentation version of an API.
A request to change information about the DomainName resource.
Represents an update integration request.
Represents an update integration response request.
Request to update an existing Method resource.
A request to update an existing MethodResponse resource.
Request to update an existing model in an existing RestApi resource.
Request to change information about a Resource resource.
Request to update an existing RestApi resource in your collection.
Requests API Gateway to change information about a Stage resource.
The PATCH request to update a usage plan of a given plan Id.
The PATCH request to grant a temporary extension to the remaining quota of a usage plan associated with a specified API key.
Updates an existing VpcLink of a specified identifier.
Represents the usage data of a usage plan.
Represents a usage plan than can specify who can assess associated API stages with specified request limits and quotas.
In a usage plan, you associate an API by specifying the API's Id and a stage name of the specified API. You add plan customers by adding API keys to the plan.
Represents a usage plan key to identify a plan customer.
To associate an API stage with a selected API key in a usage plan, you must create a UsagePlanKey resource to represent the selected ApiKey.
Represents the collection of usage plan keys added to usage plans for the associated API keys and, possibly, other types of keys.
Represents a collection of usage plans for an AWS account.
An API Gateway VPC link for a RestApi to access resources in an Amazon Virtual Private Cloud (VPC).
To enable access to a resource in an Amazon Virtual Private Cloud through Amazon API Gateway, you, as an API developer, create a VpcLink resource targeted for one or more network load balancers of the VPC and then integrate an API method with a private integration that uses the VpcLink. The private integration has an integration type of
The collection of VPC links under the caller's account in a region.
Errors returned by CreateApiKey
Errors returned by CreateAuthorizer
Errors returned by CreateBasePathMapping
Errors returned by CreateDeployment
Errors returned by CreateDocumentationPart
Errors returned by CreateDocumentationVersion
Errors returned by CreateDomainName
Errors returned by CreateModel
Errors returned by CreateRequestValidator
Errors returned by CreateResource
Errors returned by CreateRestApi
Errors returned by CreateStage
Errors returned by CreateUsagePlan
Errors returned by CreateUsagePlanKey
Errors returned by CreateVpcLink
Errors returned by DeleteApiKey
Errors returned by DeleteAuthorizer
Errors returned by DeleteBasePathMapping
Errors returned by DeleteClientCertificate
Errors returned by DeleteDeployment
Errors returned by DeleteDocumentationPart
Errors returned by DeleteDocumentationVersion
Errors returned by DeleteDomainName
Errors returned by DeleteGatewayResponse
Errors returned by DeleteIntegration
Errors returned by DeleteIntegrationResponse
Errors returned by DeleteMethod
Errors returned by DeleteMethodResponse
Errors returned by DeleteModel
Errors returned by DeleteRequestValidator
Errors returned by DeleteResource
Errors returned by DeleteRestApi
Errors returned by DeleteStage
Errors returned by DeleteUsagePlan
Errors returned by DeleteUsagePlanKey
Errors returned by DeleteVpcLink
Errors returned by FlushStageAuthorizersCache
Errors returned by FlushStageCache
Errors returned by GenerateClientCertificate
Errors returned by GetAccount
Errors returned by GetApiKey
Errors returned by GetApiKeys
Errors returned by GetAuthorizer
Errors returned by GetAuthorizers
Errors returned by GetBasePathMapping
Errors returned by GetBasePathMappings
Errors returned by GetClientCertificate
Errors returned by GetClientCertificates
Errors returned by GetDeployment
Errors returned by GetDeployments
Errors returned by GetDocumentationPart
Errors returned by GetDocumentationParts
Errors returned by GetDocumentationVersion
Errors returned by GetDocumentationVersions
Errors returned by GetDomainName
Errors returned by GetDomainNames
Errors returned by GetExport
Errors returned by GetGatewayResponse
Errors returned by GetGatewayResponses
Errors returned by GetIntegration
Errors returned by GetIntegrationResponse
Errors returned by GetMethod
Errors returned by GetMethodResponse
Errors returned by GetModel
Errors returned by GetModelTemplate
Errors returned by GetModels
Errors returned by GetRequestValidator
Errors returned by GetRequestValidators
Errors returned by GetResource
Errors returned by GetResources
Errors returned by GetRestApi
Errors returned by GetRestApis
Errors returned by GetSdk
Errors returned by GetSdkType
Errors returned by GetSdkTypes
Errors returned by GetStage
Errors returned by GetStages
Errors returned by GetTags
Errors returned by GetUsage
Errors returned by GetUsagePlan
Errors returned by GetUsagePlanKey
Errors returned by GetUsagePlanKeys
Errors returned by GetUsagePlans
Errors returned by GetVpcLink
Errors returned by GetVpcLinks
Errors returned by ImportApiKeys
Errors returned by ImportDocumentationParts
Errors returned by ImportRestApi
Errors returned by PutGatewayResponse
Errors returned by PutIntegration
Errors returned by PutIntegrationResponse
Errors returned by PutMethod
Errors returned by PutMethodResponse
Errors returned by PutRestApi
Errors returned by TagResource
Errors returned by TestInvokeAuthorizer
Errors returned by TestInvokeMethod
Errors returned by UntagResource
Errors returned by UpdateAccount
Errors returned by UpdateApiKey
Errors returned by UpdateAuthorizer
Errors returned by UpdateBasePathMapping
Errors returned by UpdateClientCertificate
Errors returned by UpdateDeployment
Errors returned by UpdateDocumentationPart
Errors returned by UpdateDocumentationVersion
Errors returned by UpdateDomainName
Errors returned by UpdateGatewayResponse
Errors returned by UpdateIntegration
Errors returned by UpdateIntegrationResponse
Errors returned by UpdateMethod
Errors returned by UpdateMethodResponse
Errors returned by UpdateModel
Errors returned by UpdateRequestValidator
Errors returned by UpdateResource
Errors returned by UpdateRestApi
Errors returned by UpdateStage
Errors returned by UpdateUsage
Errors returned by UpdateUsagePlan
Errors returned by UpdateVpcLink
Trait representing the capabilities of the Amazon API Gateway API. Amazon API Gateway clients implement this trait.