Amazon API Gateway
API Reference

HTTP APIs are in beta for Amazon API Gateway and are subject to change.

Routes

Represents the collection of routes for an API.

URI

/v2/apis/apiId/routes

HTTP Methods

GET

Operation ID: GetRoutes

Gets the Routes for an API.

Path Parameters

Name Type Required Description
apiId String True

The API identifier.

Query Parameters

Name Type Required Description
nextToken String False

The next page of elements from this collection. Not valid for the last element of the collection.

maxResults String False

The maximum number of elements to be returned for this resource.

Responses

Status Code Response Model Description
200 Routes

Success

400 BadRequestException

One of the parameters in the request is invalid.

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.

POST

Operation ID: CreateRoute

Creates a Route for an API.

Path Parameters

Name Type Required Description
apiId String True

The API identifier.

Responses

Status Code Response Model Description
201 Route

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.

Schemas

Request Bodies

Example POST

{ "routeKey": "string", "authorizationType": enum, "authorizerId": "string", "authorizationScopes": [ "string" ], "apiKeyRequired": boolean, "requestParameters": { }, "requestModels": { }, "modelSelectionExpression": "string", "target": "string", "operationName": "string", "routeResponseSelectionExpression": "string" }

Response Bodies

Example Routes

{ "items": [ { "routeId": "string", "routeKey": "string", "authorizationType": enum, "authorizerId": "string", "authorizationScopes": [ "string" ], "apiKeyRequired": boolean, "requestParameters": { }, "requestModels": { }, "modelSelectionExpression": "string", "target": "string", "operationName": "string", "routeResponseSelectionExpression": "string", "apiGatewayManaged": boolean } ], "nextToken": "string" }

Example Route

{ "routeId": "string", "routeKey": "string", "authorizationType": enum, "authorizerId": "string", "authorizationScopes": [ "string" ], "apiKeyRequired": boolean, "requestParameters": { }, "requestModels": { }, "modelSelectionExpression": "string", "target": "string", "operationName": "string", "routeResponseSelectionExpression": "string", "apiGatewayManaged": boolean }

Example BadRequestException

{ "message": "string" }

Example NotFoundException

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

Example ConflictException

{ "message": "string" }

Example LimitExceededException

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

Properties

AuthorizationType

The authorization type. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer. For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.

  • NONE

  • AWS_IAM

  • CUSTOM

  • JWT

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.

CreateRouteInput

Represents the input parameters for a CreateRoute request.

Property Type Required Description
routeKey

string

True

The route key for the route.

authorizationType

AuthorizationType

False

The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.

authorizerId

string

False

The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.

authorizationScopes

Array of type string

False

The authorization scopes supported by this route.

apiKeyRequired

boolean

False

Specifies whether an API key is required for the route. Supported only for WebSocket APIs.

requestParameters

RouteParameters

False

The request parameters for the route. Supported only for WebSocket APIs.

requestModels

RouteModels

False

The request models for the route. Supported only for WebSocket APIs.

modelSelectionExpression

string

False

The model selection expression for the route. Supported only for WebSocket APIs.

target

string

False

The target for the route.

operationName

string

False

The operation name for the route.

routeResponseSelectionExpression

string

False

The route response selection expression for the route. Supported only for WebSocket 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.

ParameterConstraints

Validation constraints imposed on parameters of a request (path, query string, headers).

Property Type Required Description
required

boolean

False

Whether or not the parameter is required.

Route

Represents a route.

Property Type Required Description
routeId

string

False

The route ID.

routeKey

string

True

The route key for the route.

authorizationType

AuthorizationType

False

The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.

authorizerId

string

False

The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.

authorizationScopes

Array of type string

False

A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the method invocation. The authorization works by matching the route scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client must provide an access token instead of an identity token for authorization purposes.

apiKeyRequired

boolean

False

Specifies whether an API key is required for this route. Supported only for WebSocket APIs.

requestParameters

RouteParameters

False

The request parameters for the route. Supported only for WebSocket APIs.

requestModels

RouteModels

False

The request models for the route. Supported only for WebSocket APIs.

modelSelectionExpression

string

False

The model selection expression for the route. Supported only for WebSocket APIs.

target

string

False

The target for the route.

operationName

string

False

The operation name for the route.

routeResponseSelectionExpression

string

False

The route response selection expression for the route. Supported only for WebSocket APIs.

apiGatewayManaged

boolean

False

Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route is managed by API Gateway. You can't modify the $default route key.

RouteModels

The route models.

Property Type Required Description

*

string

False

RouteParameters

The route parameters.

Property Type Required Description

*

object

False

Routes

Represents a collection of routes.

Property Type Required Description
items

Array of type Route

False

The elements from this collection.

nextToken

string

False

The next page of elements from this collection. Not valid for the last element of the collection.

See Also

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

GetRoutes

CreateRoute