Docs
Documentation
Everything here works against a sandbox key today. Every page has a markdown mirror — append .md to any URL — and llms.txt indexes the lot for your coding agent.
Quickstarts
| Guide | For |
|---|---|
| Node.js | Server-side JavaScript/TypeScript with @email-fast/nodejs |
| Next.js | App-router API routes and server actions |
| curl / REST | Any language — the raw HTTP API |
| Python | The generated Python SDK |
| PHP | The generated PHP SDK |
| Go | The generated Go SDK |
| Ruby | The generated Ruby SDK |
| SMTP relay | Anything that already speaks SMTP — no code changes |
| Browser (frontend-only) | @email-fast/browser — EmailJS-compatible |
Core concepts
- Authentication —
Authorization: Bearer ef_live_...; key prefixes:ef_live_(secret),ef_pub_(browser-safe public),ef_sandbox_(dry-run),ef_rk_(restricted). - Idempotency — pass
idempotency_key(or anIdempotency-Keyheader); retries are replay-safe for 90 days. - Streams —
transactional,marketing, andjourneystreams are tracked and suppressed independently, so a newsletter unsubscribe never blocks a password reset. - Events & webhooks —
email.sent|bounced|opened|clicked|complained|unsubscribed|inbound, signed with timestamped HMAC-SHA256. - Sandbox — sandbox keys (ef_sandbox_…) that run the real pipeline dry: real validation, real rendering, real events, a hosted capture inbox — and no email leaves.
Framework guides
Working recipes for the stack you're on: Next.js · React · Node · Express · Fastify · Vue · Svelte · Python · Django · PHP · Laravel · Ruby · Rails · Go
Reference
- OpenAPI specification — machine-readable, kept in sync with the API
- Migration & compatibility — SendGrid, Mailgun, Postmark, EmailJS
- For AI agents — llms.txt, markdown mirrors, MCP
- Glossary — DKIM, DMARC, VERP, warmup, and the rest of the alphabet soup