Skip to main content
Resend Docs

Search documentation

Type to search this documentation.

On this pageOverview

List Threads

GET

/

inboxes

/

:inbox_id

/

threads

Node.js
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
curl -X GET 'https://api.resend.com/inboxes/b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1/threads' \
     -H 'Authorization: Bearer re_xxxxxxxxx'
CLI
resend inboxes threads list --inbox_id b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1
Response
{
  "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.

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.

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.

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.

Node.js
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
curl -X GET 'https://api.resend.com/inboxes/b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1/threads' \
     -H 'Authorization: Bearer re_xxxxxxxxx'
CLI
resend inboxes threads list --inbox_id b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1
JSON
{
  "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

Suggest an edit

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

Export
Documentation menu