Product

REST API

Send with one JSON request.

POST /v1/emails
POST /v1/emails
Authorization: Bearer srs_live_...
Idempotency-Key: reset-4821
Content-Type: application/json

{
  "from": "Sender Name <info@example.com>",
  "to": ["user@example.net"],
  "subject": "Reset your password",
  "html": "<p>Click to reset your password.</p>"
}

Authentication

Send a scoped srs_live_ key from the dashboard as a Bearer token. Each key carries its own scopes (emails:send, webhooks:write …); revoked or expired keys are rejected with 401.

Core resources

  • POST /v1/emails — queue one message
  • POST /v1/emails/batch — queue up to 100 messages in one request
  • GET /v1/emails — list recent messages
  • GET /v1/emails/{id} — message status
  • DELETE /v1/emails/{id}/schedule — cancel a scheduled send

Response model

202 means queued, not inboxed. 403 can indicate missing scope or an unverified domain. 422 blocks a suppressed recipient. 429 indicates rate limiting.

Current service limits

The REST API rejects attachments. It accepts only In-Reply-To, References, List-Unsubscribe and List-Unsubscribe-Post custom headers (up to 8). Hosted mail is separate: the web client supports up to 20 attachments, 25 MiB total; the released desktop client has a 10 MiB sending limit. HTTP 202 and email.accepted mean acceptance into the processing pipeline; SMTP acceptance does not guarantee delivery or inbox placement.