Zerokit

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
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 queuedsentdelivered 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.

On this page