Quickstart
From sign-up to your first sent email in under five minutes.
This guide walks you through the four things you have to do once: sign up, verify a sender domain, issue an API key, and send a message through the API.
Sign up
Head to the sign-in page and create an account. The first time you sign in, the dashboard walks you through creating a workspace. A workspace is the billing + permissions unit; one workspace per team, project, or environment is the usual shape.
Verify a domain
In the dashboard, go to Domains → Add domain and enter the
sender hostname (e.g. acme.com). Zerokit generates DKIM keys
locally, hands the private half to AWS SES, and shows you three
DNS records to publish:
- One TXT for DKIM (
<selector>._domainkey) - One TXT for SPF (on your MAIL FROM subdomain)
- One MX for bounce processing (on the same subdomain)
Publish them at your registrar, then click Verify DNS Records.
SES checks every 30–60 minutes automatically; the dashboard polls
in the background so the status flips to verified without a
manual refresh.
If your DNS provider supports Domain Connect (Cloudflare, GoDaddy, IONOS, etc.) you'll see a one-click "Set up via <Provider>" button that publishes all three records for you. Otherwise, the records are shown as a copy-paste table.
Issue an API key
Go to API Keys → Add API key. Pick a preset:
- Send only — can call
POST /emails. Nothing else. The default for production worker secrets. - Read only — can call
GET /emails,GET /domains. No sending. Use for dashboards or auditors. - Full access — both. Use for back-office tooling.
The plaintext key is shown once — copy it now. We store only a hash; if you lose it, revoke the key and issue a new one.
Send your first email
curl https://api.zerokit.co/emails \
-H "Authorization: Bearer $ZEROKIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from": "Acme <[email protected]>",
"to": "[email protected]",
"subject": "Hello from Zerokit",
"html": "<p>It works.</p>",
"text": "It works."
}'The API returns the email ID immediately; delivery happens in the
background. Watch the Emails tab in your dashboard — the row
should flip from queued → sent → delivered within seconds.
What's next
- Subscribe to delivery events via webhooks so your backend learns about bounces and opens in real time.
- Read the full Send email reference for every field you can pass.
- For workflows like welcome emails, use
templates so copy lives in one
place and
{{variable}}interpolation happens server-side.