Skip to main content

Workspaces & roles

A workspace (organization) owns domains, API keys, messages, and credit accounts. Membership roles gate mutations: Owners manage billing and deletion, Admins operate infrastructure, Members send, Viewers read.

Domains & DNS

Adding a domain creates pending DNS instructions. Background verification jobs check SPF, DKIM, and DMARC. Only verified domains become eligible for active sending.

# Example SPF (illustrative)
v=spf1 include:amazonses.com ~all

API keys

Create a key in the dashboard and send with Authorization: Bearer. The secret is shown once. Revoked keys stop authenticating immediately.

Send and webhooks

POST /api/emails checks the API key, the verified from-domain, and the suppression list, then enqueues a durable job. Workers call the provider. Customer webhooks receive sent, delivered, bounced, and failed events.

Credits & billing

Plans and credit packs live in Postgres. Subscriptions reference plan rows; credit accounts update through an immutable ledger. Marketing pricing reads the same tables your billing UI will.

Operators

GET /api/health reports database and queue readiness. Workers consume BullMQ queues for domain verification, sends, and webhook delivery. The admin command center observes jobs without bypassing tenant authz for customer data mutations.