Amazon API Gateway · Arazzo Workflow

AWS API Gateway Build an HTTP API

Version 1.0.0

Create an HTTP API, attach a backend integration, wire a route to it, and publish a stage.

1 workflow 4 source APIs 1 provider
View Spec View on GitHub API GatewayCloudRESTHTTPWebSocketServerlessMCPAgentCoreDeveloper PortalArazzoWorkflows

Provider

aws-api-gateway

Workflows

build-http-api
Stand up an HTTP API with an integration, a route, and a stage.
Creates an HTTP API, an integration, a route bound to the integration, and a stage to publish it.
4 steps inputs: description, integrationType, integrationUri, name, payloadFormatVersion, routeKey, stageName outputs: apiEndpoint, apiId, integrationId, routeId, stageName
1
createApi
Create the HTTP API container.
2
createIntegration
Create the backend integration the route will forward requests to.
3
createRoute
Create the route, targeting the integration via the integrations/ target reference.
4
createStage
Create a stage to publish the API.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: AWS API Gateway Build an HTTP API
  summary: Create an HTTP API, attach a backend integration, wire a route to it, and publish a stage.
  description: >-
    The canonical Amazon API Gateway V2 build flow for an HTTP API. The workflow
    creates an API, creates a backend integration, creates a route whose target
    references that integration, and finally creates a stage to publish the API.
    Because createApi, createStage, and related operations collide with the V1
    description, they are addressed through the V2 source. Every step spells out
    its request inline so the flow can be read and executed without opening the
    underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: apisApi
  url: ../openapi/aws-api-gateway-apis-api-openapi.yml
  type: openapi
- name: integrationsApi
  url: ../openapi/aws-api-gateway-integrations-api-openapi.yml
  type: openapi
- name: routesApi
  url: ../openapi/aws-api-gateway-routes-api-openapi.yml
  type: openapi
- name: stagesApi
  url: ../openapi/aws-api-gateway-stages-api-openapi.yml
  type: openapi
workflows:
- workflowId: build-http-api
  summary: Stand up an HTTP API with an integration, a route, and a stage.
  description: >-
    Creates an HTTP API, an integration, a route bound to the integration, and a
    stage to publish it.
  inputs:
    type: object
    required:
    - name
    - integrationUri
    - routeKey
    - stageName
    properties:
      name:
        type: string
        description: Name of the HTTP API.
      description:
        type: string
        description: Optional description for the API.
      integrationType:
        type: string
        description: Type of integration (AWS, AWS_PROXY, HTTP, HTTP_PROXY, MOCK).
      integrationUri:
        type: string
        description: Integration target URI (e.g. a Lambda or HTTP backend).
      payloadFormatVersion:
        type: string
        description: Payload format version for the integration.
      routeKey:
        type: string
        description: Route key for the route (e.g. "GET /items").
      stageName:
        type: string
        description: Name of the stage to publish.
  steps:
  - stepId: createApi
    description: Create the HTTP API container.
    operationId: $sourceDescriptions.apisApi.createApi
    requestBody:
      contentType: application/json
      payload:
        Name: $inputs.name
        ProtocolType: HTTP
        Description: $inputs.description
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      apiId: $response.body#/ApiId
      apiEndpoint: $response.body#/ApiEndpoint
  - stepId: createIntegration
    description: Create the backend integration the route will forward requests to.
    operationId: createIntegration
    parameters:
    - name: api_id
      in: path
      value: $steps.createApi.outputs.apiId
    requestBody:
      contentType: application/json
      payload:
        IntegrationType: $inputs.integrationType
        IntegrationUri: $inputs.integrationUri
        PayloadFormatVersion: $inputs.payloadFormatVersion
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      integrationId: $response.body#/IntegrationId
  - stepId: createRoute
    description: >-
      Create the route, targeting the integration via the integrations/<id>
      target reference.
    operationId: createRoute
    parameters:
    - name: api_id
      in: path
      value: $steps.createApi.outputs.apiId
    requestBody:
      contentType: application/json
      payload:
        RouteKey: $inputs.routeKey
        Target: integrations/$steps.createIntegration.outputs.integrationId
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      routeId: $response.body#/RouteId
  - stepId: createStage
    description: Create a stage to publish the API.
    operationId: createStage
    parameters:
    - name: api_id
      in: path
      value: $steps.createApi.outputs.apiId
    requestBody:
      contentType: application/json
      payload:
        StageName: $inputs.stageName
        AutoDeploy: true
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      stageName: $response.body#/StageName
  outputs:
    apiId: $steps.createApi.outputs.apiId
    apiEndpoint: $steps.createApi.outputs.apiEndpoint
    integrationId: $steps.createIntegration.outputs.integrationId
    routeId: $steps.createRoute.outputs.routeId
    stageName: $steps.createStage.outputs.stageName

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/aws-api-gateway-build-http-api-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.