Skip to content
simailDocsv0

API reference

Sends

Follow a submitted message from checking to sent with GET /v0/sends/{send_id}, and cancel scheduled or pending sends.

docs.simail.ai/api/sends

Every send, reply, forward or draft send returns a send_id (out_…). It is the release service’s record of that message.

GET/v0/sends/{send_id}

Permission message_read.

{
"send_id": "out_01JZX4C0D1E2F3G4H5J6K7M8N9",
"inbox_id": "shop-helper@simail.email",
"thread_id": "thr_01JZX4C0D1E2F3G4H5J6K7M8NB",
"message_id": "msg_01JZX4C0D1E2F3G4H5J6K7M8NA",
"status": "pending_approval",
"reasons": [],
"flags": ["first_contact"],
"approval_id": "apr_01JZX4C0D1E2F3G4H5J6K7M8NG",
"send_at": null,
"created_at": "2026-10-18T17:05:40Z",
"updated_at": "2026-10-18T17:05:40Z"
}
statusMeaningFinal
checkingbeing checked
scheduledwaiting for send_at
pending_approvalwaiting for a human
approvedapproved; waits for the final check
sendingleaving now
senthanded to the mail networkyes
blockedrefused; reasons says whyyes
rejectedan approver rejected ityes
expirednobody approved it in time, or it waited too long for a limit or a lockyes
cancelledcancelled before sendingyes
failedthe mail network refused it; submit again with a new key if you still mean toyes
outcome_unknownit may or may not have gone out; never resent automatically, corrected when a delivery event arrives
checking → blocked | pending_approval | scheduled | approved
pending_approval → approved | rejected | expired | cancelled
scheduled | approved → sending → sent | failed | outcome_unknown | blocked
scheduled | approved → cancelled

While a message waits (platform pause, organization pause, thread lock, daily limit), it stays scheduled or approved and a send.deferred event says why.

DELETE/v0/sends/{send_id}

Permission message_send. Cancels a send that is scheduled, pending_approval or approved. Returns the send with status: "cancelled" and publishes send.cancelled. If it is already sending or final, returns 409 conflict with reason: "already_sending" or "already_final".

Errors: 404 not_found (unknown or outside your scope), 409 conflict.

MCP: get_send_status.