CallDelegation.ReadWrite
Export JSON
Export CSV
Copy URL
Print
Delegated
Read/Write
User Scope
Allows the app to read and write delegation settings of you
Delegated Access
App-Only Access
Permission Details
Delegated Permission
Admin consent required
Read and write delegation settings
Allows the app to read and write delegation settings of you
User sees: Allows the app to read and write delegation settings for you
Permission ID:
599abf67-f72b-4b5f-98a3-cb38fe646118
Properties
| Property | Type | Description |
|---|---|---|
id |
string |
The unique identifier for an entity. Read-only. |
mediaConfig |
object |
The media configuration. Required information for creating peer to peer calls or joining meetings. |
requestedModalities |
array |
The list of requested modalities. The possible values are: unknown, audio, video, videoBasedScreenSharing, data. |
incomingContext |
object |
The context associated with an incoming call. Read-only. Server generated. |
transcription |
object |
The transcription information for the call. Read-only. |
terminationReason |
stringNullable |
|
callOptions |
object |
Contains the optional features for the call. |
direction |
object |
The direction of the call. The possible values are incoming or outgoing. Read-only. |
ringingTimeoutInSeconds |
int32Nullable |
Ringing timeout in seconds for outgoing peer to peer calls. The max value for this attribute is 115 seconds. |
toneInfo |
object |
|
callRoutes |
microsoft.graph.callRoute collection |
The routing information on how the call was retargeted. Read-only. |
activeModalities |
array |
The list of active modalities. The possible values are: unknown, audio, video, videoBasedScreenSharing, data. Read-only. |
meetingCapability |
object |
Contains the capabilities of a meeting. Read-only. |
answeredBy |
object |
The participant that answered the call. Read-only. |
callChainId |
stringNullable |
A unique identifier for all the participant calls in a conference or a unique identifier for two participant calls in a P2P call. This needs to be copied over from Microsoft.Graph.Call.CallChainId. |
Showing 15 of 31 properties. View all on Microsoft Learn →
Graph Methods
Delegated access
App-only access
No API methods available for this version.
No PowerShell cmdlets available for this version.
No PowerShell cmdlets available for this version.
Code Examples
C# / .NET SDK
// Install: dotnet add package Microsoft.Graph
// Install: dotnet add package Azure.Identity
using Microsoft.Graph;
using Azure.Identity;
// Delegated permissions - interactive user sign-in
var scopes = new[] { "CallDelegation.ReadWrite" };
var options = new InteractiveBrowserCredentialOptions
{
ClientId = "YOUR_CLIENT_ID",
TenantId = "YOUR_TENANT_ID",
RedirectUri = new Uri("http://localhost")
};
var credential = new InteractiveBrowserCredential(options);
var graphClient = new GraphServiceClient(credential, scopes);
// Example: GET /me
var result = await graphClient.Me.GetAsync();
Console.WriteLine($"User: {result?.DisplayName}");
JavaScript / TypeScript
// npm install @azure/msal-browser @microsoft/microsoft-graph-client
import { PublicClientApplication } from "@azure/msal-browser";
import { Client } from "@microsoft/microsoft-graph-client";
import { AuthCodeMSALBrowserAuthenticationProvider } from
"@microsoft/microsoft-graph-client/authProviders/authCodeMsalBrowser";
const msalConfig = {
auth: {
clientId: "YOUR_CLIENT_ID",
authority: "https://login.microsoftonline.com/YOUR_TENANT_ID"
}
};
const pca = new PublicClientApplication(msalConfig);
await pca.initialize();
// Delegated: Login with required scope
const loginResponse = await pca.loginPopup({
scopes: ["CallDelegation.ReadWrite"]
});
const authProvider = new AuthCodeMSALBrowserAuthenticationProvider(pca, {
account: loginResponse.account,
scopes: ["CallDelegation.ReadWrite"],
interactionType: "popup"
});
const graphClient = Client.initWithMiddleware({ authProvider });
// Example: GET /me
const result = await graphClient.api("/me").get();
console.log(result);
PowerShell
# Install Microsoft Graph PowerShell module
Install-Module Microsoft.Graph -Scope CurrentUser
# Delegated access - interactive sign-in
Connect-MgGraph -Scopes "CallDelegation.ReadWrite"
# Verify connection
Get-MgContext | Select-Object Account, TenantId, Scopes
# Example: GET /me
$result = Invoke-MgGraphRequest -Method GET -Uri "https://graph.microsoft.com/v1.0/me"
$result | ConvertTo-Json -Depth 5
# Always disconnect when done
Disconnect-MgGraph
Python
# pip install msgraph-sdk azure-identity
from azure.identity import InteractiveBrowserCredential, ClientSecretCredential
from msgraph import GraphServiceClient
import asyncio
# Delegated permissions - interactive browser sign-in
credential = InteractiveBrowserCredential(
client_id="YOUR_CLIENT_ID",
tenant_id="YOUR_TENANT_ID"
)
scopes = ["CallDelegation.ReadWrite"]
client = GraphServiceClient(credential, scopes)
async def get_data():
# Example: GET /me
result = await client.me.get()
print(f"User: {result.display_name}")
return result
asyncio.run(get_data())
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 Delegated permissions and search for CallDelegation.ReadWrite
4
Grant Admin Consent
This permission requires admin consent. Grant consent in the Azure portal.