naftiko: 1.0.0-alpha2 info: label: Microsoft Purview Account API — Accounts description: 'Microsoft Purview Account API — Accounts. 9 operations. Lead operation: Microsoft Purview List accounts by subscription. Self-contained Naftiko capability covering one Microsoft Purview business surface.' tags: - Microsoft Purview - Accounts 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: account-accounts baseUri: https://management.azure.com description: Microsoft Purview Account API — Accounts business capability. Self-contained, no shared references. resources: - name: subscriptions-subscriptionId-providers-Microsoft.Purview-accounts path: /subscriptions/{subscriptionId}/providers/Microsoft.Purview/accounts operations: - name: listaccountsbysubscription method: GET description: Microsoft Purview List accounts by subscription outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $skipToken in: query type: string description: The skip token for pagination - name: subscriptions-subscriptionId-providers-Microsoft.Purview-checkNameAvailability path: /subscriptions/{subscriptionId}/providers/Microsoft.Purview/checkNameAvailability operations: - name: checknameavailability method: POST description: Microsoft Purview Check name availability outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts operations: - name: listaccountsbyresourcegroup method: GET description: Microsoft Purview List accounts by resource group outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $skipToken in: query type: string description: The skip token for pagination - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName} operations: - name: createorupdateaccount method: PUT description: Microsoft Purview Create or update a Purview account outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: getaccount method: GET description: Microsoft Purview Get a Purview account outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateaccount method: PATCH description: Microsoft Purview Update a Purview account outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deleteaccount method: DELETE description: Microsoft Purview Delete a Purview account outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/addRootCollectionAdmin operations: - name: addrootcollectionadmin method: POST description: Microsoft Purview Add root collection admin outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/listkeys operations: - name: listaccountkeys method: POST description: Microsoft Purview List account keys outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.MICROSOFT_PURVIEW_API_KEY}}' exposes: - type: rest namespace: account-accounts-rest port: 8080 description: REST adapter for Microsoft Purview Account API — Accounts. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/subscriptions/{subscriptionid}/providers/microsoft-purview/accounts name: subscriptions-subscriptionid-providers-microsoft-purview-accounts description: REST surface for subscriptions-subscriptionId-providers-Microsoft.Purview-accounts. operations: - method: GET name: listaccountsbysubscription description: Microsoft Purview List accounts by subscription call: account-accounts.listaccountsbysubscription with: $skipToken: rest.$skipToken outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/providers/microsoft-purview/checknameavailability name: subscriptions-subscriptionid-providers-microsoft-purview-checknameavailability description: REST surface for subscriptions-subscriptionId-providers-Microsoft.Purview-checkNameAvailability. operations: - method: POST name: checknameavailability description: Microsoft Purview Check name availability call: account-accounts.checknameavailability with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-purview/accounts name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: listaccountsbyresourcegroup description: Microsoft Purview List accounts by resource group call: account-accounts.listaccountsbyresourcegroup with: $skipToken: rest.$skipToken outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-purview/accounts/{accountname} name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: PUT name: createorupdateaccount description: Microsoft Purview Create or update a Purview account call: account-accounts.createorupdateaccount with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: getaccount description: Microsoft Purview Get a Purview account call: account-accounts.getaccount outputParameters: - type: object mapping: $. - method: PATCH name: updateaccount description: Microsoft Purview Update a Purview account call: account-accounts.updateaccount with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteaccount description: Microsoft Purview Delete a Purview account call: account-accounts.deleteaccount outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-purview/accounts/{accountname}/addrootcollectionadmin name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: addrootcollectionadmin description: Microsoft Purview Add root collection admin call: account-accounts.addrootcollectionadmin with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-purview/accounts/{accountname}/listkeys name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: listaccountkeys description: Microsoft Purview List account keys call: account-accounts.listaccountkeys outputParameters: - type: object mapping: $. - type: mcp namespace: account-accounts-mcp port: 9090 transport: http description: MCP adapter for Microsoft Purview Account API — Accounts. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-purview-list-accounts-subscription description: Microsoft Purview List accounts by subscription hints: readOnly: true destructive: false idempotent: true call: account-accounts.listaccountsbysubscription with: $skipToken: tools.$skipToken outputParameters: - type: object mapping: $. - name: microsoft-purview-check-name-availability description: Microsoft Purview Check name availability hints: readOnly: true destructive: false idempotent: false call: account-accounts.checknameavailability with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-purview-list-accounts-resource description: Microsoft Purview List accounts by resource group hints: readOnly: true destructive: false idempotent: true call: account-accounts.listaccountsbyresourcegroup with: $skipToken: tools.$skipToken outputParameters: - type: object mapping: $. - name: microsoft-purview-create-update-purview description: Microsoft Purview Create or update a Purview account hints: readOnly: false destructive: false idempotent: true call: account-accounts.createorupdateaccount with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-purview-get-purview-account description: Microsoft Purview Get a Purview account hints: readOnly: true destructive: false idempotent: true call: account-accounts.getaccount outputParameters: - type: object mapping: $. - name: microsoft-purview-update-purview-account description: Microsoft Purview Update a Purview account hints: readOnly: false destructive: false idempotent: true call: account-accounts.updateaccount with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-purview-delete-purview-account description: Microsoft Purview Delete a Purview account hints: readOnly: false destructive: true idempotent: true call: account-accounts.deleteaccount outputParameters: - type: object mapping: $. - name: microsoft-purview-add-root-collection description: Microsoft Purview Add root collection admin hints: readOnly: false destructive: false idempotent: false call: account-accounts.addrootcollectionadmin with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-purview-list-account-keys description: Microsoft Purview List account keys hints: readOnly: true destructive: false idempotent: false call: account-accounts.listaccountkeys outputParameters: - type: object mapping: $.