import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.inboxes.drafts.get({
inboxId: 'b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1',
draftId: 'c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32',
});
$resend = Resend::client('re_xxxxxxxxx');
$resend->inboxes->drafts->get(
'b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1',
'c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32'
);
import resend
resend.api_key = "re_xxxxxxxxx"
resend.Inboxes.Drafts.get(
inbox_id="b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1",
draft_id="c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32",
)
require "resend"
Resend.api_key = "re_xxxxxxxxx"
params = {
inbox_id: "b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1",
draft_id: "c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32"
}
Resend::Inboxes::Drafts.get(params)
package main
import "github.com/resend/resend-go/v4"
func main() {
client := resend.NewClient("re_xxxxxxxxx")
client.Inboxes.Drafts.Get(
"b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1",
"c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32",
)
use resend_rs::{Resend, Result};
#[tokio::main]
async fn main() -> Result<()> {
let resend = Resend::new("re_xxxxxxxxx");
let _draft = resend
.inboxes
.get_draft(
"b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1",
"c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32",
)
.await?;
Ok(())
}
using Resend;
IResend resend = ResendClient.Create( "re_xxxxxxxxx" ); // Or from DI
var resp = await resend.InboxDraftRetrieveAsync(
new Guid( "b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1" ),
new Guid( "c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32" )
);
Console.WriteLine( "Draft subject={0}", resp.Content.Subject );
curl -X GET 'https://api.resend.com/inboxes/b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1/drafts/c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32' \
-H 'Authorization: Bearer re_xxxxxxxxx'
resend inboxes drafts get b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1 c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32
{
"object": "inbox_draft",
"id": "c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32",
"type": "standalone",
"to": ["ada@example.org"],
"cc": [],
"bcc": [],
"subject": "Refund for order 1041",
"html": "<p>Refund issued for order 1041.</p>",
"text": "Refund issued for order 1041.",
"thread_id": null,
"reply_to_email_id": null,
"email_id": null,
"created_at": "2026-08-05T14:12:04.110Z",
"updated_at": "2026-08-05T14:12:04.110Z",
"attachments": [
{
"id": "9d4f2b81-6c3a-4e7d-8b12-0a5c6d7e8f90",
"filename": "note.txt",
"content_type": "text/plain",
"size": 5
}
]
}
Retrieve Draft
Retrieve a single draft by its ID.
GET
/
inboxes
/
:inbox_id
/
drafts
/
:draft_id
import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.inboxes.drafts.get({
inboxId: 'b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1',
draftId: 'c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32',
});
$resend = Resend::client('re_xxxxxxxxx');
$resend->inboxes->drafts->get(
'b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1',
'c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32'
);
import resend
resend.api_key = "re_xxxxxxxxx"
resend.Inboxes.Drafts.get(
inbox_id="b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1",
draft_id="c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32",
)
require "resend"
Resend.api_key = "re_xxxxxxxxx"
params = {
inbox_id: "b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1",
draft_id: "c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32"
}
Resend::Inboxes::Drafts.get(params)
package main
import "github.com/resend/resend-go/v4"
func main() {
client := resend.NewClient("re_xxxxxxxxx")
client.Inboxes.Drafts.Get(
"b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1",
"c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32",
)
use resend_rs::{Resend, Result};
#[tokio::main]
async fn main() -> Result<()> {
let resend = Resend::new("re_xxxxxxxxx");
let _draft = resend
.inboxes
.get_draft(
"b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1",
"c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32",
)
.await?;
Ok(())
}
using Resend;
IResend resend = ResendClient.Create( "re_xxxxxxxxx" ); // Or from DI
var resp = await resend.InboxDraftRetrieveAsync(
new Guid( "b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1" ),
new Guid( "c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32" )
);
Console.WriteLine( "Draft subject={0}", resp.Content.Subject );
curl -X GET 'https://api.resend.com/inboxes/b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1/drafts/c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32' \
-H 'Authorization: Bearer re_xxxxxxxxx'
resend inboxes drafts get b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1 c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32
{
"object": "inbox_draft",
"id": "c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32",
"type": "standalone",
"to": ["ada@example.org"],
"cc": [],
"bcc": [],
"subject": "Refund for order 1041",
"html": "<p>Refund issued for order 1041.</p>",
"text": "Refund issued for order 1041.",
"thread_id": null,
"reply_to_email_id": null,
"email_id": null,
"created_at": "2026-08-05T14:12:04.110Z",
"updated_at": "2026-08-05T14:12:04.110Z",
"attachments": [
{
"id": "9d4f2b81-6c3a-4e7d-8b12-0a5c6d7e8f90",
"filename": "note.txt",
"content_type": "text/plain",
"size": 5
}
]
}
Path Parameters
Response Fields
string
Always
inbox_draft.string
The ID of the draft.
string
reply when the draft replies to an email in an existing thread. standalone
when the draft starts a new thread.string[] | null
Recipients.
null or empty when no recipients are set.string[]
CC recipients.
string[]
BCC recipients.
string | null
The subject.
string | null
The HTML body.
string | null
The plain-text 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 | null
The ID of the outbound email queued when the draft was sent.
null until the
draft is sent.string
ISO 8601 timestamp when the draft was created.
string
ISO 8601 timestamp when the draft was last saved.
array
import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.inboxes.drafts.get({
inboxId: 'b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1',
draftId: 'c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32',
});
$resend = Resend::client('re_xxxxxxxxx');
$resend->inboxes->drafts->get(
'b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1',
'c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32'
);
import resend
resend.api_key = "re_xxxxxxxxx"
resend.Inboxes.Drafts.get(
inbox_id="b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1",
draft_id="c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32",
)
require "resend"
Resend.api_key = "re_xxxxxxxxx"
params = {
inbox_id: "b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1",
draft_id: "c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32"
}
Resend::Inboxes::Drafts.get(params)
package main
import "github.com/resend/resend-go/v4"
func main() {
client := resend.NewClient("re_xxxxxxxxx")
client.Inboxes.Drafts.Get(
"b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1",
"c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32",
)
use resend_rs::{Resend, Result};
#[tokio::main]
async fn main() -> Result<()> {
let resend = Resend::new("re_xxxxxxxxx");
let _draft = resend
.inboxes
.get_draft(
"b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1",
"c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32",
)
.await?;
Ok(())
}
using Resend;
IResend resend = ResendClient.Create( "re_xxxxxxxxx" ); // Or from DI
var resp = await resend.InboxDraftRetrieveAsync(
new Guid( "b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1" ),
new Guid( "c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32" )
);
Console.WriteLine( "Draft subject={0}", resp.Content.Subject );
curl -X GET 'https://api.resend.com/inboxes/b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1/drafts/c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32' \
-H 'Authorization: Bearer re_xxxxxxxxx'
resend inboxes drafts get b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1 c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32
{
"object": "inbox_draft",
"id": "c3a1e8b4-2d5f-4a7c-9e10-6b8d7f5a4c32",
"type": "standalone",
"to": ["ada@example.org"],
"cc": [],
"bcc": [],
"subject": "Refund for order 1041",
"html": "<p>Refund issued for order 1041.</p>",
"text": "Refund issued for order 1041.",
"thread_id": null,
"reply_to_email_id": null,
"email_id": null,
"created_at": "2026-08-05T14:12:04.110Z",
"updated_at": "2026-08-05T14:12:04.110Z",
"attachments": [
{
"id": "9d4f2b81-6c3a-4e7d-8b12-0a5c6d7e8f90",
"filename": "note.txt",
"content_type": "text/plain",
"size": 5
}
]
}
Was this page helpful?
⌘I