| title | List contacts |
|---|---|
| description | Get a contact collection from the default contacts folder of the signed-in user. |
| author | kevinbellinger |
| ms.localizationpriority | high |
| ms.subservice | outlook |
| doc_type | apiPageType |
| ms.date | 04/04/2024 |
Namespace: microsoft.graph
Get a contact collection from the default contacts folder of the signed-in user.
There are two scenarios where an app can get contacts 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.
[!INCLUDE national-cloud-support]
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.
[!INCLUDE permissions-table]
To get all the contacts in a user's default Contacts folder:
GET /me/contacts
GET /users/{id | userPrincipalName}/contactsTo get contacts in a specific folder in the user's mailbox:
GET /me/contactfolders/{Id}/contacts
GET /users/{id | userPrincipalName}/contactfolders/{id}/contacts
GET /me/contactFolders/{id}/childFolders/{id}/.../contacts
GET /users/{id | userPrincipalName}/contactFolders/{id}/childFolders/{id}/contactsYou can use the $filter query parameter to filter contacts based on their email addresses:
GET https://graph.microsoft.com/v1.0/me/contacts?$filter=emailAddresses/any(a:a/address eq 'garth@contoso.com')You can use $filter, any, and the eq operator on only the address sub-property of instances in an emailAddresses collection. That is, you can't filter on the name or any other sub-property of an instance of emailAddresses, nor can you apply any other operator or function with filter, such as ne, le, and startswith().
For general information on the $filter query parameter, see OData query parameters.
| Header | Value |
|---|---|
| Authorization | Bearer {token}. Required. Learn more about authentication and authorization. |
Don't supply a request body for this method.
If successful, this method returns a 200 OK response code and a collection of contact objects in the response body.
The following example shows a request.
GET https://graph.microsoft.com/v1.0/me/contacts
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
[!INCLUDE sample-code] [!INCLUDE sdk-documentation]
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
{
"value": [
{
"parentFolderId": "parentFolderId-value",
"birthday": "datetime-value",
"fileAs": "fileAs-value",
"displayName": "displayName-value",
"givenName": "givenName-value",
"initials": "initials-value"
}
]
}