ESC
Type to search...

User.Read

Export JSON
Export CSV
Copy URL
Print
Delegated Read User Scope

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.

Delegated Access App-Only Access

Permission Details

Delegated Permission User consent allowed

Sign in and read user profile

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.

Properties

Property Type Description
id string The unique identifier for an entity. Read-only.
lastModifiedDateTime date-timeNullable
riskScore stringNullable
vendorInformation object
azureTenantId string
tags array
userPrincipalName stringNullable
azureSubscriptionId stringNullable
createdDateTime date-timeNullable
accounts microsoft.graph.userAccount collection
displayName stringNullable

Relationships

Relationship Type Description
manager directoryObject The user's manager. Read-only.
directReports directoryObject collection The users and contacts that report to the user. Read-only. Nullable.
memberOf directoryObject collection The groups, directory roles, and administrative units that the user is a member of. Read-only. Nullable.
ownedDevices directoryObject collection Devices owned by the user. Read-only. Nullable.
registeredDevices directoryObject collection Devices registered for the user. Read-only. Nullable.
drive drive The user's OneDrive. Read-only.
drives drive collection A collection of drives available for this user. Read-only.
calendar calendar The user's primary calendar. Read-only.
calendars calendar collection The user's calendars. Read-only. Nullable.
calendarGroups calendarGroup collection The user's calendar groups. Read-only. Nullable.
calendarView event collection The calendar view for the calendar. Read-only. Nullable.
events event collection The user's events. Default is to show events under the default calendar. Read-only. Nullable.
mailFolders mailFolder collection The user's mail folders. Read-only. Nullable.
messages message collection The messages in a mailbox or folder. Read-only. Nullable.
contacts contact collection The user's contacts. Read-only. Nullable.
contactFolders contactFolder collection The user's contacts folders. Read-only. Nullable.
photos profilePhoto collection The collection of the user's profile photos in different sizes. Read-only.
photo profilePhoto The user's profile photo. Read-only.
onenote onenote The user's OneNote notebooks. Read-only.
planner plannerUser Selective Planner services available to the user. Read-only. Nullable.

Graph Methods

Delegated access App-only access
Methods
GET /admin/people/itemInsights
GET /devices/{Id}/extensions/{extensionId}
GET /education/me/user
GET /education/users/{id}/user
GET /groups/{Id}/events/{Id}/extensions/{extensionId}
GET /groups/{Id}/extensions/{extensionId}
GET /groups/{id}/photo/$value
GET /groups/{Id}/threads/{Id}/posts/{Id}/extensions/{extensionId}
GET /me
GET /me/contactfolders/{contactFolderId}/contacts/{id}/photo/$value
GET /me/contacts/{id}/photo/$value
GET /me/createdObjects
GET /me/directReports
GET /me/drive
GET /me/licenseDetails
GET /me/memberOf
GET /me/outlook/supportedLanguages
GET /me/outlook/supportedTimeZones
GET /me/outlook/supportedTimeZones(TimeZoneStandard=microsoft.graph.timeZoneStandard'{timezone_format}')
GET /me/ownedDevices
GET /me/ownedObjects
GET /me/photo/$value
GET /me/registeredDevices
GET /me/settings/
GET /me/settings/itemInsights
GET /me/transitiveMemberOf
GET /organization
GET /organization/{Id}/extensions/{extensionId}
GET /organization/{organizationId}
GET /organization/{organizationId}/branding
GET /organization/{organizationId}/branding/localizations
GET /organization/{organizationId}/branding/localizations/{organizationalBrandingLocalizationId}
GET /schemaExtensions
GET /schemaExtensions/{id}
GET /servicePrincipals(appId='{client-servicePrincipal-appId}')/appRoleAssignments/{appRoleAssignment-id}
GET /servicePrincipals/{client-serviceprincipal-id}/appRoleAssignments/{appRoleAssignment-id}
GET /teams/{id}/photo/$value
GET /users/{id | userPrincipalName}
GET /users/{id | userPrincipalName}/contactfolders/{contactFolderId}/contacts/{id}/photo/$value
GET /users/{id | userPrincipalName}/contacts/{id}/photo/$value
GET /users/{id | userPrincipalName}/createdObjects
GET /users/{id | userPrincipalName}/directReports
GET /users/{id | userPrincipalName}/ownedDevices
GET /users/{id | userPrincipalName}/ownedObjects
GET /users/{id | userPrincipalName}/photo/$value
GET /users/{id | userPrincipalName}/registeredDevices
GET /users/{id | userPrincipalName}/sponsors
GET /users/{id}/licenseDetails
GET /users/{Id|userPrincipalName}/contacts/{Id}/extensions/{extensionId}
GET /users/{Id|userPrincipalName}/events/{Id}/extensions/{extensionId}
GET /users/{Id|userPrincipalName}/extensions/{extensionId}
GET /users/{Id|userPrincipalName}/messages/{Id}/extensions/{extensionId}
GET /users/{id|userPrincipalName}/outlook/supportedLanguages
GET /users/{id|userPrincipalName}/outlook/supportedTimeZones
GET /users/{id|userPrincipalName}/outlook/supportedTimeZones(TimeZoneStandard=microsoft.graph.timeZoneStandard'{timezone_format}')
GET /users/{Id|userPrincipalName}/todo/lists/{todoTaskListId}/extensions/{extensionId}
GET /users/{Id|userPrincipalName}/todo/lists/{todoTaskListId}/tasks/{taskId}/extensions/{extensionId}
GET /users/{user-id}/licenseDetails/getTeamsLicensingDetails
GET /users/{userId}/settings/itemInsights
POST /directoryObjects/{id}/checkMemberGroups
POST /directoryObjects/{id}/checkMemberObjects
POST /directoryObjects/{id}/getMemberObjects
POST /me/translateExchangeIds
POST /users/{id|userPrincipalName}/translateExchangeIds
Methods
GET /admin/people/itemInsights
GET /administrativeUnits/{administrativeUnitId}/extensions/{extensionId}
GET /devices/{deviceId}/extensions/{extensionId}
GET /drive/items/{itemId}/extensions/{extensionId}
GET /education/me/user
GET /education/users/{id}/user
GET /groups/{groupId}/events/{eventId}/extensions/{extensionId}
GET /groups/{groupId}/extensions/{extensionId}
GET /groups/{groupId}/threads/{threadId}/posts/{postId}/extensions/{extensionId}
GET /groups/{id}/photo/$value
GET /me
GET /me/analytics/settings
GET /me/cloudLicensing/usageRights
GET /me/cloudLicensing/usageRights/{usageRightId}
GET /me/contactfolders/{contactFolderId}/contacts/{id}/photo/$value
GET /me/contacts/{id}/photo/$value
GET /me/createdObjects
GET /me/directReports
GET /me/drive
GET /me/findRoomLists
GET /me/findRooms
GET /me/licenseDetails
GET /me/memberOf
GET /me/outlook/supportedLanguages
GET /me/outlook/supportedTimeZones
GET /me/outlook/supportedTimeZones(TimeZoneStandard=microsoft.graph.timeZoneStandard'{timezone_format}')
GET /me/ownedObjects
GET /me/photo/$value
GET /me/profile
GET /me/profile/account
GET /me/profile/account/{id}
GET /me/profile/addresses
GET /me/profile/addresses/{id}
GET /me/profile/anniversaries
GET /me/profile/anniversaries/{id}
GET /me/profile/awards
GET /me/profile/awards/{id}
GET /me/profile/certifications
GET /me/profile/certifications/{id}
GET /me/profile/educationalActivities
GET /me/profile/educationalActivities/{id}
GET /me/profile/emails
GET /me/profile/emails/{id}
GET /me/profile/interests
GET /me/profile/interests/{id}
GET /me/profile/languages
GET /me/profile/languages/{id}
GET /me/profile/names
GET /me/profile/names/{id}
GET /me/profile/notes
GET /me/profile/notes/{id}
GET /me/profile/patents
GET /me/profile/patents/{id}
GET /me/profile/phones
GET /me/profile/phones/{id}
GET /me/profile/positions
GET /me/profile/positions/{id}
GET /me/profile/projects
GET /me/profile/projects/{id}
GET /me/profile/publications
GET /me/profile/publications/{id}
GET /me/profile/skills
GET /me/profile/skills/{id}
GET /me/profile/webAccounts
GET /me/profile/webAccounts/{id}
GET /me/profile/websites
GET /me/profile/websites/{id}
GET /me/registeredDevices
GET /me/responsibilities
GET /me/responsibilities/{id}
GET /me/settings/
GET /me/settings/contactMergeSuggestions
GET /me/settings/itemInsights
GET /me/settings/regionalAndLanguageSettings
GET /me/transitiveMemberOf
GET /organization
GET /organization/{organizationId}
GET /organization/{organizationId}/branding
GET /organization/{organizationId}/branding/localizations
GET /organization/{organizationId}/branding/localizations/{organizationalBrandingLocalizationId}
GET /organization/{organizationId}/extensions/{extensionId}
GET /schemaExtensions
GET /schemaExtensions/{id}
GET /servicePrincipals(appId='{client-servicePrincipal-appId}')/appRoleAssignments/{appRoleAssignment-id}
GET /servicePrincipals/{client-serviceprincipal-id}/appRoleAssignments/{appRoleAssignment-id}
GET /sites/{siteId}/extensions/{extensionId}
GET /teams/{id}/photo/$value
GET /users/{id | userPrincipalName}/contactfolders/{contactFolderId}/contacts/{id}/photo/$value
GET /users/{id | userPrincipalName}/contacts/{id}/photo/$value
GET /users/{id | userPrincipalName}/createdObjects
GET /users/{id | userPrincipalName}/directReports
GET /users/{id | userPrincipalName}/ownedDevices
GET /users/{id | userPrincipalName}/ownedObjects
GET /users/{id | userPrincipalName}/photo/$value
GET /users/{id | userPrincipalName}/profile
GET /users/{id | userPrincipalName}/profile/account
GET /users/{id | userPrincipalName}/profile/account/{id}
GET /users/{id | userPrincipalName}/profile/addresses
GET /users/{id | userPrincipalName}/profile/addresses/{id}
GET /users/{id | userPrincipalName}/profile/anniversaries
GET /users/{id | userPrincipalName}/profile/anniversaries/{id}
GET /users/{id | userPrincipalName}/profile/awards
GET /users/{id | userPrincipalName}/profile/awards/{id}
GET /users/{id | userPrincipalName}/profile/certifications
GET /users/{id | userPrincipalName}/profile/certifications/{id}
GET /users/{id | userPrincipalName}/profile/educationalActivities
GET /users/{id | userPrincipalName}/profile/emails
GET /users/{id | userPrincipalName}/profile/emails/{id}
GET /users/{id | userPrincipalName}/profile/interests
GET /users/{id | userPrincipalName}/profile/interests/{id}
GET /users/{id | userPrincipalName}/profile/languages
GET /users/{id | userPrincipalName}/profile/languages/{id}
GET /users/{id | userPrincipalName}/profile/names
GET /users/{id | userPrincipalName}/profile/names/{id}
GET /users/{id | userPrincipalName}/profile/notes
GET /users/{id | userPrincipalName}/profile/notes/{id}
GET /users/{id | userPrincipalName}/profile/patents
GET /users/{id | userPrincipalName}/profile/patents/{id}
GET /users/{id | userPrincipalName}/profile/phones
GET /users/{id | userPrincipalName}/profile/positions
GET /users/{id | userPrincipalName}/profile/positions/{id}
GET /users/{id | userPrincipalName}/profile/projects
GET /users/{id | userPrincipalName}/profile/projects/{id}
GET /users/{id | userPrincipalName}/profile/publications
GET /users/{id | userPrincipalName}/profile/publications/{id}
GET /users/{id | userPrincipalName}/profile/skills
GET /users/{id | userPrincipalName}/profile/skills/{id}
GET /users/{id | userPrincipalName}/profile/webAccounts
GET /users/{id | userPrincipalName}/profile/webAccounts/{id}
GET /users/{id | userPrincipalName}/profile/websites
GET /users/{id | userPrincipalName}/profile/websites/{id}
GET /users/{id | userPrincipalName}/registeredDevices
GET /users/{id | userPrincipalName}/responsibilities
GET /users/{id | userPrincipalName}/responsibilities/{id}
GET /users/{id | userPrincipalName}/sponsors
GET /users/{id}/findRoomLists
GET /users/{id}/findRooms
GET /users/{id}/licenseDetails
GET /users/{id}/transitiveReports/$count
GET /users/{Id|userPrincipalName}/events/{eventId}/extensions/{extensionId}
GET /users/{id|userPrincipalName}/outlook/supportedLanguages
GET /users/{id|userPrincipalName}/outlook/supportedTimeZones
GET /users/{id|userPrincipalName}/outlook/supportedTimeZones(TimeZoneStandard=microsoft.graph.timeZoneStandard'{timezone_format}')
GET /users/{user-id | userPrincipalName}/settings/regionalAndLanguageSettings
GET /users/{user-id}/licenseDetails/getTeamsLicensingDetails
GET /users/{userId}/cloudLicensing/usageRights/{usageRightId}
GET /users/{userId}/profile/phones/{id}
GET /users/{userId}/settings/itemInsights
GET /users/{userId}/usageRights
GET /users/{userId|userPrincipalName}/contacts/{contactId}/extensions/{extensionId}
GET /users/{userId|userPrincipalName}/extensions/{extensionId}
GET /users/{userId|userPrincipalName}/messages/{messageId}/extensions/{extensionId}
GET /users/{userId|userPrincipalName}/tasks/lists/{listId}/extensions/{extensionId}
GET /users/{userId|userPrincipalName}/tasks/lists/{listId}/tasks/{baseTaskId}/extensions/{extensionId}
GET /users/{userId|userPrincipalName}/todo/lists/{listId}/extensions/{extensionId}
GET /users/{userId|userPrincipalName}/todo/lists/{listId}/tasks/{todoTaskId}/extensions/{extensionId}
POST /directoryObjects/{id}/checkMemberGroups
POST /directoryObjects/{id}/checkMemberObjects
POST /directoryObjects/{id}/getMemberObjects
POST /me/profile/names
POST /me/translateExchangeIds
POST /users/{id | userPrincipalName}/profile/names
POST /users/{id|userPrincipalName}/translateExchangeIds
PATCH /me/profile/notes/{id}
PATCH /me/responsibilities/{id}
PATCH /users/{id | userPrincipalName}/profile/notes/{id}
PATCH /users/{id | userPrincipalName}/responsibilities/{id}
DELETE /me/profile/notes/{id}
DELETE /me/responsibilities/{id}
DELETE /users/{id | userPrincipalName}/profile/notes/{id}
DELETE /users/{id | userPrincipalName}/responsibilities/{id}
Commands
Confirm-MgBetaUserMemberGroup
Confirm-MgBetaUserMemberObject
Find-MgBetaUserRoom
Find-MgBetaUserRoomList
Get-MgBetaAdminPeopleItemInsight
Get-MgBetaDriveItem
Get-MgBetaEducationMeUser
Get-MgBetaGroupPhotoContent
Get-MgBetaOrganization
Get-MgBetaOrganizationBrandingLocalization
Get-MgBetaOrganizationBrandingLocalizationBannerLogo
Get-MgBetaSchemaExtension
Get-MgBetaTeamPhotoContent
Get-MgBetaUser
Get-MgBetaUserAppRoleAssignment
Get-MgBetaUserContactFolderContactPhotoContent
Get-MgBetaUserContactPhotoContent
Get-MgBetaUserCreatedObject
Get-MgBetaUserDefaultDrive
Get-MgBetaUserDirectReport
Get-MgBetaUserLicenseDetail
Get-MgBetaUserLicenseDetailTeamLicensingDetail
Get-MgBetaUserMemberObject
Get-MgBetaUserMemberOfAsGroup
Get-MgBetaUserOwnedDevice
Get-MgBetaUserOwnedObject
Get-MgBetaUserPhotoContent
Get-MgBetaUserProfile
Get-MgBetaUserProfileAccount
Get-MgBetaUserProfileAddress
Get-MgBetaUserProfileAnniversary
Get-MgBetaUserProfileAward
Get-MgBetaUserProfileCertification
Get-MgBetaUserProfileEducationalActivity
Get-MgBetaUserProfileEmail
Get-MgBetaUserProfileInterest
Get-MgBetaUserProfileLanguage
Get-MgBetaUserProfileName
Get-MgBetaUserProfileNote
Get-MgBetaUserProfilePatent
Get-MgBetaUserProfilePhone
Get-MgBetaUserProfilePosition
Get-MgBetaUserProfileProject
Get-MgBetaUserProfilePublication
Get-MgBetaUserProfileSkill
Get-MgBetaUserProfileWebAccount
Get-MgBetaUserProfileWebsite
Get-MgBetaUserRegisteredDevice
Get-MgBetaUserSetting
Get-MgBetaUserSettingContactMergeSuggestion
Get-MgBetaUserSettingItemInsight
Get-MgBetaUserSettingRegionalAndLanguageSetting
Get-MgBetaUserSponsor
Get-MgBetaUserTransitiveMemberOf
Get-MgBetaUserTransitiveReportCount
Invoke-MgBetaSupportedUserOutlookLanguage
Invoke-MgBetaTimeUserOutlook
Invoke-MgBetaTranslateUserExchangeId
New-MgBetaUserProfileName
Remove-MgBetaUserProfileNote
Update-MgBetaUserProfileNote

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

const authProvider = new AuthCodeMSALBrowserAuthenticationProvider(pca, {
    account: loginResponse.account,
    scopes: ["User.Read"],
    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 "User.Read"

# 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 = ["User.Read"]
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 User.Read

4

Grant Admin Consent

Users can consent to this permission themselves during sign-in.