SAP Integration Suite · Arazzo Workflow

SAP Integration Suite Retire API Proxy

Version 1.0.0

Confirm an API proxy exists, list products to check for dependents, then delete the proxy.

1 workflow 1 source API 1 provider
View Spec View on GitHub API ManagementCloud IntegrationEnterprise IntegrationEvent MeshiPaaSSAPSAP BTPArazzoWorkflows

Provider

sap-integration-suite

Workflows

retire-api-proxy
Verify, check product dependents, delete, and confirm removal of an API proxy.
Confirms an API proxy exists, lists API products to surface dependents, deletes the proxy, and confirms the proxy is gone.
4 steps inputs: maxProducts, proxyName outputs: deleteStatus, products, removalStatus
1
confirmProxy
getAPIProxy
Confirm the proxy exists before attempting to retire it.
2
listProducts
listAPIProducts
List API products so an operator can confirm none still bundle the proxy before deletion.
3
deleteProxy
deleteAPIProxy
Delete the API proxy from the tenant.
4
confirmRemoved
getAPIProxy
Re-read the proxy to confirm it has been deleted (a 404 is expected).

Source API Descriptions

Arazzo Workflow Specification

sap-integration-suite-retire-api-proxy-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: SAP Integration Suite Retire API Proxy
  summary: Confirm an API proxy exists, list products to check for dependents, then delete the proxy.
  description: >-
    A safe retirement loop for API proxies. The workflow confirms the proxy
    exists, lists the API products in the tenant so an operator can verify no
    product still bundles the proxy, deletes the proxy, and then re-reads it to
    confirm a 404. 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: apiManagementApi
  url: ../openapi/sap-integration-suite-api-management-openapi.yml
  type: openapi
workflows:
- workflowId: retire-api-proxy
  summary: Verify, check product dependents, delete, and confirm removal of an API proxy.
  description: >-
    Confirms an API proxy exists, lists API products to surface dependents,
    deletes the proxy, and confirms the proxy is gone.
  inputs:
    type: object
    required:
    - proxyName
    properties:
      proxyName:
        type: string
        description: Name of the API proxy to retire.
      maxProducts:
        type: integer
        description: Maximum number of API products to list when checking for dependents.
        default: 100
  steps:
  - stepId: confirmProxy
    description: Confirm the proxy exists before attempting to retire it.
    operationId: getAPIProxy
    parameters:
    - name: name
      in: path
      value: $inputs.proxyName
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      proxyTitle: $response.body#/d/title
  - stepId: listProducts
    description: >-
      List API products so an operator can confirm none still bundle the proxy
      before deletion.
    operationId: listAPIProducts
    parameters:
    - name: $top
      in: query
      value: $inputs.maxProducts
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      products: $response.body#/d/results
  - stepId: deleteProxy
    description: Delete the API proxy from the tenant.
    operationId: deleteAPIProxy
    parameters:
    - name: name
      in: path
      value: $inputs.proxyName
    successCriteria:
    - condition: $statusCode == 204
    outputs:
      deleteStatus: $statusCode
  - stepId: confirmRemoved
    description: Re-read the proxy to confirm it has been deleted (a 404 is expected).
    operationId: getAPIProxy
    parameters:
    - name: name
      in: path
      value: $inputs.proxyName
    successCriteria:
    - condition: $statusCode == 404
    outputs:
      removalStatus: $statusCode
  outputs:
    products: $steps.listProducts.outputs.products
    deleteStatus: $steps.deleteProxy.outputs.deleteStatus
    removalStatus: $steps.confirmRemoved.outputs.removalStatus