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)
Schedule.ReadWrite.All
Group.ReadWrite.All
Delegated (personal Microsoft account)
Not supported.
Not supported.
Application
Schedule.ReadWrite.All
Not available.
Note: This API supports admin permissions. Global admins can access groups that they are not a member of.
HTTP request
POST /teams/{teamId}/schedule/swapShiftsChangeRequests
Optional query parameters
This method supports some of the OData query parameters to help customize the response. For general information, see OData query parameters.
Request headers
Name
Description
Authorization
Bearer {token}. Required.
Content-type
application/json. Required.
MS-APP-ACTS-AS
A user ID (GUID). Required only if the authorization token is an application token; otherwise, optional.
POST https://graph.microsoft.com/v1.0/teams/788b75d2-a911-48c0-a5e2-dc98480457e3/schedule/swapShiftsChangeRequests
Authorization: Bearer {token}
Content-type: application/json
{
"senderShiftId": "5ad10161-6524-4c7c-9beb-4e8677ba2f6d",
"senderMessage": "I can't make my shift, any chance we can swap?",
"recipientUserId": "567c8ea5-9e32-422a-a663-8270201699cd",
"recipientShiftId": "e73408ca-3ea5-4bbf-96a8-2e06c95f7a2c"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new SwapShiftsChangeRequest
{
SenderShiftId = "5ad10161-6524-4c7c-9beb-4e8677ba2f6d",
SenderMessage = "I can't make my shift, any chance we can swap?",
RecipientUserId = "567c8ea5-9e32-422a-a663-8270201699cd",
RecipientShiftId = "e73408ca-3ea5-4bbf-96a8-2e06c95f7a2c",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Teams["{team-id}"].Schedule.SwapShiftsChangeRequests.PostAsync(requestBody, (requestConfiguration) =>
{
requestConfiguration.Headers.Add("Authorization", "Bearer {token}");
});
// THE CLI IS IN PREVIEW. NON-PRODUCTION USE ONLY
mgc teams schedule swap-shifts-change-requests create --team-id {team-id} --body '{\
"senderShiftId": "5ad10161-6524-4c7c-9beb-4e8677ba2f6d",\
"senderMessage": "I can't make my shift, any chance we can swap?",\
"recipientUserId": "567c8ea5-9e32-422a-a663-8270201699cd",\
"recipientShiftId": "e73408ca-3ea5-4bbf-96a8-2e06c95f7a2c"\
}\
'
<?php
// THIS SNIPPET IS A PREVIEW VERSION OF THE SDK. NON-PRODUCTION USE ONLY
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new SwapShiftsChangeRequest();
$requestBody->setSenderShiftId('5ad10161-6524-4c7c-9beb-4e8677ba2f6d');
$requestBody->setSenderMessage('I can\'t make my shift, any chance we can swap?');
$requestBody->setRecipientUserId('567c8ea5-9e32-422a-a663-8270201699cd');
$requestBody->setRecipientShiftId('e73408ca-3ea5-4bbf-96a8-2e06c95f7a2c');
$requestConfiguration = new SwapShiftsChangeRequestsRequestBuilderPostRequestConfiguration();
$headers = [
'Authorization' => 'Bearer {token}',
];
$requestConfiguration->headers = $headers;
$result = $graphServiceClient->teams()->byTeamId('team-id')->schedule()->swapShiftsChangeRequests()->post($requestBody, $requestConfiguration)->wait();
# THE PYTHON SDK IS IN PREVIEW. FOR NON-PRODUCTION USE ONLY
graph_client = GraphServiceClient(credentials, scopes)
request_body = SwapShiftsChangeRequest(
sender_shift_id = "5ad10161-6524-4c7c-9beb-4e8677ba2f6d",
sender_message = "I can't make my shift, any chance we can swap?",
recipient_user_id = "567c8ea5-9e32-422a-a663-8270201699cd",
recipient_shift_id = "e73408ca-3ea5-4bbf-96a8-2e06c95f7a2c",
)
request_configuration = SwapShiftsChangeRequestsRequestBuilder.SwapShiftsChangeRequestsRequestBuilderPostRequestConfiguration()
request_configuration.headers.add("Authorization", "Bearer {token}")
result = await graph_client.teams.by_team_id('team-id').schedule.swap_shifts_change_requests.post(request_body, request_configuration = request_configuration)