ESC
Type to search...

VirtualAppointment.Read.All

Export JSON
Export CSV
Copy URL
Print
Application Read All Resources

Allows the application to read 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 data: April 6, 2026 at 4:06 AM UTC
Delegated Access App-Only Access

Permission Details

Application Permission

Read all virtual appointments for users, as authorized by online meetings application access policy

Allows the application to read 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.

Properties

Microsoft Graph beta exact-category-docs

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

Microsoft Graph beta exact-category-docs

JSON representation is shown from beta metadata because a stable v1.0 schema is not available for this resource mapping.

JSON representation
{
  "@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 documentation

Graph Methods

Delegated access App-only access
No Learn or OpenAPI mapping available

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.

No Learn or OpenAPI mapping available

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.

No Microsoft Learn PowerShell mapping available

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 docs
No Microsoft Learn PowerShell mapping available

Microsoft 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 docs

Code Examples

C# / .NET SDK
using Azure.Identity;
using Microsoft.Graph;

var scopes = new[] { "VirtualAppointment.Read.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();
JavaScript
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.Read.All"]);
const client = Client.init({
  authProvider: (done) => done(null, token.token)
});

const response = await client.api("/virtualappointment").get();
PowerShell
Connect-MgGraph -Scopes "VirtualAppointment.Read.All"
Invoke-MgGraphRequest -Method GET -Uri "https://graph.microsoft.com/v1.0/virtualappointment"
Python
from azure.identity import InteractiveBrowserCredential
import requests

credential = InteractiveBrowserCredential(
    client_id="YOUR_CLIENT_ID",
    tenant_id="YOUR_TENANT_ID"
)

token = credential.get_token("VirtualAppointment.Read.All")
response = requests.get(
    "https://graph.microsoft.com/v1.0/virtualappointment",
    headers={"Authorization": f"Bearer {token.token}"}
)

print(response.json())

App Registration

1

Navigate to Azure Portal

Go to App registrations in Microsoft Entra admin center

2

Add API Permission

Select your app → API permissions → Add a permission → Microsoft Graph

3

Select Permission Type

Choose Application permissions and search for VirtualAppointment.Read.All

4

Grant Admin Consent

Application permissions always require admin consent.