openapi: 3.0.0
info:
version: "1.0.0"
x-release: v4
title: APIs.io Engineering Platform Amazon API Gateway 2014 11 13 Restapis API
description: <fullname>Amazon API Gateway</fullname> <p>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.</p>
x-logo:
url: https://api.apis.guru/v2/cache/logo/https_twitter.com_awscloud_profile_image.png
backgroundColor: '#FFFFFF'
termsOfService: https://aws.amazon.com/service-terms/
contact:
name: Mike Ralphson
email: mike.ralphson@gmail.com
url: https://github.com/mermade/aws2openapi
x-twitter: PermittedSoc
license:
name: Apache 2.0 License
url: http://www.apache.org/licenses/
x-providerName: amazonaws.com
x-serviceName: apigateway
x-origin:
- contentType: application/json
url: https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/apigateway-2015-07-09.normal.json
converter:
url: https://github.com/mermade/aws2openapi
x-apisguru-driver: external
x-apiClientRegistration:
url: https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct
x-apisguru-categories:
- cloud
x-preferred: true
servers:
- url: http://apigateway.{region}.amazonaws.com
variables:
region:
description: The AWS region
enum:
- us-east-1
- us-east-2
- us-west-1
- us-west-2
- us-gov-west-1
- us-gov-east-1
- ca-central-1
- eu-north-1
- eu-west-1
- eu-west-2
- eu-west-3
- eu-central-1
- eu-south-1
- af-south-1
- ap-northeast-1
- ap-northeast-2
- ap-northeast-3
- ap-southeast-1
- ap-southeast-2
- ap-east-1
- ap-south-1
- sa-east-1
- me-south-1
default: us-east-1
description: The Amazon API Gateway multi-region endpoint
- url: https://apigateway.{region}.amazonaws.com
variables:
region:
description: The AWS region
enum:
- us-east-1
- us-east-2
- us-west-1
- us-west-2
- us-gov-west-1
- us-gov-east-1
- ca-central-1
- eu-north-1
- eu-west-1
- eu-west-2
- eu-west-3
- eu-central-1
- eu-south-1
- af-south-1
- ap-northeast-1
- ap-northeast-2
- ap-northeast-3
- ap-southeast-1
- ap-southeast-2
- ap-east-1
- ap-south-1
- sa-east-1
- me-south-1
default: us-east-1
description: The Amazon API Gateway multi-region endpoint
- url: http://apigateway.{region}.amazonaws.com.cn
variables:
region:
description: The AWS region
enum:
- cn-north-1
- cn-northwest-1
default: cn-north-1
description: The Amazon API Gateway endpoint for China (Beijing) and China (Ningxia)
- url: https://apigateway.{region}.amazonaws.com.cn
variables:
region:
description: The AWS region
enum:
- cn-north-1
- cn-northwest-1
default: cn-north-1
description: The Amazon API Gateway endpoint for China (Beijing) and China (Ningxia)
security:
- hmac: []
tags:
- name: Restapis
paths:
/restapis/{restapi_id}/authorizers:
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
post:
operationId: CreateAuthorizer
description: Adds a new Authorizer resource to an existing RestApi resource.
responses:
'201':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Authorizer'
'480':
description: BadRequestException
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestException'
'481':
description: ConflictException
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictException'
'482':
description: LimitExceededException
content:
application/json:
schema:
$ref: '#/components/schemas/LimitExceededException'
'483':
description: NotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundException'
'484':
description: UnauthorizedException
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedException'
'485':
description: TooManyRequestsException
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsException'
parameters:
- name: restapi_id
in: path
required: true
description: The string identifier of the associated RestApi.
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- name
- type
properties:
name:
description: The name of the authorizer.
type: string
type:
description: The authorizer type. Valid values are <code>TOKEN</code> for a Lambda function using a single authorization token submitted in a custom header, <code>REQUEST</code> for a Lambda function using incoming request parameters, and <code>COGNITO_USER_POOLS</code> for using an Amazon Cognito user pool.
type: string
enum:
- TOKEN
- REQUEST
- COGNITO_USER_POOLS
providerARNs:
description: 'A list of the Amazon Cognito user pool ARNs for the <code>COGNITO_USER_POOLS</code> authorizer. Each element is of this format: <code>arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}</code>. For a <code>TOKEN</code> or <code>REQUEST</code> authorizer, this is not defined. '
type: array
items:
$ref: '#/components/schemas/ProviderARN'
authType:
description: Optional customer-defined field, used in OpenAPI imports and exports without functional impact.
type: string
authorizerUri:
description: Specifies the authorizer's Uniform Resource Identifier (URI). For <code>TOKEN</code> or <code>REQUEST</code> authorizers, this must be a well-formed Lambda function URI, for example, <code>arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations</code>. In general, the URI has this form <code>arn:aws:apigateway:{region}:lambda:path/{service_api}</code>, where <code>{region}</code> is the same as the region hosting the Lambda function, <code>path</code> indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial <code>/</code>. For Lambda functions, this is usually of the form <code>/2015-03-31/functions/[FunctionARN]/invocations</code>.
type: string
authorizerCredentials:
description: Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.
type: string
identitySource:
description: The identity source for which authorization is requested. For a <code>TOKEN</code> or <code>COGNITO_USER_POOLS</code> authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is <code>Auth</code>, the header mapping expression is <code>method.request.header.Auth</code>. For the <code>REQUEST</code> authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an <code>Auth</code> header, a <code>Name</code> query string parameter are defined as identity sources, this value is <code>method.request.header.Auth, method.request.querystring.Name</code>. These parameters will be used to derive the authorization caching key and to perform runtime validation of the <code>REQUEST</code> authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional.
type: string
identityValidationExpression:
description: A validation expression for the incoming identity token. For <code>TOKEN</code> authorizers, this value is a regular expression. For <code>COGNITO_USER_POOLS</code> authorizers, API Gateway will match the <code>aud</code> field of the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function when there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the <code>REQUEST</code> authorizer.
type: string
authorizerResultTtlInSeconds:
description: The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.
type: integer
tags:
- Restapis
get:
operationId: GetAuthorizers
description: Describe an existing Authorizers resource.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Authorizers'
'480':
description: BadRequestException
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestException'
'481':
description: NotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundException'
'482':
description: UnauthorizedException
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedException'
'483':
description: TooManyRequestsException
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsException'
parameters:
- name: restapi_id
in: path
required: true
description: The string identifier of the associated RestApi.
schema:
type: string
- name: position
in: query
required: false
description: The current pagination position in the paged result set.
schema:
type: string
- name: limit
in: query
required: false
description: The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
schema:
type: integer
tags:
- Restapis
/restapis/{restapi_id}/deployments:
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
post:
operationId: CreateDeployment
description: Creates a Deployment resource, which makes a specified RestApi callable over the internet.
responses:
'201':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Deployment'
'480':
description: BadRequestException
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestException'
'481':
description: ConflictException
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictException'
'482':
description: LimitExceededException
content:
application/json:
schema:
$ref: '#/components/schemas/LimitExceededException'
'483':
description: NotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundException'
'484':
description: UnauthorizedException
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedException'
'485':
description: TooManyRequestsException
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsException'
'486':
description: ServiceUnavailableException
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceUnavailableException'
parameters:
- name: restapi_id
in: path
required: true
description: The string identifier of the associated RestApi.
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
stageName:
description: The name of the Stage resource for the Deployment resource to create.
type: string
stageDescription:
description: The description of the Stage resource for the Deployment resource to create.
type: string
description:
description: The description for the Deployment resource to create.
type: string
cacheClusterEnabled:
description: Enables a cache cluster for the Stage resource specified in the input.
type: boolean
cacheClusterSize:
description: Returns the size of the CacheCluster.
type: string
enum:
- '0.5'
- '1.6'
- '6.1'
- '13.5'
- '28.4'
- '58.2'
- '118'
- '237'
variables:
description: A map that defines the stage variables for the Stage resource that is associated with the new deployment. Variable names can have alphanumeric and underscore characters, and the values must match <code>[A-Za-z0-9-._~:/?#&=,]+</code>.
type: object
additionalProperties:
$ref: '#/components/schemas/String'
canarySettings:
description: The input configuration for a canary deployment.
type: object
properties:
percentTraffic:
allOf:
- $ref: '#/components/schemas/Double'
- description: The percentage (0.0-100.0) of traffic routed to the canary deployment.
stageVariableOverrides:
allOf:
- $ref: '#/components/schemas/MapOfStringToString'
- description: A stage variable overrides used for the canary release deployment. They can override existing stage variables or add new stage variables for the canary release deployment. These stage variables are represented as a string-to-string map between stage variable names and their values.
useStageCache:
allOf:
- $ref: '#/components/schemas/Boolean'
- description: A Boolean flag to indicate whether the canary release deployment uses the stage cache or not.
tracingEnabled:
description: Specifies whether active tracing with X-ray is enabled for the Stage.
type: boolean
tags:
- Restapis
get:
operationId: GetDeployments
description: Gets information about a Deployments collection.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Deployments'
'480':
description: BadRequestException
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestException'
'481':
description: NotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundException'
'482':
description: UnauthorizedException
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedException'
'483':
description: TooManyRequestsException
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsException'
'484':
description: ServiceUnavailableException
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceUnavailableException'
parameters:
- name: restapi_id
in: path
required: true
description: The string identifier of the associated RestApi.
schema:
type: string
- name: position
in: query
required: false
description: The current pagination position in the paged result set.
schema:
type: string
- name: limit
in: query
required: false
description: The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
schema:
type: integer
tags:
- Restapis
/restapis/{restapi_id}/documentation/parts:
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
post:
operationId: CreateDocumentationPart
description: Creates a documentation part.
responses:
'201':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentationPart'
'480':
description: BadRequestException
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestException'
'481':
description: ConflictException
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictException'
'482':
description: LimitExceededException
content:
application/json:
schema:
$ref: '#/components/schemas/LimitExceededException'
'483':
description: NotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundException'
'484':
description: UnauthorizedException
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedException'
'485':
description: TooManyRequestsException
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsException'
parameters:
- name: restapi_id
in: path
required: true
description: The string identifier of the associated RestApi.
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- location
- properties
properties:
location:
description: Specifies the target API entity to which the documentation applies.
type: object
properties:
type:
allOf:
- $ref: '#/components/schemas/DocumentationPartType'
- description: The type of API entity to which the documentation content applies. Valid values are <code>API</code>, <code>AUTHORIZER</code>, <code>MODEL</code>, <code>RESOURCE</code>, <code>METHOD</code>, <code>PATH_PARAMETER</code>, <code>QUERY_PARAMETER</code>, <code>REQUEST_HEADER</code>, <code>REQUEST_BODY</code>, <code>RESPONSE</code>, <code>RESPONSE_HEADER</code>, and <code>RESPONSE_BODY</code>. Content inheritance does not apply to any entity of the <code>API</code>, <code>AUTHORIZER</code>, <code>METHOD</code>, <code>MODEL</code>, <code>REQUEST_BODY</code>, or <code>RESOURCE</code> type.
path:
allOf:
- $ref: '#/components/schemas/String'
- description: The URL path of the target. It is a valid field for the API entity types of <code>RESOURCE</code>, <code>METHOD</code>, <code>PATH_PARAMETER</code>, <code>QUERY_PARAMETER</code>, <code>REQUEST_HEADER</code>, <code>REQUEST_BODY</code>, <code>RESPONSE</code>, <code>RESPONSE_HEADER</code>, and <code>RESPONSE_BODY</code>. The default value is <code>/</code> for the root resource. When an applicable child entity inherits the content of another entity of the same type with more general specifications of the other <code>location</code> attributes, the child entity's <code>path</code> attribute must match that of the parent entity as a prefix.
method:
allOf:
- $ref: '#/components/schemas/String'
- description: The HTTP verb of a method. It is a valid field for the API entity types of <code>METHOD</code>, <code>PATH_PARAMETER</code>, <code>QUERY_PARAMETER</code>, <code>REQUEST_HEADER</code>, <code>REQUEST_BODY</code>, <code>RESPONSE</code>, <code>RESPONSE_HEADER</code>, and <code>RESPONSE_BODY</code>. The default value is <code>*</code> for any method. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other <code>location</code> attributes, the child entity's <code>method</code> attribute must match that of the parent entity exactly.
statusCode:
allOf:
- $ref: '#/components/schemas/DocumentationPartLocationStatusCode'
- description: The HTTP status code of a response. It is a valid field for the API entity types of <code>RESPONSE</code>, <code>RESPONSE_HEADER</code>, and <code>RESPONSE_BODY</code>. The default value is <code>*</code> for any status code. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other <code>location</code> attributes, the child entity's <code>statusCode</code> attribute must match that of the parent entity exactly.
name:
allOf:
- $ref: '#/components/schemas/String'
- description: The name of the targeted API entity. It is a valid and required field for the API entity types of <code>AUTHORIZER</code>, <code>MODEL</code>, <code>PATH_PARAMETER</code>, <code>QUERY_PARAMETER</code>, <code>REQUEST_HEADER</code>, <code>REQUEST_BODY</code> and <code>RESPONSE_HEADER</code>. It is an invalid field for any other entity type.
properties:
description: The new documentation content map of the targeted API entity. Enclosed key-value pairs are API-specific, but only OpenAPI-compliant key-value pairs can be exported and, hence, published.
type: string
tags:
- Restapis
get:
operationId: GetDocumentationParts
description: Gets documentation parts.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentationParts'
'480':
description: BadRequestException
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestException'
'481':
description: NotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundException'
'482':
description: UnauthorizedException
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedException'
'483':
description: TooManyRequestsException
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsException'
parameters:
- name: restapi_id
in: path
required: true
description: The string identifier of the associated RestApi.
schema:
type: string
- name: type
in: query
required: false
description: 'The type of API entities of the to-be-retrieved documentation parts. '
schema:
type: string
enum:
- API
- AUTHORIZER
- MODEL
- RESOURCE
- METHOD
- PATH_PARAMETER
- QUERY_PARAMETER
- REQUEST_HEADER
- REQUEST_BODY
- RESPONSE
- RESPONSE_HEADER
- RESPONSE_BODY
- name: name
in: query
required: false
description: The name of API entities of the to-be-retrieved documentation parts.
schema:
type: string
- name: path
in: query
required: false
description: The path of API entities of the to-be-retrieved documentation parts.
schema:
type: string
- name: position
in: query
required: false
description: The current pagination position in the paged result set.
schema:
type: string
- name: limit
in: query
required: false
description: The maximum number of returned results per page. The default value is 25 and the maximum value is 500.
schema:
type: integer
- name: locationStatus
in: query
required: false
description: The status of the API documentation parts to retrieve. Valid values are <code>DOCUMENTED</code> for retrieving DocumentationPart resources with content and <code>UNDOCUMENTED</code> for DocumentationPart resources without content.
schema:
type: string
enum:
- DOCUMENTED
- UNDOCUMENTED
tags:
- Restapis
put:
operationId: ImportDocumentationParts
description: Imports documentation parts
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentationPartIds'
'480':
description: BadRequestException
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestException'
'481':
description: ConflictException
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictException'
'482':
description: LimitExceededException
content:
application/json:
schema:
$ref: '#/components/schemas/LimitExceededException'
'483':
description: NotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundException'
'484':
description: UnauthorizedException
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedException'
'485':
description: TooManyRequestsException
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsException'
parameters:
- name: restapi_id
in: path
required: true
description: The string identifier of the associated RestApi.
schema:
type: string
- name: mode
in: query
required: false
description: A query parameter to indicate whether to overwrite (<code>OVERWRITE</code>) any existing DocumentationParts definition or to merge (<code>MERGE</code>) the new definition into the existing one. The default value is <code>MERGE</code>.
schema:
type: string
enum:
- merge
- overwrite
- name: failonwarnings
in: query
required: false
description: A query parameter to specify whether to rollback the documentation importation (<code>true</code>) or not (<code>false</code>) when a warning is encountered. The default value is <code>false</code>.
schema:
type: boolean
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- body
properties:
body:
description: Raw byte array representing the to-be-imported documentation parts. To import from an OpenAPI file, this is a JSON object.
type: string
tags:
- Restapis
/restapis/{restapi_id}/documentation/versions:
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
post:
operationId: CreateDocumentationVersion
description: Creates a documentation version
responses:
'201':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentationVersion'
'480':
description: BadRequestException
content:
application/json:
schema:
# --- truncated at 32 KB (269 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/apis-io-engineering-platform/refs/heads/main/openapi/engineering-platform-restapis-api-openapi.yml