Transactional email over a plain HTTPS API, with verified domains, templates, suppressions, and webhooks
send.dev is a transactional email API. You verify a domain (or a single address), then send email with one HTTPS request. Delivery runs on Amazon SES with per-account reputation isolation, and every message is tracked so you can poll its status or list your history.
The API is HTTP + JSON with nothing to install. Every example in these docs uses curl, Node's fetch, or Python's requests.
https://api.do.dev/v1/sendhttps://api.send.dev/v1/... is an alias for the same API with identical behavior (for example https://api.send.dev/v1/emails/send). Use whichever you prefer; the docs use api.do.dev.
Every request carries an API key created in the dashboard:
Authorization: Bearer do_live_...See Authentication for details, including the X-API-Key header and legacy sk_live_ keys.
| Method | Path | Description |
|---|---|---|
| POST | /v1/send/emails/send | Send an email |
| POST | /v1/send/emails/batch | Send up to 100 emails |
| GET | /v1/send/emails/{id} | Get an email |
| GET | /v1/send/emails | List emails |
| Method | Path | Description |
|---|---|---|
| GET | /v1/send/domains | List domains |
| POST | /v1/send/domains | Add a domain |
| POST | /v1/send/domains/{id}/verify | Check DNS and verify |
| DELETE | /v1/send/domains/{id} | Delete a domain |
| GET | /v1/send/senders | List sender addresses |
| POST | /v1/send/senders/verify | Verify a single address |
| GET | /v1/send/senders/{id}/status | Check verification status |
| DELETE | /v1/send/senders/{id} | Delete a sender |
| Method | Path | Description |
|---|---|---|
| GET | /v1/send/templates | List templates |
| POST | /v1/send/templates | Create a template |
| GET | /v1/send/templates/{id} | Get a template |
| PUT | /v1/send/templates/{id} | Update a template |
| DELETE | /v1/send/templates/{id} | Delete a template |
| GET | /v1/send/suppressions | List suppressions |
| GET | /v1/send/suppressions/{email} | Get a suppression |
| POST | /v1/send/suppressions/{email}/unsuppress | Unsuppress an address |
| GET, POST | /v1/send/u/{token} | Hosted unsubscribe link (no API key) |
| Method | Path | Description |
|---|---|---|
| GET | /v1/send/tenants | Sending status and trust stage |
Webhook endpoints are managed at the platform level (https://api.do.dev/v1/webhooks). The Send API emits send.email.sent, send.email.delivered, send.email.bounced, send.email.complained, and send.email.unsubscribed. See Webhooks.
Create a key, verify a domain, and send your first email with curl.
Every request field, attachments, templates, and error responses.
DKIM, SPF, and the ownership TXT record, plus the limits that apply to new accounts.
One field adds a working one-click unsubscribe to marketing mail.
The error envelope and every error code.