> ## 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.

# attachments_create

> Attach a file (under 3 MB) or a message to a draft. A file's content is its text, which is base64-encoded for you.

POST`https://graph.microsoft.com/v1.0/me/messages/{messageId}/attachments`

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

from charter.packs import outlook

result = asyncio.run(outlook.attachments_create.ainvoke({"messageId": ..., "attachment": ...}))
```

> [!NOTE]
>
> Requires `https://graph.microsoft.com/Mail.ReadWrite`.

## Path parameters

| Field | Type | Description |
| - | - | - |
| `messageId` \* | `string` | The ID of the message. |

## Body

| Field | Type | Description |
| - | - | - |
| `attachment` \* | [FileAttachment](https://docs.r28.ai/charter/charter/packs/outlook/messages/objects.md#fileattachment) \| [ItemAttachment](https://docs.r28.ai/charter/charter/packs/outlook/attachments/objects.md#itemattachment) | A JSON representation of the attachment object: a file or an item. |


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