openapi: 3.1.0 info: title: Amazon API Gateway V2 (HTTP and WebSocket) description: >- The API Gateway V2 control plane API is used to create, deploy, and manage HTTP APIs and WebSocket APIs in Amazon API Gateway. version: '2018-11-29' contact: name: AWS Support url: https://aws.amazon.com/premiumsupport/ termsOfService: https://aws.amazon.com/service-terms/ externalDocs: description: Amazon API Gateway V2 API Reference url: https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/Welcome.html servers: - url: https://apigateway.{region}.amazonaws.com description: Amazon API Gateway regional endpoint variables: region: default: us-east-1 description: AWS region tags: - name: Authorizers description: Manage authorizers - name: Deployments description: Manage deployments - name: Integrations description: Manage backend integrations - name: Routes description: Manage routes within an API - name: Stages description: Manage deployment stages security: - sigv4: [] paths: /v2/apis: get: operationId: getApis summary: Amazon API Gateway List APIs description: Gets a collection of HTTP and WebSocket APIs. tags: [] responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/Apis' examples: getApis200Example: summary: Default getApis 200 response x-microcks-default: true value: Items: - example-value '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createApi summary: Amazon API Gateway Create an API description: Creates an HTTP or WebSocket API. tags: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateApiRequest' examples: createApiRequestExample: summary: Default createApi request x-microcks-default: true value: Name: my-resource ProtocolType: HTTP RouteSelectionExpression: example-value Description: A description of this resource. Target: example-value responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Api' examples: createApi201Example: summary: Default createApi 201 response x-microcks-default: true value: ApiId: abc123 Name: my-resource ProtocolType: HTTP ApiEndpoint: example-value RouteSelectionExpression: example-value CreatedDate: '2025-03-15T14:30:00Z' '400': $ref: '#/components/responses/BadRequest' x-microcks-operation: delay: 0 dispatcher: FALLBACK /v2/apis/{api_id}: parameters: - $ref: '#/components/parameters/ApiId' get: operationId: getApi summary: Amazon API Gateway Get an API description: Retrieves a single HTTP or WebSocket API. tags: [] responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/Api' examples: getApi200Example: summary: Default getApi 200 response x-microcks-default: true value: ApiId: abc123 Name: my-resource ProtocolType: HTTP ApiEndpoint: example-value RouteSelectionExpression: example-value CreatedDate: '2025-03-15T14:30:00Z' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteApi summary: Amazon API Gateway Delete an API description: Deletes the specified API. tags: [] responses: '204': description: No Content x-microcks-operation: delay: 0 dispatcher: FALLBACK /v2/apis/{api_id}/routes: parameters: - $ref: '#/components/parameters/ApiId' get: operationId: getRoutes summary: Amazon API Gateway List Routes description: Gets a collection of routes for an API. tags: - Routes responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/Routes' examples: getRoutes200Example: summary: Default getRoutes 200 response x-microcks-default: true value: Items: - example-value x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createRoute summary: Amazon API Gateway Create a Route description: Creates a route for an API. tags: - Routes requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateRouteRequest' examples: createRouteRequestExample: summary: Default createRoute request x-microcks-default: true value: RouteKey: example-value Target: example-value AuthorizationType: example-value responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Route' examples: createRoute201Example: summary: Default createRoute 201 response x-microcks-default: true value: RouteId: abc123 RouteKey: example-value Target: example-value AuthorizationType: example-value x-microcks-operation: delay: 0 dispatcher: FALLBACK /v2/apis/{api_id}/integrations: parameters: - $ref: '#/components/parameters/ApiId' get: operationId: getIntegrations summary: Amazon API Gateway List Integrations description: Gets a collection of integrations for an API. tags: - Integrations responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/Integrations' examples: getIntegrations200Example: summary: Default getIntegrations 200 response x-microcks-default: true value: Items: - example-value x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createIntegration summary: Amazon API Gateway Create an Integration description: Creates an integration for an API. tags: - Integrations requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateIntegrationRequest' examples: createIntegrationRequestExample: summary: Default createIntegration request x-microcks-default: true value: IntegrationType: AWS IntegrationUri: https://example.com/resource/123 PayloadFormatVersion: '1.0' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Integration' examples: createIntegration201Example: summary: Default createIntegration 201 response x-microcks-default: true value: IntegrationId: abc123 IntegrationType: example-value IntegrationUri: https://example.com/resource/123 PayloadFormatVersion: '1.0' x-microcks-operation: delay: 0 dispatcher: FALLBACK /v2/apis/{api_id}/stages: parameters: - $ref: '#/components/parameters/ApiId' get: operationId: getStages summary: Amazon API Gateway List Stages description: Gets a collection of stages for an API. tags: - Stages responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/Stages' examples: getStages200Example: summary: Default getStages 200 response x-microcks-default: true value: Items: - example-value x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createStage summary: Amazon API Gateway Create a Stage description: Creates a deployment stage for an API. tags: - Stages requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateStageRequest' examples: createStageRequestExample: summary: Default createStage request x-microcks-default: true value: StageName: my-resource DeploymentId: abc123 AutoDeploy: true responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Stage' examples: createStage201Example: summary: Default createStage 201 response x-microcks-default: true value: StageName: my-resource DeploymentId: abc123 Description: A description of this resource. AutoDeploy: true x-microcks-operation: delay: 0 dispatcher: FALLBACK /v2/apis/{api_id}/deployments: parameters: - $ref: '#/components/parameters/ApiId' get: operationId: getDeployments summary: Amazon API Gateway List Deployments description: Gets a collection of deployments for an API. tags: - Deployments responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/Deployments' examples: getDeployments200Example: summary: Default getDeployments 200 response x-microcks-default: true value: Items: - example-value x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createDeployment summary: Amazon API Gateway Create a Deployment description: Creates a deployment for an API. tags: - Deployments requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateDeploymentRequest' examples: createDeploymentRequestExample: summary: Default createDeployment request x-microcks-default: true value: StageName: my-resource Description: A description of this resource. responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Deployment' examples: createDeployment201Example: summary: Default createDeployment 201 response x-microcks-default: true value: DeploymentId: abc123 Description: A description of this resource. DeploymentStatus: ACTIVE CreatedDate: '2025-03-15T14:30:00Z' x-microcks-operation: delay: 0 dispatcher: FALLBACK /v2/apis/{api_id}/authorizers: parameters: - $ref: '#/components/parameters/ApiId' get: operationId: getAuthorizers summary: Amazon API Gateway List Authorizers description: Gets a collection of authorizers for an API. tags: - Authorizers responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/Authorizers' examples: getAuthorizers200Example: summary: Default getAuthorizers 200 response x-microcks-default: true value: Items: - example-value x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createAuthorizer summary: Amazon API Gateway Create an Authorizer description: Creates an authorizer for an API. tags: - Authorizers requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateAuthorizerRequest' examples: createAuthorizerRequestExample: summary: Default createAuthorizer request x-microcks-default: true value: Name: my-resource AuthorizerType: REQUEST IdentitySource: - example-value AuthorizerUri: https://example.com/resource/123 responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/Authorizer' examples: createAuthorizer201Example: summary: Default createAuthorizer 201 response x-microcks-default: true value: AuthorizerId: abc123 Name: my-resource AuthorizerType: example-value IdentitySource: - example-value x-microcks-operation: delay: 0 dispatcher: FALLBACK components: securitySchemes: sigv4: type: apiKey in: header name: Authorization description: AWS Signature Version 4 signed request. parameters: ApiId: name: api_id in: path required: true description: API identifier. schema: type: string responses: BadRequest: description: The request was malformed. content: application/json: schema: $ref: '#/components/schemas/Error' Unauthorized: description: The request was not authenticated. content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/Error' schemas: Api: type: object properties: ApiId: type: string description: Identifier of the API. example: abc123 Name: type: string description: Name of the API. example: my-resource ProtocolType: type: string description: API protocol (HTTP or WEBSOCKET). enum: [HTTP, WEBSOCKET] example: HTTP ApiEndpoint: type: string description: Default endpoint for the API. example: example-value RouteSelectionExpression: type: string description: Route selection expression for the API. example: example-value CreatedDate: type: string format: date-time description: Timestamp when the API was created. example: '2025-03-15T14:30:00Z' Apis: type: object properties: Items: type: array items: $ref: '#/components/schemas/Api' example: - example-value CreateApiRequest: type: object required: [Name, ProtocolType] properties: Name: type: string description: Name of the API. example: my-resource ProtocolType: type: string description: Protocol type for the API. enum: [HTTP, WEBSOCKET] example: HTTP RouteSelectionExpression: type: string description: Route selection expression (required for WebSocket APIs). example: example-value Description: type: string description: Description of the API. example: A description of this resource. Target: type: string description: Quick-create target Lambda or HTTP endpoint URI. example: example-value Route: type: object properties: RouteId: type: string description: Route identifier. example: abc123 RouteKey: type: string description: Route key (e.g. "GET /items" or "$connect"). example: example-value Target: type: string description: Integration target reference. example: example-value AuthorizationType: type: string description: Authorization type for the route. example: example-value Routes: type: object properties: Items: type: array items: $ref: '#/components/schemas/Route' example: - example-value CreateRouteRequest: type: object required: [RouteKey] properties: RouteKey: type: string description: Route key for the new route. example: example-value Target: type: string description: Integration target reference. example: example-value AuthorizationType: type: string description: Authorization type for the route. example: example-value Integration: type: object properties: IntegrationId: type: string description: Integration identifier. example: abc123 IntegrationType: type: string description: Type of integration (AWS_PROXY, HTTP_PROXY, etc.). example: example-value IntegrationUri: type: string description: Integration target URI. example: https://example.com/resource/123 PayloadFormatVersion: type: string description: Payload format version. example: '1.0' Integrations: type: object properties: Items: type: array items: $ref: '#/components/schemas/Integration' example: - example-value CreateIntegrationRequest: type: object required: [IntegrationType] properties: IntegrationType: type: string description: Type of integration. enum: [AWS, AWS_PROXY, HTTP, HTTP_PROXY, MOCK] example: AWS IntegrationUri: type: string description: Integration target URI. example: https://example.com/resource/123 PayloadFormatVersion: type: string description: Payload format version. example: '1.0' Stage: type: object properties: StageName: type: string description: Name of the stage. example: my-resource DeploymentId: type: string description: Deployment identifier. example: abc123 Description: type: string description: Description of the stage. example: A description of this resource. AutoDeploy: type: boolean description: Whether updates auto-deploy to this stage. example: true Stages: type: object properties: Items: type: array items: $ref: '#/components/schemas/Stage' example: - example-value CreateStageRequest: type: object required: [StageName] properties: StageName: type: string description: Name of the stage. example: my-resource DeploymentId: type: string description: Deployment identifier. example: abc123 AutoDeploy: type: boolean description: Whether to enable auto-deploy. example: true Deployment: type: object properties: DeploymentId: type: string description: Deployment identifier. example: abc123 Description: type: string description: Description of the deployment. example: A description of this resource. DeploymentStatus: type: string description: Status of the deployment (PENDING, FAILED, DEPLOYED). example: ACTIVE CreatedDate: type: string format: date-time description: Timestamp when the deployment was created. example: '2025-03-15T14:30:00Z' Deployments: type: object properties: Items: type: array items: $ref: '#/components/schemas/Deployment' example: - example-value CreateDeploymentRequest: type: object properties: StageName: type: string description: Stage to deploy to. example: my-resource Description: type: string description: Description of the deployment. example: A description of this resource. Authorizer: type: object properties: AuthorizerId: type: string description: Authorizer identifier. example: abc123 Name: type: string description: Authorizer name. example: my-resource AuthorizerType: type: string description: Type of authorizer (REQUEST or JWT). example: example-value IdentitySource: type: array description: Identity sources for the authorizer. items: type: string example: - example-value Authorizers: type: object properties: Items: type: array items: $ref: '#/components/schemas/Authorizer' example: - example-value CreateAuthorizerRequest: type: object required: [Name, AuthorizerType, IdentitySource] properties: Name: type: string description: Name of the authorizer. example: my-resource AuthorizerType: type: string description: Type of authorizer. enum: [REQUEST, JWT] example: REQUEST IdentitySource: type: array description: Identity sources to use. items: type: string example: - example-value AuthorizerUri: type: string description: URI of the Lambda authorizer (REQUEST type). example: https://example.com/resource/123 Error: type: object properties: Message: type: string description: Human-readable error message. example: example-value