naftiko: 1.0.0-alpha2 info: label: Microsoft Azure Desktop Virtualization API Client — UserSession description: 'Microsoft Azure Desktop Virtualization API Client — UserSession. 6 operations. Lead operation: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Desktopvirtualization Hostpools Hostpoolname Sessionhosts Sessionhostname Usersessions. Self-contained Naftiko capability covering one Microsoft Azure business surface.' tags: - Microsoft Azure - UserSession 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: desktop-virtualization-api-client-usersession baseUri: https://management.azure.com description: Microsoft Azure Desktop Virtualization API Client — UserSession business capability. Self-contained, no shared references. resources: - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions operations: - name: microsoftazureusersessionslist method: GET description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Desktopvirtualization Hostpools Hostpoolname Sessionhosts Sessionhostname Usersessions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: pageSize in: query type: integer description: Number of items per page. - name: isDescending in: query type: boolean description: Indicates whether the collection is descending. - name: initialSkip in: query type: integer description: Initial number of items to skip. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId} operations: - name: microsoftazureusersessionsget method: GET description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Desktopvirtualization Hostpools Hostpoolname Sessionhosts Sessionhostname Usersessions Usersessionid outputRawFormat: json outputParameters: - name: result type: object value: $. - name: microsoftazureusersessionsdelete method: DELETE description: Microsoft Azure Delete Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Desktopvirtualization Hostpools Hostpoolname Sessionhosts Sessionhostname Usersessions Usersessionid outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: force in: query type: boolean description: Force flag to login off userSession. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect operations: - name: microsoftazureusersessionsdisconnect method: POST description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Desktopvirtualization Hostpools Hostpoolname Sessionhosts Sessionhostname Usersessions Usersessionid Disconnect outputRawFormat: json outputParameters: - name: result type: object value: $. - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage operations: - name: microsoftazureusersessionssendmessage method: POST description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Desktopvirtualization Hostpools Hostpoolname Sessionhosts Sessionhostname Usersessions Usersessionid Sendmessage outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sendMessage in: body type: string description: Object containing message includes title and message body - name: subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof path: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions operations: - name: microsoftazureusersessionslistbyhostpool method: GET description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Desktopvirtualization Hostpools Hostpoolname Usersessions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: $filter in: query type: string description: OData filter expression. Valid properties for filtering are userprincipalname and sessionstate. - name: pageSize in: query type: integer description: Number of items per page. - name: isDescending in: query type: boolean description: Indicates whether the collection is descending. - name: initialSkip in: query type: integer description: Initial number of items to skip. exposes: - type: rest namespace: desktop-virtualization-api-client-usersession-rest port: 8080 description: REST adapter for Microsoft Azure Desktop Virtualization API Client — UserSession. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-desktopvirtualization/hostpools/{hostpoolname}/sessionhosts/{sessionhostname}/usersessions name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: microsoftazureusersessionslist description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Desktopvirtualization Hostpools Hostpoolname Sessionhosts Sessionhostname Usersessions call: desktop-virtualization-api-client-usersession.microsoftazureusersessionslist with: pageSize: rest.pageSize isDescending: rest.isDescending initialSkip: rest.initialSkip outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-desktopvirtualization/hostpools/{hostpoolname}/sessionhosts/{sessionhostname}/usersessions/{usersessionid} name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: microsoftazureusersessionsget description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Desktopvirtualization Hostpools Hostpoolname Sessionhosts Sessionhostname Usersessions Usersessionid call: desktop-virtualization-api-client-usersession.microsoftazureusersessionsget outputParameters: - type: object mapping: $. - method: DELETE name: microsoftazureusersessionsdelete description: Microsoft Azure Delete Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Desktopvirtualization Hostpools Hostpoolname Sessionhosts Sessionhostname Usersessions Usersessionid call: desktop-virtualization-api-client-usersession.microsoftazureusersessionsdelete with: force: rest.force outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-desktopvirtualization/hostpools/{hostpoolname}/sessionhosts/{sessionhostname}/usersessions/{usersessionid}/disconnect name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazureusersessionsdisconnect description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Desktopvirtualization Hostpools Hostpoolname Sessionhosts Sessionhostname Usersessions Usersessionid Disconnect call: desktop-virtualization-api-client-usersession.microsoftazureusersessionsdisconnect outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-desktopvirtualization/hostpools/{hostpoolname}/sessionhosts/{sessionhostname}/usersessions/{usersessionid}/sendmessage name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: POST name: microsoftazureusersessionssendmessage description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Desktopvirtualization Hostpools Hostpoolname Sessionhosts Sessionhostname Usersessions Usersessionid Sendmessage call: desktop-virtualization-api-client-usersession.microsoftazureusersessionssendmessage with: sendMessage: rest.sendMessage outputParameters: - type: object mapping: $. - path: /v1/subscriptions/{subscriptionid}/resourcegroups/{resourcegroupname}/providers/microsoft-desktopvirtualization/hostpools/{hostpoolname}/usersessions name: subscriptions-subscriptionid-resourcegroups-resourcegroupname-providers-microsof description: REST surface for subscriptions-subscriptionId-resourceGroups-resourceGroupName-providers-Microsof. operations: - method: GET name: microsoftazureusersessionslistbyhostpool description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Desktopvirtualization Hostpools Hostpoolname Usersessions call: desktop-virtualization-api-client-usersession.microsoftazureusersessionslistbyhostpool with: $filter: rest.$filter pageSize: rest.pageSize isDescending: rest.isDescending initialSkip: rest.initialSkip outputParameters: - type: object mapping: $. - type: mcp namespace: desktop-virtualization-api-client-usersession-mcp port: 9090 transport: http description: MCP adapter for Microsoft Azure Desktop Virtualization API Client — UserSession. 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 Desktopvirtualization Hostpools Hostpoolname Sessionhosts Sessionhostname Usersessions hints: readOnly: true destructive: false idempotent: true call: desktop-virtualization-api-client-usersession.microsoftazureusersessionslist with: pageSize: tools.pageSize isDescending: tools.isDescending initialSkip: tools.initialSkip outputParameters: - type: object mapping: $. - name: microsoft-azure-get-subscriptions-subscriptionid-2 description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Desktopvirtualization Hostpools Hostpoolname Sessionhosts Sessionhostname Usersessions Usersessionid hints: readOnly: true destructive: false idempotent: true call: desktop-virtualization-api-client-usersession.microsoftazureusersessionsget outputParameters: - type: object mapping: $. - name: microsoft-azure-delete-subscriptions-subscriptionid description: Microsoft Azure Delete Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Desktopvirtualization Hostpools Hostpoolname Sessionhosts Sessionhostname Usersessions Usersessionid hints: readOnly: false destructive: true idempotent: true call: desktop-virtualization-api-client-usersession.microsoftazureusersessionsdelete with: force: tools.force outputParameters: - type: object mapping: $. - name: microsoft-azure-post-subscriptions-subscriptionid description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Desktopvirtualization Hostpools Hostpoolname Sessionhosts Sessionhostname Usersessions Usersessionid Disconnect hints: readOnly: false destructive: false idempotent: false call: desktop-virtualization-api-client-usersession.microsoftazureusersessionsdisconnect outputParameters: - type: object mapping: $. - name: microsoft-azure-post-subscriptions-subscriptionid-2 description: Microsoft Azure Post Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Desktopvirtualization Hostpools Hostpoolname Sessionhosts Sessionhostname Usersessions Usersessionid Sendmessage hints: readOnly: false destructive: false idempotent: false call: desktop-virtualization-api-client-usersession.microsoftazureusersessionssendmessage with: sendMessage: tools.sendMessage outputParameters: - type: object mapping: $. - name: microsoft-azure-get-subscriptions-subscriptionid-3 description: Microsoft Azure Get Subscriptions Subscriptionid Resourcegroups Resourcegroupname Providers Microsoft Desktopvirtualization Hostpools Hostpoolname Usersessions hints: readOnly: true destructive: false idempotent: true call: desktop-virtualization-api-client-usersession.microsoftazureusersessionslistbyhostpool with: $filter: tools.$filter pageSize: tools.pageSize isDescending: tools.isDescending initialSkip: tools.initialSkip outputParameters: - type: object mapping: $.