Quickstart
This takes you from a new account to an email delivered through the API. Allow about fifteen minutes; most of it is waiting for DNS.
- Create a workspace.
- Add your domain and an address on it.
- Create an API key.
- Send an email.
Create a workspace
Sign up at app.koltrix.com and name your workspace. You are its owner; invite teammates later from Settings → Team.
New workspaces start on a trial with tighter limits. They are listed under Limits and quotas.
Add your domain and an address
Open Settings → Domains & addresses and click Add domain. Enter the domain you want to send from, such as
acme.com. Koltrix shows five DNS records to add at your DNS provider, each with a copy button:Record Name What it does Ownership (TXT) _koltrixProves you control the domain. MX @Delivers your domain's mail, including replies, to Koltrix. SPF (TXT) @Lets Koltrix send for the domain. If you already have an SPF record, Koltrix shows a merged one to replace it with. DKIM (TXT) kx1._domainkeySigns your mail so it can't be forged. DMARC (TXT) _dmarcTells receivers what to do with forgeries. Custom domains and DNS explains each record, with notes for Cloudflare, GoDaddy, Namecheap and Route 53.
Click Check again after you have saved them. DNS usually takes a few minutes and sometimes a few hours. The domain becomes verified when all five records check out.
Then click Add address on the domain and add the mailbox you will send from, such as
[email protected]. The API only sends from addresses added this way; any other From address is refused, even on a verified domain.Create an API key
Open Settings → API keys and click Create key. Name it (for example "Local development") and keep the default scopes,
readandsend.The key starts with
kx_and is shown once. Copy it now:export KOLTRIX_KEY="kx_..."Check it works:
curl https://api.koltrix.com/api/v2/me -H "Authorization: Bearer $KOLTRIX_KEY"Send an email
curl https://api.koltrix.com/api/v2/emails \ -H "Authorization: Bearer $KOLTRIX_KEY" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: quickstart-1" \ -d '{ "from": "[email protected]", "to": ["[email protected]"], "subject": "Hello from Koltrix", "body_html": "<h1>It works</h1><p>Sent with the Koltrix API.</p>" }'Koltrix answers
202 Accepted:{ "id": "6f1c2a9e-3b7d-4e41-9a52-0c8d1f3e7b20", "status": "queued", "queued": true, "tracking_url": "/api/v2/messages/6f1c2a9e-3b7d-4e41-9a52-0c8d1f3e7b20", "recipient_count": 1 }The email arrives a few seconds later. A copy is in your Koltrix Sent folder, and reply to it from your personal inbox to see the reply arrive in Koltrix.
Check its status:
curl https://api.koltrix.com/api/v2/messages/6f1c2a9e-3b7d-4e41-9a52-0c8d1f3e7b20 \ -H "Authorization: Bearer $KOLTRIX_KEY"statusmoves fromqueuedtosent, andopen_countgoes up when you open it. (A404in the first second means it is still queued; try again.)The same request in Node, Python, Go and PHP is in Sending email.
If it didn't arrive
| What you see | What to do |
|---|---|
403 "from address … is not registered" | Add that exact address to the domain (step 2). The message says whether the domain itself is verified yet. |
401 | The key is wrong or revoked. Check you copied all of it, including kx_. |
status is bounced | The error field has the receiving server's reason. A typo in the address is the usual cause. |
status is sent but nothing arrived | Look in your spam folder, then check the domain's records in Settings: an unverified DKIM record is the usual cause. |
More in Troubleshooting.
Next
- Webhooks: hear about sends, bounces and opens without polling.
- SMTP relay: for software that only speaks SMTP.
- Receiving replies: what happens when customers write back.
- AI assistants: connect Claude, ChatGPT or Cursor to your inbox.