ESC
Type to search...

Application.Read.All

Export JSON
Export CSV
Copy URL
Print
ApplicationDelegated Read All Resources

Allows the app to read all applications and service principals without a signed-in user.

Delegated Access App-Only Access

Permission Details

Application Permission

Read all applications

Allows the app to read all applications and service principals without a signed-in user.

Delegated Permission Admin consent required

Read applications

Allows the app to read applications and service principals on behalf of the signed-in user.

Properties

Property Type Description
id string The unique identifier for an entity. Read-only.

Relationships

Relationship Type Description
createdOnBehalfOf directoryObject Supports $filter (/$count eq 0, /$count ne 0). Read-only.
extensionProperties extensionProperty collection Read-only. Nullable. Supports $expand and $filter.
federatedIdentityCredentials federatedIdentityCredential collection Federated identities for applications. Supports $expand and $filter.
owners directoryObject collection Directory objects that are owners of the application. Read-only. Nullable. Supports $expand.
tokenIssuancePolicies tokenIssuancePolicy collection Token issuance policies assigned to this application. Supports $expand.
tokenLifetimePolicies tokenLifetimePolicy collection Token lifetime policies assigned to this application. Supports $expand.

Graph Methods

Delegated access App-only access
Methods
GET /applications
GET /applications(appId='{appId}')
GET /applications(appId='{appId}')/extensionProperties
GET /applications(appId='{appId}')/extensionProperties/{extensionPropertyId}
GET /applications(appId='{appId}')/federatedIdentityCredentials
GET /applications(appId='{appId}')/owners
GET /applications/{application ObjectId}/extensionProperties
GET /applications/{application ObjectId}/extensionProperties/{extensionPropertyId}
GET /applications/{applicationObjectId}
GET /applications/{id}/federatedIdentityCredentials
GET /applications/{id}/owners
GET /applications/delta
GET /directory/deletedItems/{object-id}
GET /directory/deletedItems/microsoft.graph.administrativeUnit
GET /directory/deletedItems/microsoft.graph.application
GET /directory/deletedItems/microsoft.graph.certificateAuthorityDetail
GET /directory/deletedItems/microsoft.graph.certificateBasedAuthPki
GET /directory/deletedItems/microsoft.graph.group
GET /directory/deletedItems/microsoft.graph.servicePrincipal
GET /directory/deletedItems/microsoft.graph.user
GET /directoryObjects/delta?$filter=isof('microsoft.graph.administrativeUnit')
GET /directoryObjects/delta?$filter=isof('microsoft.graph.application')
GET /directoryObjects/delta?$filter=isof('microsoft.graph.appRoleAssignment') or isof('microsoft.graph.user')
GET /directoryObjects/delta?$filter=isof('microsoft.graph.device')
GET /directoryObjects/delta?$filter=isof('microsoft.graph.directoryRole')
GET /directoryObjects/delta?$filter=isof('microsoft.graph.group')
GET /directoryObjects/delta?$filter=isof('microsoft.graph.orgContact')
GET /directoryObjects/delta?$filter=isof('microsoft.graph.servicePrincipal')
GET /directoryObjects/delta?$filter=isof('microsoft.graph.user')
GET /policies/appManagementPolicies/{id}/appliesTo
GET /policies/claimsMappingPolicies/{id}/appliesTo
GET /policies/homeRealmDiscoveryPolicies/{id}/appliesTo
GET /policies/tokenIssuancePolicies/{id}/appliesTo
GET /policies/tokenLifetimePolicies/{id}/appliesTo
GET /schemaExtensions
GET /schemaExtensions/{id}
GET /servicePrincipals
GET /servicePrincipals(appId='{appId}')
GET /servicePrincipals(appId='{appId}')/appRoleAssignedTo
GET /servicePrincipals(appId='{appId}')/appRoleAssignments
GET /servicePrincipals(appId='{appId}')/createdObjects
GET /servicePrincipals(appId='{appId}')/delegatedPermissionClassifications
GET /servicePrincipals(appId='{appId}')/memberOf
GET /servicePrincipals(appId='{appId}')/ownedObjects
GET /servicePrincipals(appId='{appId}')/owners
GET /servicePrincipals(appId='{appId}')/transitiveMemberOf
GET /servicePrincipals(appId='{client-servicePrincipal-appId}')/appRoleAssignments/{appRoleAssignment-id}
GET /servicePrincipals/{client-serviceprincipal-id}/appRoleAssignments/{appRoleAssignment-id}
GET /servicePrincipals/{id}
GET /servicePrincipals/{id}/appRoleAssignedTo
GET /servicePrincipals/{id}/appRoleAssignments
GET /servicePrincipals/{id}/createdObjects
GET /servicePrincipals/{id}/delegatedPermissionClassifications
GET /servicePrincipals/{id}/memberOf
GET /servicePrincipals/{id}/ownedObjects
GET /servicePrincipals/{id}/owners
GET /servicePrincipals/{id}/transitiveMemberOf
GET /servicePrincipals/{servicePrincipalsId}/remoteDesktopSecurityConfiguration
GET /servicePrincipals/{servicePrincipalsId}/remoteDesktopSecurityConfiguration/targetDeviceGroups
GET /servicePrincipals/{servicePrincipalsId}/remoteDesktopSecurityConfiguration/targetDeviceGroups/{targetDeviceGroupId}
GET /servicePrincipals/delta
POST /applications/{id}/appManagementPolicies/$ref
POST /directoryObjects/{id}/checkMemberGroups
POST /directoryObjects/{id}/checkMemberObjects
POST /directoryObjects/{id}/getMemberGroups
POST /directoryObjects/{id}/getMemberObjects
POST /identity/conditionalAccess/policies
POST /servicePrincipals(appId='{appId}')/appRoleAssignedTo
POST /servicePrincipals(appId='{appId}')/appRoleAssignments
POST /servicePrincipals/{id}/appRoleAssignedTo
POST /servicePrincipals/{id}/appRoleAssignments
PATCH /identity/conditionalAccess/policies/{id}
DELETE /applications/{applicationObjectId}/appManagementPolicies/{appManagementPolicyId}/$ref
DELETE /servicePrincipals/{servicePrincipalObjectId}/appManagementPolicies/{appManagementPolicyId}/$ref
Methods
GET /applications
GET /applications(appId='{appId}')
GET /applications(appId='{appId}')/extensionProperties
GET /applications(appId='{appId}')/extensionProperties/{extensionPropertyId}
GET /applications(appId='{appId}')/federatedIdentityCredentials
GET /applications(appId='{appId}')/federatedIdentityCredentials/{federatedIdentityCredentialId}
GET /applications(appId='{appId}')/federatedIdentityCredentials/{federatedIdentityCredentialName}
GET /applications(appId='{appId}')/owners
GET /applications/{application ObjectId}/extensionProperties
GET /applications/{application ObjectId}/extensionProperties/{extensionPropertyId}
GET /applications/{applicationObjectId}
GET /applications/{applicationObjectId}/onPremisesPublishing/segmentsConfiguration/microsoft.graph.ipSegmentConfiguration/applicationSegments
GET /applications/{applicationObjectId}/onPremisesPublishing/segmentsConfiguration/microsoft.graph.ipSegmentConfiguration/applicationSegments/{applicationSegment-id}
GET /applications/{id}/federatedIdentityCredentials
GET /applications/{id}/federatedIdentityCredentials/{federatedIdentityCredentialId}
GET /applications/{id}/federatedIdentityCredentials/{federatedIdentityCredentialName}
GET /applications/{id}/microsoft.graph.agentIdentityBlueprint
GET /applications/{id}/microsoft.graph.agentIdentityBlueprint/inheritablePermissions
GET /applications/{id}/microsoft.graph.agentIdentityBlueprint/inheritablePermissions/{resourceAppId}
GET /applications/{id}/microsoft.graph.agentIdentityBlueprint/owners
GET /applications/{id}/microsoft.graph.agentIdentityBlueprint/sponsors
GET /applications/{id}/owners
GET /applications/delta
GET /applications/microsoft.graph.agentIdentityBlueprint
GET /directory/deleteditems/{object-id}
GET /directory/deletedItems/microsoft.graph.administrativeUnit
GET /directory/deleteditems/microsoft.graph.application
GET /directory/deletedItems/microsoft.graph.certificateAuthorityDetail
GET /directory/deletedItems/microsoft.graph.certificateBasedAuthPki
GET /directory/deletedItems/microsoft.graph.externalUserProfile
GET /directory/deleteditems/microsoft.graph.group
GET /directory/deletedItems/microsoft.graph.pendingExternalUserProfile
GET /directory/deleteditems/microsoft.graph.servicePrincipal
GET /directory/deletedItems/microsoft.graph.user
GET /directoryObjects/delta?$filter=isof('microsoft.graph.administrativeUnit')
GET /directoryObjects/delta?$filter=isof('microsoft.graph.application')
GET /directoryObjects/delta?$filter=isof('microsoft.graph.device')
GET /directoryObjects/delta?$filter=isof('microsoft.graph.directoryRole')
GET /directoryObjects/delta?$filter=isof('microsoft.graph.group')
GET /directoryObjects/delta?$filter=isof('microsoft.graph.orgContact')
GET /directoryObjects/delta?$filter=isof('microsoft.graph.servicePrincipal')
GET /directoryObjects/delta?$filter=isof('microsoft.graph.user')
GET /policies/appManagementPolicies/{id}/appliesTo
GET /policies/claimsMappingPolicies/{id}/appliesTo
GET /policies/homeRealmDiscoveryPolicies/{id}/appliesTo
GET /policies/tokenIssuancePolicies/{id}/appliesTo
GET /policies/tokenLifetimePolicies/{id}/appliesTo
GET /schemaExtensions
GET /schemaExtensions/{id}
GET /servicePrincipals
GET /servicePrincipals(appId='{appId}')
GET /servicePrincipals(appId='{appId}')/microsoft.graph.agentIdentityBlueprintPrincipal
GET /servicePrincipals(appId='{client-servicePrincipal-appId}')/appRoleAssignments/{appRoleAssignment-id}
GET /servicePrincipals/{client-serviceprincipal-id}/appRoleAssignments/{appRoleAssignment-id}
GET /servicePrincipals/{id}
GET /servicePrincipals/{id}/appRoleAssignedTo
GET /servicePrincipals/{id}/appRoleAssignments
GET /servicePrincipals/{id}/createdObjects
GET /servicePrincipals/{id}/delegatedPermissionClassifications
GET /servicePrincipals/{id}/memberOf
GET /servicePrincipals/{id}/microsoft.graph.agentIdentity
GET /servicePrincipals/{id}/microsoft.graph.agentIdentity/memberOf
GET /servicePrincipals/{id}/microsoft.graph.agentIdentity/ownedObjects
GET /servicePrincipals/{id}/microsoft.graph.agentIdentity/owners
GET /servicePrincipals/{id}/microsoft.graph.agentIdentity/transitiveMemberOf
GET /servicePrincipals/{id}/microsoft.graph.agentIdentityBlueprintPrincipal
GET /servicePrincipals/{id}/microsoft.graph.agentIdentityBlueprintPrincipal/memberOf
GET /servicePrincipals/{id}/microsoft.graph.agentIdentityBlueprintPrincipal/owners
GET /servicePrincipals/{id}/microsoft.graph.agentIdentityBlueprintPrincipal/sponsors
GET /servicePrincipals/{id}/ownedObjects
GET /servicePrincipals/{id}/owners
GET /servicePrincipals/{id}/permissionGrantPreApprovalPolicies
GET /servicePrincipals/{id}/transitiveMemberOf
GET /servicePrincipals/{servicePrincipalsId}/remoteDesktopSecurityConfiguration
GET /servicePrincipals/{servicePrincipalsId}/remoteDesktopSecurityConfiguration/targetDeviceGroups
GET /servicePrincipals/{servicePrincipalsId}/remoteDesktopSecurityConfiguration/targetDeviceGroups/{targetDeviceGroupId}
GET /servicePrincipals/delta
GET /servicePrincipals/microsoft.graph.agentIdentity
GET /servicePrincipals/microsoft.graph.agentIdentityBlueprintPrincipal
GET /tenantRelationships/managedTenants/conditionalAccessPolicyCoverages
GET /tenantRelationships/managedTenants/conditionalAccessPolicyCoverages/{conditionalAccessPolicyCoverageId}
POST /applications/{id}/appManagementPolicies/$ref
POST /directoryObjects/{id}/checkMemberGroups
POST /directoryObjects/{id}/checkMemberObjects
POST /directoryObjects/{id}/getMemberGroups
POST /directoryObjects/{id}/getMemberObjects
POST /identity/conditionalAccess/policies
POST /servicePrincipals(appId='{appId}')/appRoleAssignedTo
POST /servicePrincipals(appId='{appId}')/appRoleAssignments
POST /servicePrincipals/{id}/appRoleAssignedTo
POST /servicePrincipals/{id}/appRoleAssignments
PATCH /identity/conditionalAccess/policies/{id}
PATCH /identity/continuousAccessEvaluationPolicy
DELETE /applications/{applicationObjectId}/appManagementPolicies/{appManagementPolicyId}/$ref
DELETE /servicePrincipals/{id}/microsoft.graph.agentIdentityBlueprintPrincipal/sponsors/{sponsorObjectId}/$ref
DELETE /servicePrincipals/{servicePrincipalObjectId}/appManagementPolicies/{appManagementPolicyId}/$ref
Commands
Confirm-MgBetaUserMemberGroup
Confirm-MgBetaUserMemberObject
Get-MgBetaApplication
Get-MgBetaApplicationByAppId
Get-MgBetaApplicationDelta
Get-MgBetaApplicationExtensionProperty
Get-MgBetaApplicationFederatedIdentityCredential
Get-MgBetaApplicationOwner
Get-MgBetaDirectoryDeletedItem
Get-MgBetaDirectoryDeletedItemAsGroup
Get-MgBetaDirectoryObjectDelta
Get-MgBetaPolicyAppManagementPolicyApplyTo
Get-MgBetaPolicyClaimMappingPolicyApplyTo
Get-MgBetaPolicyHomeRealmDiscoveryPolicyApplyTo
Get-MgBetaPolicyTokenIssuancePolicyApplyTo
Get-MgBetaPolicyTokenLifetimePolicyApplyTo
Get-MgBetaSchemaExtension
Get-MgBetaServicePrincipal
Get-MgBetaServicePrincipalAppRoleAssignedTo
Get-MgBetaServicePrincipalAppRoleAssignment
Get-MgBetaServicePrincipalCreatedObject
Get-MgBetaServicePrincipalDelegatedPermissionClassification
Get-MgBetaServicePrincipalDelta
Get-MgBetaServicePrincipalMemberOf
Get-MgBetaServicePrincipalOwnedObject
Get-MgBetaServicePrincipalOwner
Get-MgBetaServicePrincipalPermissionGrantPreApprovalPolicy
Get-MgBetaServicePrincipalRemoteDesktopSecurityConfiguration
Get-MgBetaServicePrincipalRemoteDesktopSecurityConfigurationTargetDeviceGroup
Get-MgBetaServicePrincipalTransitiveMemberOf
Get-MgBetaTenantRelationshipManagedTenantConditionalAccessPolicyCoverage
Get-MgBetaUserAppRoleAssignment
Get-MgBetaUserMemberGroup
Get-MgBetaUserMemberObject
New-MgBetaApplicationAppManagementPolicyByRef
New-MgBetaIdentityConditionalAccessPolicy
New-MgBetaServicePrincipalAppRoleAssignedTo
New-MgBetaServicePrincipalAppRoleAssignment
Remove-MgBetaApplicationAppManagementPolicyAppManagementPolicyByRef
Update-MgBetaIdentityConditionalAccessPolicy
Update-MgBetaIdentityContinuouAccessEvaluationPolicy

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[] { "Application.Read.All" };
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}");

// Application permissions - daemon/service app
var tenantId = "YOUR_TENANT_ID";
var clientId = "YOUR_CLIENT_ID";
var clientSecret = "YOUR_CLIENT_SECRET";

var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
var graphClient = new GraphServiceClient(credential);

// Example: GET /users/{user-id}
var users = await graphClient.Users.GetAsync();
foreach (var user in users?.Value ?? [])
{
    Console.WriteLine($"User: {user.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: ["Application.Read.All"]
});

const authProvider = new AuthCodeMSALBrowserAuthenticationProvider(pca, {
    account: loginResponse.account,
    scopes: ["Application.Read.All"],
    interactionType: "popup"
});

const graphClient = Client.initWithMiddleware({ authProvider });

// Example: GET /me
const result = await graphClient.api("/me").get();
console.log(result);

// Application: Use client credentials (Node.js backend only)
// npm install @azure/identity @microsoft/microsoft-graph-client
import { ClientSecretCredential } from "@azure/identity";
import { TokenCredentialAuthenticationProvider } from 
    "@microsoft/microsoft-graph-client/authProviders/azureTokenCredentials";

const credential = new ClientSecretCredential(
    "YOUR_TENANT_ID",
    "YOUR_CLIENT_ID", 
    "YOUR_CLIENT_SECRET"
);

const authProvider = new TokenCredentialAuthenticationProvider(credential, {
    scopes: ["https://graph.microsoft.com/.default"]
});

const graphClient = Client.initWithMiddleware({ authProvider });
const result = await graphClient.api("/users").get();
console.log(result);
PowerShell
# Install Microsoft Graph PowerShell module
Install-Module Microsoft.Graph -Scope CurrentUser

# Delegated access - interactive sign-in
Connect-MgGraph -Scopes "Application.Read.All"

# 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

# Application access with certificate
$params = @{
    ClientId = "YOUR_CLIENT_ID"
    TenantId = "YOUR_TENANT_ID"
    CertificateThumbprint = "YOUR_CERT_THUMBPRINT"
}
Connect-MgGraph @params

# Or with client secret (not recommended for production)
# Connect-MgGraph -ClientSecretCredential $credential

# Example: GET /users
$result = Invoke-MgGraphRequest -Method GET -Uri "https://graph.microsoft.com/v1.0/users"
$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 = ["Application.Read.All"]
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())

# Application permissions - client credentials
credential = ClientSecretCredential(
    tenant_id="YOUR_TENANT_ID",
    client_id="YOUR_CLIENT_ID",
    client_secret="YOUR_CLIENT_SECRET"
)
scopes = ["https://graph.microsoft.com/.default"]
client = GraphServiceClient(credential, scopes)

async def get_users():
    # Example: GET /users
    result = await client.users.get()
    for user in result.value:
        print(f"User: {user.display_name}")
    return result

asyncio.run(get_users())

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 or Delegated permissions and search for Application.Read.All

4

Grant Admin Consent

Application permissions always require admin consent. Click "Grant admin consent" in the Azure portal.