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 the app prompt or on the approval page.
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.