Microsoft Azure API Management · Arazzo Workflow

Azure API Management Define API Operation

Version 1.0.0

Confirm an API exists, add an operation to it, then list the API's operations.

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

Provider

microsoft-azure-api-management

Workflows

define-api-operation
Add an operation to an API and confirm it.
Confirms the API exists, creates an operation with a method and URL template, then lists the API's operations to verify.
3 steps inputs: apiId, displayName, method, operationId, resourceGroupName, serviceName, subscriptionId, urlTemplate outputs: operationCount, operationResourceId
1
getApi
Api_Get
Read the API to confirm it exists before adding an operation.
2
createOperation
ApiOperation_CreateOrUpdate
Create or update the operation with a display name, HTTP method, and URL template.
3
listOperations
ApiOperation_ListByApi
List the API's operations to confirm the new operation is present.

Source API Descriptions

Arazzo Workflow Specification

microsoft-azure-api-management-define-api-operation-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Azure API Management Define API Operation
  summary: Confirm an API exists, add an operation to it, then list the API's operations.
  description: >-
    Adds a single HTTP operation (method + URL template) to an existing API. The
    workflow reads the API to confirm it exists, creates or updates the
    operation with a display name, method, and URL template, then lists the
    API's operations to confirm the new operation is present. 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: define-api-operation
  summary: Add an operation to an API and confirm it.
  description: >-
    Confirms the API exists, creates an operation with a method and URL
    template, then lists the API's operations to verify.
  inputs:
    type: object
    required:
    - subscriptionId
    - resourceGroupName
    - serviceName
    - apiId
    - operationId
    - displayName
    - method
    - urlTemplate
    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.
      apiId:
        type: string
        description: The API identifier to add the operation to.
      operationId:
        type: string
        description: The operation identifier to create.
      displayName:
        type: string
        description: The operation display name.
      method:
        type: string
        description: The HTTP method (e.g. GET, POST).
      urlTemplate:
        type: string
        description: The operation URL template (e.g. /pets/{petId}).
  steps:
  - stepId: getApi
    description: >-
      Read the API to confirm it exists before adding an operation.
    operationId: Api_Get
    parameters:
    - name: subscriptionId
      in: path
      value: $inputs.subscriptionId
    - name: resourceGroupName
      in: path
      value: $inputs.resourceGroupName
    - name: serviceName
      in: path
      value: $inputs.serviceName
    - name: apiId
      in: path
      value: $inputs.apiId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      apiResourceId: $response.body#/id
  - stepId: createOperation
    description: >-
      Create or update the operation with a display name, HTTP method, and URL
      template.
    operationId: ApiOperation_CreateOrUpdate
    parameters:
    - name: subscriptionId
      in: path
      value: $inputs.subscriptionId
    - name: resourceGroupName
      in: path
      value: $inputs.resourceGroupName
    - name: serviceName
      in: path
      value: $inputs.serviceName
    - name: apiId
      in: path
      value: $inputs.apiId
    - name: operationId
      in: path
      value: $inputs.operationId
    requestBody:
      contentType: application/json
      payload:
        properties:
          displayName: $inputs.displayName
          method: $inputs.method
          urlTemplate: $inputs.urlTemplate
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      operationResourceId: $response.body#/id
  - stepId: listOperations
    description: >-
      List the API's operations to confirm the new operation is present.
    operationId: ApiOperation_ListByApi
    parameters:
    - name: subscriptionId
      in: path
      value: $inputs.subscriptionId
    - name: resourceGroupName
      in: path
      value: $inputs.resourceGroupName
    - name: serviceName
      in: path
      value: $inputs.serviceName
    - name: apiId
      in: path
      value: $inputs.apiId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      operationCount: $response.body#/count
  outputs:
    operationResourceId: $steps.createOperation.outputs.operationResourceId
    operationCount: $steps.listOperations.outputs.operationCount