naftiko: 1.0.0-alpha2 info: label: Microsoft Azure Azure Migrate — Subscriptions description: 'Microsoft Azure Azure Migrate — Subscriptions. 20 operations. Lead operation: Microsoft Azure Get All Assessments Created In The Project. Self-contained Naftiko capability covering one Microsoft Azure business surface.' tags: - Microsoft Azure - Subscriptions created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MICROSOFT_AZURE_API_KEY: MICROSOFT_AZURE_API_KEY capability: consumes: - type: http namespace: azure-migrate-subscriptions baseUri: https://management.azure.com description: Microsoft Azure Azure Migrate — Subscriptions business capability. Self-contained, no shared references. resources: - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/assessments operations: - name: microsoftazureassessmentslistbyproject method: GET description: Microsoft Azure Get All Assessments Created In The Project outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups operations: - name: microsoftazuregroupslistbyproject method: GET description: Microsoft Azure Get All Groups outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName} operations: - name: microsoftazuregroupsget method: GET description: Microsoft Azure Get A Specific Group outputRawFormat: json outputParameters: - name: result type: object value: $. - name: microsoftazuregroupscreate method: PUT description: Microsoft Azure Create A New Group With Specified Settings If Group With The Name Provided Already Exists, Then The Existing Group Is Updated outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: group in: body type: string description: New or Updated Group object. - name: microsoftazuregroupsdelete method: DELETE description: Microsoft Azure Delete The Group outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments operations: - name: microsoftazureassessmentslistbygroup method: GET description: Microsoft Azure Get All Assessments Created For The Specified Group outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName} operations: - name: microsoftazureassessmentsget method: GET description: Microsoft Azure Get An Assessment outputRawFormat: json outputParameters: - name: result type: object value: $. - name: microsoftazureassessmentscreate method: PUT description: Microsoft Azure Create Or Update Assessment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: assessment in: body type: string description: New or Updated Assessment object. - name: microsoftazureassessmentsdelete method: DELETE description: Microsoft Azure Deletes An Assessment From The Project outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/assessedMachines operations: - name: microsoftazureassessedmachineslistbyassessment method: GET description: Microsoft Azure Get Assessed Machines For Assessment outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/assessedMachines/{assessedMachineName} operations: - name: microsoftazureassessedmachinesget method: GET description: Microsoft Azure Get An Assessed Machine outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/downloadUrl operations: - name: microsoftazureassessmentsgetreportdownloadurl method: POST description: Microsoft Azure Get Download Url For The Assessment Report outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines operations: - name: microsoftazuremachineslistbyproject method: GET description: Microsoft Azure Get All Machines In The Project outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines/{machineName} operations: - name: microsoftazuremachinesget method: GET description: Microsoft Azure Get A Specific Machine outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourcegroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects operations: - name: microsoftazureprojectslist method: GET description: Microsoft Azure Get All Projects outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourcegroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName} operations: - name: microsoftazureprojectsget method: GET description: Microsoft Azure Get The Specified Project outputRawFormat: json outputParameters: - name: result type: object value: $. - name: microsoftazureprojectscreate method: PUT description: Microsoft Azure Create Or Update Project outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: project in: body type: string description: New or Updated project object. - name: microsoftazureprojectsupdate method: PATCH description: Microsoft Azure Update Project outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: project in: body type: string description: Updated project object. - name: microsoftazureprojectsdelete method: DELETE description: Microsoft Azure Delete The Project outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourcegroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/keys operations: - name: microsoftazureprojectsgetkeys method: POST description: Microsoft Azure Get Shared Keys For The Project outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: azure-migrate-subscriptions-rest port: 8080 description: REST adapter for Microsoft Azure Azure Migrate — Subscriptions. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-migrate/projects/{projectname}/assessments name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: microsoftazureassessmentslistbyproject description: Microsoft Azure Get All Assessments Created In The Project call: azure-migrate-subscriptions.microsoftazureassessmentslistbyproject outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-migrate/projects/{projectname}/groups name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: microsoftazuregroupslistbyproject description: Microsoft Azure Get All Groups call: azure-migrate-subscriptions.microsoftazuregroupslistbyproject outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-migrate/projects/{projectname}/groups/{groupname} name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: microsoftazuregroupsget description: Microsoft Azure Get A Specific Group call: azure-migrate-subscriptions.microsoftazuregroupsget outputParameters: - type: object mapping: $. - method: PUT name: microsoftazuregroupscreate description: Microsoft Azure Create A New Group With Specified Settings If Group With The Name Provided Already Exists, Then The Existing Group Is Updated call: azure-migrate-subscriptions.microsoftazuregroupscreate with: group: rest.group outputParameters: - type: object mapping: $. - method: DELETE name: microsoftazuregroupsdelete description: Microsoft Azure Delete The Group call: azure-migrate-subscriptions.microsoftazuregroupsdelete outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-migrate/projects/{projectname}/groups/{groupname}/assessments name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: microsoftazureassessmentslistbygroup description: Microsoft Azure Get All Assessments Created For The Specified Group call: azure-migrate-subscriptions.microsoftazureassessmentslistbygroup outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-migrate/projects/{projectname}/groups/{groupname}/assessments/{assessmentname} name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: microsoftazureassessmentsget description: Microsoft Azure Get An Assessment call: azure-migrate-subscriptions.microsoftazureassessmentsget outputParameters: - type: object mapping: $. - method: PUT name: microsoftazureassessmentscreate description: Microsoft Azure Create Or Update Assessment call: azure-migrate-subscriptions.microsoftazureassessmentscreate with: assessment: rest.assessment outputParameters: - type: object mapping: $. - method: DELETE name: microsoftazureassessmentsdelete description: Microsoft Azure Deletes An Assessment From The Project call: azure-migrate-subscriptions.microsoftazureassessmentsdelete outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-migrate/projects/{projectname}/groups/{groupname}/assessments/{assessmentname}/assessedmachines name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: microsoftazureassessedmachineslistbyassessment description: Microsoft Azure Get Assessed Machines For Assessment call: azure-migrate-subscriptions.microsoftazureassessedmachineslistbyassessment outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-migrate/projects/{projectname}/groups/{groupname}/assessments/{assessmentname}/assessedmachines/{assessedmachinename} name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: microsoftazureassessedmachinesget description: Microsoft Azure Get An Assessed Machine call: azure-migrate-subscriptions.microsoftazureassessedmachinesget outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-migrate/projects/{projectname}/groups/{groupname}/assessments/{assessmentname}/downloadurl name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazureassessmentsgetreportdownloadurl description: Microsoft Azure Get Download Url For The Assessment Report call: azure-migrate-subscriptions.microsoftazureassessmentsgetreportdownloadurl outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-migrate/projects/{projectname}/machines name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: microsoftazuremachineslistbyproject description: Microsoft Azure Get All Machines In The Project call: azure-migrate-subscriptions.microsoftazuremachineslistbyproject outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-migrate/projects/{projectname}/machines/{machinename} name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: microsoftazuremachinesget description: Microsoft Azure Get A Specific Machine call: azure-migrate-subscriptions.microsoftazuremachinesget outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-migrate/projects name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourcegroups-resourceGroupName-providers-Microsof. operations: - method: GET name: microsoftazureprojectslist description: Microsoft Azure Get All Projects call: azure-migrate-subscriptions.microsoftazureprojectslist outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-migrate/projects/{projectname} name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourcegroups-resourceGroupName-providers-Microsof. operations: - method: GET name: microsoftazureprojectsget description: Microsoft Azure Get The Specified Project call: azure-migrate-subscriptions.microsoftazureprojectsget outputParameters: - type: object mapping: $. - method: PUT name: microsoftazureprojectscreate description: Microsoft Azure Create Or Update Project call: azure-migrate-subscriptions.microsoftazureprojectscreate with: project: rest.project outputParameters: - type: object mapping: $. - method: PATCH name: microsoftazureprojectsupdate description: Microsoft Azure Update Project call: azure-migrate-subscriptions.microsoftazureprojectsupdate with: project: rest.project outputParameters: - type: object mapping: $. - method: DELETE name: microsoftazureprojectsdelete description: Microsoft Azure Delete The Project call: azure-migrate-subscriptions.microsoftazureprojectsdelete outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-migrate/projects/{projectname}/keys name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourcegroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazureprojectsgetkeys description: Microsoft Azure Get Shared Keys For The Project call: azure-migrate-subscriptions.microsoftazureprojectsgetkeys outputParameters: - type: object mapping: $. - type: mcp namespace: azure-migrate-subscriptions-mcp port: 9090 transport: http description: MCP adapter for Microsoft Azure Azure Migrate — Subscriptions. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-azure-get-all-assessments description: Microsoft Azure Get All Assessments Created In The Project hints: readOnly: true destructive: false idempotent: true call: azure-migrate-subscriptions.microsoftazureassessmentslistbyproject outputParameters: - type: object mapping: $. - name: microsoft-azure-get-all-groups description: Microsoft Azure Get All Groups hints: readOnly: true destructive: false idempotent: true call: azure-migrate-subscriptions.microsoftazuregroupslistbyproject outputParameters: - type: object mapping: $. - name: microsoft-azure-get-specific-group description: Microsoft Azure Get A Specific Group hints: readOnly: true destructive: false idempotent: true call: azure-migrate-subscriptions.microsoftazuregroupsget outputParameters: - type: object mapping: $. - name: microsoft-azure-create-new-group description: Microsoft Azure Create A New Group With Specified Settings If Group With The Name Provided Already Exists, Then The Existing Group Is Updated hints: readOnly: false destructive: false idempotent: true call: azure-migrate-subscriptions.microsoftazuregroupscreate with: group: tools.group outputParameters: - type: object mapping: $. - name: microsoft-azure-delete-group description: Microsoft Azure Delete The Group hints: readOnly: false destructive: true idempotent: true call: azure-migrate-subscriptions.microsoftazuregroupsdelete outputParameters: - type: object mapping: $. - name: microsoft-azure-get-all-assessments-2 description: Microsoft Azure Get All Assessments Created For The Specified Group hints: readOnly: true destructive: false idempotent: true call: azure-migrate-subscriptions.microsoftazureassessmentslistbygroup outputParameters: - type: object mapping: $. - name: microsoft-azure-get-assessment description: Microsoft Azure Get An Assessment hints: readOnly: true destructive: false idempotent: true call: azure-migrate-subscriptions.microsoftazureassessmentsget outputParameters: - type: object mapping: $. - name: microsoft-azure-create-update-assessment description: Microsoft Azure Create Or Update Assessment hints: readOnly: false destructive: false idempotent: true call: azure-migrate-subscriptions.microsoftazureassessmentscreate with: assessment: tools.assessment outputParameters: - type: object mapping: $. - name: microsoft-azure-deletes-assessment-project description: Microsoft Azure Deletes An Assessment From The Project hints: readOnly: false destructive: true idempotent: true call: azure-migrate-subscriptions.microsoftazureassessmentsdelete outputParameters: - type: object mapping: $. - name: microsoft-azure-get-assessed-machines description: Microsoft Azure Get Assessed Machines For Assessment hints: readOnly: true destructive: false idempotent: true call: azure-migrate-subscriptions.microsoftazureassessedmachineslistbyassessment outputParameters: - type: object mapping: $. - name: microsoft-azure-get-assessed-machine description: Microsoft Azure Get An Assessed Machine hints: readOnly: true destructive: false idempotent: true call: azure-migrate-subscriptions.microsoftazureassessedmachinesget outputParameters: - type: object mapping: $. - name: microsoft-azure-get-download-url description: Microsoft Azure Get Download Url For The Assessment Report hints: readOnly: true destructive: false idempotent: false call: azure-migrate-subscriptions.microsoftazureassessmentsgetreportdownloadurl outputParameters: - type: object mapping: $. - name: microsoft-azure-get-all-machines description: Microsoft Azure Get All Machines In The Project hints: readOnly: true destructive: false idempotent: true call: azure-migrate-subscriptions.microsoftazuremachineslistbyproject outputParameters: - type: object mapping: $. - name: microsoft-azure-get-specific-machine description: Microsoft Azure Get A Specific Machine hints: readOnly: true destructive: false idempotent: true call: azure-migrate-subscriptions.microsoftazuremachinesget outputParameters: - type: object mapping: $. - name: microsoft-azure-get-all-projects description: Microsoft Azure Get All Projects hints: readOnly: true destructive: false idempotent: true call: azure-migrate-subscriptions.microsoftazureprojectslist outputParameters: - type: object mapping: $. - name: microsoft-azure-get-specified-project description: Microsoft Azure Get The Specified Project hints: readOnly: true destructive: false idempotent: true call: azure-migrate-subscriptions.microsoftazureprojectsget outputParameters: - type: object mapping: $. - name: microsoft-azure-create-update-project description: Microsoft Azure Create Or Update Project hints: readOnly: false destructive: false idempotent: true call: azure-migrate-subscriptions.microsoftazureprojectscreate with: project: tools.project outputParameters: - type: object mapping: $. - name: microsoft-azure-update-project description: Microsoft Azure Update Project hints: readOnly: false destructive: false idempotent: true call: azure-migrate-subscriptions.microsoftazureprojectsupdate with: project: tools.project outputParameters: - type: object mapping: $. - name: microsoft-azure-delete-project description: Microsoft Azure Delete The Project hints: readOnly: false destructive: true idempotent: true call: azure-migrate-subscriptions.microsoftazureprojectsdelete outputParameters: - type: object mapping: $. - name: microsoft-azure-get-shared-keys description: Microsoft Azure Get Shared Keys For The Project hints: readOnly: true destructive: false idempotent: false call: azure-migrate-subscriptions.microsoftazureprojectsgetkeys outputParameters: - type: object mapping: $.