Skip to content

API reference

A small surface, deliberately. Every endpoint here earns its place.

SadaSend has not launched. These pages describe the API as designed and are published early so you can evaluate the shape of it — but nothing here accepts requests yet.

Emails

EndpointDoes
POST /emailsSend one. html, text, or template + variables. Supports attachments, scheduled_at and dry_run
POST /emails/batchUp to 100 per call, each independently accepted or rejected
GET /emails/:idStatus, full event trail and rendered body
GET /emailsFilter by status, recipient, domain and date
DELETE /emails/:idCancel a scheduled send before it leaves the queue

Sending an email

The API never calls the sending provider synchronously. You get an id in milliseconds; delivery happens on a worker and is reported through webhooks or by polling the message.

POST /emails
{
  "from": "you@yourdomain.com",
  "to": "user@example.com",
  "subject": "Welcome aboard",
  "html": "<strong>It works.</strong>"
}

202 Accepted
{ "id": "26abdd24-36a9-475d-83bf-4d27a31c7def", "status": "queued" }

Dry run

Set dry_run to true and the request is validated, rendered and checked against your suppression list, then returns exactly what would have been sent — without sending it. This is what lets an agent compose and self-correct without touching a mailbox.

{ "from": "…", "to": "…", "subject": "…", "html": "…", "dry_run": true }

Domains, keys, webhooks

EndpointDoes
POST /domainsGenerates a DKIM keypair and returns the exact records to paste
POST /domains/:id/verifyLive DNS lookup with per-record pass or fail and the reason
GET/POST/DELETE /keysScopes, rate limit, recipient allowlist, mode
GET/POST /keys/approvalsRead and clear sends held by an approval-mode key
GET/POST/DELETE /webhooksSigned event delivery, plus POST /webhooks/:id/test
GET/POST/PATCH /templatesVersioned templates, plus POST /templates/:id/render
GET/POST/DELETE /suppressionsRead, add, remove. Removal is audited
GET /statsSends, deliveries, bounce rate, complaint rate over a window