Skip to main content
POST
/
inbound
/
messages
/
{id}
/
reply
curl --request POST \
  --url https://api.autosend.com/v1/inbound/messages/60d5ec49f1b2c72d9c8b1234/reply \
  --header 'Authorization: Bearer as_your-api-key' \
  --header 'Content-Type: application/json' \
  --data '{
  "from": { "email": "[email protected]", "name": "Support Team" },
  "subject": "Re: Question about my order",
  "html": "<p>Hi Jane, your order #4821 shipped today.</p>",
  "text": "Hi Jane, your order #4821 shipped today."
}'
{
  "success": true,
  "data": {
    "messageId": "0102018f...000000",
    "status": "QUEUED"
  }
}
This endpoint uses a standard project API key (AS_ prefix). The reply is threaded into the original conversation (via In-Reply-To and References) and queued through the standard sending pipeline. The response returns 202 Accepted.
The from.email domain must be a verified sending domain on the project.
curl --request POST \
  --url https://api.autosend.com/v1/inbound/messages/60d5ec49f1b2c72d9c8b1234/reply \
  --header 'Authorization: Bearer as_your-api-key' \
  --header 'Content-Type: application/json' \
  --data '{
  "from": { "email": "[email protected]", "name": "Support Team" },
  "subject": "Re: Question about my order",
  "html": "<p>Hi Jane, your order #4821 shipped today.</p>",
  "text": "Hi Jane, your order #4821 shipped today."
}'
{
  "success": true,
  "data": {
    "messageId": "0102018f...000000",
    "status": "QUEUED"
  }
}

Authorizations

Authorizations
string | header
required
Project API key header of the form Bearer as_<key>. You can also pass the key via the x-api-key header.

Path Parameters

id
string
required
The unique identifier of the inbound message to reply to. The message must belong to the authenticated project.Example: "60d5ec49f1b2c72d9c8b1234"

Body

from
object
required
The sender address for the reply. The email’s domain must be a verified sending domain on the project.
subject
string
Subject line for the reply. When omitted, defaults to the original subject prefixed with Re: (no double prefixing).Minimum length: 1Maximum length: 998Example: "Re: Question about my order"
html
string
HTML body of the reply.
text
string
Plain-text body of the reply.
cc
object[]
CC recipients. Each entry has a required email and optional name.Maximum items: 50
bcc
object[]
BCC recipients. Each entry has a required email and optional name.Maximum items: 50
attachments
object[]
Attachments to include on the reply. Provide each attachment either inline (base64 content) or by fileUrl.Maximum items: 20

Response

Reply queued successfully (202)
success
boolean
Indicates if the request was successfulExample: true
message
string
Confirmation messageExample: "Reply queued"
data
object
Result of queuing the reply through the sending pipeline (shape mirrors the standard send endpoint, e.g. the queued message identifier and status).

Error Responses

400 - From address required
object
Returned when from.email is missing.
{
  "success": false,
  "error": {
    "message": "A `from` address is required to reply"
  }
}
400 - From domain not verified
object
Returned when the from domain is not a verified sending domain on the project.
{
  "success": false,
  "error": {
    "message": "Reply `from` address must use the same domain that received the message"
  }
}
404 - Message not found
object
Returned when the inbound message does not exist or does not belong to the authenticated project, or when it has no usable reply target address.
{
  "success": false,
  "error": {
    "message": "Inbound email not found"
  }
}