Skip to main content
POST

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

Idempotency-Key
string

Optional opaque, unquoted key for safely retrying the same logical request. Keys must contain 1 to 255 letters, numbers, hyphens, or underscores. Generate a unique UUID v4 for each operation and reuse it only when retrying that operation with the same request. Invalid headers—including duplicate, empty, malformed, or overlong values—return 400 with error code 10015. A request already in progress with the same key returns 409; reusing the key with a different request returns 422. Only successful responses are replayed, for up to 24 hours. Do not include sensitive data in the key.

Required string length: 1 - 255
Pattern: ^[A-Za-z0-9_-]{1,255}$

Body

application/json
from
required
to
(string | object)[]
required
Minimum array length: 1
from_name
string

Optional display name for string from; overrides from.name when provided.

cc
(string | object)[]
bcc
(string | object)[]
reply_to

Reply-to address. If provided as an object with a name, only the email is stored; the name is ignored.

subject
string

Required unless template_id is supplied. When using a template, the template's subject is rendered; if the template has no subject or renders empty, the request returns 400.

html_body
string

HTML email body. Write-only; not returned in responses.

text_body
string

Plain text email body. Write-only; not returned in responses.

headers
object

Custom email headers. Write-only; not returned in responses.

attachments
object[]
tags
string[]

Tags for categorization. Write-only; not returned in responses.

metadata
object

Custom metadata. Write-only; not returned in responses.

template_id
string<uuid>
template_variables
object

Variables for Liquid template rendering. Non-object values may cause a 422 validation error on message creation, but are silently treated as an empty object for template rendering.

send_at
string<date-time>

Future ISO 8601 time to schedule sending. Invalid or past timestamps are silently ignored and the email is sent immediately.

inline_css
boolean
default:false
sandbox_mode
boolean
default:false
group_id
string<uuid>

Optional unsubscribe group ID. Associates the message with an unsubscribe group for group-scoped suppression handling.

ignore_suppression
boolean
default:false

When true, bypasses suppression checks for overridable blocks. Requires the email:override API key scope. Overrides are audited. Non-overridable suppressions (hard bounces, spam complaints, invalid addresses) cannot be bypassed.

Response

Message queued, scheduled, or sandbox-created.

data
object
required
suppressed
object[]

Recipients removed by suppression checks when at least one recipient remains and the message is accepted.