Skip to main content
Resend Docs

Search documentation

Type to search this documentation.

On this pageOverview

Retrieve Thread Email

GET

/

inboxes

/

:inbox_id

/

threads

/

:thread_id

/

emails

/

:email_id

Node.js
import { Resend } from 'resend';

const resend = new Resend('re_xxxxxxxxx');

const { data, error } = await resend.inboxes.threads.emails.get({
  inboxId: 'b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1',
  threadId: '4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12',
  emailId: '5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60',
});
cURL
curl -X GET 'https://api.resend.com/inboxes/b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1/threads/4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12/emails/5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60' \
     -H 'Authorization: Bearer re_xxxxxxxxx'
CLI
resend inboxes threads emails get \
  --inbox_id b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1 \
  --thread_id 4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12 \
  --email_id 5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60
Response
{
  "id": "5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60",
  "direction": "inbound",
  "from": "Ada Lovelace <ada@example.org>",
  "to": ["support@example.com"],
  "cc": [],
  "bcc": [],
  "reply_to": ["replies@example.org"],
  "subject": "Refund for order 1041",
  "message_id": "<1041@example.org>",
  "html": "<p>Could I get a refund for order 1041?</p>",
  "text": "Could I get a refund for order 1041?",
  "attachments": [
    {
      "id": "9d4f2b81-6c3a-4e7d-8b12-0a5c6d7e8f90",
      "filename": "receipt.pdf",
      "size": 20841
    }
  ],
  "read": false,
  "received_at": "2026-08-05T14:03:11.229Z"
}

Returns one message of a thread, in the same shape Retrieve Thread returns inside messages.

string

The ID of the message.

string

Whether the message was received by the inbox or sent from it.

string

Sender email address.

string[]

The recipients of the message.

string[]

The CC recipients of the message.

string[]

The BCC recipients of the message.

string[]

The Reply-To addresses.

string | null

The subject of the message.

string | null

The Message-ID header of the message.

string | null

The HTML body.

string | null

The plain-text body.

array

The attachments on the message.

Hide properties

string

The ID of the attachment.

string | null

The filename of the attachment.

number | null

The size of the attachment in bytes.

boolean

Whether the message has been read.

string

ISO 8601 timestamp when the message arrived or was sent.

Node.js
import { Resend } from 'resend';

const resend = new Resend('re_xxxxxxxxx');

const { data, error } = await resend.inboxes.threads.emails.get({
  inboxId: 'b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1',
  threadId: '4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12',
  emailId: '5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60',
});
cURL
curl -X GET 'https://api.resend.com/inboxes/b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1/threads/4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12/emails/5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60' \
     -H 'Authorization: Bearer re_xxxxxxxxx'
CLI
resend inboxes threads emails get \
  --inbox_id b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1 \
  --thread_id 4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12 \
  --email_id 5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60
JSON
{
  "id": "5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60",
  "direction": "inbound",
  "from": "Ada Lovelace <ada@example.org>",
  "to": ["support@example.com"],
  "cc": [],
  "bcc": [],
  "reply_to": ["replies@example.org"],
  "subject": "Refund for order 1041",
  "message_id": "<1041@example.org>",
  "html": "<p>Could I get a refund for order 1041?</p>",
  "text": "Could I get a refund for order 1041?",
  "attachments": [
    {
      "id": "9d4f2b81-6c3a-4e7d-8b12-0a5c6d7e8f90",
      "filename": "receipt.pdf",
      "size": 20841
    }
  ],
  "read": false,
  "received_at": "2026-08-05T14:03:11.229Z"
}

Was this page helpful?

⌘I

Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu