Send or schedule reply
Sends a reply immediately or schedules it for later.
Omit scheduledFor for immediate send; pass an ISO 8601 date in the future to schedule.
Use the attachments array with objects from the attachment upload endpoint.
Replies are sent from the conversation's assigned mailbox or original sending mailbox.
body accepts plain text or HTML. Plain-text newlines and blank lines are preserved
automatically using the same email-safe formatting as the SendKit inbox composer.
Rich HTML is preserved and a matching text fallback is generated for text-only clients,
including headings, lists, links, quotes, code, dividers, images, and video links.
Set bodyFormat to plain_text when sending literal HTML-tag examples, or to html
to interpret the body explicitly as rich HTML. auto remains the default for backwards compatibility.
curl -X POST "https://api.sendkit.ai/v1/inbox/example_string/reply" \
-H "Content-Type: application/json" \
-H "X-Api-Key: YOUR_API_KEY" \
-d '{
"body": "Thanks for your interest! Let's schedule a call this week."
}'
import requests
import json
url = "https://api.sendkit.ai/v1/inbox/example_string/reply"
headers = {
"Content-Type": "application/json",
"X-Api-Key": "YOUR_API_KEY"
}
data = {
"body": "Thanks for your interest! Let's schedule a call this week."
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://api.sendkit.ai/v1/inbox/example_string/reply", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-Api-Key": "YOUR_API_KEY"
},
body: JSON.stringify({
"body": "Thanks for your interest! Let's schedule a call this week."
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"body": "Thanks for your interest! Let's schedule a call this week."
}`)
req, err := http.NewRequest("POST", "https://api.sendkit.ai/v1/inbox/example_string/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.sendkit.ai/v1/inbox/example_string/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": "Thanks for your interest! Let's schedule a call this week."
}'
response = http.request(request)
puts response.body
{
"success": true,
"data": {
"id": "664a1b2c3d4e5f6a7b8c9d10",
"status": "pending",
"scheduledFor": "2024-06-01T15:00:00.000Z",
"isScheduled": false
}
}
{
"success": true,
"data": {
"id": "664a1b2c3d4e5f6a7b8c9d11",
"status": "pending",
"scheduledFor": "2024-06-03T09:00:00.000Z",
"isScheduled": true
}
}
{
"error": "Bad Request",
"message": "The request contains invalid parameters or malformed data",
"code": 400,
"details": [
{
"field": "email",
"message": "Invalid email format"
}
]
}
{
"error": "Not Found",
"message": "The requested resource was not found",
"code": 404
}
/v1/inbox/{conversationId}/replyTarget server for requests. Edit to use your own host.
Platform API key (sk_user_...) or Workspace API key (sk_...)
Conversation ID (the inbox thread ID)
The media type of the request body
Reply body content (required). May be plain text or rich HTML; plain-text newlines and blank lines are preserved automatically.
Explicit body interpretation. Use plain_text for literal tag examples and html for rich HTML.
CC recipients
BCC recipients
Schedule reply for this time (ISO 8601). Must be in the future. Omit for immediate send.
Attachments from the upload endpoint
Request Preview
Response
Response will appear here after sending the request
Authentication
API Key for authentication. Platform API key (sk_user_...) or Workspace API key (sk_...)
Path Parameters
Conversation ID (the inbox thread ID)
Body
Reply body content (required). May be plain text or rich HTML; plain-text newlines and blank lines are preserved automatically.
Explicit body interpretation. Use plain_text for literal tag examples and html for rich HTML.
autoplain_texthtmlCC recipients
BCC recipients
Schedule reply for this time (ISO 8601). Must be in the future. Omit for immediate send.
Attachments from the upload endpoint