Add member

Namespace: microsoft.graph

Add a member to a Microsoft 365 group or a security group through the members navigation property.

You can add users, organizational contacts, service principals or other groups.

Important

You can only add users to security and Microsoft 365 groups managed through the cloud.

Permissions

One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.

Permission type Permissions (from least to most privileged)
Delegated (work or school account) GroupMember.ReadWrite.All, Group.ReadWrite.All, Directory.ReadWrite.All, Directory.AccessAsUser.All
Delegated (personal Microsoft account) Not supported.
Application GroupMember.ReadWrite.All, Group.ReadWrite.All and Directory.ReadWrite.All

HTTP request

POST /groups/{id}/members/$ref

Request headers

Header Value
Authorization Bearer {token}. Required.
Content-type application/json. Required.

Request body

In the request body, supply a JSON representation of a directoryObject, user, group, or organizational contact object to be added.

Response

If successful, this method returns a 204 No Content response code. It does not return anything in the response body.

Examples

Example 1: Add a member to a group

Request

The following is an example of the request.

POST https://graph.microsoft.com/v1.0/groups/{id}/members/$ref
Content-type: application/json
Content-length: 30

{
  "@odata.id": "https://graph.microsoft.com/v1.0/directoryObjects/{id}"
}

Response

The following is an example of the response.

HTTP/1.1 204 No Content

Example 2: Add multiple members to a group in a single request

This example shows how to add multiple members to a group with OData bind support in a PATCH operation. Note that up to 20 members can be added in a single request. The POST operation is not supported.

Request

The following is an example of the request.

PATCH https://graph.microsoft.com/v1.0/groups/{id}
Content-type: application/json
Content-length: 30

{
  "members@odata.bind": [
    "https://graph.microsoft.com/v1.0/directoryObjects/{id}",
    "https://graph.microsoft.com/v1.0/directoryObjects/{id}",
    "https://graph.microsoft.com/v1.0/directoryObjects/{id}"
    ]
}

Response

The following is an example of the response.

HTTP/1.1 204 No Content