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

https://api.rray.app

All endpoints are versioned under /v1. Requests and responses are JSON; errors are RFC 9457 problem details.

The 60-second tour

  1. Create an API key in the dashboard — keys look like rray_live_... and are shown exactly once.
  2. Send your first email — one POST /v1/emails with an idempotency key.
  3. Track it — GET /v1/emails/{id} returns the live delivery status, and GET /v1/emails gives 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 a type URL 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.