Sending email
POST /sending/messages accepts a send with your API key as X-API-Key. The sender domain must already be verified (see Domains).
Request rules
envelopeSenderis the sender email address on your verified domain.to,ccandbccare lists of email addresses. Supply at least one recipient in total, with no more than 10,000 per request.content.fromis the visible sender, optionally with a display name.content.subjectis required. Put your message incontent.htmlBody,content.textBody, or both.content.replyTooptionally directs replies to another address.- For attachments, use the separate flow in Attachments.
Responses
200withsuccess: true— accepted for sending. The sending result is indata.result.400— invalid recipient or message content.401— missing, invalid or revoked API key.403— domain or sending permission unavailable for this account.429— sending allowance or rate limit exceeded.
Check what happened next
Acceptance is separate from delivery. Review delivery activity in your account and check an inbox you control before connecting a live signup or checkout flow. Sending is subject to your account plan and configured provider limits. See integration examples for JavaScript, TypeScript, PHP, Go, Rust and Python.Send normal text without HTML
UsetextBody and leave out htmlBody. Newlines are preserved. Tags such as <b> remain literal text.
Offer both plain text and HTML
Provide both bodies in the samecontent object so the receiving email client can choose its preferred format. Write equivalent content in each version. The API does not generate the plain-text version for you.
