VirtualAppointment.Read
Allows an application to read virtual appointments for the signed-in user. Only an organizer or participant user can read their virtual appointments.
In short
VirtualAppointment.Read is a delegated permission in the Microsoft Graph API, grouped under the VirtualAppointment category. Allows an application to read virtual appointments for the signed-in user. Only an organizer or participant user can read their virtual appointments. It grants read-only access to resources. This delegated permission requires admin consent.
Permission Details
Read a user's virtual appointments
Allows an application to read virtual appointments for the signed-in user. Only an organizer or participant user can read their virtual appointments.
27470298-d3b8-4b9c-aad4-6334312a3eac
Properties
Properties is shown from beta metadata because a stable v1.0 schema is not available for this resource mapping.
| Property | Type | Description |
|---|---|---|
appointmentClients |
virtualAppointmentUser collection |
The client information for the virtual appointment, including name, email, and SMS phone number. Optional. |
appointmentClientJoinWebUrl |
String |
The join web URL of the virtual appointment for clients with waiting room and browser join. Optional. |
externalAppointmentId |
String |
The identifier of the appointment from the scheduling system, associated with the current virtual appointment. Optional. |
externalAppointmentUrl |
String |
The URL of the appointment resource from the scheduling system, associated with the current virtual appointment. Optional. |
settings |
virtualAppointmentSettings |
The settings associated with the virtual appointment resource. Optional. |
JSON Representation
JSON representation is shown from beta metadata because a stable v1.0 schema is not available for this resource mapping.
{
"@odata.type": "#microsoft.graph.virtualAppointment",
"appointmentClients": [
{
"@odata.type": "microsoft.graph.virtualAppointmentUser"
}
],
"appointmentClientJoinWebUrl": "String",
"externalAppointmentId": "String",
"externalAppointmentUrl": "String",
"id": "String (identifier)",
"settings": {
"@odata.type": "microsoft.graph.virtualAppointmentSettings"
}
}
Relationships
Relationships metadata is not available for this permission mapping.
View resource documentationGraph Methods
Microsoft Graph v1.0 endpoints are mapped directly from refreshed Microsoft Learn permissions tables.
| Methods |
|---|
GET
/me/onlineMeetings/{onlineMeetingId}/getVirtualAppointmentJoinWebUrl
|
GET
/users/{userId}/onlineMeetings/{onlineMeetingId}/getVirtualAppointmentJoinWebUrl
|
Microsoft Graph beta endpoints are mapped directly from refreshed Microsoft Learn permissions tables.
| Methods |
|---|
GET
/me/onlineMeetings/{onlineMeetingId}/getVirtualAppointmentJoinWebUrl
|
GET
/users/{userId}/onlineMeetings/{onlineMeetingId}/getVirtualAppointmentJoinWebUrl
|
Microsoft Graph PowerShell v1.0 commands are mapped directly from refreshed Microsoft Learn PowerShell snippets.
| Commands |
|---|
Get-MgUserOnlineMeetingVirtualAppointmentJoinWebUrl
/me/onlineMeetings/{onlineMeetingId}/getVirtualAppointmentJoinWebUrl
virtualAppointment: getVirtualAppointmentJoinWebUrl
|
Microsoft Graph PowerShell beta commands are mapped directly from refreshed Microsoft Learn PowerShell snippets.
| Commands |
|---|
Get-MgBetaUserOnlineMeetingVirtualAppointmentJoinWebUrl
/me/onlineMeetings/{onlineMeetingId}/getVirtualAppointmentJoinWebUrl
virtualAppointment: getVirtualAppointmentJoinWebUrl
|
Code Examples
// Code snippets are only available for the latest version. Current version is 5.x
// 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}"].GetVirtualAppointmentJoinWebUrl.GetAsGetVirtualAppointmentJoinWebUrlGetResponseAsync();
const options = {
authProvider,
};
const client = Client.init(options);
let string = await client.api('/me/onlineMeetings/MSpkYzE3Njc0Yy04MWQ5LTRhZGItYmZi/getVirtualAppointmentJoinWebUrl')
.get();
Import-Module Microsoft.Graph.CloudCommunications
# A UPN can also be used as -UserId.
Get-MgUserOnlineMeetingVirtualAppointmentJoinWebUrl -UserId $userId -OnlineMeetingId $onlineMeetingId
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
result = await graph_client.me.online_meetings.by_online_meeting_id('onlineMeeting-id').get_virtual_appointment_join_web_url.get()
App Registration
Navigate to Azure Portal
Go to App registrations in Microsoft Entra admin center
Add API Permission
Select your app → API permissions → Add a permission → Microsoft Graph
Select Permission Type
Choose Delegated permissions and search for VirtualAppointment.Read
Grant Admin Consent
This delegated permission requires admin consent.
Frequently asked questions
What is the VirtualAppointment.Read Microsoft Graph permission?
VirtualAppointment.Read is a delegated permission in the Microsoft Graph API, grouped under the VirtualAppointment category. Allows an application to read virtual appointments for the signed-in user. Only an organizer or participant user can read their virtual appointments. It grants read-only access to resources. This delegated permission requires admin consent. It is mapped to the Microsoft Graph virtualappointment resource type. 4 documented Microsoft Graph REST methods require it. 2 Microsoft Graph PowerShell commands are documented for it.
Is VirtualAppointment.Read an application or a delegated permission?
VirtualAppointment.Read is a delegated permission only. It grants access on behalf of a signed-in user and cannot be used for app-only access.
Does VirtualAppointment.Read require admin consent?
This delegated permission requires admin consent.
What is the permission ID (GUID) for VirtualAppointment.Read?
For VirtualAppointment.Read, the delegated (OAuth2 scope) ID is 27470298-d3b8-4b9c-aad4-6334312a3eac. These are the real Microsoft Graph identifiers and can be used directly in an app registration manifest.