Microsoft Entra ID (formerly Azure AD) OAuth Scopes
Microsoft Entra ID (formerly Azure AD) publishes 39 OAuth 2.0 scopes via the authorizationCode, clientCredentials, and deviceCode flows. Scopes are the fine-grained permissions an application requests at authorization time to act against the Microsoft Entra ID (formerly Azure AD) API on a user’s behalf.
Tokens are issued from https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token.
This index is generated from the provider’s OpenAPI security definitions (and, where available, its documented scope reference) and refreshes on every APIs.io network build. Browse every provider’s scopes at scopes.apis.io.
OAuth endpoints
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token
authorizationCodeclientCredentialsdeviceCode
Scopes (39)
| Scope | Description | Flows |
|---|---|---|
| openid | Allows users to sign in to the app with their work or school accounts and allows the app to see basic user profile information. | |
| profile | Allows the app to see your users' basic profile (e.g., name, picture, user name, email address) | |
| Allows the app to read your users' primary email address | ||
| offline_access | Allows the app to see and update the data you gave it access to, even when users are not currently using the app. This does not give the app any additional permissions. | |
| User.Read | Allows users to sign-in to the app, and allows the app to read the profile of signed-in users. It also allows the app to read basic company information of signed-in users. | |
| User.ReadBasic.All | Allows the app to read a basic set of profile properties of other users in your organization on behalf of the signed-in user. This includes display name, first and last name, email address, photo, id and security identifier. Also allows the app to read the full profile of the signed-in user. | |
| User.Read.All | Allows the app to read the full set of user properties of all users in the organization and read company properties, on behalf of the signed-in user. | |
| User.ReadWrite.All | Allows the app to read and write the full set of profile properties, reports, and managers of other users in your organization, and read basic company properties, on behalf of the signed-in user. | |
| Directory.Read.All | Allows the app to read data in your organization's directory, such as users, groups and apps. | |
| Directory.ReadWrite.All | Allows the app to read and write data in your organization's directory, such as users, and groups. It does not allow the app to delete users or groups, or reset user passwords. | |
| Directory.AccessAsUser.All | Allows the app to have the same access to information in the directory as the signed-in user. | |
| Group.Read.All | Allows the app to list groups, and to read their properties and all group memberships on behalf of the signed-in user. Also allows the app to read calendar, conversations, files, and other group content for all groups the signed-in user can access. | |
| Group.ReadWrite.All | Allows the app to create groups and read all group properties and memberships on behalf of the signed-in user. Additionally allows group owners to manage their groups and allows group members to update group content. | |
| GroupMember.Read.All | Allows the app to list groups, read basic group properties and read membership of all groups the signed-in user has access to. | |
| GroupMember.ReadWrite.All | Allows the app to list groups, read basic properties, read and update the membership of the groups the signed-in user has access to. Group properties and owners cannot be updated and groups cannot be deleted. | |
| Application.Read.All | Allows the app to read applications and service principals on behalf of the signed-in user. | |
| Application.ReadWrite.All | Allows the app to create, read, update and delete applications and service principals on behalf of the signed-in user. Does not allow management of consent grants. | |
| Application.ReadWrite.OwnedBy | Allows the app to create other applications, and fully manage those applications (read, update, update application secrets and delete), without a signed-in user. It cannot update any apps that it is not an owner of. | |
| AppRoleAssignment.ReadWrite.All | Allows the app to manage permission grants for application permissions to any API (including Microsoft Graph) and application assignments for any app, on behalf of the signed-in user. | |
| RoleManagement.Read.Directory | Allows the app to read the role-based access control (RBAC) settings for your company's directory, on behalf of the signed-in user. This includes reading directory role templates, directory roles and memberships. | |
| RoleManagement.ReadWrite.Directory | Allows the app to read and manage the role-based access control (RBAC) settings for your company's directory, on behalf of the signed-in user. This includes instantiating directory roles and managing directory role membership, and reading directory role templates, directory roles and memberships. | |
| Policy.Read.All | Allows the app to read your organization's policies on behalf of the signed-in user. | |
| Policy.ReadWrite.ConditionalAccess | Allows the app to read and write your organization's conditional access policies on behalf of the signed-in user. | |
| AuditLog.Read.All | Allows the app to read and query your audit log activities, on behalf of the signed-in user. | |
| Device.Read.All | Allows the app to read your organization's devices' configuration information on behalf of the signed-in user. | |
| Device.ReadWrite.All | Allows the app to read and write all device properties without a signed in user. Does not allow device creation, device deletion or update of device alternative security identifiers. | |
| EntitlementManagement.Read.All | Allows the app to read access packages and related entitlement management resources on behalf of the signed-in user. | |
| EntitlementManagement.ReadWrite.All | Allows the app to request access to and management of access packages and related entitlement management resources on behalf of the signed-in user. | |
| AccessReview.Read.All | Allows the app to read access reviews, reviewers, decisions and settings that the signed-in user has access to in the organization. | |
| AccessReview.ReadWrite.All | Allows the app to read, update, delete and perform actions on access reviews, reviewers, decisions and settings that the signed-in user has access to in the organization. | |
| UserAuthenticationMethod.Read.All | Allows the app to read authentication methods of all users in your organization that the signed-in user has access to. Authentication methods include things like a user's phone numbers and Authenticator app settings. This does not allow the app to see secret information like passwords, or to sign-in or otherwise use the authentication methods. | |
| UserAuthenticationMethod.ReadWrite.All | Allows the app to read and write authentication methods of all users in your organization that the signed-in user has access to. Authentication methods include things like a user's phone numbers and Authenticator app settings. This does not allow the app to see secret information like passwords, or to sign-in or otherwise use the authentication methods. | |
| PrivilegedAccess.Read.AzureADGroup | Allows the app to read time-based assignment and just-in-time elevation (including scheduled elevation) of Azure AD groups, on behalf of the signed-in user. | |
| Organization.Read.All | Allows the app to read the organization and related resources, on behalf of the signed-in user. Related resources include things like subscribed skus and tenant branding information. | |
| Domain.Read.All | Allows the app to read all domain properties on behalf of the signed-in user. | |
| AdministrativeUnit.Read.All | Allows the app to read administrative units and administrative unit membership on behalf of the signed-in user. | |
| IdentityProvider.Read.All | Allows the app to read your organization's identity (authentication) providers' properties on behalf of the user. | |
| IdentityRiskEvent.Read.All | Allows the app to read identity risk event information for all users in your organization on behalf of the signed-in user. | |
| Subscription.Read.All | Allows the app to read all webhook subscriptions on behalf of the signed-in user. |
📄 Provider scope reference: https://learn.microsoft.com/en-us/graph/permissions-reference
Source
OAuth Scopes
Work with this as data
Every scope set here is available over the APIs.io API and to AI agents over MCP.