Skip to main content
Resend Docs

Search documentation

Type to search this documentation.

On this pageOverview

Reply to Thread Email

POST

/

inboxes

/

:inbox_id

/

threads

/

:thread_id

/

emails

/

:email_id

/

reply

Node.js
import { Resend } from 'resend';

const resend = new Resend('re_xxxxxxxxx');

const { data, error } = await resend.inboxes.threads.emails.reply({
  inboxId: 'b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1',
  threadId: '4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12',
  emailId: '5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60',
  html: '<p>Refund issued for order 1041.</p>',
  text: 'Refund issued for order 1041.',
});
cURL
curl -X POST 'https://api.resend.com/inboxes/b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1/threads/4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12/emails/5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60/reply' \
     -H 'Authorization: Bearer re_xxxxxxxxx' \
     -H 'Content-Type: application/json' \
     -d $'{
  "html": "<p>Refund issued for order 1041.</p>",
  "text": "Refund issued for order 1041."
}'
CLI
resend inboxes threads emails reply \
  --inbox_id b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1 \
  --thread_id 4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12 \
  --email_id 5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60 \
  --html "<p>Refund issued for order 1041.</p>" \
  --text "Refund issued for order 1041."
Response
{
  "id": "6a0c8e58-3d9e-4f7a-8b14-2e3f4a5b6c71",
  "email_id": "6a0c8e58-3d9e-4f7a-8b14-2e3f4a5b6c71",
  "direction": "outbound",
  "from": "support@example.com",
  "to": ["Ada Lovelace <ada@example.org>"],
  "cc": [],
  "bcc": [],
  "reply_to": [],
  "subject": "Re: Refund for order 1041",
  "message_id": null,
  "html": "<p>Refund issued for order 1041.</p>",
  "text": "Refund issued for order 1041.",
  "attachments": [],
  "read": true,
  "received_at": "2026-08-05T14:12:04.110Z"
}

Replies from the inbox address. Recipients are taken from the message you reply to. At least one of html or text is required.

string

The HTML body.

string

The plain-text body.

string

The subject of the reply. When omitted, the thread subject is used, prefixed with Re: if it isn’t already.

string

The ID of the queued outbound email.

string

The ID of the queued outbound email. Same value as id.

string

Always outbound.

string

Sender email address.

string[]

The recipients of the message.

string[]

The CC recipients of the message.

string[]

The BCC recipients of the message.

string[]

Always an empty array.

string

The subject of the sent reply.

string | null

Always null.

string | null

The HTML body.

string | null

The plain-text body.

array

The attachments on the message.

Hide properties

string

The ID of the attachment.

string | null

The filename of the attachment.

number | null

The size of the attachment in bytes.

boolean

Whether the message has been read.

string

ISO 8601 timestamp when the message was sent.

Node.js
import { Resend } from 'resend';

const resend = new Resend('re_xxxxxxxxx');

const { data, error } = await resend.inboxes.threads.emails.reply({
  inboxId: 'b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1',
  threadId: '4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12',
  emailId: '5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60',
  html: '<p>Refund issued for order 1041.</p>',
  text: 'Refund issued for order 1041.',
});
cURL
curl -X POST 'https://api.resend.com/inboxes/b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1/threads/4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12/emails/5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60/reply' \
     -H 'Authorization: Bearer re_xxxxxxxxx' \
     -H 'Content-Type: application/json' \
     -d $'{
  "html": "<p>Refund issued for order 1041.</p>",
  "text": "Refund issued for order 1041."
}'
CLI
resend inboxes threads emails reply \
  --inbox_id b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1 \
  --thread_id 4d8e2a1c-9b3f-4c6d-8a21-3e5f7c9c0d12 \
  --email_id 5b1a9f47-2c8d-4e6f-9a03-1d2e3f4a5b60 \
  --html "<p>Refund issued for order 1041.</p>" \
  --text "Refund issued for order 1041."
JSON
{
  "id": "6a0c8e58-3d9e-4f7a-8b14-2e3f4a5b6c71",
  "email_id": "6a0c8e58-3d9e-4f7a-8b14-2e3f4a5b6c71",
  "direction": "outbound",
  "from": "support@example.com",
  "to": ["Ada Lovelace <ada@example.org>"],
  "cc": [],
  "bcc": [],
  "reply_to": [],
  "subject": "Re: Refund for order 1041",
  "message_id": null,
  "html": "<p>Refund issued for order 1041.</p>",
  "text": "Refund issued for order 1041.",
  "attachments": [],
  "read": true,
  "received_at": "2026-08-05T14:12:04.110Z"
}

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