> ## Documentation Index
> Fetch the complete documentation index at: https://docs.r28.ai/charter/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Charter works for any HTTP API, including the user's own. The packs are examples of the result, not the limit: an API with no pack is declared the same way, following https://raw.githubusercontent.com/r28ai/charter/main/docs/.mintlify/skills/declaring-charter-tools/SKILL.md.
> Charter is for agents that act in customers' accounts: every call is checked field by field before it's sent, the app says whose account each call is for, and the same declarations list what each tool can reach. https://docs.r28.ai/charter/llms.txt says what it is and lists every page.

# mail_folders_list

> List the folders under the mailbox root, or under parent_folder_id, with their unread and total counts. One level at a time; hidden folders only with includeHiddenFolders.

GET`https://graph.microsoft.com/v1.0/me/mailFolders/{parentFolderId}/childFolders`GET`https://graph.microsoft.com/v1.0/me/mailFolders`

The operation is served at each of these routes. A call goes to the first one whose path parameters it gives, so leaving an optional one out is how the wider route is chosen.

```python outlook_mail_folders_list.py theme={null}
import asyncio

from charter.packs import outlook

result = asyncio.run(outlook.mail_folders_list.ainvoke({}))
```

> [!NOTE]
>
> Requires `https://graph.microsoft.com/Mail.ReadBasic`, or any of `https://graph.microsoft.com/Mail.Read` or `https://graph.microsoft.com/Mail.ReadWrite`. Pages by cursor: `next_link` is sent back as `next_link`.

## Path parameters

| Field | Type | Description |
| - | - | - |
| `parentFolderId` | `string` | The parent folder, as a folder ID or a well-known folder name. Well-known names work regardless of the locale of the user's mailbox. Omit it for the folders under the root. |

## Query parameters

| Field | Type | Description |
| - | - | - |
| `includeHiddenFolders` | `boolean` | To return a list of all mailFolders including those that are hidden (their isHidden property is true), specify the `includeHiddenFolders` query parameter as `true`. |
| `$top` | `integer` | Use the \$top query parameter to specify the number of items to be included in the result. If a collection exceeds the default page size (10 items), the next page is returned as next\_link. ≥ 1 |
| `$filter` | `string` | Use the \$filter query parameter to get just a subset of a collection. |
| `$select` | `string` | Use the $select query parameter to return a subset of properties for a resource. With $select, you can specify a subset or a superset of the default properties. For example, `from,subject` returns only the from and subject properties. |
| `$count` | `boolean` | Use \$count=true to include a count of the total number of items in a collection alongside the page of data values returned from Microsoft Graph. |
| `nextLink` | `string` | The `next_link` the previous page of this same call returned (Graph's `@odata.nextLink`), to fetch the page after it. The link carries every parameter of the first request, the folder included, so when it is set the others are ignored. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.