arazzo: 1.0.1
info:
title: AWS API Gateway Audit an HTTP API Surface
summary: Confirm an HTTP API and enumerate its routes, integrations, and stages in a single read-only pass.
description: >-
A read-only inventory of an Amazon API Gateway V2 API. The workflow confirms
the API exists, then lists its routes, integrations, and stages so the full
request surface and published environments can be reviewed together. Because
getStages collides with the V1 description it is 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: audit-http-api
summary: Enumerate routes, integrations, and stages for an API.
description: >-
Confirms an API and lists its routes, integrations, and stages.
inputs:
type: object
required:
- apiId
properties:
apiId:
type: string
description: Identifier of the API to audit.
steps:
- stepId: confirmApi
description: Confirm the API exists.
operationId: getApi
parameters:
- name: api_id
in: path
value: $inputs.apiId
successCriteria:
- condition: $statusCode == 200
outputs:
apiName: $response.body#/Name
protocolType: $response.body#/ProtocolType
- stepId: listRoutes
description: List the routes defined on the API.
operationId: getRoutes
parameters:
- name: api_id
in: path
value: $inputs.apiId
successCriteria:
- condition: $statusCode == 200
outputs:
routes: $response.body#/Items
- stepId: listIntegrations
description: List the backend integrations defined on the API.
operationId: getIntegrations
parameters:
- name: api_id
in: path
value: $inputs.apiId
successCriteria:
- condition: $statusCode == 200
outputs:
integrations: $response.body#/Items
- stepId: listStages
description: List the published stages for the API.
operationId: $sourceDescriptions.stagesApi.getStages
parameters:
- name: api_id
in: path
value: $inputs.apiId
successCriteria:
- condition: $statusCode == 200
outputs:
stages: $response.body#/Items
outputs:
apiName: $steps.confirmApi.outputs.apiName
protocolType: $steps.confirmApi.outputs.protocolType
routes: $steps.listRoutes.outputs.routes
integrations: $steps.listIntegrations.outputs.integrations
stages: $steps.listStages.outputs.stages
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.