Api - Amazon API Gateway

Api

Represents an API.

URI

/v2/apis/apiId

HTTP Methods

GET

Operation ID: GetApi

Gets an Api resource.

Path Parameters
Name Type Required Description
apiId String True

The API identifier.

Responses
Status Code Response Model Description
200 Api

Success

404 NotFoundException

The resource specified in the request was not found.

429 LimitExceededException

The client is sending more than the allowed number of requests per unit of time.

PUT

Operation ID: ReimportApi

Puts an Api resource.

Path Parameters
Name Type Required Description
apiId String True

The API identifier.

Query Parameters
Name Type Required Description
failOnWarnings String False

Specifies whether to rollback the API creation when a warning is encountered. By default, API creation continues if a warning is encountered.

basepath String False

Specifies how to interpret the base path of the API during import. Valid values are ignore, prepend, and split. The default value is ignore. To learn more, see Set the OpenAPI basePath Property. Supported only for HTTP APIs.

Responses
Status Code Response Model Description
201 Api

The request has succeeded and has resulted in the creation of a resource.

400 BadRequestException

One of the parameters in the request is invalid.

404 NotFoundException

The resource specified in the request was not found.

409 ConflictException

The resource already exists.

429 LimitExceededException

The client is sending more than the allowed number of requests per unit of time.

DELETE

Operation ID: DeleteApi

Deletes an Api resource.

Path Parameters
Name Type Required Description
apiId String True

The API identifier.

Responses
Status Code Response Model Description
204 None

The request has succeeded, and there is no additional content to send in the response payload body.

404 NotFoundException

The resource specified in the request was not found.

429 LimitExceededException

The client is sending more than the allowed number of requests per unit of time.

PATCH

Operation ID: UpdateApi

Updates an Api resource.

Path Parameters
Name Type Required Description
apiId String True

The API identifier.

Responses
Status Code Response Model Description
200 Api

Success

400 BadRequestException

One of the parameters in the request is invalid.

404 NotFoundException

The resource specified in the request was not found.

409 ConflictException

The resource already exists.

429 LimitExceededException

The client is sending more than the allowed number of requests per unit of time.

Schemas

Request Bodies

Example PUT

{ "body": "string" }

Example PATCH

{ "name": "string", "description": "string", "version": "string", "routeSelectionExpression": "string", "apiKeySelectionExpression": "string", "disableSchemaValidation": boolean, "target": "string", "credentialsArn": "string", "routeKey": "string", "corsConfiguration": { "allowOrigins": [ "string" ], "allowCredentials": boolean, "exposeHeaders": [ "string" ], "maxAge": integer, "allowMethods": [ "string" ], "allowHeaders": [ "string" ] } }

Response Bodies

Example Api

{ "apiId": "string", "name": "string", "description": "string", "version": "string", "protocolType": enum, "routeSelectionExpression": "string", "apiKeySelectionExpression": "string", "disableSchemaValidation": boolean, "warnings": [ "string" ], "importInfo": [ "string" ], "apiEndpoint": "string", "createdDate": "string", "tags": { }, "corsConfiguration": { "allowOrigins": [ "string" ], "allowCredentials": boolean, "exposeHeaders": [ "string" ], "maxAge": integer, "allowMethods": [ "string" ], "allowHeaders": [ "string" ] } }

Example BadRequestException

{ "message": "string" }

Example NotFoundException

{ "message": "string", "resourceType": "string" }

Example ConflictException

{ "message": "string" }

Example LimitExceededException

{ "message": "string", "limitType": "string" }

Properties

Api

Represents an API.

Property Type Required Description
apiId

string

False

The API ID.

name

string

True

The name of the API.

description

string

False

The description of the API.

version

string

False

A version identifier for the API.

protocolType

ProtocolType

True

The API protocol.

routeSelectionExpression

string

True

The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.

apiKeySelectionExpression

string

False

An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.

disableSchemaValidation

boolean

False

Avoid validating models when creating a deployment. Supported only for WebSocket APIs.

warnings

Array of type string

False

The warning messages reported when failonwarnings is turned on during API import.

importInfo

Array of type string

False

The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.

apiEndpoint

string

Format: uri

False

The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.

createdDate

string

Format: date-time

False

The timestamp when the API was created.

tags

Tags

False

A collection of tags associated with the API.

corsConfiguration

Cors

False

A CORS configuration. Supported only for HTTP APIs.

BadRequestException

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

Property Type Required Description
message

string

False

Describes the error encountered.

ConflictException

The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request. See the accompanying error message for details.

Property Type Required Description
message

string

False

Describes the error encountered.

Cors

Represents a CORS configuration. Supported only for HTTP APIs. See Configuring CORS for more information.

Property Type Required Description
allowOrigins

Array of type string

False

Represents a collection of allowed origins. Supported only for HTTP APIs.

allowCredentials

boolean

False

Specifies whether credentials are included in the CORS request. Supported only for HTTP APIs.

exposeHeaders

Array of type string

False

Represents a collection of exposed headers. Supported only for HTTP APIs.

maxAge

integer

False

The number of seconds that the browser should cache preflight request results. Supported only for HTTP APIs.

allowMethods

Array of type string

False

Represents a collection of allowed HTTP methods. Supported only for HTTP APIs.

allowHeaders

Array of type string

False

Represents a collection of allowed headers. Supported only for HTTP APIs.

LimitExceededException

A limit has been exceeded. See the accompanying error message for details.

Property Type Required Description
message

string

False

Describes the error encountered.

limitType

string

False

The limit type.

NotFoundException

The resource specified in the request was not found. See the message field for more information.

Property Type Required Description
message

string

False

Describes the error encountered.

resourceType

string

False

The resource type.

ProtocolType

Represents a protocol type.

  • WEBSOCKET

  • HTTP

ReimportApiInput

Overwrites the configuration of an existing API using the provided definition. Supported only for HTTP APIs.

Property Type Required Description
body

string

True

The OpenAPI definition. Supported only for HTTP APIs.

Tags

Represents a collection of tags associated with the resource.

Property Type Required Description

*

string

False

UpdateApiInput

Represents the input parameters for an UpdateApi request.

Property Type Required Description
name

string

False

The name of the API.

description

string

False

The description of the API.

version

string

False

A version identifier for the API.

routeSelectionExpression

string

False

The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.

apiKeySelectionExpression

string

False

An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.

disableSchemaValidation

boolean

False

Avoid validating models when creating a deployment. Supported only for WebSocket APIs.

target

string

False

This property is part of quick create. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. The value provided updates the integration URI and integration type. You can update a quick-created target, but you can't remove it from an API. Supported only for HTTP APIs.

credentialsArn

string

False

This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this property is not used for HTTP integrations. If provided, this value replaces the credentials associated with the quick create integration. Supported only for HTTP APIs.

routeKey

string

False

This property is part of quick create. If not specified, the route created using quick create is kept. Otherwise, this value replaces the route key of the quick create route. Additional routes may still be added after the API is updated. Supported only for HTTP APIs.

corsConfiguration

Cors

False

A CORS configuration. Supported only for HTTP APIs.

See Also

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

GetApi

ReimportApi

DeleteApi

UpdateApi