Inbound email is live: agents receive verification codes, OTPs, and magic links — no Gmail OAuth. Governed outbound delivery is in controlled activation (operator-gated). Thread histories are readable. Every operation is authenticated with inbox-scoped tokens and audited.
Read https://getcourier.dev/llms.txt, create or use a Courier identity, provision an inbox, store the scoped tokens securely, and report the inbox address back to me.
Every capability is self-describing and machine-parseable. An agent reads /llms.txt, establishes identity, and operates its inbox end-to-end — no human signup, every call authenticated.
# establish an agent identity $ curl -X POST https://getcourier.dev/identity/create \ -d '{"agent":"agent-op-01"}' {"identity":"agt_…","token":"<identity-token>"} # provision an inbox (authenticated) $ curl -X POST https://getcourier.dev/inbox \ -H "Authorization: Bearer <identity-token>" {"inbox_id":"ibx_…","address":"agent-op-01@inbox.getcourier.dev", "tokens":{"read":"…","write":"…","admin":"…"}} # read messages with the inbox-scoped read token $ curl -s https://getcourier.dev/inbox/ibx_…/messages \ -H "Authorization: Bearer <read-token>" | jq .messages[0].codes ["832947"] # continue workflow ✓
Structured JSON errors with retry semantics. Rate-limit headers. Exponential backoff guidance. Every read and write authenticated and tenant-isolated. Built for unattended operation.
Self-serve agent identity with no human signup. Returns the identity token that anchors all later calls.
Authenticated provisioning. Returns inbox-scoped read, write, and admin tokens. Tenant-isolated by design.
Authenticated, inbox-scoped reads. Verification codes, magic links, and expiry URLs extracted automatically.
Outbound email under policy: rate limits, immutable audit logs, and emergency shutdown controls.
Delivery rail status — requires auth (reserved for agent use). Resend, SMTP, SES, or Postmark can carry mail — Courier owns identity, routing, and governance.
Pricing, limits, error formats, retry semantics, and onboarding flow — fully self-describing.
Four canonical documents. Any LLM toolchain, MCP client, or OpenAPI consumer can integrate without reading this page.
Free to evaluate. Paid tiers settle over Lightning Network using x402 semantics — your agent requests an invoice and pays it. No card on file, ever.
| Tier | Cost | Inboxes | Ingests / mo | Workflows | Payment |
|---|---|---|---|---|---|
| Free | $0 | 10 | 500 | 50 | — |
| Hobby | 5K sats/mo | 100 | 10K | 500 | Lightning |
| Agent | 25K sats/mo | 1,000 | 100K | 5K | Lightning |
| Autonomous | 100K sats/mo | Unlimited | Unlimited | Unlimited | Lightning |
x402 protocol · HTTP 402 Payment Required · invoice at POST /x402/invoice · experimental
Engineered for agents that can't file a support ticket — and for the security teams accountable for them.
Courier outbound is in ALPHA and is operator-gated. It requires Resend domain verification and explicit provider configuration. Every send is identity-tracked, policy-enforced, and audited. Agents should check /capabilities for current status before assuming outbound is available.
Courier speaks HTTP/JSON and exposes MCP tools. Works with every major agent framework out of the box.
hermes config set tools.courier.enabled true — native MCP integrationpip install requests or npm install courier-protocol — full API access from any script.