Request parameters
string
required
RFC 5322 address. Either
email@verified-domain.com or "Name" <email@verified-domain.com>. The domain must be verified in your project.string[]
required
Up to 50 recipients per message.
string[]
Optional CC recipients.
string[]
Optional BCC recipients.
string[]
Optional
Reply-To override. Default: the from address.string
required
Subject line. Max 998 chars per RFC 5322.
string
HTML body. Either
html or text (or both) is required.string
Plain-text body. Strongly recommended for deliverability — many mail clients score text+html better than html-only.
object
Custom RFC 5322 headers. Prefix with
X- for safety.string[]
Free-form labels for dashboard filtering and analytics grouping. e.g.
["campaign:launch-q2", "category:transactional"].boolean
default:"false"
Inject a 1×1 tracking pixel. Fires
email.opened webhooks.boolean
default:"false"
Rewrite links through our click-tracking proxy. Fires
email.clicked webhooks.string (ISO 8601)
Schedule for a future time. Max lead: 30 days.
Response
status transitions through queued → sent → delivered (or bounced / complained / failed), with webhooks at every transition.
With tracking
Batch send
POST /v1/emails/batch with up to 100 emails per call:
{ data: [{id, status}, ...] } — one row per input, in the same order.
Scheduled send & cancel
send_at elapses, cancel fails with conflict.