NEWPlatform mode — multi-tenant out of the box

Email & SMS infrastructure
built for developers.

One API for transactional email and SMS. Signed webhooks, idempotency, scheduled sends, and real-time logs — so your team spends zero hours on deliverability and a hundred on product.

curl -X POST https://www.sendoka.com/api/v1/emails -H "Authorization: Bearer $SENDOKA_API_KEY"
ACME
Globex
Initech
Stark Ind.
Soylent
Umbrella
Email logs — Sendoka
Dashboard
www.sendoka.com/acme-prod/messages
LIVE
AcmeProductionEmail logs streaming
ENVIRONMENT
Production
sok_live_••••4f2a
SENDING DOMAIN
acme.com
verified · DKIM ok
LAST MESSAGE
msg_01HN8f…
delivered
WEBHOOK
whk_01HN2c…
enabled · signed
STATUS
RECIPIENT
SUBJECT
OPENS
AGE
delivered
alex@acme.com
Welcome to Acme — let's get you set up
0
just now
opened
mira.chen@globex.io
Magic link to sign in
3
4s
clicked
paul.h@sendoka.com
Invoice #INV-2948 is ready
1
11s
delivered
team@notion.so
Your weekly usage report
0
18s
bounced
dev+test@stripe.com
Password reset requested
32s
delivered
sam@linear.app
Deploy succeeded: prod/frontend
2
1m
Built for modern teams

Infrastructure you'd build yourself.
Just without the 18 months.

Ship in 60 seconds

One key, one REST endpoint. Idempotent by design, signed webhooks, structured errors with request_id. Works from any HTTP client.

Multi-tenant ready

Platform mode lets you sub-organize your customers as tenants. Isolated suppressions, webhooks, domains, templates. One SES account, one bill.

Deliverability, solved

Automatic domain warmup, DKIM + SPF + DMARC guidance, RFC 8058 one-click unsubscribe. Auto-suppression on bounce or complaint.

Developer experience

One REST endpoint. No SDK lock-in.

Idempotency keys, signed webhooks, and structured errors with request_id on every response. Works from curl, fetch, requests, or any HTTP client your stack already has.

curlfetchpython
curl -X POST https://www.sendoka.com/api/v1/emails \
  -H "Authorization: Bearer $SENDOKA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "Acme <hello@acme.com>",
    "to": ["alex@acme.com"],
    "subject": "Welcome to Acme 👋",
    "template": "welcome-v4",
    "variables": {"first_name": "Alex"}
  }'
# → { "id": "msg_01HN…", "status": "sent" }
Real-time observability

Every send, every event, live.

Stop tailing log aggregators. Watch delivery, opens, clicks, bounces, and complaints as they happen — with the raw payload one click away.

  • Pause/resume streams, replay webhook deliveries, cancel scheduled sends
  • Tag messages with arbitrary labels — filter by feature, cohort, environment
  • Full SES headers, DKIM results, and provider responses — no more support tickets
  • Cursor-paginated history, CSV export with formula escaping
Search by recipient, subject, or msg_id…LIVEdeliveredalex@acme.comWelcome to Acme — let's get you set up2sopenedmira.chen@globex.ioMagic link to sign in4sclickedpaul.h@sendoka.comInvoice #INV-2948 is ready11sbounceddev+test@stripe.comPassword reset requested32sdeliveredteam@notion.soYour weekly usage report1mTIMELINE14:02:18.204api.accepted14:02:18.244queued14:02:18.572delivered14:03:42.003open · Gmail (web)
Templates & audiences

Ship the right email,
not just an email.

Versioned templates with typed {{variables}}. Preview in-app, test-send to yourself, then fan out to a 10k-contact audience in one call.

  • Versioned slugs — reference welcome-v2 and never break subscribers
  • Missing-variable detection at send time — no 3am blank emails
  • Audiences drop suppressed addresses pre-insert, chunk by byte count
  • RFC 8058 one-click unsubscribe baked in, honored automatically
A
Acme
hello@…
Welcome to Acme 👋
Hi Alex, thanks for signing up. Verify your email to finish setup.
Verify email →
A
Acme Billing
billing@…
Receipt · $49.00
Pro plan · Feb 02 – Mar 02
INV-2948 · paid
A ✓B ✓C !
SMS, unified

OTPs, alerts, 2-way chat.
One API. One dashboard.

Send SMS and MMS through the same key as email. STOP/HELP auto-suppression. Automatic opt-out compliance.

  • Long codes, toll-free, short codes — provisionable by API
  • Idempotency-Key on every send so queue retries never double-deliver
  • STOP / HELP keyword handling is automatic — no compliance landmines
  • Replies flow to signed webhooks with 8-attempt retry backoff
+1 (628) 555-0100
Hi Mira — your Acme verification code is 487 201. Expires in 10 minutes.
14:02 · delivered
thanks!
Welcome aboard. Reply HELP for support or STOP to unsubscribe at any time.
14:03 · read
Straight from the source

Numbers you can read in the code.

2
channels — email + SMS behind one API key
3,000
free emails / month, plus 500 SMS
24h
Idempotency-Key replay window on sends
8
webhook delivery attempts, exponential backoff
What ships in the box

No testimonials yet — we're early.
Here's what's actually built.

Two channels, one surface

Email and SMS share the same keys, webhooks, templates, suppressions, and logs. One integration, one dashboard, one bill.

Test mode, end to end

Sends, verifications, even SMS registration are simulated on sok_test_* keys — nothing reaches a provider, nothing is billed. Point CI at it.

Platform tenants

Building on top of us? Pass a tenant reference per customer and each one gets isolated suppressions, quotas, and webhook streams.

Signed webhooks

Every delivery is HMAC-signed and recorded. Failures retry with exponential backoff; past deliveries replay from the dashboard with one click.

Idempotency as a contract

Send an Idempotency-Key and a retry replays the recorded outcome instead of sending twice; a changed body is a 409, never a surprise.

Audit log + data export

Key mutations are written to an org-scoped audit trail you can browse and export. GDPR data export and erasure ship on every plan.

Pricing

Simple. Transparent. Boring.

Only pay for what you send. No per-seat fees, no per-contact fees. Full comparison table and FAQ on the pricing page.

Hacker

$0/ forever
Side projects, prototypes, first 10k users.
  • 3,000 emails / 500 SMS / mo
  • 1 verified domain
  • 7-day logs · Idempotency · Webhooks
  • Test mode with sok_test_* keys
Start free
MOST POPULAR

Team

$39/ mo + metered
Growing teams sending real volume.
  • 10,000 emails ($0.40 / 1k after) · 1,000 SMS ($0.0075 each)
  • Unlimited domains · 90-day logs
  • Platform mode · Tenants · Audiences
  • Per-key rate limits + IP allowlist
  • 99.99% uptime target · email support
Start free

Pay as you go

$5/ mo + metered
Spiky, seasonal or unpredictable volume you would rather not size in advance.
  • No included volume — billed from the first send
  • $0.40 / 1k emails · $0.0075 per SMS segment
  • Never hard-capped — sends meter, they don’t 429
  • Unlimited domains · tenants · platform mode
  • 2 IP pools · 25 keys · 25 seats
Start free

Need terms no self-serve tier carries — an audit-log archive, EU + US data residency, migration help? Talk to sales. Enterprise is a negotiated contract, not a plan you buy from this page.

Your first email is 60 seconds away.

Free forever plan. No credit card. No “sales call” ambush. Just an API key.