import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.inboxes.threads.update({
inboxId: 'b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1',
threadId: '4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12',
read: true,
folder: 'spam',
});
curl -X PATCH 'https://api.resend.com/inboxes/b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1/threads/4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12' \
-H 'Authorization: Bearer re_xxxxxxxxx' \
-H 'Content-Type: application/json' \
-d $'{
"read": true,
"folder": "spam"
}'
curl -X PATCH 'https://api.resend.com/inboxes/b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1/threads/4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12' \
-H 'Authorization: Bearer re_xxxxxxxxx' \
-H 'Content-Type: application/json' \
-d $'{
"folder": "inbox"
}'
curl -X PATCH 'https://api.resend.com/inboxes/b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1/threads/4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12' \
-H 'Authorization: Bearer re_xxxxxxxxx' \
-H 'Content-Type: application/json' \
-d $'{
"label_id": "7f9c1d2e-4a6b-4c3d-8e15-9b0a7c6d5e34"
}'
resend inboxes threads update \
--inbox_id b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1 \
--thread_id 4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12 \
--read \
--folder spam
{
"object": "inbox_thread",
"id": "4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12",
"subject": "Refund for order 1041",
"folder": "spam",
"labels": [],
"read": true
}
Update Thread
Mark a thread read or unread, move it, or apply a label.
PATCH
/
inboxes
/
:inbox_id
/
threads
/
:thread_id
import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.inboxes.threads.update({
inboxId: 'b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1',
threadId: '4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12',
read: true,
folder: 'spam',
});
curl -X PATCH 'https://api.resend.com/inboxes/b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1/threads/4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12' \
-H 'Authorization: Bearer re_xxxxxxxxx' \
-H 'Content-Type: application/json' \
-d $'{
"read": true,
"folder": "spam"
}'
curl -X PATCH 'https://api.resend.com/inboxes/b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1/threads/4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12' \
-H 'Authorization: Bearer re_xxxxxxxxx' \
-H 'Content-Type: application/json' \
-d $'{
"folder": "inbox"
}'
curl -X PATCH 'https://api.resend.com/inboxes/b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1/threads/4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12' \
-H 'Authorization: Bearer re_xxxxxxxxx' \
-H 'Content-Type: application/json' \
-d $'{
"label_id": "7f9c1d2e-4a6b-4c3d-8e15-9b0a7c6d5e34"
}'
resend inboxes threads update \
--inbox_id b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1 \
--thread_id 4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12 \
--read \
--folder spam
{
"object": "inbox_thread",
"id": "4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12",
"subject": "Refund for order 1041",
"folder": "spam",
"labels": [],
"read": true
}
Inboxes are currently in private beta and only available to a limited
number of users. The response shape might change before GA. Get in
touch if you’re interested in testing this
feature.Once you have access, upgrade your Resend SDK to use the methods on this
page:
npm install resend@6.28.1-preview-inboxes.1
npm install -g resend-cli@2.22.0-preview-inboxes.1
read, folder, or label_id is required.
Path Parameters
Body Parameters
boolean
Marks every message in the thread read or unread.
string
Moves the thread. One of
inbox, archive, spam, or trash.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. |
inbox, archive, spam, or trash. sent is
assigned automatically.
Response Fields
string
Always
inbox_thread.string
The ID of the thread.
string | null
The subject of the thread.
string
The folder the thread lives in after the update.
array
The labels attached to the thread, each with an
id, name, and color.boolean
True only when every message in the thread is read.
import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.inboxes.threads.update({
inboxId: 'b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1',
threadId: '4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12',
read: true,
folder: 'spam',
});
curl -X PATCH 'https://api.resend.com/inboxes/b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1/threads/4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12' \
-H 'Authorization: Bearer re_xxxxxxxxx' \
-H 'Content-Type: application/json' \
-d $'{
"read": true,
"folder": "spam"
}'
curl -X PATCH 'https://api.resend.com/inboxes/b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1/threads/4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12' \
-H 'Authorization: Bearer re_xxxxxxxxx' \
-H 'Content-Type: application/json' \
-d $'{
"folder": "inbox"
}'
curl -X PATCH 'https://api.resend.com/inboxes/b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1/threads/4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12' \
-H 'Authorization: Bearer re_xxxxxxxxx' \
-H 'Content-Type: application/json' \
-d $'{
"label_id": "7f9c1d2e-4a6b-4c3d-8e15-9b0a7c6d5e34"
}'
resend inboxes threads update \
--inbox_id b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1 \
--thread_id 4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12 \
--read \
--folder spam
{
"object": "inbox_thread",
"id": "4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12",
"subject": "Refund for order 1041",
"folder": "spam",
"labels": [],
"read": true
}
Was this page helpful?
⌘I