# Get a thread message's original body

`GET /v1/email/threads/{thread_id}/messages/{message_id}/body`

Returns the original rendered HTML and plain-text body of a message in a conversation. The original body is available for 30 days after the message occurred. Later requests return `410 Gone`, while the message's extracted text stays readable on the message itself.

## Code samples

**TypeScript**

```ts
const body = await bird.email.threads.messages.body("thr_01abc", "rem_01xyz");
console.log(body.text);
```

Examples: [TypeScript](/docs/api/reference/get-email-thread-message-body.ts.md) · [Python](/docs/api/reference/get-email-thread-message-body.py.md) · [Go](/docs/api/reference/get-email-thread-message-body.go.md) · [PHP](/docs/api/reference/get-email-thread-message-body.php.md) · [CLI](/docs/api/reference/get-email-thread-message-body.cli.md) · [MCP](/docs/api/reference/get-email-thread-message-body.mcp.md) · [cURL](/docs/api/reference/get-email-thread-message-body.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).

## Response body

- `html` (nullable string, required): The HTML body of the message, or null when the message had no HTML part.
- `text` (nullable string, required): The plain-text body of the message, or null when the message had no text part.

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