Skip to content

Latest commit

 

History

History
319 lines (234 loc) · 9.36 KB

user-list-transitivememberof.md

File metadata and controls

319 lines (234 loc) · 9.36 KB
title description ms.localizationpriority author ms.reviewer ms.subservice doc_type
List a user's memberships (direct and transitive)
Get groups, directory roles, and administrative units that the user is a member of through either direct or transitive membership.
medium
yuhko-msft
mbhargav, khotzteam, aadgroupssg
entra-users
apiPageType

List a user's memberships (direct and transitive)

Namespace: microsoft.graph

[!INCLUDE beta-disclaimer]

Get groups, directory roles, and administrative units that the user is a member of through either direct or transitive membership.

[!INCLUDE national-cloud-support]

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.

[!INCLUDE permissions-table]

HTTP request

GET /me/transitiveMemberOf
GET /users/{id | userPrincipalName}/transitiveMemberOf

Optional query parameters

This method supports the OData query parameters to help customize the response, including $select, $search, $count, and $filter. OData cast is also enabled, for example, you can cast to get just the transitive membership in groups. You can use $search on the displayName property. The default and maximum page sizes are 100 and 999 objects respectively.

Request headers

Header Value
Authorization Bearer {token}. Required. Learn more about authentication and authorization.
ConsistencyLevel eventual. This header and $count are required when using the $search, $filter, $orderby, or OData cast query parameters. It uses an index that might not be up-to-date with recent changes to the object.

Request body

Don't supply a request body for this method.

Response

If successful, this method returns a 200 OK response code and collection of directoryObject objects in the response body.

Examples

Example 1: Get groups, directory roles, and administrative units that the user is a member of

Request

The following example shows a request.

GET https://graph.microsoft.com/beta/users/{id}/transitiveMemberOf

[!INCLUDE sample-code] [!INCLUDE sdk-documentation]

[!INCLUDE sample-code] [!INCLUDE sdk-documentation]

[!INCLUDE sample-code] [!INCLUDE sdk-documentation]

[!INCLUDE sample-code] [!INCLUDE sdk-documentation]

[!INCLUDE sample-code] [!INCLUDE sdk-documentation]

[!INCLUDE sample-code] [!INCLUDE sdk-documentation]

[!INCLUDE sample-code] [!INCLUDE sdk-documentation]

[!INCLUDE sample-code] [!INCLUDE sdk-documentation]


Response

Here's an example of 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#directoryObjects",
  "value":[
    {
      "@odata.type":"#microsoft.graph.group",
      "displayName":"All_Contoso_Licensing",
      "mailEnabled":true,
      "mailNickname":"ContosoMailNickName",
      "securityEnabled":true
    },
    {
      "@odata.type":"#microsoft.graph.group",
      "displayName":"ContosoAudience_PugetSound",
      "mailEnabled":true,
      "mailNickname":"Contoso_PugetSound",
      "securityEnabled":true
    }
  ]
}

Example 2: Get only a count of transitive membership in groups, directory roles, and administrative units

Request

Here's an example of the request.

GET https://graph.microsoft.com/beta/users/{id}/transitiveMemberOf/$count
ConsistencyLevel: eventual

Response

Here's an example of the response.

HTTP/1.1 200 OK
Content-type: text/plain

893

Example 3: Use OData cast to get only a count of transitive membership in groups

Request

Here's an example of the request.

GET https://graph.microsoft.com/beta/users/{id}/transitiveMemberOf/microsoft.graph.group/$count
ConsistencyLevel: eventual

Response

Here's an example of the response.

HTTP/1.1 200 OK
Content-type: text/plain

588

Example 4: Use $search and OData cast to get transitive membership in groups with display names that contain the letters 'tier' including a count of returned objects

Request

Here's an example of the request.

GET https://graph.microsoft.com/beta/users/{id}/transitiveMemberOf/microsoft.graph.group?$count=true&$orderby=displayName&$search="displayName:tier"&$select=displayName,id
ConsistencyLevel: eventual

Response

Here's an example of 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#groups(displayName,id)",
  "@odata.count":7,
  "value":[
    {
      "displayName":"Contoso-tier Query Notification",
      "id":"11111111-2222-3333-4444-555555555555"
    }
  ]
}

Example 5: Use $filter and OData cast to get transitive membership in groups with a display name that starts with 'a' including a count of returned objects

Request

Here's an example of the request.

GET https://graph.microsoft.com/beta/users/{id}/transitiveMemberOf/microsoft.graph.group?$count=true&$orderby=displayName&$filter=startswith(displayName, 'a')
ConsistencyLevel: eventual

Response

Here's an example of 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#groups",
  "@odata.count":76,
  "value":[
    {
      "displayName":"AAD Contoso Users",
      "mail":"AADContoso_Users@contoso.com",
      "mailEnabled":true,
      "mailNickname":"AADContoso_Users",
      "securityEnabled":true
    }
  ]
}