Apigee · Arazzo Workflow

Apigee Import and Deploy an API Proxy

Version 1.0.0

Import an API proxy bundle, find its newest revision, deploy it, and confirm the 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

import-and-deploy-proxy
Import an API proxy bundle and deploy its latest revision to an environment.
Imports an API proxy configuration bundle, resolves the latest revision id, deploys that revision to the target environment, and verifies the deployment appears in the organization deployment list.
4 steps inputs: bundle, environmentId, organizationId, proxyName outputs: deploymentState, deployments, latestRevisionId
1
importProxy
createApiProxy
Import the API proxy bundle into the organization, creating the first revision of a new proxy.
2
getProxy
getApiProxy
Read the proxy back to confirm the import and discover the latest revision id available for deployment.
3
deployRevision
deployApiProxyRevision
Deploy the latest revision of the proxy to the target environment so it can accept client requests.
4
confirmDeployment
listOrganizationDeployments
List the organization deployments to confirm the freshly deployed proxy revision is present.

Source API Descriptions

Arazzo Workflow Specification

apigee-proxy-import-and-deploy-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Apigee Import and Deploy an API Proxy
  summary: Import an API proxy bundle, find its newest revision, deploy it, and confirm the deployment.
  description: >-
    The foundational Apigee proxy lifecycle. The workflow imports a new API
    proxy into an organization, reads back the proxy to discover the latest
    revision that was created, deploys that revision to a runtime environment,
    and then lists organization deployments to confirm the proxy is live. 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: apigeeApiManagement
  url: ../openapi/apigee-api-management-openapi.yml
  type: openapi
workflows:
- workflowId: import-and-deploy-proxy
  summary: Import an API proxy bundle and deploy its latest revision to an environment.
  description: >-
    Imports an API proxy configuration bundle, resolves the latest revision id,
    deploys that revision to the target environment, and verifies the deployment
    appears in the organization deployment list.
  inputs:
    type: object
    required:
    - organizationId
    - environmentId
    - proxyName
    - bundle
    properties:
      organizationId:
        type: string
        description: The Apigee organization that will own the API proxy.
      environmentId:
        type: string
        description: The environment to deploy the imported proxy revision into.
      proxyName:
        type: string
        description: Unique name for the new API proxy within the organization.
      bundle:
        type: string
        description: The API proxy bundle payload (ZIP content) to import.
  steps:
  - stepId: importProxy
    description: >-
      Import the API proxy bundle into the organization, creating the first
      revision of a new proxy.
    operationId: createApiProxy
    parameters:
    - name: organizationId
      in: path
      value: $inputs.organizationId
    - name: name
      in: query
      value: $inputs.proxyName
    - name: action
      in: query
      value: import
    requestBody:
      contentType: application/json
      payload: $inputs.bundle
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      importedRevision: $response.body#/revision
  - stepId: getProxy
    description: >-
      Read the proxy back to confirm the import and discover the latest
      revision id available for deployment.
    operationId: getApiProxy
    parameters:
    - name: organizationId
      in: path
      value: $inputs.organizationId
    - name: apiId
      in: path
      value: $inputs.proxyName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      latestRevisionId: $response.body#/latestRevisionId
  - stepId: deployRevision
    description: >-
      Deploy the latest revision of the proxy to the target environment so it
      can accept client requests.
    operationId: deployApiProxyRevision
    parameters:
    - name: organizationId
      in: path
      value: $inputs.organizationId
    - name: environmentId
      in: path
      value: $inputs.environmentId
    - name: apiId
      in: path
      value: $inputs.proxyName
    - name: revisionId
      in: path
      value: $steps.getProxy.outputs.latestRevisionId
    - name: override
      in: query
      value: true
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      deploymentState: $response.body#/state
      deployedRevision: $response.body#/revision
  - stepId: confirmDeployment
    description: >-
      List the organization deployments to confirm the freshly deployed proxy
      revision is present.
    operationId: listOrganizationDeployments
    parameters:
    - name: organizationId
      in: path
      value: $inputs.organizationId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      deployments: $response.body#/deployments
  outputs:
    latestRevisionId: $steps.getProxy.outputs.latestRevisionId
    deploymentState: $steps.deployRevision.outputs.deploymentState
    deployments: $steps.confirmDeployment.outputs.deployments