Microsoft Azure API Management · Arazzo Workflow

Azure API Management Register API Schema

Version 1.0.0

Confirm an API exists, register a schema for it, then list the API's schemas.

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

Provider

microsoft-azure-api-management

Workflows

register-api-schema
Register a schema for an API and confirm it.
Confirms the API exists, registers a schema document, then lists the API's schemas to verify.
3 steps inputs: apiId, contentType, definitions, resourceGroupName, schemaId, serviceName, subscriptionId outputs: schemaCount, schemaResourceId
1
getApi
Api_Get
Read the API to confirm it exists before registering a schema.
2
createSchema
ApiSchema_CreateOrUpdate
Create or update the schema document for the API.
3
listSchemas
ApiSchema_ListByApi
List the API's schemas to confirm the new schema is registered.

Source API Descriptions

Arazzo Workflow Specification

microsoft-azure-api-management-register-api-schema-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Azure API Management Register API Schema
  summary: Confirm an API exists, register a schema for it, then list the API's schemas.
  description: >-
    Attaches a schema definition (such as a JSON or OpenAPI component schema)
    that operations reference. The workflow reads the API to confirm it exists,
    creates or updates a schema document, then lists the API's schemas to
    confirm registration. 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: register-api-schema
  summary: Register a schema for an API and confirm it.
  description: >-
    Confirms the API exists, registers a schema document, then lists the API's
    schemas to verify.
  inputs:
    type: object
    required:
    - subscriptionId
    - resourceGroupName
    - serviceName
    - apiId
    - schemaId
    - contentType
    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 register the schema for.
      schemaId:
        type: string
        description: The schema identifier to create.
      contentType:
        type: string
        description: The schema content type (e.g. application/vnd.oai.openapi.components+json).
      definitions:
        type: object
        description: The schema definitions document.
  steps:
  - stepId: getApi
    description: >-
      Read the API to confirm it exists before registering a schema.
    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: createSchema
    description: >-
      Create or update the schema document for the API.
    operationId: ApiSchema_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: schemaId
      in: path
      value: $inputs.schemaId
    requestBody:
      contentType: application/json
      payload:
        properties:
          contentType: $inputs.contentType
          document:
            definitions: $inputs.definitions
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      schemaResourceId: $response.body#/id
  - stepId: listSchemas
    description: >-
      List the API's schemas to confirm the new schema is registered.
    operationId: ApiSchema_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:
      schemaCount: $response.body#/count
  outputs:
    schemaResourceId: $steps.createSchema.outputs.schemaResourceId
    schemaCount: $steps.listSchemas.outputs.schemaCount