Microsoft Purview · Arazzo Workflow

Microsoft Purview Publish a Glossary Term

Version 1.0.0

Create a glossary, confirm it, then create a term anchored to that glossary.

1 workflow 1 source API 1 provider
View Spec View on GitHub ComplianceData CatalogData ClassificationData GovernanceData Loss PreventionInformation ProtectionArazzoWorkflows

Provider

microsoft-purview

Workflows

publish-glossary-term
Create a glossary and a term anchored to it.
Creates a glossary, resolves its GUID, creates a glossary term whose anchor points at the new glossary, and confirms the term by reading it back.
4 steps inputs: authorization, glossaryDescription, glossaryName, termDescription, termName outputs: glossaryGuid, termGuid
1
createGlossary
createGlossary
Create the business glossary that will anchor the new term.
2
getGlossary
getGlossary
Read the glossary back by its GUID to confirm it was created.
3
createTerm
createGlossaryTerm
Create a glossary term anchored to the new glossary using its GUID as the anchor reference.
4
getTerm
getGlossaryTerm
Read the term back by its GUID to confirm it was stored.

Source API Descriptions

Arazzo Workflow Specification

microsoft-purview-publish-glossary-term-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Microsoft Purview Publish a Glossary Term
  summary: Create a glossary, confirm it, then create a term anchored to that glossary.
  description: >-
    Stands up a business glossary and its first term in the Purview Atlas
    catalog. The workflow creates a glossary, reads it back to capture its
    GUID, creates a term anchored to that glossary, and reads the term back to
    confirm it was stored. Every step spells out its request inline — including
    the inline OAuth2 bearer token — so the flow can be read and executed
    without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: catalogApi
  url: ../openapi/microsoft-purview-catalog-openapi.yml
  type: openapi
workflows:
- workflowId: publish-glossary-term
  summary: Create a glossary and a term anchored to it.
  description: >-
    Creates a glossary, resolves its GUID, creates a glossary term whose anchor
    points at the new glossary, and confirms the term by reading it back.
  inputs:
    type: object
    required:
    - authorization
    - glossaryName
    - termName
    properties:
      authorization:
        type: string
        description: The OAuth2 bearer token value, e.g. "Bearer eyJ0...".
      glossaryName:
        type: string
        description: The display name for the new glossary.
      glossaryDescription:
        type: string
        description: An optional short description for the glossary.
      termName:
        type: string
        description: The display name for the new glossary term.
      termDescription:
        type: string
        description: An optional short description for the term.
  steps:
  - stepId: createGlossary
    description: Create the business glossary that will anchor the new term.
    operationId: createGlossary
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.glossaryName
        shortDescription: $inputs.glossaryDescription
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      glossaryGuid: $response.body#/guid
  - stepId: getGlossary
    description: Read the glossary back by its GUID to confirm it was created.
    operationId: getGlossary
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: glossaryId
      in: path
      value: $steps.createGlossary.outputs.glossaryGuid
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      glossaryGuid: $response.body#/guid
  - stepId: createTerm
    description: >-
      Create a glossary term anchored to the new glossary using its GUID as the
      anchor reference.
    operationId: createGlossaryTerm
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.termName
        shortDescription: $inputs.termDescription
        status: Draft
        anchor:
          glossaryGuid: $steps.getGlossary.outputs.glossaryGuid
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      termGuid: $response.body#/guid
  - stepId: getTerm
    description: Read the term back by its GUID to confirm it was stored.
    operationId: getGlossaryTerm
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authorization
    - name: termId
      in: path
      value: $steps.createTerm.outputs.termGuid
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      termGuid: $response.body#/guid
      termName: $response.body#/name
  outputs:
    glossaryGuid: $steps.getGlossary.outputs.glossaryGuid
    termGuid: $steps.getTerm.outputs.termGuid