Drafts
Create a draft
Writes a draft into the mailbox. It never sends.
The REST API has no send endpoint. Sending goes through MCP with the person's approval in chat.
Headers
| Name | Type | Required | Description |
|---|---|---|---|
Authorization |
string | Required | Bearer followed by your API key. |
Content-Type |
string | Required | application/json |
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | Required | Inbox id from List inboxes, like inbox_lx2k9a1b. |
Request body
| Name | Type | Required | Description |
|---|---|---|---|
to |
string | Required | Recipient address or addresses. |
subject |
string | Required | Subject line. |
text |
string | Required | Plain text body. |
threadId |
string | Optional | Thread to reply in, from Get a message. |
Response
201 Created.
| Name | Type | Description |
|---|---|---|
id |
string | Draft id. |
to |
string | Recipients. |
subject |
string | Subject line. |
text |
string | Body. |
provider |
string | The inbox provider. |
providerDraftId |
string | null | The draft's id in the mailbox. |
threadId |
string | null | Thread it replies in. |
isDemo |
boolean | true for sample data. Nothing was written to the mailbox. |
createdAt |
string | ISO time. |
Errors
| Status | Error | Meaning |
|---|---|---|
| 400 | invalid_request |
to, subject, or text is missing. |
| 400 | draft_failed |
The draft was refused, for example a line break in To or Subject. error_description has the reason. |
| 404 | inbox_not_found |
The inbox id is wrong or the inbox was removed. |
| 409 | inbox_paused |
The person paused this inbox. They resume it on the Inboxes page. |
| 409 | not_connected |
The inbox has no working credential. The person connects it first. |
Any route can also return 401 for a bad key, 402 when the trial ended or payment failed, and 429 when you send too many requests. See Errors.