import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.inboxes.threads.emails.list({
inboxId: 'b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1',
threadId: '4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12',
});
curl -X GET 'https://api.resend.com/inboxes/b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1/threads/4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12/emails' \
-H 'Authorization: Bearer re_xxxxxxxxx'
resend inboxes threads emails list \
--inbox_id b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1 \
--thread_id 4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12
{
"object": "list",
"has_more": false,
"data": [
{
"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"
}
]
}
List Thread Emails
Retrieve the messages in a thread.
GET
/
inboxes
/
:inbox_id
/
threads
/
:thread_id
/
emails
import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.inboxes.threads.emails.list({
inboxId: 'b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1',
threadId: '4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12',
});
curl -X GET 'https://api.resend.com/inboxes/b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1/threads/4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12/emails' \
-H 'Authorization: Bearer re_xxxxxxxxx'
resend inboxes threads emails list \
--inbox_id b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1 \
--thread_id 4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12
{
"object": "list",
"has_more": false,
"data": [
{
"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"
}
]
}
Inboxes are currently in private beta and only available to a limited
number of users. The response shape might change before GA.Get early access if you’re interested in testing this feature.Once you have access, upgrade your Resend SDK to use the new methods:
npm install resend@6.28.1-preview-inboxes.2
npm install -g resend-cli@2.22.0-preview-inboxes.2
Path Parameters
Query Parameters
number
Number of messages to return. Default is
20, maximum is 100, minimum is
1.string
The ID of the last message on the current page. Returns the next, newer page.
string
The ID of the first message on the current page. Returns the previous, older
page.
Response Fields
string
Always
list.boolean
Whether more messages exist beyond this page. Pass the last message’s
id as
after to continue.array
The messages on this page.
Hide properties
Hide properties
string
The ID of the message.
string
Whether the message was received by the inbox or sent from it. One of
inbound or outbound.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
boolean
Whether the message has been read.
string
ISO 8601 timestamp when the message arrived or was sent.
import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.inboxes.threads.emails.list({
inboxId: 'b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1',
threadId: '4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12',
});
curl -X GET 'https://api.resend.com/inboxes/b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1/threads/4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12/emails' \
-H 'Authorization: Bearer re_xxxxxxxxx'
resend inboxes threads emails list \
--inbox_id b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1 \
--thread_id 4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12
{
"object": "list",
"has_more": false,
"data": [
{
"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