Get contact

Namespace: microsoft.graph

Retrieve the properties and relationships of a contact object.

There are two scenarios where an app can get a contact in another user's contact folder:

  • If the app has application permissions, or,
  • If the app has the appropriate delegated permissions from one user, and another user has shared a contact folder with that user, or, has given delegated access to that user. See details and an example.

This API is available in the following national cloud deployments.

Global service US Government L4 US Government L5 (DOD) China operated by 21Vianet

Permissions

Choose the permission or permissions marked as least privileged for this API. Use a higher privileged permission or permissions only if your app requires it. For details about delegated and application permissions, see Permission types. To learn more about these permissions, see the permissions reference.

Permission type Least privileged permissions Higher privileged permissions
Delegated (work or school account) Contacts.Read Contacts.ReadWrite
Delegated (personal Microsoft account) Contacts.Read Contacts.ReadWrite
Application Contacts.Read Contacts.ReadWrite

HTTP request

A contact in the user's mailbox.

GET /me/contacts/{id}
GET /users/{id | userPrincipalName}/contacts/{id}

A contact from a user's top level contactFolder.

GET /me/contactfolders/{Id}/contacts/{id}
GET /users/{id | userPrincipalName}/contactfolders/{id}/contacts/{id}

A contact contained in a child folder of a contactFolder. The example below shows one level of nesting, but a contact can be located in a child of a child and so on.

GET /me/contactFolders/{id}/childFolders/{id}/.../contacts/{id}
GET /users/{id | userPrincipalName}/contactFolders/{id}/childFolders/{id}/contacts/{id}

Optional query parameters

Name Value Description
$expand string Comma-separated list of relationships to expand and include in the response. See the relationships table of the contact object for supported names.
$select string Comma-separated list of properties to include in the response.

Request headers

Header Value
Authorization Bearer {token}. Required. Learn more about authentication and authorization.

Request body

Don't supply a request body for this method.

Response

If successful, this method returns a 200 OK response code and contact object in the response body.

Example

Request

The following example shows a request.

GET https://graph.microsoft.com/v1.0/me/contacts/AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZiLTU1OGY5OTZhYmY4OABGAAAAAAAiQ8W967B7TKBjgx9rVEURBwAiIsqMbYjsT5e-T7KzowPTAAAAAAEOAAAiIsqMbYjsT5e-T7KzowPTAAAYbuK-AAA=
Response

The following example shows the response. Note: The response object shown here might be shortened for readability.

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('48d31887-5fad-4d73-a9f5-3c356e68a038')/contacts/$entity",
    "@odata.etag": "W/\"EQAAABYAAAAiIsqMbYjsT5e/T7KzowPTAAAYc8Bf\"",
    "id": "AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZiLTU1OGY5OTZhYmY4OABGAAAAAAAiQ8W967B7TKBjgx9rVEURBwAiIsqMbYjsT5e-T7KzowPTAAAAAAEOAAAiIsqMbYjsT5e-T7KzowPTAAAYbuK-AAA=",
    "createdDateTime": "2017-09-04T15:54:01Z",
    "lastModifiedDateTime": "2017-09-04T15:54:02Z",
    "changeKey": "EQAAABYAAAAiIsqMbYjsT5e/T7KzowPTAAAYc8Bf",
    "categories": [],
    "parentFolderId": "AAMkAGVmMDEzMTM4LTZmYWUtNDdkNC1hMDZiLTU1OGY5OTZhYmY4OAAuAAAAAAAiQ8W967B7TKBjgx9rVEURAQAiIsqMbYjsT5e-T7KzowPTAAAAAAEOAAA=",
    "birthday": null,
    "fileAs": "",
    "displayName": "Alex Wilber",
    "givenName": "Alex",
    "initials": null,
    "middleName": null,
    "nickName": null,
    "surname": "Wilber",
    "title": null,
    "yomiGivenName": null,
    "yomiSurname": null,
    "yomiCompanyName": null,
    "generation": null,
    "imAddresses": [],
    "jobTitle": null,
    "companyName": null,
    "department": null,
    "officeLocation": null,
    "profession": null,
    "businessHomePage": null,
    "assistantName": null,
    "manager": null,
    "homePhones": [],
    "mobilePhone": null,
    "businessPhones": [],
    "spouseName": null,
    "personalNotes": "",
    "children": [],
    "emailAddresses": [
        {
            "name": "[email protected]",
            "address": "[email protected]"
        }
    ],
    "homeAddress": {},
    "businessAddress": {},
    "otherAddress": {}
}