---
title: "Reply to a reply"
method: POST
path: "/replies/{id}/reply"
tags: ["Replies"]
---

# Reply to a reply

`POST /replies/{id}/reply`

## Request

- Base URL: `https://api.emailchaser.com/r`
- URL: `https://api.emailchaser.com/r/replies/{id}/reply`
- Auth: HTTP bearer

Sends your own answer to an inbound reply, in the same email thread and from the mailbox the conversation runs through (in a conversation the prospect started, your mailbox they wrote to). The id is a reply's id from GET /replies. Only body is required. Leave to out to Reply All: the person who wrote goes in To and everyone else they addressed goes in Cc, never one of your workspace's own mailboxes. Set to to choose the recipients yourself: then to, cc and bcc are used exactly as sent (cc is only read together with to; bcc works either way), at most 20 addresses in all. There is no subject field: the answer keeps the thread's subject, with "Re: " in front, so the thread never breaks. contentType is "text" by default; send "html" only when body is HTML. An html body keeps basic formatting (paragraphs, line breaks, bold, italics, links, lists and headings); images, tables and inline styles are removed when it is sent. Merge tags such as {first_name} and spintax such as {Hi|Hello} in body are filled in when the email is sent, as in a campaign email. No signature is added: put yours in body. attachments takes at most 5 files, 10 MB in total, each as fileName plus contentBase64. The same reply can be answered more than once, which is how you send a second message in a conversation. Two limits stop a client that went wrong: an identical body to the same reply within 60 seconds is refused (409), so a retry after a timeout never sends twice, and one reply takes at most 20 answers in any hour (429, with a Retry-After header that says in how many seconds the next one is accepted). The answer is scheduled and goes out within about a minute; GET /leads/{id}/conversation shows its status move from scheduled to sent. Unknown fields are refused (400) rather than ignored. Requires the read_write scope.

## Path parameters

- `id` integer, required

## Request body

- ModelsSendReplyRequest
  - `attachments` ModelsSendReplyAttachment[]: Attachments holds at most 5 files, 10 MB in total before base64.
    - `contentBase64` string: ContentBase64 is the file's bytes in standard base64.
    - `fileName` string: FileName is the name the recipient sees. Any folder in it is dropped.
  - `bcc` string[]: Bcc may be sent with or without to.
  - `body` string: Body is the text of the reply.
  - `cc` string[]: Cc is only read together with to.
  - `contentType` 'text' | 'html': ContentType is "text" (the default) or "html". Send "html" only when body is HTML: a text body sent as html loses its line breaks. An html body keeps basic formatting; images, tables and inline styles are removed when it is sent.
  - `to` string[]: To chooses the recipients yourself. Leave it out to Reply All: the person who wrote in To, and everyone else they addressed in Cc, never one of your workspace's own mailboxes. to, cc and bcc together take at most 20 addresses.

## Response `201`

The reply is scheduled for delivery

- ModelsSendReplyResponse
  - `attachments` string[]: Attachments lists the file names sent with the reply.
  - `bcc` string[]
  - `body` string
  - `cc` string[]
  - `contentType` string
  - `fromAddress` string: FromAddress is the mailbox the reply goes out from: the one the conversation runs through.
  - `id` integer: ID is the new outbound email.
  - `inReplyToEmailId` integer: InReplyToEmailID is the inbound reply this answers, the id in the path.
  - `leadId` integer
  - `status` string
  - `subject` string: Subject is the subject it goes out with.
  - `to` string[]: To, Cc and Bcc are who the reply is being sent to.

## Other responses

- `400`: Invalid reply ID or request body (the message names the field)
- `401`: Unauthorized - invalid or missing API key
- `403`: The API key is read-only; this endpoint requires the read_write scope
- `404`: Reply not found
- `409`: The email is not an inbound reply, or an identical reply to it was sent less than 60 seconds ago
- `413`: The request or its attachments are too large
- `422`: The reply cannot be delivered (no connected sender mailbox, no recipient, the lead has unsubscribed, or an earlier email to the recipient hard-bounced)
- `429`: This reply was answered 20 times in the last hour; the Retry-After header says in how many seconds to try again
- `500`: Failed to send reply

---

[API](https://skmtc.dev/emailchaser/apis/emailchaser-api.md) · [All operations](https://skmtc.dev/emailchaser/apis/emailchaser-api/llms.txt) · [OpenAPI document](https://skmtc.dev/emailchaser/apis/emailchaser-api/revisions/8b114990abb7?raw)
