import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.inboxes.drafts.list({
inboxId: 'b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1',
});
curl -X GET 'https://api.resend.com/inboxes/b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1/drafts' \
-H 'Authorization: Bearer re_xxxxxxxxx'
resend inboxes drafts list --inbox_id b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1
{
"object": "list",
"has_more": false,
"data": [
{
"id": "c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32",
"type": "standalone",
"to": ["ada@example.org"],
"cc": [],
"bcc": [],
"subject": "Refund for order 1041",
"snippet": "Refund issued for order 1041.",
"thread_id": null,
"reply_to_email_id": null,
"updated_at": "2026-08-05T14:12:04.110Z"
}
]
}
List Drafts
Retrieve the drafts on an inbox.
GET
/
inboxes
/
:inbox_id
/
drafts
import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.inboxes.drafts.list({
inboxId: 'b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1',
});
curl -X GET 'https://api.resend.com/inboxes/b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1/drafts' \
-H 'Authorization: Bearer re_xxxxxxxxx'
resend inboxes drafts list --inbox_id b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1
{
"object": "list",
"has_more": false,
"data": [
{
"id": "c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32",
"type": "standalone",
"to": ["ada@example.org"],
"cc": [],
"bcc": [],
"subject": "Refund for order 1041",
"snippet": "Refund issued for order 1041.",
"thread_id": null,
"reply_to_email_id": null,
"updated_at": "2026-08-05T14:12:04.110Z"
}
]
}
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
Path Parameters
Query Parameters
number
Number of drafts to return. Default is
20, maximum is 100, minimum is 1.string
The ID of the last draft on the current page. Returns the next, older page.
string
The ID of the first draft on the current page. Returns the previous, newer
page.
Response Fields
string
Always
list.boolean
Whether more drafts exist beyond this page. Pass the last draft’s
id as
after to continue.array
The drafts on this page.
Hide properties
Hide properties
string
The ID of the draft.
string
standalone for a new conversation, or reply.string[] | null
Recipients.
string[]
CC recipients.
string[]
BCC recipients.
string | null
The subject.
string | null
A short preview of the body.
string | null
The Thread ID when this draft is a reply.
null otherwise.string | null
The Email ID being replied to.
null otherwise.string
ISO 8601 timestamp when the draft was last saved.
import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.inboxes.drafts.list({
inboxId: 'b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1',
});
curl -X GET 'https://api.resend.com/inboxes/b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1/drafts' \
-H 'Authorization: Bearer re_xxxxxxxxx'
resend inboxes drafts list --inbox_id b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1
{
"object": "list",
"has_more": false,
"data": [
{
"id": "c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32",
"type": "standalone",
"to": ["ada@example.org"],
"cc": [],
"bcc": [],
"subject": "Refund for order 1041",
"snippet": "Refund issued for order 1041.",
"thread_id": null,
"reply_to_email_id": null,
"updated_at": "2026-08-05T14:12:04.110Z"
}
]
}
Was this page helpful?
⌘I