Apigee · Arazzo Workflow

Apigee Registry Catalog an API Version

Version 1.0.0

Register an API in the Registry, add a version and a spec, then record a deployment.

1 workflow 4 source APIs 1 provider
View Spec View on GitHub Advanced API SecurityAgentic AIAnalyticsAPI GatewayAPI GovernanceAPI HubAPI ManagementDeveloper PortalEnterpriseGenerative AIHybridIntegrationMicroservicesMCPMonetizationArazzoWorkflows

Provider

apigee

Workflows

catalog-registry-version
Create an API, version, spec, and deployment in the Registry.
Creates an API, adds a version, attaches a spec, and records an API deployment with an endpoint URI.
4 steps inputs: apiDisplayName, apiId, deploymentId, endpointUri, locationId, mimeType, projectId, specFilename, specId, versionDisplayName, versionId outputs: apiName, deploymentName, specName, versionName
1
createApi
Create the API entry that groups the version, spec, and deployment.
2
createVersion
Add a version to the API in the Registry.
3
createSpec
Attach a specification document to the version with a filename and MIME type.
4
createDeployment
Record an API deployment that ties the cataloged API to a runtime endpoint.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Apigee Registry Catalog an API Version
  summary: Register an API in the Registry, add a version and a spec, then record a deployment.
  description: >-
    The Apigee Registry cataloging flow (the legacy companion to API Hub). The
    workflow creates an API entry, adds a version, attaches a specification with
    a filename and MIME type, and records a deployment that ties the version to a
    runtime endpoint. 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
  x-realizes-capability-ids:
  - BC-4270.10
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-4270.10
      capability_name: Public API Lifecycle Management
      spec: apigee-api-versions-api-openapi.yml
      confidence: 0.7
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: apiDeploymentsApi
  url: ../openapi/apigee-api-deployments-api-openapi.yml
  type: openapi
- name: apiSpecsApi
  url: ../openapi/apigee-api-specs-api-openapi.yml
  type: openapi
- name: apiVersionsApi
  url: ../openapi/apigee-api-versions-api-openapi.yml
  type: openapi
- name: projectsApi
  url: ../openapi/apigee-projects-api-openapi.yml
  type: openapi
workflows:
- workflowId: catalog-registry-version
  summary: Create an API, version, spec, and deployment in the Registry.
  description: >-
    Creates an API, adds a version, attaches a spec, and records an API
    deployment with an endpoint URI.
  inputs:
    type: object
    required:
    - projectId
    - locationId
    - apiId
    - apiDisplayName
    - versionId
    - versionDisplayName
    - specId
    - specFilename
    - mimeType
    - deploymentId
    - endpointUri
    properties:
      projectId:
        type: string
        description: Google Cloud project id hosting the Registry.
      locationId:
        type: string
        description: Google Cloud location of the Registry resources.
      apiId:
        type: string
        description: Id to assign to the new API.
      apiDisplayName:
        type: string
        description: Display name for the API.
      versionId:
        type: string
        description: Id to assign to the new version.
      versionDisplayName:
        type: string
        description: Display name for the version.
      specId:
        type: string
        description: Id to assign to the new spec.
      specFilename:
        type: string
        description: Filename for the spec document.
      mimeType:
        type: string
        description: MIME type of the spec content.
      deploymentId:
        type: string
        description: Id to assign to the new deployment record.
      endpointUri:
        type: string
        description: Runtime endpoint URI for the deployment.
  steps:
  - stepId: createApi
    description: >-
      Create the API entry that groups the version, spec, and deployment.
    operationId: createApi
    parameters:
    - name: projectId
      in: path
      value: $inputs.projectId
    - name: locationId
      in: path
      value: $inputs.locationId
    - name: apiId
      in: query
      value: $inputs.apiId
    requestBody:
      contentType: application/json
      payload:
        displayName: $inputs.apiDisplayName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      apiName: $response.body#/name
  - stepId: createVersion
    description: >-
      Add a version to the API in the Registry.
    operationId: createApiVersion
    parameters:
    - name: projectId
      in: path
      value: $inputs.projectId
    - name: locationId
      in: path
      value: $inputs.locationId
    - name: apiId
      in: path
      value: $inputs.apiId
    - name: apiVersionId
      in: query
      value: $inputs.versionId
    requestBody:
      contentType: application/json
      payload:
        displayName: $inputs.versionDisplayName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      versionName: $response.body#/name
  - stepId: createSpec
    description: >-
      Attach a specification document to the version with a filename and MIME
      type.
    operationId: createApiSpec
    parameters:
    - name: projectId
      in: path
      value: $inputs.projectId
    - name: locationId
      in: path
      value: $inputs.locationId
    - name: apiId
      in: path
      value: $inputs.apiId
    - name: versionId
      in: path
      value: $inputs.versionId
    - name: apiSpecId
      in: query
      value: $inputs.specId
    requestBody:
      contentType: application/json
      payload:
        filename: $inputs.specFilename
        mimeType: $inputs.mimeType
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      specName: $response.body#/name
  - stepId: createDeployment
    description: >-
      Record an API deployment that ties the cataloged API to a runtime endpoint.
    operationId: createApiDeployment
    parameters:
    - name: projectId
      in: path
      value: $inputs.projectId
    - name: locationId
      in: path
      value: $inputs.locationId
    - name: apiId
      in: path
      value: $inputs.apiId
    - name: apiDeploymentId
      in: query
      value: $inputs.deploymentId
    requestBody:
      contentType: application/json
      payload:
        displayName: $inputs.deploymentId
        endpointUri: $inputs.endpointUri
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      deploymentName: $response.body#/name
  outputs:
    apiName: $steps.createApi.outputs.apiName
    versionName: $steps.createVersion.outputs.versionName
    specName: $steps.createSpec.outputs.specName
    deploymentName: $steps.createDeployment.outputs.deploymentName

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/apigee-registry-catalog-version-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.