Welcome
Send transactional email over a simple, predictable HTTP API
rray is a transactional email platform: you POST an email, we hand it to our
MTA fleet and stream delivery outcomes (sent, delivered, bounced, deferred)
back into the API, where you can query them at any time.
Base URL
All endpoints are versioned under /v1. Requests and responses are JSON;
errors are RFC 9457 problem details.
The 60-second tour
- Create an API key in the dashboard — keys look like
rray_live_...and are shown exactly once. - Send your first email — one
POST /v1/emailswith an idempotency key. - Track it —
GET /v1/emails/{id}returns the live delivery status, andGET /v1/emailsgives you a cursor-paginated, filterable feed.
Head to the Quickstart to run all three now, or browse the API Reference — every endpoint there is annotated with the exact errors it can return.
Design principles you can rely on
- Machine-readable everything: every error carries a stable dotted
code(email.not_found) and atypeURL that resolves to the public error catalog. - Safe retries: sending is idempotent when you pass
Idempotency-Key; reads are always safe. - No surprises at scale: list endpoints paginate by cursor and never slow down as your history grows.