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 1 source API 1 provider
View Spec View on GitHub Advanced API SecurityAgentic AIAnalyticsAPI GatewayAPI GovernanceAPI HubAPI ManagementDeveloper PortalEnterpriseGenerative AIHybridIntegrationsMicroservicesMCPModel Context ProtocolMonetizationArazzoWorkflows

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
createApi
Create the API entry that groups the version, spec, and deployment.
2
createVersion
createApiVersion
Add a version to the API in the Registry.
3
createSpec
createApiSpec
Attach a specification document to the version with a filename and MIME type.
4
createDeployment
createApiDeployment
Record an API deployment that ties the cataloged API to a runtime endpoint.

Source API Descriptions

Arazzo Workflow Specification

apigee-registry-catalog-version-workflow.yml 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
sourceDescriptions:
- name: apigeeRegistry
  url: ../openapi/apigee-registry-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