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.

SurfaceBase pathAuth
Messaging: send, read, templates, stats/api/v2/serverX-Server-API-Key
Management: orgs, servers, domains, …/api/v2/adminX-Admin-API-Key or Authorization: Bearer
Accounts: login, 2FA, SSO/api/v2/authAuthorization: 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 on error.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