Email Sending API
Send from your own domain server-side, sharing the same quota, billing and limits as the console's email sending. The sender domain must exactly match a connected, active sending domain.
- Authentication: the same user-level API key used by every other open API on the platform
- Send: POST /api/v1/mail/send; the response is grouped by recipient, and bounced_addrs is the only basis for cleaning your list
- Idempotency: with an Idempotency-Key header, repeated submissions of the same key send exactly once — no duplicate deliveries or duplicate billing
- Threading: pass in_reply_to and the full references chain so replies land in the recipient's original conversation
- Quota and domains: query today's remaining quota and usable sending domains to rate-limit inside your own system
- Code samples: minimal working cURL / Node.js / Python / Go / PHP examples, each with idempotency and hard-bounce handling
Frequently Asked Questions
Does HTTP 200 mean every recipient got the email?
No. Results are grouped by recipient: a message to five people can be 2 delivered, 1 queued and 2 hard-bounced. There is no bounce webhook, so bounced_addrs is your only basis for list hygiene — stop sending to those addresses immediately.
When is an Idempotency-Key required?
Whenever your call can retry automatically — timeout retries, job-queue redelivery or SDK built-in retries. Without it one network blip means the recipient gets two emails and you are billed twice, and neither can be rolled back. Use a business key such as the order id.
Related pages: Tovanix API Documentation · SMTP Email API · High-Deliverability · Using the SMTP aggregation API
Loading…