conversationMember: add
Article
08/02/2022
9 minutes to read
2 contributors
Feedback
In this article
Namespace: microsoft.graph
Add multiple members in a single request to a team . The response provides details about which memberships could and couldn't be created.
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)
TeamMember.ReadWrite.All
Delegated (personal Microsoft account)
Not supported.
Application
TeamMember.ReadWrite.All
HTTP Request
This is a bound action to add multiple elements to a conversationMember collection in a single request.
POST /teams/{team-id}/members/add
Header
Value
Authorization
Bearer {token}. Required.
Request body
In the request body, supply the JSON representation of the list of conversationMember
derivatives that need to be added to the team. A maximum of 200 conversationMember
derivatives can be added in one single request.
The following table shows the parameters that can be used with this action.
Parameter
Type
Description
values
conversationMember collection
List of conversation members that should be added.
Response
If successful, this action returns a 200 OK
response code and a collection of derivatives of actionResultPart in the response body.
This API returns a 200
response that indicates all members supplied were added to the team or a 207
response that indicates only some of the supplied members were added to the team. The caller should inspect the response payload to determine which member additions failed. The response body is a collection of derivatives of the actionResultPart resource.
Examples
Example 1: Add members in bulk to a team
Request
The following example shows a request to add multiple members to a team.
POST https://graph.microsoft.com/v1.0/teams/e4183b04-c9a2-417c-bde4-70e3ee46a6dc/members/add
Content-Type: application/json
{
"values": [
{
"@odata.type": "microsoft.graph.aadUserConversationMember",
"roles":[],
"user@odata.bind": "https://graph.microsoft.com/v1.0/users('18a80140-b0fb-4489-b360-2f6efaf225a0')"
},
{
"@odata.type": "microsoft.graph.aadUserConversationMember",
"roles":["owner"],
"user@odata.bind": "https://graph.microsoft.com/v1.0/users('86503198-b81b-43fe-81ee-ad45b8848ac9')"
}
]
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var values = new List<ConversationMember>()
{
new AadUserConversationMember
{
Roles = new List<String>()
{
},
AdditionalData = new Dictionary<string, object>()
{
{"user@odata.bind", "https://graph.microsoft.com/v1.0/users('18a80140-b0fb-4489-b360-2f6efaf225a0')"}
}
},
new AadUserConversationMember
{
Roles = new List<String>()
{
"owner"
},
AdditionalData = new Dictionary<string, object>()
{
{"user@odata.bind", "https://graph.microsoft.com/v1.0/users('86503198-b81b-43fe-81ee-ad45b8848ac9')"}
}
}
};
await graphClient.Teams["{team-id}"].Members
.Add(values)
.Request()
.PostAsync();
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation .
const options = {
authProvider,
};
const client = Client.init(options);
const actionResultPart = {
values: [
{
'@odata.type': 'microsoft.graph.aadUserConversationMember',
roles: [],
'user@odata.bind': 'https://graph.microsoft.com/v1.0/users(\'18a80140-b0fb-4489-b360-2f6efaf225a0\')'
},
{
'@odata.type': 'microsoft.graph.aadUserConversationMember',
roles: ['owner'],
'user@odata.bind': 'https://graph.microsoft.com/v1.0/users(\'86503198-b81b-43fe-81ee-ad45b8848ac9\')'
}
]
};
await client.api('/teams/e4183b04-c9a2-417c-bde4-70e3ee46a6dc/members/add')
.post(actionResultPart);
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation .
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
LinkedList<ConversationMember> valuesList = new LinkedList<ConversationMember>();
AadUserConversationMember values = new AadUserConversationMember();
LinkedList<String> rolesList = new LinkedList<String>();
values.roles = rolesList;
values.additionalDataManager().put("user@odata.bind", new JsonPrimitive("https://graph.microsoft.com/v1.0/users('18a80140-b0fb-4489-b360-2f6efaf225a0')"));
valuesList.add(values);
AadUserConversationMember values1 = new AadUserConversationMember();
LinkedList<String> rolesList1 = new LinkedList<String>();
rolesList1.add("owner");
values1.roles = rolesList1;
values1.additionalDataManager().put("user@odata.bind", new JsonPrimitive("https://graph.microsoft.com/v1.0/users('86503198-b81b-43fe-81ee-ad45b8848ac9')"));
valuesList.add(values1);
ConversationMemberCollectionResponse conversationMemberCollectionResponse = new ConversationMemberCollectionResponse();
conversationMemberCollectionResponse.value = valuesList;
ConversationMemberCollectionPage conversationMemberCollectionPage = new ConversationMemberCollectionPage(conversationMemberCollectionResponse, null);
graphClient.teams("e4183b04-c9a2-417c-bde4-70e3ee46a6dc").members()
.add(ConversationMemberAddParameterSet
.newBuilder()
.withValues(valuesList)
.build())
.buildRequest()
.post();
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation .
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := graphmodels.NewAddPostRequestBody()
conversationMember := graphmodels.NewConversationMember()
roles := []string {
}
conversationMember.SetRoles(roles)
additionalData := map[string]interface{}{
"user@odata.bind" : "https://graph.microsoft.com/v1.0/users('18a80140-b0fb-4489-b360-2f6efaf225a0')",
}
conversationMember.SetAdditionalData(additionalData)
conversationMember1 := graphmodels.NewConversationMember()
roles := []string {
"owner",
}
conversationMember1.SetRoles(roles)
additionalData := map[string]interface{}{
"user@odata.bind" : "https://graph.microsoft.com/v1.0/users('86503198-b81b-43fe-81ee-ad45b8848ac9')",
}
conversationMember1.SetAdditionalData(additionalData)
values := []graphmodels.Objectable {
conversationMember,
conversationMember1,
}
requestBody.SetValues(values)
result, err := graphClient.TeamsById("team-id").Members().Add().Post(context.Background(), requestBody, nil)
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation .
Import-Module Microsoft.Graph.Teams
$params = @{
Values = @(
@{
"@odata.type" = "microsoft.graph.aadUserConversationMember"
Roles = @(
)
"User@odata.bind" = "https://graph.microsoft.com/v1.0/users('18a80140-b0fb-4489-b360-2f6efaf225a0')"
}
@{
"@odata.type" = "microsoft.graph.aadUserConversationMember"
Roles = @(
"owner"
)
"User@odata.bind" = "https://graph.microsoft.com/v1.0/users('86503198-b81b-43fe-81ee-ad45b8848ac9')"
}
)
}
Add-MgTeamMember -TeamId $teamId -BodyParameter $params
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation .
<?php
// THIS SNIPPET IS A PREVIEW FOR THE KIOTA BASED SDK. NON-PRODUCTION USE ONLY
$graphServiceClient = new GraphServiceClient($requestAdapter);
$requestBody = new AddPostRequestBody();
$valuesConversationMember1 = new ConversationMember();
$valuesConversationMember1->set@odatatype('microsoft.graph.aadUserConversationMember');
$valuesConversationMember1->setRoles([]);
$additionalData = [
'user@odata.bind' => 'https://graph.microsoft.com/v1.0/users(\'18a80140-b0fb-4489-b360-2f6efaf225a0\')',
];
$valuesConversationMember1->setAdditionalData($additionalData);
$valuesArray []= $valuesConversationMember1;
$valuesConversationMember2 = new ConversationMember();
$valuesConversationMember2->set@odatatype('microsoft.graph.aadUserConversationMember');
$valuesConversationMember2->setRoles(['owner', ]);
$additionalData = [
'user@odata.bind' => 'https://graph.microsoft.com/v1.0/users(\'86503198-b81b-43fe-81ee-ad45b8848ac9\')',
];
$valuesConversationMember2->setAdditionalData($additionalData);
$valuesArray []= $valuesConversationMember2;
$requestBody->setValues($valuesArray);
$requestResult = $graphServiceClient->teamsById('team-id')->members()->add()->post($requestBody);
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation .
Response
The following is 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/v1.0/$metadata#Collection(microsoft.graph.aadUserConversationMemberResult)",
"value": [
{
"@odata.type": "#microsoft.graph.aadUserConversationMemberResult",
"userId": "18a80140-b0fb-4489-b360-2f6efaf225a0",
"error": null
},
{
"@odata.type": "#microsoft.graph.aadUserConversationMemberResult",
"userId": "86503198-b81b-43fe-81ee-ad45b8848ac9",
"error": null
}
]
}
Example 2: Add members in bulk and encounter partial failure
Request
The following example shows a request to add multiple members to a team that results in a partial failure.
POST https://graph.microsoft.com/v1.0/teams/e4183b04-c9a2-417c-bde4-70e3ee46a6dc/members/add
Content-Type: application/json
{
"values": [
{
"@odata.type": "microsoft.graph.aadUserConversationMember",
"roles":[],
"user@odata.bind": "https://graph.microsoft.com/v1.0/users('18a80140-b0fb-4489-b360-2f6efaf225a0')"
},
{
"@odata.type": "microsoft.graph.aadUserConversationMember",
"roles":["owner"],
"user@odata.bind": "https://graph.microsoft.com/v1.0/users('86503198-b81b-43fe-81ee-ad45b8848ac9')"
}
]
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var values = new List<ConversationMember>()
{
new AadUserConversationMember
{
Roles = new List<String>()
{
},
AdditionalData = new Dictionary<string, object>()
{
{"user@odata.bind", "https://graph.microsoft.com/v1.0/users('18a80140-b0fb-4489-b360-2f6efaf225a0')"}
}
},
new AadUserConversationMember
{
Roles = new List<String>()
{
"owner"
},
AdditionalData = new Dictionary<string, object>()
{
{"user@odata.bind", "https://graph.microsoft.com/v1.0/users('86503198-b81b-43fe-81ee-ad45b8848ac9')"}
}
}
};
await graphClient.Teams["{team-id}"].Members
.Add(values)
.Request()
.PostAsync();
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation .
const options = {
authProvider,
};
const client = Client.init(options);
const actionResultPart = {
values: [
{
'@odata.type': 'microsoft.graph.aadUserConversationMember',
roles: [],
'user@odata.bind': 'https://graph.microsoft.com/v1.0/users(\'18a80140-b0fb-4489-b360-2f6efaf225a0\')'
},
{
'@odata.type': 'microsoft.graph.aadUserConversationMember',
roles: ['owner'],
'user@odata.bind': 'https://graph.microsoft.com/v1.0/users(\'86503198-b81b-43fe-81ee-ad45b8848ac9\')'
}
]
};
await client.api('/teams/e4183b04-c9a2-417c-bde4-70e3ee46a6dc/members/add')
.post(actionResultPart);
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation .
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
LinkedList<ConversationMember> valuesList = new LinkedList<ConversationMember>();
AadUserConversationMember values = new AadUserConversationMember();
LinkedList<String> rolesList = new LinkedList<String>();
values.roles = rolesList;
values.additionalDataManager().put("user@odata.bind", new JsonPrimitive("https://graph.microsoft.com/v1.0/users('18a80140-b0fb-4489-b360-2f6efaf225a0')"));
valuesList.add(values);
AadUserConversationMember values1 = new AadUserConversationMember();
LinkedList<String> rolesList1 = new LinkedList<String>();
rolesList1.add("owner");
values1.roles = rolesList1;
values1.additionalDataManager().put("user@odata.bind", new JsonPrimitive("https://graph.microsoft.com/v1.0/users('86503198-b81b-43fe-81ee-ad45b8848ac9')"));
valuesList.add(values1);
ConversationMemberCollectionResponse conversationMemberCollectionResponse = new ConversationMemberCollectionResponse();
conversationMemberCollectionResponse.value = valuesList;
ConversationMemberCollectionPage conversationMemberCollectionPage = new ConversationMemberCollectionPage(conversationMemberCollectionResponse, null);
graphClient.teams("e4183b04-c9a2-417c-bde4-70e3ee46a6dc").members()
.add(ConversationMemberAddParameterSet
.newBuilder()
.withValues(valuesList)
.build())
.buildRequest()
.post();
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation .
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := graphmodels.NewAddPostRequestBody()
conversationMember := graphmodels.NewConversationMember()
roles := []string {
}
conversationMember.SetRoles(roles)
additionalData := map[string]interface{}{
"user@odata.bind" : "https://graph.microsoft.com/v1.0/users('18a80140-b0fb-4489-b360-2f6efaf225a0')",
}
conversationMember.SetAdditionalData(additionalData)
conversationMember1 := graphmodels.NewConversationMember()
roles := []string {
"owner",
}
conversationMember1.SetRoles(roles)
additionalData := map[string]interface{}{
"user@odata.bind" : "https://graph.microsoft.com/v1.0/users('86503198-b81b-43fe-81ee-ad45b8848ac9')",
}
conversationMember1.SetAdditionalData(additionalData)
values := []graphmodels.Objectable {
conversationMember,
conversationMember1,
}
requestBody.SetValues(values)
result, err := graphClient.TeamsById("team-id").Members().Add().Post(context.Background(), requestBody, nil)
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation .
Import-Module Microsoft.Graph.Teams
$params = @{
Values = @(
@{
"@odata.type" = "microsoft.graph.aadUserConversationMember"
Roles = @(
)
"User@odata.bind" = "https://graph.microsoft.com/v1.0/users('18a80140-b0fb-4489-b360-2f6efaf225a0')"
}
@{
"@odata.type" = "microsoft.graph.aadUserConversationMember"
Roles = @(
"owner"
)
"User@odata.bind" = "https://graph.microsoft.com/v1.0/users('86503198-b81b-43fe-81ee-ad45b8848ac9')"
}
)
}
Add-MgTeamMember -TeamId $teamId -BodyParameter $params
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation .
<?php
// THIS SNIPPET IS A PREVIEW FOR THE KIOTA BASED SDK. NON-PRODUCTION USE ONLY
$graphServiceClient = new GraphServiceClient($requestAdapter);
$requestBody = new AddPostRequestBody();
$valuesConversationMember1 = new ConversationMember();
$valuesConversationMember1->set@odatatype('microsoft.graph.aadUserConversationMember');
$valuesConversationMember1->setRoles([]);
$additionalData = [
'user@odata.bind' => 'https://graph.microsoft.com/v1.0/users(\'18a80140-b0fb-4489-b360-2f6efaf225a0\')',
];
$valuesConversationMember1->setAdditionalData($additionalData);
$valuesArray []= $valuesConversationMember1;
$valuesConversationMember2 = new ConversationMember();
$valuesConversationMember2->set@odatatype('microsoft.graph.aadUserConversationMember');
$valuesConversationMember2->setRoles(['owner', ]);
$additionalData = [
'user@odata.bind' => 'https://graph.microsoft.com/v1.0/users(\'86503198-b81b-43fe-81ee-ad45b8848ac9\')',
];
$valuesConversationMember2->setAdditionalData($additionalData);
$valuesArray []= $valuesConversationMember2;
$requestBody->setValues($valuesArray);
$requestResult = $graphServiceClient->teamsById('team-id')->members()->add()->post($requestBody);
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation .
Response
The following is an example of the response.
Note: The response object shown here might be shortened for readability.
HTTP/1.1 207 MULTI-STATUS
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(microsoft.graph.addConversationMemberResult)",
"value": [
{
"@odata.type": "#microsoft.graph.aadUserConversationMemberResult",
"userId": "18a80140-b0fb-4489-b360-2f6efaf225a0",
"error": {
"code": "NotFound",
"message": ""
}
},
{
"@odata.type": "#microsoft.graph.aadUserConversationMemberResult",
"userId": "86503198-b81b-43fe-81ee-ad45b8848ac9",
"error": null
}
]
}
Example 3: Add members in bulk to a team using user principal name
Request
The following example shows a request to add multiple members to a team using user principal name of the members.
POST https://graph.microsoft.com/v1.0/teams/e4183b04-c9a2-417c-bde4-70e3ee46a6dc/members/add
Content-Type: application/json
{
"values": [
{
"@odata.type": "microsoft.graph.aadUserConversationMember",
"roles":[],
"user@odata.bind": "https://graph.microsoft.com/v1.0/users('jacob@contoso.com')"
},
{
"@odata.type": "microsoft.graph.aadUserConversationMember",
"roles":["owner"],
"user@odata.bind": "https://graph.microsoft.com/v1.0/users('alex@contoso.com')"
}
]
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var values = new List<ConversationMember>()
{
new AadUserConversationMember
{
Roles = new List<String>()
{
},
AdditionalData = new Dictionary<string, object>()
{
{"user@odata.bind", "https://graph.microsoft.com/v1.0/users('jacob@contoso.com')"}
}
},
new AadUserConversationMember
{
Roles = new List<String>()
{
"owner"
},
AdditionalData = new Dictionary<string, object>()
{
{"user@odata.bind", "https://graph.microsoft.com/v1.0/users('alex@contoso.com')"}
}
}
};
await graphClient.Teams["{team-id}"].Members
.Add(values)
.Request()
.PostAsync();
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation .
const options = {
authProvider,
};
const client = Client.init(options);
const actionResultPart = {
values: [
{
'@odata.type': 'microsoft.graph.aadUserConversationMember',
roles: [],
'user@odata.bind': 'https://graph.microsoft.com/v1.0/users(\'jacob@contoso.com\')'
},
{
'@odata.type': 'microsoft.graph.aadUserConversationMember',
roles: ['owner'],
'user@odata.bind': 'https://graph.microsoft.com/v1.0/users(\'alex@contoso.com\')'
}
]
};
await client.api('/teams/e4183b04-c9a2-417c-bde4-70e3ee46a6dc/members/add')
.post(actionResultPart);
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation .
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
LinkedList<ConversationMember> valuesList = new LinkedList<ConversationMember>();
AadUserConversationMember values = new AadUserConversationMember();
LinkedList<String> rolesList = new LinkedList<String>();
values.roles = rolesList;
values.additionalDataManager().put("user@odata.bind", new JsonPrimitive("https://graph.microsoft.com/v1.0/users('jacob@contoso.com')"));
valuesList.add(values);
AadUserConversationMember values1 = new AadUserConversationMember();
LinkedList<String> rolesList1 = new LinkedList<String>();
rolesList1.add("owner");
values1.roles = rolesList1;
values1.additionalDataManager().put("user@odata.bind", new JsonPrimitive("https://graph.microsoft.com/v1.0/users('alex@contoso.com')"));
valuesList.add(values1);
ConversationMemberCollectionResponse conversationMemberCollectionResponse = new ConversationMemberCollectionResponse();
conversationMemberCollectionResponse.value = valuesList;
ConversationMemberCollectionPage conversationMemberCollectionPage = new ConversationMemberCollectionPage(conversationMemberCollectionResponse, null);
graphClient.teams("e4183b04-c9a2-417c-bde4-70e3ee46a6dc").members()
.add(ConversationMemberAddParameterSet
.newBuilder()
.withValues(valuesList)
.build())
.buildRequest()
.post();
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation .
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := graphmodels.NewAddPostRequestBody()
conversationMember := graphmodels.NewConversationMember()
roles := []string {
}
conversationMember.SetRoles(roles)
additionalData := map[string]interface{}{
"user@odata.bind" : "https://graph.microsoft.com/v1.0/users('jacob@contoso.com')",
}
conversationMember.SetAdditionalData(additionalData)
conversationMember1 := graphmodels.NewConversationMember()
roles := []string {
"owner",
}
conversationMember1.SetRoles(roles)
additionalData := map[string]interface{}{
"user@odata.bind" : "https://graph.microsoft.com/v1.0/users('alex@contoso.com')",
}
conversationMember1.SetAdditionalData(additionalData)
values := []graphmodels.Objectable {
conversationMember,
conversationMember1,
}
requestBody.SetValues(values)
result, err := graphClient.TeamsById("team-id").Members().Add().Post(context.Background(), requestBody, nil)
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation .
Import-Module Microsoft.Graph.Teams
$params = @{
Values = @(
@{
"@odata.type" = "microsoft.graph.aadUserConversationMember"
Roles = @(
)
"User@odata.bind" = "https://graph.microsoft.com/v1.0/users('jacob@contoso.com')"
}
@{
"@odata.type" = "microsoft.graph.aadUserConversationMember"
Roles = @(
"owner"
)
"User@odata.bind" = "https://graph.microsoft.com/v1.0/users('alex@contoso.com')"
}
)
}
Add-MgTeamMember -TeamId $teamId -BodyParameter $params
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation .
<?php
// THIS SNIPPET IS A PREVIEW FOR THE KIOTA BASED SDK. NON-PRODUCTION USE ONLY
$graphServiceClient = new GraphServiceClient($requestAdapter);
$requestBody = new AddPostRequestBody();
$valuesConversationMember1 = new ConversationMember();
$valuesConversationMember1->set@odatatype('microsoft.graph.aadUserConversationMember');
$valuesConversationMember1->setRoles([]);
$additionalData = [
'user@odata.bind' => 'https://graph.microsoft.com/v1.0/users(\'jacob@contoso.com\')',
];
$valuesConversationMember1->setAdditionalData($additionalData);
$valuesArray []= $valuesConversationMember1;
$valuesConversationMember2 = new ConversationMember();
$valuesConversationMember2->set@odatatype('microsoft.graph.aadUserConversationMember');
$valuesConversationMember2->setRoles(['owner', ]);
$additionalData = [
'user@odata.bind' => 'https://graph.microsoft.com/v1.0/users(\'alex@contoso.com\')',
];
$valuesConversationMember2->setAdditionalData($additionalData);
$valuesArray []= $valuesConversationMember2;
$requestBody->setValues($valuesArray);
$requestResult = $graphServiceClient->teamsById('team-id')->members()->add()->post($requestBody);
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation .
Response
The following is 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/v1.0/$metadata#Collection(microsoft.graph.aadUserConversationMemberResult)",
"value": [
{
"@odata.type": "#microsoft.graph.aadUserConversationMemberResult",
"userId": "18a80140-b0fb-4489-b360-2f6efaf225a0",
"error": null
},
{
"@odata.type": "#microsoft.graph.aadUserConversationMemberResult",
"userId": "86503198-b81b-43fe-81ee-ad45b8848ac9",
"error": null
}
]
}
See also