apicheats.dev resend/llms.txt Raw .md
POST

POST /inboxes/{inbox_id}/threads/{thread_id}/emails/{email_id}/reply — Resend API

Resend API

Reply to a thread email

Base URL
https://api.resend.com
Auth
Authorization: Bearer <RESEND_API_KEY>
Last verified
2026-10-20 · upstream hash matched
Actions Try in browser→
Agents: curl -H "Accept: text/markdown" this URL
→ 214 tokens · Vary: Accept

Critical gotchas

All requests must include a User-Agent header (e.g. User-Agent: my-app/1.0) or the API returns HTTP 403.

cURL

curl -X POST 'https://api.resend.com/inboxes/inbox-id/threads/thread-id/emails/email-id/reply' \  -H "Authorization: Bearer $RESEND_API_KEY" \  -H 'User-Agent: my-app/1.0' \  -H 'Content-Type: application/json' \  -d '{  "cc": [    "[email protected]"  ],  "bcc": [    "[email protected]"  ],  "html": "<p>Refund issued for order 1041.</p>",  "text": "Refund issued for order 1041.",  "subject": "Re: Refund for order 1041",  "reply_all": false,  "attachments": [    {      "content": "example-content",      "filename": "example-filename",      "path": "example-path",      "content_type": "example-content-type",      "content_id": "example-content-id"    }  ],  "headers": {    "X-Ticket-Id": "4821"  }}'

Parameters

Name In Type Required Description
inbox_id path string Yes The Inbox ID or the inbox email address, such as `[email protected]`. A value that contains `@` must be a valid email address, and any other value must be a UUID, or the request returns a 422. The address match is case-insensitive and never falls back to the inbox `name`. An address that matches no inbox returns a 404.
thread_id path string Yes The Thread ID.
email_id path string Yes The Email ID of the message to reply to, as returned in `data[].id` by the list thread emails endpoint.
cc body string No CC recipient email address. For multiple addresses, send as an array of strings. Without `reply_all`, the reply copies only these addresses. With `reply_all`, these addresses are merged with the copied recipients, without duplicates. `cc` and `bcc` combined must be fewer than 50 addresses. After the `to` recipients are added, the reply cannot exceed 50 recipients. Each address is `[email protected]` or `Name <[email protected]>`. An address that is not valid returns a 422.
bcc body string No BCC recipient email address. For multiple addresses, send as an array of strings. BCC recipients of the original message are never copied. Each address is `[email protected]` or `Name <[email protected]>`. An address that is not valid returns a 422.
html body string Yes The HTML body of the reply.
text body string No The plain-text body of the reply.
subject body string No The subject of the reply. Cannot be only whitespace or contain a line break. When omitted, the thread subject is used, prefixed with `Re:` if it does not already start with it.
reply_all body boolean No Reply to everyone on the original message. For a message the inbox received, the reply goes to its `Reply-To` addresses, or to its sender when it has none, and copies the other addresses of its `To` header and its `cc` recipients in `cc`. For a message the inbox sent, the reply goes to that message's `Reply-To` addresses when they are not the inbox address, otherwise to its `to` recipients, and copies its `cc` recipients. The inbox address is always excluded, and duplicates are removed.
attachments body object[] No Files to attach, as on `POST /emails`. Each one needs `content` or `path`. The `content` of all files can total at most 25 MB. A `path` file does not count toward the 25 MB, because it is fetched when the email is sent. An empty file, a blocked file type, a `path` that does not start with `http` or that starts with `http://localhost:`, or a `content_type` that is not a valid MIME type returns a 422. Other `path` problems fail the email when it is sent, not the request.
headers body object No Custom headers to add to the email. The `In-Reply-To`, `References` and `Reply-To` headers are set by Resend and cannot be set here. Sending one of them, in any letter case, returns a 422. Header names cannot be empty, and names and values cannot contain line breaks or null characters, or the request returns a 422. `null` means no custom headers.

Response 200 OK

{
  "id": "6a0c8e58-3d9e-4f7a-8b14-2e3f4a5b6c71"
}
Get a free Resend API key → sponsored

Affiliate link - we may earn a commission, at no extra cost to you.