title | description | ms.localizationpriority | author | ms.prod | doc_type |
---|---|---|---|---|---|
Add members |
Add a member to a Microsoft 365 or security group through the members navigation property. |
high |
psaffaie |
groups |
apiPageType |
Add members
Namespace: microsoft.graph
Add a member to a security or Microsoft 365 group through the members navigation property.
[!INCLUDE groups-allowed-member-types]
Permissions
The following table shows the least privileged permission that's required by each resource type when calling this API. To learn more, including how to choose permissions, see Permissions.
Supported resource | Delegated (work or school account) | Delegated (personal Microsoft account) | Application |
---|---|---|---|
device | GroupMember.ReadWrite.All and Device.ReadWrite.All | Not supported. | GroupMember.ReadWrite.All and Device.ReadWrite.All |
group | GroupMember.ReadWrite.All and Group.ReadWrite.All | Not supported. | GroupMember.ReadWrite.All and Group.ReadWrite.All |
orgContact | GroupMember.ReadWrite.All and OrgContact.Read.All | Not supported. | GroupMember.ReadWrite.All and OrgContact.Read.All |
servicePrincipal | GroupMember.ReadWrite.All and Application.ReadWrite.All | Not supported. | GroupMember.ReadWrite.All and Application.ReadWrite.All |
user | GroupMember.ReadWrite.All and User.ReadWrite.All | Not supported. | GroupMember.ReadWrite.All and User.ReadWrite.All |
[!IMPORTANT] To add members to a role-assignable group, the calling user must also be assigned the RoleManagement.ReadWrite.Directory permission.
HTTP request
POST /groups/{group-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. This method returns a 400 Bad Request
response code when the object is already a member of the group. This method returns a 404 Not Found
response code when the object being added doesn't exist.
Examples
Example 1: Add a member to a group
Request
The following is an example of the request.
HTTP
POST https://graph.microsoft.com/v1.0/groups/{group-id}/members/$ref
Content-type: application/json
{
"@odata.id": "https://graph.microsoft.com/v1.0/directoryObjects/{id}"
}
C#
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
JavaScript
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
Java
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
Go
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
PowerShell
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
PHP
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
In the request body, supply a JSON representation of the id of the directoryObject, user, or group object you want to add.
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. If an error condition exists in the request body, no members are added and the appropriate response code is returned.
Request
The following is an example of the request.
HTTP
PATCH https://graph.microsoft.com/v1.0/groups/{group-id}
Content-type: application/json
{
"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}"
]
}
C#
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
JavaScript
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
Java
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
Go
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
PowerShell
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
PHP
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
In the request body, supply a JSON representation of the id of the directoryObject, user, or group object you want to add.
Response
The following is an example of the response.
HTTP/1.1 204 No Content