# Get a thread message's attachment

`GET /v1/email/threads/{thread_id}/messages/{message_id}/attachments/{attachment_id}`

Returns the raw bytes of a single attachment on a conversation message. Works for both received messages (`rem_`) and sent messages (`em_`). Attachment bytes are downloadable for the mailbox's retention tier after the message occurred. Later requests return `410 Gone`.

## Code samples

**CLI**

```sh
bird email threads messages attachment <thread-id> <message-id> <attachment-id>
```

Examples: [CLI](/docs/api/reference/get-email-thread-message-attachment.cli.md) · [MCP](/docs/api/reference/get-email-thread-message-attachment.mcp.md) · [cURL](/docs/api/reference/get-email-thread-message-attachment.curl.md)

## Path parameters

- `thread_id` (string): Thread identifier. Starts with `thr_`.
- `message_id` (string): Message ID (`rem_` for a received message, `em_` for a sent one).
- `attachment_id` (string): Attachment identifier. Starts with `ea_` for sent mail or `rea_` for received mail.

## Related resources

- [Getting started with email](/learn/email/getting-started-with-email) (video)
- [Email](/email-api) (product)
- [Build your first integration](/learn/paths/integration) (course)
- [Send your first email](/docs/get-started/send-your-first-email) (docs)

[Get an implementation brief](/learn/workspace?topic=email)
