From zero to a sent message.
One API today, more on the way.
The hosted HTTP API is live now and self-describing. Typed SDKs, a hosted MCP endpoint, and a packaged CLI are on the roadmap — same auth, same audit when they land.
HTTP API
The live surface today. A Bearer-authenticated REST API that describes itself: fetch /llms.txt and /openapi.json straight off the running server, then call it with any HTTP client.
Typed SDKs
Typed clients for TypeScript and Python, generated from the same OpenAPI document the API serves today. Until they ship, the spec is the contract — generate a client or call the API directly.
MCP server
Inbox, message, thread, draft, and attachment tools exposed over the Model Context Protocol so an agent calls mail directly. A hosted endpoint is on the roadmap.
CLI
Provision, inspect, and debug from your shell or CI — check DNS, tail events, and explain delivery decisions inline. A packaged CLI is on the roadmap; today the API does all of this.
Predictable, resource-shaped.
Every resource has list, read, and scoped mutations. Bulk replace requires an expected version; single-entry mutations are idempotent. All mutations are audited.
Full reference →Event stream,
ReBAC-filtered.
An append-only stream of delivery, policy, auth, DNS, and lifecycle events — readable through the API and console, ReBAC-filtered so you only ever see events your credential is authorized to see. Outbound webhook delivery to your own endpoint is on the roadmap.
{ "type": "message.delivered", "inbox": "ibx_a1f9", "decision": "accept", "sender": "dana@brightwave.io", "auth": "dmarc_aligned", "etag": "v18" }