Reply to a conversation
Replies to the latest message on the thread with the full history
quoted. Recipient defaults to the sender of the latest inbound
message (else the thread's counterparty). Billed like POST /v1/send.
curl -X POST "https://api.supasend.io/v1/inbox/threads/507f1f77bcf86cd799439011/reply" \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{
"body_html": "example_string",
"body_text": "example_string",
"to": "user@example.com",
"subject": "example_string",
"ip_id": "example_string",
"quote_history": true,
"quote_timezone": "America/New_York",
"headers": {},
"scheduled_at": "2024-12-25T10:00:00Z"
}'
import requests
import json
url = "https://api.supasend.io/v1/inbox/threads/507f1f77bcf86cd799439011/reply"
headers = {
"Content-Type": "application/json",
"X-API-Key": "YOUR_API_KEY"
}
data = {
"body_html": "example_string",
"body_text": "example_string",
"to": "user@example.com",
"subject": "example_string",
"ip_id": "example_string",
"quote_history": true,
"quote_timezone": "America/New_York",
"headers": {},
"scheduled_at": "2024-12-25T10:00:00Z"
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://api.supasend.io/v1/inbox/threads/507f1f77bcf86cd799439011/reply", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": "YOUR_API_KEY"
},
body: JSON.stringify({
"body_html": "example_string",
"body_text": "example_string",
"to": "user@example.com",
"subject": "example_string",
"ip_id": "example_string",
"quote_history": true,
"quote_timezone": "America/New_York",
"headers": {},
"scheduled_at": "2024-12-25T10:00:00Z"
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"body_html": "example_string",
"body_text": "example_string",
"to": "user@example.com",
"subject": "example_string",
"ip_id": "example_string",
"quote_history": true,
"quote_timezone": "America/New_York",
"headers": {},
"scheduled_at": "2024-12-25T10:00:00Z"
}`)
req, err := http.NewRequest("POST", "https://api.supasend.io/v1/inbox/threads/507f1f77bcf86cd799439011/reply", bytes.NewBuffer(data))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("X-API-Key", "YOUR_API_KEY")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://api.supasend.io/v1/inbox/threads/507f1f77bcf86cd799439011/reply')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request['X-API-Key'] = 'YOUR_API_KEY'
request.body = '{
"body_html": "example_string",
"body_text": "example_string",
"to": "user@example.com",
"subject": "example_string",
"ip_id": "example_string",
"quote_history": true,
"quote_timezone": "America/New_York",
"headers": {},
"scheduled_at": "2024-12-25T10:00:00Z"
}'
response = http.request(request)
puts response.body
{
"id": "example_string",
"status": "queued",
"thread_id": "example_string",
"message_id": "example_string",
"in_reply_to": "example_string",
"references": [
"example_string"
],
"subject": "example_string",
"to": "example_string",
"scheduled_at": "2024-12-25T10:00:00Z"
}
{
"error": "Bad Request",
"message": "The request contains invalid parameters or malformed data",
"code": 400,
"details": [
{
"field": "email",
"message": "Invalid email format"
}
]
}
{
"error": "Error",
"message": "Wallet empty",
"code": 402
}
{
"error": "Not Found",
"message": "The requested resource was not found",
"code": 404
}
/v1/inbox/threads/{id}/replyTarget server for requests. Edit to use your own host.
API key in the format sk_live_<64 hex characters>
sk_live_<64 hex characters>MongoDB ObjectID
The media type of the request body
New content only — the quoted conversation is appended for you
Override recipient (default — Reply-To / From of the message being answered)
Override the generated Re: subject
Dedicated IP to send from (default — account default IP)
Append the prior conversation as a nested quote
IANA zone used for the On [date], [sender] wrote: attribution lines (default UTC)
Schedule instead of sending now
Request Preview
Response
Response will appear here after sending the request
Authentication
API Key for authentication. API key in the format sk_live_\<64 hex characters\>
Path Parameters
Body
New content only — the quoted conversation is appended for you
Override recipient (default — Reply-To / From of the message being answered)
Override the generated Re: subject
Dedicated IP to send from (default — account default IP)
Append the prior conversation as a nested quote
IANA zone used for the On [date], [sender] wrote: attribution lines (default UTC)
America/New_YorkSchedule instead of sending now