List Threads
GET
/
inboxes
/
:inbox_id
/
threads
import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.inboxes.threads.list({
inboxId: 'b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1',
});curl -X GET 'https://api.resend.com/inboxes/b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1/threads' \
-H 'Authorization: Bearer re_xxxxxxxxx'resend inboxes threads list --inbox_id b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1{
"object": "list",
"has_more": true,
"data": [
{
"id": "4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12",
"subject": "Refund for order 1041",
"from": "Ada Lovelace <ada@example.org>",
"to": ["support@example.com"],
"cc": [],
"bcc": [],
"labels": [
{
"id": "7f9c1d2e-4a6b-4c3d-8e15-9b0a7c6d5e34",
"name": "Urgent",
"color": "crimson"
}
],
"message_count": 2,
"has_attachment": true,
"has_draft": false,
"read": false,
"received_at": "2026-08-05T14:03:11.229Z"
}
]
}A thread is a conversation within an inbox, made up of one or more messages.
Path Parameters
Section titled “Path Parameters”Query Parameters
Section titled “Query Parameters”string
default:"inbox"
The folder to list: inbox, archive, spam, sent, or trash.
string
Case-insensitive substring matched against the thread subject and its label names. Max length is 256 characters.
string[]
Label IDs to filter by.
number
Number of threads to return. Default is 20, maximum is 100, minimum is 1.
string
The ID of the last thread on the current page. Returns the next, older page.
string
The ID of the first thread on the current page. Returns the previous, newer page.
Folders
Section titled “Folders”Every thread sits in exactly one folder within its inbox.
| Folder | Meaning |
|---|---|
inbox |
The default. The thread holds at least one received message. |
archive |
The thread was archived. |
spam |
The thread was marked as spam. |
trash |
The thread is scheduled for deletion in 30 days. |
sent |
Threads whose messages are all outbound. |
You can move a thread to inbox, archive, spam, or trash. sent is assigned automatically.
Response Fields
Section titled “Response Fields”string
Always list.
boolean
Whether more threads exist beyond this page. Pass the last thread’s id as after to continue.
array
The threads in the folder, most recently active first.
Hide properties
string
The ID of the thread.
string | null
The subject of the thread.
string | null
Sender email address.
string[]
The recipients of the most recent message.
string[]
The CC recipients of the most recent message.
string[]
The BCC recipients of the most recent message.
array
The labels attached to the thread, each with an id, name, and color.
number
The number of messages in the thread.
boolean
Whether any message has an attachment.
boolean
Whether the thread has an unsent draft.
boolean
True only when every message in the thread is read.
string
ISO 8601 timestamp when the thread was last active.
import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.inboxes.threads.list({
inboxId: 'b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1',
});curl -X GET 'https://api.resend.com/inboxes/b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1/threads' \
-H 'Authorization: Bearer re_xxxxxxxxx'resend inboxes threads list --inbox_id b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1{
"object": "list",
"has_more": true,
"data": [
{
"id": "4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12",
"subject": "Refund for order 1041",
"from": "Ada Lovelace <ada@example.org>",
"to": ["support@example.com"],
"cc": [],
"bcc": [],
"labels": [
{
"id": "7f9c1d2e-4a6b-4c3d-8e15-9b0a7c6d5e34",
"name": "Urgent",
"color": "crimson"
}
],
"message_count": 2,
"has_attachment": true,
"has_draft": false,
"read": false,
"received_at": "2026-08-05T14:03:11.229Z"
}
]
}Was this page helpful?
⌘I