naftiko: 1.0.0-alpha2 info: label: Microsoft Azure ManagedLabsClient — Labs description: 'Microsoft Azure ManagedLabsClient — Labs. 7 operations. Lead operation: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs. Self-contained Naftiko capability covering one Microsoft Azure business surface.' tags: - Microsoft Azure - Labs 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: managedlabsclient-labs baseUri: https://management.azure.com description: Microsoft Azure ManagedLabsClient — Labs business capability. Self-contained, no shared references. resources: - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs operations: - name: microsoftazurelabslist method: GET description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: labAccountName in: path type: string description: The name of the lab Account. required: true - name: $expand in: query type: string description: 'Specify the $expand query. Example: ''properties($select=maxUsersInLab)''' - name: $filter in: query type: string description: The filter to apply to the operation. - name: $top in: query type: integer description: The maximum number of resources to return from the operation. - name: $orderby in: query type: string description: The ordering expression for the results, using OData notation. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName} operations: - name: microsoftazurelabsget method: GET description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs Labname outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: labAccountName in: path type: string description: The name of the lab Account. required: true - name: labName in: path type: string description: The name of the lab. required: true - name: $expand in: query type: string description: 'Specify the $expand query. Example: ''properties($select=maxUsersInLab)''' - name: microsoftazurelabscreateorupdate method: PUT description: Microsoft Azure Put Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs Labname outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: labAccountName in: path type: string description: The name of the lab Account. required: true - name: labName in: path type: string description: The name of the lab. required: true - name: lab in: body type: string description: Represents a lab. required: true - name: microsoftazurelabsdelete method: DELETE description: Microsoft Azure Delete Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs Labname outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: labAccountName in: path type: string description: The name of the lab Account. required: true - name: labName in: path type: string description: The name of the lab. required: true - name: microsoftazurelabsupdate method: PATCH description: Microsoft Azure Patch Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs Labname outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: labAccountName in: path type: string description: The name of the lab Account. required: true - name: labName in: path type: string description: The name of the lab. required: true - name: lab in: body type: string description: Represents a lab. required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/addUsers operations: - name: microsoftazurelabsaddusers method: POST description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs Labname Addusers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: labAccountName in: path type: string description: The name of the lab Account. required: true - name: labName in: path type: string description: The name of the lab. required: true - name: addUsersPayload in: body type: string description: Payload for Add Users operation on a Lab. required: true - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LabServices/labaccounts/{labAccountName}/labs/{labName}/register operations: - name: microsoftazurelabsregister method: POST description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs Labname Register outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: labAccountName in: path type: string description: The name of the lab Account. required: true - name: labName in: path type: string description: The name of the lab. required: true exposes: - type: rest namespace: managedlabsclient-labs-rest port: 8080 description: REST adapter for Microsoft Azure ManagedLabsClient — Labs. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labaccounts/{labaccountname}/labs name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: microsoftazurelabslist description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs call: managedlabsclient-labs.microsoftazurelabslist with: labAccountName: rest.labAccountName $expand: rest.$expand $filter: rest.$filter $top: rest.$top $orderby: rest.$orderby outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labaccounts/{labaccountname}/labs/{labname} name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: microsoftazurelabsget description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs Labname call: managedlabsclient-labs.microsoftazurelabsget with: labAccountName: rest.labAccountName labName: rest.labName $expand: rest.$expand outputParameters: - type: object mapping: $. - method: PUT name: microsoftazurelabscreateorupdate description: Microsoft Azure Put Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs Labname call: managedlabsclient-labs.microsoftazurelabscreateorupdate with: labAccountName: rest.labAccountName labName: rest.labName lab: rest.lab outputParameters: - type: object mapping: $. - method: DELETE name: microsoftazurelabsdelete description: Microsoft Azure Delete Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs Labname call: managedlabsclient-labs.microsoftazurelabsdelete with: labAccountName: rest.labAccountName labName: rest.labName outputParameters: - type: object mapping: $. - method: PATCH name: microsoftazurelabsupdate description: Microsoft Azure Patch Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs Labname call: managedlabsclient-labs.microsoftazurelabsupdate with: labAccountName: rest.labAccountName labName: rest.labName lab: rest.lab outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labaccounts/{labaccountname}/labs/{labname}/addusers name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazurelabsaddusers description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs Labname Addusers call: managedlabsclient-labs.microsoftazurelabsaddusers with: labAccountName: rest.labAccountName labName: rest.labName addUsersPayload: rest.addUsersPayload outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-labservices/labaccounts/{labaccountname}/labs/{labname}/register name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazurelabsregister description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs Labname Register call: managedlabsclient-labs.microsoftazurelabsregister with: labAccountName: rest.labAccountName labName: rest.labName outputParameters: - type: object mapping: $. - type: mcp namespace: managedlabsclient-labs-mcp port: 9090 transport: http description: MCP adapter for Microsoft Azure ManagedLabsClient — Labs. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-azure-get-subscriptions-subscriptionid description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs hints: readOnly: true destructive: false idempotent: true call: managedlabsclient-labs.microsoftazurelabslist with: labAccountName: tools.labAccountName $expand: tools.$expand $filter: tools.$filter $top: tools.$top $orderby: tools.$orderby outputParameters: - type: object mapping: $. - name: microsoft-azure-get-subscriptions-subscriptionid-2 description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs Labname hints: readOnly: true destructive: false idempotent: true call: managedlabsclient-labs.microsoftazurelabsget with: labAccountName: tools.labAccountName labName: tools.labName $expand: tools.$expand outputParameters: - type: object mapping: $. - name: microsoft-azure-put-subscriptions-subscriptionid description: Microsoft Azure Put Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs Labname hints: readOnly: false destructive: false idempotent: true call: managedlabsclient-labs.microsoftazurelabscreateorupdate with: labAccountName: tools.labAccountName labName: tools.labName lab: tools.lab outputParameters: - type: object mapping: $. - name: microsoft-azure-delete-subscriptions-subscriptionid description: Microsoft Azure Delete Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs Labname hints: readOnly: false destructive: true idempotent: true call: managedlabsclient-labs.microsoftazurelabsdelete with: labAccountName: tools.labAccountName labName: tools.labName outputParameters: - type: object mapping: $. - name: microsoft-azure-patch-subscriptions-subscriptionid description: Microsoft Azure Patch Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs Labname hints: readOnly: false destructive: false idempotent: true call: managedlabsclient-labs.microsoftazurelabsupdate with: labAccountName: tools.labAccountName labName: tools.labName lab: tools.lab outputParameters: - type: object mapping: $. - name: microsoft-azure-post-subscriptions-subscriptionid description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs Labname Addusers hints: readOnly: false destructive: false idempotent: false call: managedlabsclient-labs.microsoftazurelabsaddusers with: labAccountName: tools.labAccountName labName: tools.labName addUsersPayload: tools.addUsersPayload outputParameters: - type: object mapping: $. - name: microsoft-azure-post-subscriptions-subscriptionid-2 description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Labservices Labaccounts Labaccountname Labs Labname Register hints: readOnly: false destructive: false idempotent: false call: managedlabsclient-labs.microsoftazurelabsregister with: labAccountName: tools.labAccountName labName: tools.labName outputParameters: - type: object mapping: $.