naftiko: 1.0.0-alpha2 info: label: Microsoft Purview Catalog API — Glossary description: 'Microsoft Purview Catalog API — Glossary. 19 operations. Lead operation: Microsoft Purview List all glossaries. Self-contained Naftiko capability covering one Microsoft Purview business surface.' tags: - Microsoft Purview - Glossary created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MICROSOFT_PURVIEW_API_KEY: MICROSOFT_PURVIEW_API_KEY capability: consumes: - type: http namespace: catalog-glossary baseUri: https://{accountName}.purview.azure.com/catalog description: Microsoft Purview Catalog API — Glossary business capability. Self-contained, no shared references. resources: - name: api-atlas-v2-glossary path: /api/atlas/v2/glossary operations: - name: listglossaries method: GET description: Microsoft Purview List all glossaries outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: limit in: query type: integer description: The page size - by default there is no paging - name: offset in: query type: integer description: The offset for pagination purpose - name: sort in: query type: string description: The sort order - ASC or DESC - name: ignoreTermsAndCategories in: query type: boolean description: Whether to ignore terms and categories - name: createglossary method: POST description: Microsoft Purview Create a glossary outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-atlas-v2-glossary-category path: /api/atlas/v2/glossary/category operations: - name: createglossarycategory method: POST description: Microsoft Purview Create a glossary category outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-atlas-v2-glossary-category-categoryId path: /api/atlas/v2/glossary/category/{categoryId} operations: - name: getglossarycategory method: GET description: Microsoft Purview Get glossary category by GUID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: categoryId in: path type: string required: true - name: updateglossarycategory method: PUT description: Microsoft Purview Update a glossary category outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: categoryId in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deleteglossarycategory method: DELETE description: Microsoft Purview Delete a glossary category outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: categoryId in: path type: string required: true - name: api-atlas-v2-glossary-term path: /api/atlas/v2/glossary/term operations: - name: createglossaryterm method: POST description: Microsoft Purview Create a glossary term outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: includeTermHierarchy in: query type: boolean description: Whether to include the term hierarchy - name: body in: body type: object description: Request body (JSON). required: true - name: api-atlas-v2-glossary-term-termId path: /api/atlas/v2/glossary/term/{termId} operations: - name: getglossaryterm method: GET description: Microsoft Purview Get glossary term by GUID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: termId in: path type: string required: true - name: updateglossaryterm method: PUT description: Microsoft Purview Update a glossary term outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: termId in: path type: string required: true - name: includeTermHierarchy in: query type: boolean - name: body in: body type: object description: Request body (JSON). required: true - name: deleteglossaryterm method: DELETE description: Microsoft Purview Delete a glossary term outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: termId in: path type: string required: true - name: api-atlas-v2-glossary-terms path: /api/atlas/v2/glossary/terms operations: - name: createglossaryterms method: POST description: Microsoft Purview Create glossary terms in bulk outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-atlas-v2-glossary-terms-termId-assignedEntities path: /api/atlas/v2/glossary/terms/{termId}/assignedEntities operations: - name: listentitiesassignedwithterm method: GET description: Microsoft Purview List entities assigned with term outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: termId in: path type: string required: true - name: limit in: query type: integer - name: offset in: query type: integer - name: sort in: query type: string - name: assigntermtoentities method: POST description: Microsoft Purview Assign term to entities outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: termId in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deletetermassignmentfromentities method: DELETE description: Microsoft Purview Remove term assignment from entities outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: termId in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: api-atlas-v2-glossary-glossaryId path: /api/atlas/v2/glossary/{glossaryId} operations: - name: getglossary method: GET description: Microsoft Purview Get glossary by GUID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: glossaryId in: path type: string required: true - name: updateglossary method: PUT description: Microsoft Purview Update a glossary outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: glossaryId in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deleteglossary method: DELETE description: Microsoft Purview Delete a glossary outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: glossaryId in: path type: string required: true - name: api-atlas-v2-glossary-glossaryId-categories path: /api/atlas/v2/glossary/{glossaryId}/categories operations: - name: listglossarycategories method: GET description: Microsoft Purview List categories in glossary outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: glossaryId in: path type: string required: true - name: limit in: query type: integer - name: offset in: query type: integer - name: sort in: query type: string - name: api-atlas-v2-glossary-glossaryId-terms path: /api/atlas/v2/glossary/{glossaryId}/terms operations: - name: listglossaryterms method: GET description: Microsoft Purview List terms in glossary outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: glossaryId in: path type: string required: true - name: limit in: query type: integer - name: offset in: query type: integer - name: sort in: query type: string authentication: type: bearer token: '{{env.MICROSOFT_PURVIEW_API_KEY}}' exposes: - type: rest namespace: catalog-glossary-rest port: 8080 description: REST adapter for Microsoft Purview Catalog API — Glossary. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/atlas/v2/glossary name: api-atlas-v2-glossary description: REST surface for api-atlas-v2-glossary. operations: - method: GET name: listglossaries description: Microsoft Purview List all glossaries call: catalog-glossary.listglossaries with: limit: rest.limit offset: rest.offset sort: rest.sort ignoreTermsAndCategories: rest.ignoreTermsAndCategories outputParameters: - type: object mapping: $. - method: POST name: createglossary description: Microsoft Purview Create a glossary call: catalog-glossary.createglossary with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/atlas/v2/glossary/category name: api-atlas-v2-glossary-category description: REST surface for api-atlas-v2-glossary-category. operations: - method: POST name: createglossarycategory description: Microsoft Purview Create a glossary category call: catalog-glossary.createglossarycategory with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/atlas/v2/glossary/category/{categoryid} name: api-atlas-v2-glossary-category-categoryid description: REST surface for api-atlas-v2-glossary-category-categoryId. operations: - method: GET name: getglossarycategory description: Microsoft Purview Get glossary category by GUID call: catalog-glossary.getglossarycategory with: categoryId: rest.categoryId outputParameters: - type: object mapping: $. - method: PUT name: updateglossarycategory description: Microsoft Purview Update a glossary category call: catalog-glossary.updateglossarycategory with: categoryId: rest.categoryId body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteglossarycategory description: Microsoft Purview Delete a glossary category call: catalog-glossary.deleteglossarycategory with: categoryId: rest.categoryId outputParameters: - type: object mapping: $. - path: /v1/api/atlas/v2/glossary/term name: api-atlas-v2-glossary-term description: REST surface for api-atlas-v2-glossary-term. operations: - method: POST name: createglossaryterm description: Microsoft Purview Create a glossary term call: catalog-glossary.createglossaryterm with: includeTermHierarchy: rest.includeTermHierarchy body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/atlas/v2/glossary/term/{termid} name: api-atlas-v2-glossary-term-termid description: REST surface for api-atlas-v2-glossary-term-termId. operations: - method: GET name: getglossaryterm description: Microsoft Purview Get glossary term by GUID call: catalog-glossary.getglossaryterm with: termId: rest.termId outputParameters: - type: object mapping: $. - method: PUT name: updateglossaryterm description: Microsoft Purview Update a glossary term call: catalog-glossary.updateglossaryterm with: termId: rest.termId includeTermHierarchy: rest.includeTermHierarchy body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteglossaryterm description: Microsoft Purview Delete a glossary term call: catalog-glossary.deleteglossaryterm with: termId: rest.termId outputParameters: - type: object mapping: $. - path: /v1/api/atlas/v2/glossary/terms name: api-atlas-v2-glossary-terms description: REST surface for api-atlas-v2-glossary-terms. operations: - method: POST name: createglossaryterms description: Microsoft Purview Create glossary terms in bulk call: catalog-glossary.createglossaryterms with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/atlas/v2/glossary/terms/{termid}/assignedentities name: api-atlas-v2-glossary-terms-termid-assignedentities description: REST surface for api-atlas-v2-glossary-terms-termId-assignedEntities. operations: - method: GET name: listentitiesassignedwithterm description: Microsoft Purview List entities assigned with term call: catalog-glossary.listentitiesassignedwithterm with: termId: rest.termId limit: rest.limit offset: rest.offset sort: rest.sort outputParameters: - type: object mapping: $. - method: POST name: assigntermtoentities description: Microsoft Purview Assign term to entities call: catalog-glossary.assigntermtoentities with: termId: rest.termId body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletetermassignmentfromentities description: Microsoft Purview Remove term assignment from entities call: catalog-glossary.deletetermassignmentfromentities with: termId: rest.termId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/atlas/v2/glossary/{glossaryid} name: api-atlas-v2-glossary-glossaryid description: REST surface for api-atlas-v2-glossary-glossaryId. operations: - method: GET name: getglossary description: Microsoft Purview Get glossary by GUID call: catalog-glossary.getglossary with: glossaryId: rest.glossaryId outputParameters: - type: object mapping: $. - method: PUT name: updateglossary description: Microsoft Purview Update a glossary call: catalog-glossary.updateglossary with: glossaryId: rest.glossaryId body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteglossary description: Microsoft Purview Delete a glossary call: catalog-glossary.deleteglossary with: glossaryId: rest.glossaryId outputParameters: - type: object mapping: $. - path: /v1/api/atlas/v2/glossary/{glossaryid}/categories name: api-atlas-v2-glossary-glossaryid-categories description: REST surface for api-atlas-v2-glossary-glossaryId-categories. operations: - method: GET name: listglossarycategories description: Microsoft Purview List categories in glossary call: catalog-glossary.listglossarycategories with: glossaryId: rest.glossaryId limit: rest.limit offset: rest.offset sort: rest.sort outputParameters: - type: object mapping: $. - path: /v1/api/atlas/v2/glossary/{glossaryid}/terms name: api-atlas-v2-glossary-glossaryid-terms description: REST surface for api-atlas-v2-glossary-glossaryId-terms. operations: - method: GET name: listglossaryterms description: Microsoft Purview List terms in glossary call: catalog-glossary.listglossaryterms with: glossaryId: rest.glossaryId limit: rest.limit offset: rest.offset sort: rest.sort outputParameters: - type: object mapping: $. - type: mcp namespace: catalog-glossary-mcp port: 9090 transport: http description: MCP adapter for Microsoft Purview Catalog API — Glossary. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-purview-list-all-glossaries description: Microsoft Purview List all glossaries hints: readOnly: true destructive: false idempotent: true call: catalog-glossary.listglossaries with: limit: tools.limit offset: tools.offset sort: tools.sort ignoreTermsAndCategories: tools.ignoreTermsAndCategories outputParameters: - type: object mapping: $. - name: microsoft-purview-create-glossary description: Microsoft Purview Create a glossary hints: readOnly: false destructive: false idempotent: false call: catalog-glossary.createglossary with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-purview-create-glossary-category description: Microsoft Purview Create a glossary category hints: readOnly: false destructive: false idempotent: false call: catalog-glossary.createglossarycategory with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-purview-get-glossary-category description: Microsoft Purview Get glossary category by GUID hints: readOnly: true destructive: false idempotent: true call: catalog-glossary.getglossarycategory with: categoryId: tools.categoryId outputParameters: - type: object mapping: $. - name: microsoft-purview-update-glossary-category description: Microsoft Purview Update a glossary category hints: readOnly: false destructive: false idempotent: true call: catalog-glossary.updateglossarycategory with: categoryId: tools.categoryId body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-purview-delete-glossary-category description: Microsoft Purview Delete a glossary category hints: readOnly: false destructive: true idempotent: true call: catalog-glossary.deleteglossarycategory with: categoryId: tools.categoryId outputParameters: - type: object mapping: $. - name: microsoft-purview-create-glossary-term description: Microsoft Purview Create a glossary term hints: readOnly: false destructive: false idempotent: false call: catalog-glossary.createglossaryterm with: includeTermHierarchy: tools.includeTermHierarchy body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-purview-get-glossary-term description: Microsoft Purview Get glossary term by GUID hints: readOnly: true destructive: false idempotent: true call: catalog-glossary.getglossaryterm with: termId: tools.termId outputParameters: - type: object mapping: $. - name: microsoft-purview-update-glossary-term description: Microsoft Purview Update a glossary term hints: readOnly: false destructive: false idempotent: true call: catalog-glossary.updateglossaryterm with: termId: tools.termId includeTermHierarchy: tools.includeTermHierarchy body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-purview-delete-glossary-term description: Microsoft Purview Delete a glossary term hints: readOnly: false destructive: true idempotent: true call: catalog-glossary.deleteglossaryterm with: termId: tools.termId outputParameters: - type: object mapping: $. - name: microsoft-purview-create-glossary-terms description: Microsoft Purview Create glossary terms in bulk hints: readOnly: false destructive: false idempotent: false call: catalog-glossary.createglossaryterms with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-purview-list-entities-assigned description: Microsoft Purview List entities assigned with term hints: readOnly: true destructive: false idempotent: true call: catalog-glossary.listentitiesassignedwithterm with: termId: tools.termId limit: tools.limit offset: tools.offset sort: tools.sort outputParameters: - type: object mapping: $. - name: microsoft-purview-assign-term-entities description: Microsoft Purview Assign term to entities hints: readOnly: false destructive: false idempotent: false call: catalog-glossary.assigntermtoentities with: termId: tools.termId body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-purview-remove-term-assignment description: Microsoft Purview Remove term assignment from entities hints: readOnly: false destructive: true idempotent: true call: catalog-glossary.deletetermassignmentfromentities with: termId: tools.termId body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-purview-get-glossary-guid description: Microsoft Purview Get glossary by GUID hints: readOnly: true destructive: false idempotent: true call: catalog-glossary.getglossary with: glossaryId: tools.glossaryId outputParameters: - type: object mapping: $. - name: microsoft-purview-update-glossary description: Microsoft Purview Update a glossary hints: readOnly: false destructive: false idempotent: true call: catalog-glossary.updateglossary with: glossaryId: tools.glossaryId body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-purview-delete-glossary description: Microsoft Purview Delete a glossary hints: readOnly: false destructive: true idempotent: true call: catalog-glossary.deleteglossary with: glossaryId: tools.glossaryId outputParameters: - type: object mapping: $. - name: microsoft-purview-list-categories-glossary description: Microsoft Purview List categories in glossary hints: readOnly: true destructive: false idempotent: true call: catalog-glossary.listglossarycategories with: glossaryId: tools.glossaryId limit: tools.limit offset: tools.offset sort: tools.sort outputParameters: - type: object mapping: $. - name: microsoft-purview-list-terms-glossary description: Microsoft Purview List terms in glossary hints: readOnly: true destructive: false idempotent: true call: catalog-glossary.listglossaryterms with: glossaryId: tools.glossaryId limit: tools.limit offset: tools.offset sort: tools.sort outputParameters: - type: object mapping: $.