openapi: 3.0.0 info: version: 2015-07-09 x-release: v4 title: APIs.io Engineering Platform Amazon API Gateway 2014 11 13 2021 10 31 API description: Amazon API Gateway

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.

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 version: 1.0.0 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: 2021 10 31 paths: /2021-10-31/functions/{FunctionName}/url: 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: CreateFunctionUrlConfig description: Creates a Lambda function URL with the specified configuration parameters. A function URL is a dedicated HTTP(S) endpoint that you can use to invoke your function. responses: '201': description: Success content: application/json: schema: $ref: '#/components/schemas/CreateFunctionUrlConfigResponse' '480': description: ResourceConflictException content: application/json: schema: $ref: '#/components/schemas/ResourceConflictException' '481': description: ResourceNotFoundException content: application/json: schema: $ref: '#/components/schemas/ResourceNotFoundException' '482': description: InvalidParameterValueException content: application/json: schema: $ref: '#/components/schemas/InvalidParameterValueException' '483': description: ServiceException content: application/json: schema: $ref: '#/components/schemas/ServiceException' '484': description: TooManyRequestsException content: application/json: schema: $ref: '#/components/schemas/TooManyRequestsException' parameters: - name: FunctionName in: path required: true description:

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

schema: type: string pattern: (arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))? minLength: 1 maxLength: 140 - name: Qualifier in: query required: false description: The alias name. schema: type: string pattern: (^\$LATEST$)|((?!^[0-9]+$)([a-zA-Z0-9-_]+)) minLength: 1 maxLength: 128 requestBody: required: true content: application/json: schema: type: object required: - AuthType properties: AuthType: description: The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Security and auth model for Lambda function URLs. type: string enum: - NONE - AWS_IAM Cors: description: The cross-origin resource sharing (CORS) settings for your Lambda function URL. Use CORS to grant access to your function URL from any origin. You can also use CORS to control access for specific HTTP headers and methods in requests to your function URL. type: object properties: AllowCredentials: allOf: - $ref: '#/components/schemas/AllowCredentials' - description: Whether to allow cookies or other credentials in requests to your function URL. The default is false. AllowHeaders: allOf: - $ref: '#/components/schemas/HeadersList' - description: 'The HTTP headers that origins can include in requests to your function URL. For example: Date, Keep-Alive, X-Custom-Header.' AllowMethods: allOf: - $ref: '#/components/schemas/AllowMethodsList' - description: 'The HTTP methods that are allowed when calling your function URL. For example: GET, POST, DELETE, or the wildcard character (*).' AllowOrigins: allOf: - $ref: '#/components/schemas/AllowOriginsList' - description: '

The origins that can access your function URL. You can list any number of specific origins, separated by a comma. For example: https://www.example.com, http://localhost:60905.

Alternatively, you can grant access to all origins using the wildcard character (*).

' ExposeHeaders: allOf: - $ref: '#/components/schemas/HeadersList' - description: 'The HTTP headers in your function response that you want to expose to origins that call your function URL. For example: Date, Keep-Alive, X-Custom-Header.' MaxAge: allOf: - $ref: '#/components/schemas/MaxAge' - description: The maximum amount of time, in seconds, that web browsers can cache results of a preflight request. By default, this is set to 0, which means that the browser doesn't cache results. InvokeMode: description:

Use one of the following options:

type: string enum: - BUFFERED - RESPONSE_STREAM tags: - 2021 10 31 delete: operationId: DeleteFunctionUrlConfig description: Deletes a Lambda function URL. When you delete a function URL, you can't recover it. Creating a new function URL results in a different URL address. responses: '204': description: Success '480': description: ResourceConflictException content: application/json: schema: $ref: '#/components/schemas/ResourceConflictException' '481': description: ResourceNotFoundException content: application/json: schema: $ref: '#/components/schemas/ResourceNotFoundException' '482': description: ServiceException content: application/json: schema: $ref: '#/components/schemas/ServiceException' '483': description: TooManyRequestsException content: application/json: schema: $ref: '#/components/schemas/TooManyRequestsException' parameters: - name: FunctionName in: path required: true description:

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

schema: type: string pattern: (arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))? minLength: 1 maxLength: 140 - name: Qualifier in: query required: false description: The alias name. schema: type: string pattern: (^\$LATEST$)|((?!^[0-9]+$)([a-zA-Z0-9-_]+)) minLength: 1 maxLength: 128 tags: - 2021 10 31 get: operationId: GetFunctionUrlConfig description: Returns details about a Lambda function URL. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/GetFunctionUrlConfigResponse' '480': description: InvalidParameterValueException content: application/json: schema: $ref: '#/components/schemas/InvalidParameterValueException' '481': description: ServiceException content: application/json: schema: $ref: '#/components/schemas/ServiceException' '482': description: ResourceNotFoundException content: application/json: schema: $ref: '#/components/schemas/ResourceNotFoundException' '483': description: TooManyRequestsException content: application/json: schema: $ref: '#/components/schemas/TooManyRequestsException' parameters: - name: FunctionName in: path required: true description:

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

schema: type: string pattern: (arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))? minLength: 1 maxLength: 140 - name: Qualifier in: query required: false description: The alias name. schema: type: string pattern: (^\$LATEST$)|((?!^[0-9]+$)([a-zA-Z0-9-_]+)) minLength: 1 maxLength: 128 tags: - 2021 10 31 put: operationId: UpdateFunctionUrlConfig description: Updates the configuration for a Lambda function URL. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/UpdateFunctionUrlConfigResponse' '480': description: ResourceConflictException content: application/json: schema: $ref: '#/components/schemas/ResourceConflictException' '481': description: ResourceNotFoundException content: application/json: schema: $ref: '#/components/schemas/ResourceNotFoundException' '482': description: InvalidParameterValueException content: application/json: schema: $ref: '#/components/schemas/InvalidParameterValueException' '483': description: ServiceException content: application/json: schema: $ref: '#/components/schemas/ServiceException' '484': description: TooManyRequestsException content: application/json: schema: $ref: '#/components/schemas/TooManyRequestsException' parameters: - name: FunctionName in: path required: true description:

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

schema: type: string pattern: (arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))? minLength: 1 maxLength: 140 - name: Qualifier in: query required: false description: The alias name. schema: type: string pattern: (^\$LATEST$)|((?!^[0-9]+$)([a-zA-Z0-9-_]+)) minLength: 1 maxLength: 128 requestBody: required: true content: application/json: schema: type: object properties: AuthType: description: The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Security and auth model for Lambda function URLs. type: string enum: - NONE - AWS_IAM Cors: description: The cross-origin resource sharing (CORS) settings for your Lambda function URL. Use CORS to grant access to your function URL from any origin. You can also use CORS to control access for specific HTTP headers and methods in requests to your function URL. type: object properties: AllowCredentials: allOf: - $ref: '#/components/schemas/AllowCredentials' - description: Whether to allow cookies or other credentials in requests to your function URL. The default is false. AllowHeaders: allOf: - $ref: '#/components/schemas/HeadersList' - description: 'The HTTP headers that origins can include in requests to your function URL. For example: Date, Keep-Alive, X-Custom-Header.' AllowMethods: allOf: - $ref: '#/components/schemas/AllowMethodsList' - description: 'The HTTP methods that are allowed when calling your function URL. For example: GET, POST, DELETE, or the wildcard character (*).' AllowOrigins: allOf: - $ref: '#/components/schemas/AllowOriginsList' - description: '

The origins that can access your function URL. You can list any number of specific origins, separated by a comma. For example: https://www.example.com, http://localhost:60905.

Alternatively, you can grant access to all origins using the wildcard character (*).

' ExposeHeaders: allOf: - $ref: '#/components/schemas/HeadersList' - description: 'The HTTP headers in your function response that you want to expose to origins that call your function URL. For example: Date, Keep-Alive, X-Custom-Header.' MaxAge: allOf: - $ref: '#/components/schemas/MaxAge' - description: The maximum amount of time, in seconds, that web browsers can cache results of a preflight request. By default, this is set to 0, which means that the browser doesn't cache results. InvokeMode: description:

Use one of the following options:

type: string enum: - BUFFERED - RESPONSE_STREAM tags: - 2021 10 31 /2021-10-31/functions/{FunctionName}/urls: 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' get: operationId: ListFunctionUrlConfigs description: Returns a list of Lambda function URLs for the specified function. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/ListFunctionUrlConfigsResponse' '480': description: InvalidParameterValueException content: application/json: schema: $ref: '#/components/schemas/InvalidParameterValueException' '481': description: ServiceException content: application/json: schema: $ref: '#/components/schemas/ServiceException' '482': description: ResourceNotFoundException content: application/json: schema: $ref: '#/components/schemas/ResourceNotFoundException' '483': description: TooManyRequestsException content: application/json: schema: $ref: '#/components/schemas/TooManyRequestsException' parameters: - name: FunctionName in: path required: true description:

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

schema: type: string pattern: (arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))? minLength: 1 maxLength: 140 - name: Marker in: query required: false description: Specify the pagination token that's returned by a previous request to retrieve the next page of results. schema: type: string - name: MaxItems in: query required: false description: The maximum number of function URLs to return in the response. Note that ListFunctionUrlConfigs returns a maximum of 50 items in each response, even if you set the number higher. schema: type: integer minimum: 1 maximum: 50 tags: - 2021 10 31 components: parameters: X-Amz-Signature: name: X-Amz-Signature in: header schema: type: string required: false X-Amz-Content-Sha256: name: X-Amz-Content-Sha256 in: header schema: type: string required: false X-Amz-Algorithm: name: X-Amz-Algorithm in: header schema: type: string required: false X-Amz-Security-Token: name: X-Amz-Security-Token in: header schema: type: string required: false X-Amz-SignedHeaders: name: X-Amz-SignedHeaders in: header schema: type: string required: false X-Amz-Credential: name: X-Amz-Credential in: header schema: type: string required: false X-Amz-Date: name: X-Amz-Date in: header schema: type: string required: false schemas: TooManyRequestsException: {} HeadersList: type: array items: $ref: '#/components/schemas/Header' maxItems: 100 FunctionArn: type: string pattern: arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\d{1}:\d{12}:function:[a-zA-Z0-9-_]+(:(\$LATEST|[a-zA-Z0-9-_]+))? AllowCredentials: type: boolean Timestamp: type: string FunctionUrlConfig: type: object required: - FunctionUrl - FunctionArn - CreationTime - LastModifiedTime - AuthType properties: FunctionUrl: allOf: - $ref: '#/components/schemas/FunctionUrl' - description: The HTTP URL endpoint for your function. FunctionArn: allOf: - $ref: '#/components/schemas/FunctionArn' - description: The Amazon Resource Name (ARN) of your function. CreationTime: allOf: - $ref: '#/components/schemas/Timestamp' - description: When the function URL was created, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD). LastModifiedTime: allOf: - $ref: '#/components/schemas/Timestamp' - description: When the function URL configuration was last updated, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD). Cors: allOf: - $ref: '#/components/schemas/Cors' - description: The cross-origin resource sharing (CORS) settings for your function URL. AuthType: allOf: - $ref: '#/components/schemas/FunctionUrlAuthType' - description: The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Security and auth model for Lambda function URLs. InvokeMode: allOf: - $ref: '#/components/schemas/InvokeMode' - description:

Use one of the following options:

description: Details about a Lambda function URL. ResourceConflictException: {} InvalidParameterValueException: {} Header: type: string pattern: .* maxLength: 1024 AllowOriginsList: type: array items: $ref: '#/components/schemas/Origin' maxItems: 100 FunctionUrl: type: string minLength: 40 maxLength: 100 MaxAge: type: integer minimum: 0 maximum: 86400 ListFunctionUrlConfigsResponse: type: object required: - FunctionUrlConfigs properties: FunctionUrlConfigs: allOf: - $ref: '#/components/schemas/FunctionUrlConfigList' - description: A list of function URL configurations. NextMarker: allOf: - $ref: '#/components/schemas/String' - description: The pagination token that's included if more results are available. AllowMethodsList: type: array items: $ref: '#/components/schemas/Method' maxItems: 6 Origin: type: string pattern: .* minLength: 1 maxLength: 253 String: type: string UpdateFunctionUrlConfigResponse: type: object required: - FunctionUrl - FunctionArn - AuthType - CreationTime - LastModifiedTime properties: FunctionUrl: allOf: - $ref: '#/components/schemas/FunctionUrl' - description: The HTTP URL endpoint for your function. FunctionArn: allOf: - $ref: '#/components/schemas/FunctionArn' - description: The Amazon Resource Name (ARN) of your function. AuthType: allOf: - $ref: '#/components/schemas/FunctionUrlAuthType' - description: The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Security and auth model for Lambda function URLs. Cors: allOf: - $ref: '#/components/schemas/Cors' - description: The cross-origin resource sharing (CORS) settings for your function URL. CreationTime: allOf: - $ref: '#/components/schemas/Timestamp' - description: When the function URL was created, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD). LastModifiedTime: allOf: - $ref: '#/components/schemas/Timestamp' - description: When the function URL configuration was last updated, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD). InvokeMode: allOf: - $ref: '#/components/schemas/InvokeMode' - description:

Use one of the following options:

FunctionUrlAuthType: type: string enum: - NONE - AWS_IAM Cors: type: object properties: AllowCredentials: allOf: - $ref: '#/components/schemas/AllowCredentials' - description: Whether to allow cookies or other credentials in requests to your function URL. The default is false. AllowHeaders: allOf: - $ref: '#/components/schemas/HeadersList' - description: 'The HTTP headers that origins can include in requests to your function URL. For example: Date, Keep-Alive, X-Custom-Header.' AllowMethods: allOf: - $ref: '#/components/schemas/AllowMethodsList' - description: 'The HTTP methods that are allowed when calling your function URL. For example: GET, POST, DELETE, or the wildcard character (*).' AllowOrigins: allOf: - $ref: '#/components/schemas/AllowOriginsList' - description: '

The origins that can access your function URL. You can list any number of specific origins, separated by a comma. For example: https://www.example.com, http://localhost:60905.

Alternatively, you can grant access to all origins using the wildcard character (*).

' ExposeHeaders: allOf: - $ref: '#/components/schemas/HeadersList' - description: 'The HTTP headers in your function response that you want to expose to origins that call your function URL. For example: Date, Keep-Alive, X-Custom-Header.' MaxAge: allOf: - $ref: '#/components/schemas/MaxAge' - description: The maximum amount of time, in seconds, that web browsers can cache results of a preflight request. By default, this is set to 0, which means that the browser doesn't cache results. description: The cross-origin resource sharing (CORS) settings for your Lambda function URL. Use CORS to grant access to your function URL from any origin. You can also use CORS to control access for specific HTTP headers and methods in requests to your function URL. InvokeMode: type: string enum: - BUFFERED - RESPONSE_STREAM ServiceException: {} Method: type: string pattern: .* maxLength: 6 ResourceNotFoundException: {} GetFunctionUrlConfigResponse: type: object required: - FunctionUrl - FunctionArn - AuthType - CreationTime - LastModifiedTime properties: FunctionUrl: allOf: - $ref: '#/components/schemas/FunctionUrl' - description: The HTTP URL endpoint for your function. FunctionArn: allOf: - $ref: '#/components/schemas/FunctionArn' - description: The Amazon Resource Name (ARN) of your function. AuthType: allOf: - $ref: '#/components/schemas/FunctionUrlAuthType' - description: The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Security and auth model for Lambda function URLs. Cors: allOf: - $ref: '#/components/schemas/Cors' - description: The cross-origin resource sharing (CORS) settings for your function URL. CreationTime: allOf: - $ref: '#/components/schemas/Timestamp' - description: When the function URL was created, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD). LastModifiedTime: allOf: - $ref: '#/components/schemas/Timestamp' - description: When the function URL configuration was last updated, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD). InvokeMode: allOf: - $ref: '#/components/schemas/InvokeMode' - description:

Use one of the following options:

FunctionUrlConfigList: type: array items: $ref: '#/components/schemas/FunctionUrlConfig' CreateFunctionUrlConfigResponse: type: object required: - FunctionUrl - FunctionArn - AuthType - CreationTime properties: FunctionUrl: allOf: - $ref: '#/components/schemas/FunctionUrl' - description: The HTTP URL endpoint for your function. FunctionArn: allOf: - $ref: '#/components/schemas/FunctionArn' - description: The Amazon Resource Name (ARN) of your function. AuthType: allOf: - $ref: '#/components/schemas/FunctionUrlAuthType' - description: The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Security and auth model for Lambda function URLs. Cors: allOf: - $ref: '#/components/schemas/Cors' - description: The cross-origin resource sharing (CORS) settings for your function URL. CreationTime: allOf: - $ref: '#/components/schemas/Timestamp' - description: When the function URL was created, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD). InvokeMode: allOf: - $ref: '#/components/schemas/InvokeMode' - description:

Use one of the following options:

securitySchemes: hmac: type: apiKey name: Authorization in: header description: Amazon Signature authorization v4 x-amazon-apigateway-authtype: awsSigv4 externalDocs: description: Amazon Web Services documentation url: https://docs.aws.amazon.com/apigateway/ x-hasEquivalentPaths: true