Api - Amazon API Gateway

Api

Represents an API.

URI

/v2/apis/apiId

HTTP methods

GET

Operation ID: GetApi

Gets an Api resource.

Path parameters
NameTypeRequiredDescription
apiIdStringTrue

The API identifier.

Responses
Status codeResponse modelDescription
200Api

Success

404NotFoundException

The resource specified in the request was not found.

429LimitExceededException

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
NameTypeRequiredDescription
apiIdStringTrue

The API identifier.

Query parameters
NameTypeRequiredDescription
failOnWarningsStringFalse

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

basepathStringFalse

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 codeResponse modelDescription
201Api

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

400BadRequestException

One of the parameters in the request is invalid.

404NotFoundException

The resource specified in the request was not found.

409ConflictException

The resource already exists.

429LimitExceededException

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
NameTypeRequiredDescription
apiIdStringTrue

The API identifier.

Responses
Status codeResponse modelDescription
204None

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

404NotFoundException

The resource specified in the request was not found.

429LimitExceededException

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
NameTypeRequiredDescription
apiIdStringTrue

The API identifier.

Responses
Status codeResponse modelDescription
200Api

Success

400BadRequestException

One of the parameters in the request is invalid.

404NotFoundException

The resource specified in the request was not found.

409ConflictException

The resource already exists.

429LimitExceededException

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

Schemas

Request bodies

{ "body": "string" }
{ "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" ] }, "disableExecuteApiEndpoint": boolean }

Response bodies

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

Properties

Api

Represents an API.

PropertyTypeRequiredDescription
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.

apiGatewayManaged

boolean

False

Specifies whether an API is managed by API Gateway. You can't update or delete a managed API by using API Gateway. A managed API can be deleted only through the tooling or service that created it.

apiId

string

False

The API ID.

apiKeySelectionExpression

string

False

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

corsConfiguration

Cors

False

A CORS configuration. Supported only for HTTP APIs.

createdDate

string

Format: date-time

False

The timestamp when the API was created.

description

string

False

The description of the API.

disableExecuteApiEndpoint

boolean

False

Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.

disableSchemaValidation

boolean

False

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

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.

name

string

True

The name of 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.

tags

Tags

False

A collection of tags associated with the API.

version

string

False

A version identifier for the API.

warnings

Array of type string

False

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

BadRequestException

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

PropertyTypeRequiredDescription
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.

PropertyTypeRequiredDescription
message

string

False

Describes the error encountered.

Cors

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

PropertyTypeRequiredDescription
allowCredentials

boolean

False

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

allowHeaders

Array of type string

False

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

allowMethods

Array of type string

False

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

allowOrigins

Array of type string

False

Represents a collection of allowed origins. 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.

LimitExceededException

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

PropertyTypeRequiredDescription
limitType

string

False

The limit type.

message

string

False

Describes the error encountered.

NotFoundException

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

PropertyTypeRequiredDescription
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.

PropertyTypeRequiredDescription
body

string

True

The OpenAPI definition. Supported only for HTTP APIs.

Tags

Represents a collection of tags associated with the resource.

PropertyTypeRequiredDescription

*

string

False

UpdateApiInput

Represents the input parameters for an UpdateApi request.

PropertyTypeRequiredDescription
apiKeySelectionExpression

string

False

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

corsConfiguration

Cors

False

A CORS configuration. 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, don't specify this parameter. 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.

description

string

False

The description of the API.

disableExecuteApiEndpoint

boolean

False

Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default execute-api endpoint.

disableSchemaValidation

boolean

False

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

name

string

False

The name of the API.

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.

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.

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.

version

string

False

A version identifier for the API.

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