List mailFolders
Namespace: microsoft.graph
Important
APIs under the /beta
version in Microsoft Graph are subject to change. Use of these APIs in production applications is not supported. To determine whether an API is available in v1.0, use the Version selector.
Get the mail folder collection directly under the root folder of the signed-in user. The returned collection includes any mail search folders directly under the root.
By default, this operation does not return hidden folders. Use a query parameter includeHiddenFolders
to include them in the response. This operation does not return all mail folders in a mailbox, only the child folders of the root folder. To return all mail folders in a mailbox, each child folder must be traversed separately.
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) | Mail.ReadBasic | Mail.ReadWrite, Mail.Read |
Delegated (personal Microsoft account) | Mail.ReadBasic | Mail.ReadWrite, Mail.Read |
Application | Mail.ReadBasic.All | Mail.ReadWrite, Mail.Read |
HTTP request
To get all the mail folders in the root folder in the specified user's mailbox, excluding those that are hidden:
GET /me/mailFolders
GET /users/{id | userPrincipalName}/mailFolders
To include hidden mail folders in the response:
GET /me/mailFolders/?includeHiddenFolders=true
GET /users/{id | userPrincipalName}/mailFolders/?includeHiddenFolders=true
Optional query parameters
To return a list of all mailFolders including those that are hidden (their isHidden property is true), in the request URL, specify the includeHiddenFolders
query parameter as true
, as shown in the HTTP request section.
This method supports OData query parameters to help customize 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 a collection of mailFolder objects in the response body.
Examples
Example 1: List mail folders in the signed-in user's mailbox
This example includes a mailSearchFolder object in the response. The mail search folder is a child folder under the Inbox with the display name "Weekly digests".
Request
The following example shows a request.
GET https://graph.microsoft.com/beta/me/mailFolders
Response
The following is an example of the response, which includes a mailSearchFolder that is a child folder under the Inbox.
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/beta/$metadata#users('68ca8ec0-11f8-456b-a785-70d9936650d5')/mailFolders",
"value": [
{
"id": "AQMkADYAAAIBXQAAAA==",
"displayName": "Archive",
"parentFolderId": "AQMkADYAAAIBCAAAAA==",
"childFolderCount": 0,
"unreadItemCount": 0,
"totalItemCount": 0,
"wellKnownName": "archive",
"isHidden": false
},
{
"id": "AQMkADYAAAIBFQAAAA==",
"displayName": "Conversation History",
"parentFolderId": "AQMkADYAAAIBCAAAAA==",
"childFolderCount": 1,
"unreadItemCount": 0,
"totalItemCount": 0,
"wellKnownName": "conversationhistory",
"isHidden": false
},
{
"id": "AQMkADYAAAIBCgAAAA==",
"displayName": "Deleted Items",
"parentFolderId": "AQMkADYAAAIBCAAAAA==",
"childFolderCount": 0,
"unreadItemCount": 0,
"totalItemCount": 0,
"wellKnownName": "deleteditems",
"isHidden": false
},
{
"id": "AQMkADYAAAIBDwAAAA==",
"displayName": "Drafts",
"parentFolderId": "AQMkADYAAAIBCAAAAA==",
"childFolderCount": 0,
"unreadItemCount": 0,
"totalItemCount": 0,
"wellKnownName": "drafts",
"isHidden": false
},
{
"id": "AQMkADYAAAIBDAAAAA==",
"displayName": "Inbox",
"parentFolderId": "AQMkADYAAAIBCAAAAA==",
"childFolderCount": 1,
"unreadItemCount": 70,
"totalItemCount": 71,
"wellKnownName": "inbox",
"isHidden": false
},
{
"@odata.type": "#microsoft.graph.mailSearchFolder",
"id": "AAMkADYRAAAZg1yTAAA=",
"displayName": "Weekly digests",
"parentFolderId": "AQMkADYAAAIBDAAAAA==",
"childFolderCount": 0,
"unreadItemCount": 4,
"totalItemCount": 5,
"wellKnownName": null,
"isHidden": false,
"isSupported": true,
"filterQuery": "contains(subject, 'weekly digest')"
},
{
"id": "AQMkADYAAAIBGQAAAA==",
"displayName": "Junk Email",
"parentFolderId": "AQMkADYAAAIBCAAAAA==",
"childFolderCount": 0,
"unreadItemCount": 0,
"totalItemCount": 0,
"wellKnownName": "junkemail",
"isHidden": false
},
{
"id": "AQMkADYAAAIBCwAAAA==",
"displayName": "Outbox",
"parentFolderId": "AQMkADYAAAIBCAAAAA==",
"childFolderCount": 0,
"unreadItemCount": 0,
"totalItemCount": 0,
"wellKnownName": "outbox",
"isHidden": false
},
{
"id": "AQMkADYAAAIBCQAAAA==",
"displayName": "Sent Items",
"parentFolderId": "AQMkADYAAAIBCAAAAA==",
"childFolderCount": 0,
"unreadItemCount": 0,
"totalItemCount": 0,
"wellKnownName": "sentitems",
"isHidden": false
}
]
}
Tip
If a collection exceeds the default page size (10 items), the @odata.nextLink property is returned in the response to indicate more items are available and provide the request URL for the next page of items.
You can control the page size through optional query string parameters
Example 2: Include hidden folders in the signed-in user's mailbox
This example uses the includeHiddenFolders
query parameter to get a list of mail folders including hidden mail folders. The response includes the "Clutter" folder that has the isHidden set to true
.
Request
GET https://graph.microsoft.com/beta/me/mailFolders/?includeHiddenFolders=true
Response
The following example shows the response.
Note: The response object shown here is shortened for readability, and doesn't include all the default folders in a user mailbox.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#users('68ca8ec0-11f8-456b-a785-70d9936650d5')/mailFolders",
"value": [
{
"id": "AAMkADg3NTY5MDg4LWMzYmQtNDQzNi05OTgwLWAAA=",
"displayName": "Clutter",
"parentFolderId": "AAMkADg3NTY5MDg4LWMzYmQtEIAAA=",
"childFolderCount": 0,
"unreadItemCount": 0,
"totalItemCount": 0,
"wellKnownName": null,
"isHidden": true
},
{
"id": "AAMkADg3NTY5MDg4LWMzYmQtNDQzNi05OTgwLWAAA=",
"displayName": "Conversation History",
"parentFolderId": "AAMkADg3NTY5MDg4LWMzYmQtEIAAA=",
"childFolderCount": 1,
"unreadItemCount": 0,
"totalItemCount": 0,
"wellKnownName": "conversationhistory",
"isHidden": false
}
]
}