K
Koltrix docs

Newsletters

Lists, subscribers, broadcasts, drip sequences, double opt-in.

Create a list

curl https://api.koltrix.com/api/v2/lists \
  -H "Authorization: Bearer kx_..." \
  -d '{
    "name": "Weekly product updates",
    "from_name": "Acme Team",
    "from_address": "[email protected]"
  }'

Add a subscriber

curl https://api.koltrix.com/api/v2/lists/$LIST_ID/subscribers \
  -H "Authorization: Bearer kx_..." \
  -d '{
    "email": "[email protected]",
    "name": "Ada Lovelace",
    "tags": ["beta", "vip"]
  }'

If the list has require_double_opt_in = true, the new subscriber starts in pending status and gets a confirmation email. They become active after clicking the confirm link.

Bulk import (CSV)

In the dashboard, Newsletters → list → Import CSV. Required column: email. Optional: name, tags (semicolon-separated). Duplicates are upserted, not errored.

Campaigns

Compose in the dashboard, choose a list, hit Send. The worker:

  1. Loads active subscribers (skipping unsubscribed and bounced).
  2. Checks the warmup budget for today; refuses to start if it would exceed.
  3. For each recipient:
    • Generates a unique unsubscribe_token link in the body
    • Inserts a tracking pixel + rewrites outbound links through /t/c/:token
    • Sends via SMTP, writes outbound_messages
    • Fires message.sent (or message.bounced) webhook

Segments

Per-list smart filters (status, tags, signup date, engagement). Send campaigns to a segment instead of the full list. UI: Newsletters → list → Segments.

Drip sequences

Automations: when a subscriber is added to a list (or tagged), run an ordered series of steps with delays.

Step 1 (T+0h):    Welcome
Step 2 (T+24h):   Setup guide
Step 3 (T+72h):   "How's it going?" check-in

Configure under Newsletters → Sequences. Active sequences automatically schedule the next step on subscribe.

Templates

Reusable HTML emails. Store them once under Settings → Templates, reference them from campaigns or the API. Placeholders you can use in any body:

  • {{name}} — subscriber name
  • {{email}} — recipient email
  • {{unsubscribe_url}} — personalized one-click link

Suppression

Recipients that bounce hard (SMTP 5xx) are added to the suppression list automatically. Anyone who clicks unsubscribe is suppressed too. You can also add / remove manually under Settings → Suppressions.