VirtualAppointment.ReadWrite.All
Allows the application to read and write virtual appointments for all users, without a signed-in user. The app must also be authorized to access an individual user’s data by the online meetings application access policy.
Permission Details
Read-write all virtual appointments for users, as authorized by online meetings app access policy
Allows the application to read and write virtual appointments for all users, without a signed-in user. The app must also be authorized to access an individual user’s data by the online meetings application access policy.
bf46a256-f47d-448f-ab78-f226fff08d40
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 not available from refreshed Microsoft Learn or Microsoft Graph OpenAPI metadata for this permission.
No API methods available for this version.
Microsoft Graph beta endpoints are not available from refreshed Microsoft Learn or Microsoft Graph OpenAPI metadata for this permission.
No API methods available for this version.
Microsoft Graph PowerShell v1.0 commands are not available from refreshed Microsoft Learn PowerShell snippets for this permission.
No deterministic PowerShell command map is available for this permission.
Browse PowerShell docsMicrosoft Graph PowerShell beta commands are not available from refreshed Microsoft Learn PowerShell snippets for this permission.
No deterministic PowerShell command map is available for this permission.
Browse PowerShell docsCode Examples
using Azure.Identity;
using Microsoft.Graph;
var scopes = new[] { "VirtualAppointment.ReadWrite.All" };
var credential = new InteractiveBrowserCredential(
new InteractiveBrowserCredentialOptions
{
ClientId = "YOUR_CLIENT_ID",
TenantId = "YOUR_TENANT_ID",
RedirectUri = new Uri("http://localhost")
});
var graphClient = new GraphServiceClient(credential, scopes);
var response = await graphClient
.WithUrl("https://graph.microsoft.com/v1.0/virtualappointment")
.GetAsync();
import { Client } from "@microsoft/microsoft-graph-client";
import { InteractiveBrowserCredential } from "@azure/identity";
const credential = new InteractiveBrowserCredential({
clientId: "YOUR_CLIENT_ID",
tenantId: "YOUR_TENANT_ID",
redirectUri: "http://localhost"
});
const token = await credential.getToken(["VirtualAppointment.ReadWrite.All"]);
const client = Client.init({
authProvider: (done) => done(null, token.token)
});
const response = await client.api("/virtualappointment").get();
Connect-MgGraph -Scopes "VirtualAppointment.ReadWrite.All"
Invoke-MgGraphRequest -Method GET -Uri "https://graph.microsoft.com/v1.0/virtualappointment"
from azure.identity import InteractiveBrowserCredential
import requests
credential = InteractiveBrowserCredential(
client_id="YOUR_CLIENT_ID",
tenant_id="YOUR_TENANT_ID"
)
token = credential.get_token("VirtualAppointment.ReadWrite.All")
response = requests.get(
"https://graph.microsoft.com/v1.0/virtualappointment",
headers={"Authorization": f"Bearer {token.token}"}
)
print(response.json())
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 Application permissions and search for VirtualAppointment.ReadWrite.All
Grant Admin Consent
Application permissions always require admin consent.