# RRay — Transactional Email API ## Instructions for AI Agents - For clean Markdown of any page, append `.md` to the page URL - For section-specific indexes, append `/llms.txt` to any section URL - For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.rray.app/_mcp/server ## Docs - [Welcome](https://docs.rray.app/docs/get-started/welcome.md): Send transactional email over a simple, predictable HTTP API - [Quickstart](https://docs.rray.app/docs/get-started/quickstart.md): From API key to delivered message in three requests - [Limits & facts](https://docs.rray.app/docs/get-started/limits.md): Every number the API enforces, on one page - [Credentials](https://docs.rray.app/docs/concepts/authentication.md): The two kinds of key, and the headers that bind them to a workspace - [Workspaces](https://docs.rray.app/docs/concepts/workspaces.md): The sending tenant every message belongs to - [Message lifecycle](https://docs.rray.app/docs/concepts/message-lifecycle.md): From accepted to a terminal outcome, and how to read the timeline - [Rate limits](https://docs.rray.app/docs/concepts/rate-limits.md): Fixed per-minute windows, the headers that report them, and how to back off - [Errors](https://docs.rray.app/docs/concepts/errors.md): RFC 9457 problem details with stable machine-readable codes - [Idempotency](https://docs.rray.app/docs/concepts/idempotency.md): Retry sends safely — the same key never sends twice - [Pagination](https://docs.rray.app/docs/concepts/pagination.md): Cursor-based, both directions, constant cost at any history size ## API Docs - API Reference > messages [List Messages](https://docs.rray.app/api/api-reference/messages/list.md) - API Reference > messages [Send Message](https://docs.rray.app/api/api-reference/messages/send.md) - API Reference > messages [Send Message Batch](https://docs.rray.app/api/api-reference/messages/batch.md) - API Reference > messages [Get Message](https://docs.rray.app/api/api-reference/messages/get.md) - API Reference > messages [Get Message Body](https://docs.rray.app/api/api-reference/messages/get-body.md) - API Reference > workspaces [List Workspaces](https://docs.rray.app/api/api-reference/workspaces/list.md) - API Reference > workspaces [Create Workspace](https://docs.rray.app/api/api-reference/workspaces/create.md) - API Reference > stats [Get Stats](https://docs.rray.app/api/api-reference/stats/get.md) - API Reference > billing [Get Usage](https://docs.rray.app/api/api-reference/billing/usage.md) - API Reference > billing [Get Billing](https://docs.rray.app/api/api-reference/billing/get.md) - API Reference > errors [List every error this API can return](https://docs.rray.app/api/api-reference/errors/list.md) - API Reference > errors [Describe one error code (RFC 9457 `type` target)](https://docs.rray.app/api/api-reference/errors/get.md) ## OpenAPI Specification The raw OpenAPI 3.1 specification for this API is available at: - [OpenAPI JSON](https://docs.rray.app/openapi.json) - [OpenAPI YAML](https://docs.rray.app/openapi.yaml)