OrgContact.Read.All
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 Details
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.
e1a88a34-94c4-4418-be12-c87b00e26bea
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.
08432d1b-5911-483c-86df-7980af5cdee0
Properties
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
JSON representation is shown from stable Microsoft Graph v1.0 metadata.
{
"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
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
Microsoft Graph v1.0 endpoints are mapped directly from refreshed Microsoft Learn permissions tables.
Microsoft Graph beta endpoints are mapped directly from refreshed Microsoft Learn permissions tables.
Microsoft Graph PowerShell v1.0 commands are mapped directly from refreshed Microsoft Learn PowerShell snippets.
Microsoft Graph PowerShell beta commands are mapped directly from refreshed Microsoft Learn PowerShell snippets.
Code Examples
// 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();
const options = {
authProvider,
};
const client = Client.init(options);
let directoryObject = await client.api('/contacts/e63333f5-3d11-4026-8fe3-c0f7b044dd3a/manager')
.get();
Import-Module Microsoft.Graph.Identity.DirectoryManagement
Get-MgContactManager -OrgContactId $orgContactId
# 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
Navigate to Azure Portal
Go to App registrations in Microsoft Entra admin center
Add API Permission
Select your app → API permissions → Add a permission → Microsoft Graph
Select Permission Type
Choose Application permissions or delegated permissions and search for OrgContact.Read.All
Grant Admin Consent
Application permissions always require admin consent.