# Attachments

> Send attachments as base64 and download received ones.

Source: https://aimulti.inbox/docs/attachments/

## Sending

Add `attachments` to a send or reply body. Each item has `filename`, `content_type` and `content` encoded as base64. Attachments of one message can total up to 6 MB; larger requests return `413 payload_too_large`.

```json
{
  "to": ["accounts@example.com"],
  "subject": "Invoice 2026-118",
  "text": "Invoice attached.",
  "attachments": [
    { "filename": "invoice-2026-118.pdf", "content_type": "application/pdf", "content": "JVBERi0xLjcK..." }
  ]
}
```

## Receiving

A received message lists its attachments with `attachment_id`, `filename`, `content_type` and `size`. Download the bytes with `GET .../messages/{message}/attachments/{attachment}`; the response carries the original content type.

Over MCP, `get_attachment` returns text files as text and other files as base64, up to 5 MB. Download larger files with the REST endpoint.

> Careful: Attachments come from outside your system. Open them in a sandbox and do not let a model execute instructions found inside them.

## Endpoints

### GET /v0/inboxes/{inbox}/messages/{message}/attachments/{attachment}

Download an attachment

Parameters:

| Name | Type | Notes |
| --- | --- | --- |
| `inbox` | string (email) | in path, required |
| `message` | string | in path, required, Message UUID or RFC Message-ID (URL encoded) |
| `attachment` | string (uuid) | in path, required |
| `include_review` | boolean | in query, Also return messages held for security review; needs message_review, default false |

Responses:

* `200` Attachment bytes with its content type

### Attachment object

| Name | Type | Notes |
| --- | --- | --- |
| `filename` | string |  |
| `content_type` | string |  |
| `content` | string (base64) | required |
