ESC
Type to search...

OrgContact.Read.All

Export JSON
Export CSV
Copy URL
Print
ApplicationDelegated Read All Resources

Allows the app to read all organizational contacts without a signed-in user. These contacts are managed by the organization and are different from a user's personal contacts.

Permission data: April 6, 2026 at 4:06 AM UTC
Delegated Access App-Only Access

Permission Details

Application Permission

Read organizational contacts

Allows the app to read all organizational contacts without a signed-in user. These contacts are managed by the organization and are different from a user's personal contacts.

Delegated Permission Admin consent required

Read organizational contacts

Allows the app to read all organizational contacts on behalf of the signed-in user. These contacts are managed by the organization and are different from a user's personal contacts.

Properties

Microsoft Graph v1.0 exact-category-docs

Properties is shown from stable Microsoft Graph v1.0 metadata.

Property Type Description
addresses physicalOfficeAddress collection Postal addresses for this organizational contact. For now a contact can only have one physical address.
companyName StringNullable Name of the company that this organizational contact belongs to. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq for null values).
department StringNullable The name for the department in which the contact works. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq for null values).
displayName StringNullable Display name for this organizational contact. Maximum length is 256 characters. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq for null values), $search, and $orderby.
givenName StringNullable First name for this organizational contact. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq for null values).
id String Unique identifier for this organizational contact. Supports $filter (eq, ne, not, in).
jobTitle StringNullable Job title for this organizational contact. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq for null values).
mail StringNullable The SMTP address for the contact, for example, "[email protected]". Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq for null values).
mailNickname StringNullable Email alias (portion of email address pre-pending the @ symbol) for this organizational contact. Supports $filter (eq, ne, not, ge, le, in, startsWith, and eq for null values).
serviceProvisioningErrors serviceProvisioningError collection Errors published by a federated service describing a non-transient, service-specific error regarding the properties or link from an organizational contact object . , , Supports $filter (eq, not, for isResolved and serviceInstance).
onPremisesLastSyncDateTime DateTimeOffsetNullable Date and time when this organizational contact was last synchronized from on-premises AD. This date and time information uses ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z. Supports $filter (eq, ne, not, ge, le, in).
onPremisesProvisioningErrors onPremisesProvisioningError collection List of any synchronization provisioning errors for this organizational contact. Supports $filter (eq, not for category and propertyCausingError), /$count eq 0, /$count ne 0.
onPremisesSyncEnabled BooleanNullable true if this object is synced from an on-premises directory; false if this object was originally synced from an on-premises directory but is no longer synced and now mastered in Exchange; null if this object has never been synced from an on-premises directory (default). , , Supports $filter (eq, ne, not, in, and eq for null values).
phones phone collection List of phones for this organizational contact. Phone types can be mobile, business, and businessFax. Only one of each type can ever be present in the collection.
proxyAddresses String collection For example: "SMTP: [email protected]", "smtp: [email protected]". The any operator is required for filter expressions on multi-valued properties. Supports $filter (eq, not, ge, le, startsWith, /$count eq 0, /$count ne 0).

Showing 15 of 22 properties.

JSON Representation

Microsoft Graph v1.0 exact-category-docs

JSON representation is shown from stable Microsoft Graph v1.0 metadata.

JSON representation
{
  "addresses": [
    {
      "@odata.type": "microsoft.graph.physicalOfficeAddress"
    }
  ],
  "companyName": "string",
  "department": "string",
  "displayName": "string",
  "givenName": "string",
  "id": "string (identifier)",
  "jobTitle": "string",
  "mail": "string",
  "mailNickname": "string",
  "onPremisesLastSyncDateTime": "string (timestamp)",
  "onPremisesProvisioningErrors": [
    {
      "@odata.type": "microsoft.graph.onPremisesProvisioningError"
    }
  ],
  "onPremisesSyncEnabled": true,
  "phones": [
    {
      "@odata.type": "microsoft.graph.phone"
    }
  ],
  "proxyAddresses": [
    "string"
  ],
  "serviceProvisioningErrors": [
    {
      "@odata.type": "microsoft.graph.serviceProvisioningXmlError"
    }
  ],
  "surname": "string"
}

Relationships

Microsoft Graph v1.0 exact-category-docs

Relationships is shown from stable Microsoft Graph v1.0 metadata.

Relationship Type Description
directReports directoryObject collection The contact's direct reports. (The users and contacts that have their manager property set to this contact.) Read-only. Nullable. Supports $expand.
manager directoryObject The user or contact that is this contact's manager. Read-only. Supports $expand and $filter (eq) by id.
memberOf directoryObject collection Groups that this contact is a member of. Read-only. Nullable. Supports $expand.
transitiveMemberOf directoryObject collection Groups that this contact is a member of, including groups that the contact is nested under. Read-only. Nullable.
addresses physicalOfficeAddress collection Postal addresses for this organizational contact. For now a contact can only have one physical address.
onPremisesProvisioningErrors onPremisesProvisioningError collection List of any synchronization provisioning errors for this organizational contact. Supports $filter (eq, not for category and propertyCausingError), /$count eq 0, /$count ne 0.
phones phone collection List of phones for this organizational contact. Phone types can be mobile, business, and businessFax. Only one of each type can ever be present in the collection.
proxyAddresses string collection For example: 'SMTP: [email protected]', 'smtp: [email protected]'. The any operator is required for filter expressions on multi-valued properties. Supports $filter (eq, not, ge, le, startsWith, /$count eq 0, /$count ne 0).
serviceProvisioningErrors serviceProvisioningError collection Errors published by a federated service describing a non-transient, service-specific error regarding the properties or link from an organizational contact object . Supports $filter (eq, not, for isResolved and serviceInstance).
transitiveReports directoryObject collection The transitive reports for a contact. Read-only.

Graph Methods

Delegated access App-only access
Exact Microsoft Learn match

Microsoft Graph v1.0 endpoints are mapped directly from refreshed Microsoft Learn permissions tables.

Methods
GET /contacts
GET /contacts/{id}
GET /contacts/{id}/directReports
GET /contacts/{id}/manager
GET /contacts/{id}/memberOf
GET /contacts/{id}/transitiveMemberOf
GET /contacts/delta
POST /contacts/{id}/retryServiceProvisioning
Exact Microsoft Learn match

Microsoft Graph beta endpoints are mapped directly from refreshed Microsoft Learn permissions tables.

Methods
GET /contacts
GET /contacts/{id}
GET /contacts/{id}/directReports
GET /contacts/{id}/manager
GET /contacts/{id}/memberOf
GET /contacts/{id}/transitiveMemberOf
GET /contacts/{id}/transitiveReports/$count
GET /contacts/delta
POST /contacts/{id}/retryServiceProvisioning
Exact Microsoft Learn PowerShell match

Microsoft Graph PowerShell v1.0 commands are mapped directly from refreshed Microsoft Learn PowerShell snippets.

Commands
Get-MgContact /contacts
List orgContacts
Get-MgContact /contacts/{id}
Get orgContact
Get-MgContactDelta /contacts/delta
orgContact: delta
Get-MgContactDirectReport /contacts/{id}/directReports
List directReports
Get-MgContactManager /contacts/{id}/manager
Get manager
Get-MgContactMemberOf /contacts/{id}/memberOf
List memberOf
Get-MgContactTransitiveMemberOf /contacts/{id}/transitiveMemberOf
List transitiveMemberOf
Invoke-MgRetryContactServiceProvisioning /contacts/{id}/retryServiceProvisioning
orgContact: retryServiceProvisioning
Exact Microsoft Learn PowerShell match

Microsoft Graph PowerShell beta commands are mapped directly from refreshed Microsoft Learn PowerShell snippets.

Commands
Get-MgBetaContact /contacts
List orgContacts
Get-MgBetaContact /contacts/{id}
Get orgContact
Get-MgBetaContactDelta /contacts/delta
orgContact: delta
Get-MgBetaContactDirectReport /contacts/{id}/directReports
orgContact: List directReports
Get-MgBetaContactManager /contacts/{id}/manager
orgContact: Get manager
Get-MgBetaContactMemberOf /contacts/{id}/memberOf
orgContact: List memberOf
Get-MgBetaContactTransitiveMemberOf /contacts/{id}/transitiveMemberOf
List transitiveMemberOf
Get-MgBetaContactTransitiveReportCount /contacts/{id}/transitiveReports/$count
Get transitiveReports for orgContact
Invoke-MgBetaRetryContactServiceProvisioning /contacts/{id}/retryServiceProvisioning
orgContact: retryServiceProvisioning

Code Examples

C# / .NET SDK
Get manager
// Code snippets are only available for the latest version. Current version is 5.x

// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Contacts["{orgContact-id}"].Manager.GetAsync();
JavaScript
Get manager
const options = {
	authProvider,
};

const client = Client.init(options);

let directoryObject = await client.api('/contacts/e63333f5-3d11-4026-8fe3-c0f7b044dd3a/manager')
	.get();
PowerShell
Get manager
Import-Module Microsoft.Graph.Identity.DirectoryManagement

Get-MgContactManager -OrgContactId $orgContactId
Python
Get manager
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python

result = await graph_client.contacts.by_org_contact_id('orgContact-id').manager.get()

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 OrgContact.Read.All

4

Grant Admin Consent

Application permissions always require admin consent.