Introduction
CamelMailer is a transactional email platform for the mail your product must send: receipts, password resets, magic links, alerts. A JSON API and an SMTP port, backed by one Rust binary and one PostgreSQL. Run it yourself, or use the EU cloud.
The three API surfaces
Everything is JSON over HTTPS. The full contract lives in the OpenAPI specification. Import it into Postman or Insomnia, or generate a typed client.
| Surface | Base path | Auth |
|---|---|---|
| Messaging: send, read, templates, stats | /api/v2/server | X-Server-API-Key |
| Management: orgs, servers, domains, … | /api/v2/admin | X-Admin-API-Key or Authorization: Bearer |
| Accounts: login, 2FA, SSO | /api/v2/auth | Authorization: Bearer |
For application integration you only need one credential: create an API credential for your mail server in the dashboard (Server → Credentials) and put it in X-Server-API-Key.
How it behaves
- Every response uses one envelope:
{ status, time, data | error }. Branch onerror.code, not on prose. - Error codes are stable:
Unauthorized,Forbidden,NotFound,ValidationError,ParameterMissing, plus the auth-specific ones documented in the spec. - List endpoints paginate with
page/per_page(capped at 100). - The cloud runs the exact open-source code. Your exit path is
git clone+docker compose up.
Where to go next
- Quickstart: send your first mail in five minutes.
- Self-hosting: run the whole platform on your own hardware.
- API reference: sending, querying, stats.
- Templates: the 20-template library and the render API.
