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
x-realizes-capability-ids:
- BC-4270
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
capability_name: Developer Platform & API Ecosystem Management
spec: sap-integration-suite-api-products-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: apiProductsApi
url: ../openapi/sap-integration-suite-api-products-api-openapi.yml
type: openapi
- name: apiProxiesApi
url: ../openapi/sap-integration-suite-api-proxies-api-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
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.