Microsoft Azure API Management · Arazzo Workflow

Azure API Management Provision Backend

Version 1.0.0

Register a backend, read it back, then trigger a reconnect.

1 workflow 1 source API 1 provider
View Spec View on GitHub A2AAI GatewayAPI CenterAPI GatewayAPI ManagementEnterpriseMCPMicrosoft AzureArazzoWorkflows

Provider

microsoft-azure-api-management

Workflows

provision-backend
Register a backend and reconnect the gateway to it.
Creates or updates a backend, reads it back, then triggers a reconnect.
3 steps inputs: backendId, protocol, resourceGroupName, serviceName, subscriptionId, url outputs: backendResourceId
1
createBackend
Backend_CreateOrUpdate
Create or update the backend with the supplied URL and protocol.
2
getBackend
Backend_Get
Read the backend back to confirm the URL and protocol were stored.
3
reconnectBackend
Backend_Reconnect
Trigger a reconnect so the gateway establishes a fresh connection to the backend.

Source API Descriptions

Arazzo Workflow Specification

microsoft-azure-api-management-provision-backend-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Azure API Management Provision Backend
  summary: Register a backend, read it back, then trigger a reconnect.
  description: >-
    Registers a backend service that APIs can route to. The workflow creates or
    updates the backend with a URL and protocol, reads it back to confirm the
    settings, then triggers a reconnect so the gateway establishes a fresh
    connection. 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: azureApiManagementApi
  url: ../openapi/microsoft-azure-api-management-rest-api-openapi.yaml
  type: openapi
workflows:
- workflowId: provision-backend
  summary: Register a backend and reconnect the gateway to it.
  description: >-
    Creates or updates a backend, reads it back, then triggers a reconnect.
  inputs:
    type: object
    required:
    - subscriptionId
    - resourceGroupName
    - serviceName
    - backendId
    - url
    properties:
      subscriptionId:
        type: string
        description: The Azure subscription identifier.
      resourceGroupName:
        type: string
        description: The resource group containing the service.
      serviceName:
        type: string
        description: The API Management service name.
      backendId:
        type: string
        description: The backend identifier to create.
      url:
        type: string
        description: The backend service URL.
      protocol:
        type: string
        description: The backend communication protocol (e.g. http or soap).
  steps:
  - stepId: createBackend
    description: >-
      Create or update the backend with the supplied URL and protocol.
    operationId: Backend_CreateOrUpdate
    parameters:
    - name: subscriptionId
      in: path
      value: $inputs.subscriptionId
    - name: resourceGroupName
      in: path
      value: $inputs.resourceGroupName
    - name: serviceName
      in: path
      value: $inputs.serviceName
    - name: backendId
      in: path
      value: $inputs.backendId
    requestBody:
      contentType: application/json
      payload:
        properties:
          url: $inputs.url
          protocol: $inputs.protocol
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      backendResourceId: $response.body#/id
  - stepId: getBackend
    description: >-
      Read the backend back to confirm the URL and protocol were stored.
    operationId: Backend_Get
    parameters:
    - name: subscriptionId
      in: path
      value: $inputs.subscriptionId
    - name: resourceGroupName
      in: path
      value: $inputs.resourceGroupName
    - name: serviceName
      in: path
      value: $inputs.serviceName
    - name: backendId
      in: path
      value: $inputs.backendId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      backendResourceId: $response.body#/id
  - stepId: reconnectBackend
    description: >-
      Trigger a reconnect so the gateway establishes a fresh connection to the
      backend.
    operationId: Backend_Reconnect
    parameters:
    - name: subscriptionId
      in: path
      value: $inputs.subscriptionId
    - name: resourceGroupName
      in: path
      value: $inputs.resourceGroupName
    - name: serviceName
      in: path
      value: $inputs.serviceName
    - name: backendId
      in: path
      value: $inputs.backendId
    successCriteria:
    - condition: $statusCode == 200
  outputs:
    backendResourceId: $steps.createBackend.outputs.backendResourceId