Request parameters
RFC 5322 address. Either
email@verified-domain.com or "Name" <email@verified-domain.com>. The domain must be verified in your project.Up to 50 recipients per message.
Optional CC recipients.
Optional BCC recipients.
Optional
Reply-To override. Default: the from address.Subject line. Max 998 chars per RFC 5322.
HTML body. Either
html or text (or both) is required.Plain-text body. Strongly recommended for deliverability — many mail clients score text+html better than html-only.
Custom RFC 5322 headers. Prefix with
X- for safety.Free-form labels for dashboard filtering and analytics grouping. e.g.
["campaign:launch-q2", "category:transactional"].Inject a 1×1 tracking pixel. Fires
email.opened webhooks.Rewrite links through our click-tracking proxy. Fires
email.clicked webhooks.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.
Error cases
| Error | HTTP | Cause |
|---|---|---|
domain_unverified | 400 | Sending domain has no verified DKIM/SPF |
address_suppressed | 400 | A recipient is on your suppression list |
validation_error | 400 | Malformed address, missing required field |
quota_exceeded | 402 | Monthly quota + wallet empty |
rate_limit_exceeded | 429 | Slow down |