Inbox
Create reply job
Creates an outbound inbox reply job. When in_reply_to_message_id is omitted, Furnace targets the latest message in the thread.
POST
/v1/threads/{id}/replyAuthorization
bearerAuth AuthorizationBearer <token>
Use an account API key in the Authorization header: Authorization: Bearer f_....
In: header
Path Parameters
idstring
Inbox thread id.
Format
uuidRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
in_reply_to_message_id?string
Message to reply to. Defaults to the latest message in the thread.
Format
uuidsubject?string
body_text?string
body_html?string
to_email?string
Format
emailto_name?string
cc?array<string>
curl -X POST "https://example.com/v1/threads/497f6eca-6276-4993-bfeb-53cbbbba6f08/reply" \ -H "Content-Type: application/json" \ -d '{ "body_text": "Thanks for the reply." }'{ "data": { "id": "7e9f1f62-27f6-4474-b22c-7197e5480de4" }}{ "error": { "type": "invalid_request_error", "code": "invalid_flow", "message": "Flow validation failed" }, "details": [ { "path": "nodes[1].data.variants[0].id", "code": "invalid_variant_id", "message": "Email variants must have a stable UUID id." } ]}{ "error": { "type": "authentication_error", "code": "invalid_api_key", "message": "A valid Furnace API key is required" }}{ "error": { "type": "invalid_request_error", "code": "campaign_not_found", "message": "Campaign not found" }}{ "error": { "type": "rate_limit_error", "code": "rate_limit_exceeded", "message": "Rate limit exceeded for this account" }}{ "error": { "type": "api_error", "code": "internal_error", "message": "Internal server error" }}