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)
OnlineMeetings.ReadWrite
Not available.
Delegated (personal Microsoft account)
Not supported.
Not supported.
Application
OnlineMeetings.ReadWrite.All
Not available.
To use application permission for this API, tenant administrators must create an application access policy and grant it to a user to authorize the app configured in the policy to update online meetings on behalf of that user (with user ID specified in the request path).
HTTP request
To update the specified onlineMeeting using meeting ID with delegated (/me) and app (/users/{userId}/) permission:
The following table lists the properties that can be updated. In the request body, include only the properties that need updating, with the following exceptions:
Adjusting the start or end date/time of an online meeting always requires both startDateTime and endDateTime properties in the request body.
The organizer field of the participants property cannot be updated. The organizer of the meeting cannot be modified after the meeting is created.
Adjusting the attendees field of the participants property, such as adding or removing an attendee to the meeting, always requires the full list of attendees in the request body.
The last column indicates whether updating this property will take effect for an in-progress meeting.
Specifies which participants can bypass the meeting lobby.
Yes
allowedPresenters
onlineMeetingPresenters
Specifies who can be a presenter in a meeting.
Yes
allowAttendeeToEnableCamera
Boolean
Indicates whether attendees can turn on their camera.
Yes
allowAttendeeToEnableMic
Boolean
Indicates whether attendees can turn on their microphone.
Yes
allowMeetingChat
meetingChatMode
Specifies the mode of meeting chat.
Yes
allowTeamworkReactions
Boolean
Indicates whether Teams reactions are enabled for the meeting.
Yes
Note
For the list of possible values for allowedPresenters and allowMeetingChat, see onlineMeeting.
When updating the value of allowedPresenters to roleIsPresenter, include a full list of attendees with specified attendees' role set to presenter in the request body.
Response
If successful, this method returns a 200 OK response code and an updated onlineMeeting object in the response body.
Examples
Example 1: Update the startDateTime, endDateTime and subject
Request
Note: The meeting ID has been shortened for readability.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new OnlineMeeting
{
StartDateTime = DateTimeOffset.Parse("2020-09-09T14:33:30.8546353-07:00"),
EndDateTime = DateTimeOffset.Parse("2020-09-09T15:03:30.8566356-07:00"),
Subject = "Patch Meeting Subject",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Me.OnlineMeetings["{onlineMeeting-id}"].PatchAsync(requestBody);
<?php
// THIS SNIPPET IS A PREVIEW VERSION OF THE SDK. NON-PRODUCTION USE ONLY
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new OnlineMeeting();
$requestBody->setStartDateTime(new \DateTime('2020-09-09T14:33:30.8546353-07:00'));
$requestBody->setEndDateTime(new \DateTime('2020-09-09T15:03:30.8566356-07:00'));
$requestBody->setSubject('Patch Meeting Subject');
$result = $graphServiceClient->me()->onlineMeetings()->byOnlineMeetingId('onlineMeeting-id')->patch($requestBody)->wait();
# THE PYTHON SDK IS IN PREVIEW. FOR NON-PRODUCTION USE ONLY
graph_client = GraphServiceClient(credentials, scopes)
request_body = OnlineMeeting(
start_date_time = "2020-09-09T14:33:30.8546353-07:00",
end_date_time = "2020-09-09T15:03:30.8566356-07:00",
subject = "Patch Meeting Subject",
)
result = await graph_client.me.online_meetings.by_online_meeting_id('onlineMeeting-id').patch(request_body)
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new OnlineMeeting
{
LobbyBypassSettings = new LobbyBypassSettings
{
IsDialInBypassEnabled = true,
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Me.OnlineMeetings["{onlineMeeting-id}"].PatchAsync(requestBody);
<?php
// THIS SNIPPET IS A PREVIEW VERSION OF THE SDK. NON-PRODUCTION USE ONLY
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new OnlineMeeting();
$lobbyBypassSettings = new LobbyBypassSettings();
$lobbyBypassSettings->setIsDialInBypassEnabled(true);
$requestBody->setLobbyBypassSettings($lobbyBypassSettings);
$result = $graphServiceClient->me()->onlineMeetings()->byOnlineMeetingId('onlineMeeting-id')->patch($requestBody)->wait();
Import-Module Microsoft.Graph.CloudCommunications
$params = @{
lobbyBypassSettings = @{
isDialInBypassEnabled = $true
}
}
# A UPN can also be used as -UserId.
Update-MgUserOnlineMeeting -UserId $userId -OnlineMeetingId $onlineMeetingId -BodyParameter $params
# THE PYTHON SDK IS IN PREVIEW. FOR NON-PRODUCTION USE ONLY
graph_client = GraphServiceClient(credentials, scopes)
request_body = OnlineMeeting(
lobby_bypass_settings = LobbyBypassSettings(
is_dial_in_bypass_enabled = True,
),
)
result = await graph_client.me.online_meetings.by_online_meeting_id('onlineMeeting-id').patch(request_body)