Edit

virtualEndpoint: retrieveScopedPermissions

Namespace: microsoft.graph

Important

APIs under the /beta version in Microsoft Graph are subject to change. Use of these APIs in production applications is not supported. To determine whether an API is available in v1.0, use the Version selector.

Get the permissions and corresponding scope IDs for which the authenticated user has access.

This API is available in the following national cloud deployments.

Global service US Government L4 US Government L5 (DOD) China operated by 21Vianet
✅ ✅ ❌ ❌

Permissions

Choose the permission or permissions marked as least privileged for this API. Use a higher privileged permission or permissions only if your app requires it. For details about delegated and application permissions, see Permission types. To learn more about these permissions, see the permissions reference.

Permission type Least privileged permissions Higher privileged permissions
Delegated (work or school account) CloudPC.Read.All CloudPC.ReadWrite.All
Delegated (personal Microsoft account) Not supported. Not supported.
Application Not supported. Not supported.

HTTP request

GET /deviceManagement/virtualEndpoint/retrieveScopedPermissions

Request headers

Name Description
Authorization Bearer {token}. Required. Learn more about authentication and authorization.

Request body

Don't supply a request body for this method.

Response

If successful, this function returns a 200 OK response code and a collection of cloudPcScopedPermission objects in the response body. This API supports filter with permission, when no filter, this function returns all permissions and scope Tag IDs of the authenticated user.

Optional query parameters

This method supports the $filter OData query parameter to customize the response. If the $filter parameter is not included, the function returns all permissions and scope IDs of the authenticated user.

Examples

Example 1: Get all the permissions and scope IDs of the authenticated user

The following example shows a request without the $filter query to get the permissions and scope IDs of the authenticated user.

Request

The following example shows the request.

GET https://graph.microsoft.com/beta/deviceManagement/virtualEndpoint/retrieveScopedPermissions

Response

The following example shows the response.

Note: The response object shown here might be shortened for readability.

HTTP/1.1 200 OK
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#Collection(microsoft.graph.cloudPcScopedPermission)",
    "@odata.count": 4,
    "value": [
        {
            "permission": "Microsoft.CloudPC/ProvisioningPolicies/Create",
            "scopeIds": ["1"]
        },
        {
            "permission": "Microsoft.CloudPC/ProvisioningPolicies/Update",
            "scopeIds": ["1","2"]
        },
        {
            "permission": "Microsoft.CloudPC/ProvisioningPolicies/Read",
            "scopeIds": ["1","2"]
        },
        {
            "permission": "Microsoft.CloudPC/ProvisioningPolicies/Assign",
            "scopeIds": ["1"]
        }
    ]
}

Example 2: Get a filtered list of permissions and scope IDs of the authenticated user

The following example shows a request with the specific $filter query to get a list of permissions and scope IDs of the authenticated user.

Request

The following example shows a request with a filter.

GET https://graph.microsoft.com/beta/deviceManagement/virtualEndpoint/retrieveScopedPermissions?$filter=permission in ('Microsoft.CloudPC/ProvisioningPolicies/Update','Microsoft.CloudPC/ProvisioningPolicies/Create')

Response

The following example shows the response.

Note: The response object shown here might be shortened for readability.

HTTP/1.1 200 OK
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#Collection(microsoft.graph.cloudPcScopedPermission)",
    "@odata.count": 2,
    "value": [
        {
            "permission": "Microsoft.CloudPC/ProvisioningPolicies/Update",
            "scopeIds": ["1","2"]
        },
        {
            "permission": "Microsoft.CloudPC/ProvisioningPolicies/Update",
            "scopeIds": ["1"]
        }
    ]
}

Example 3: No scope IDs are returned

Request

When the signed-in user has an admin role such as the Intune admin or the Windows 365 admin role assigned by Microsoft Entra ID, the returned permission is *, and no scope IDs are returned. In these cases, queries aren't supported.

GET https://graph.microsoft.com/beta/deviceManagement/virtualEndpoint/retrieveScopedPermissions

Response

The following example shows the response.

Note: The response object shown here might be shortened for readability.

HTTP/1.1 200 OK
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#Collection(microsoft.graph.cloudPcScopedPermission)",
    "@odata.count": 1,
    "value": [
        {
            "permission": "*",
            "scopeIds": []
        }
    ]
}