Skip to content

Calls, texts and email. One API.

Send texts, take calls and deliver email with one key and one webhook.

POST /v1/messages
PUT /v1/numbers/:id/route
POST /v1/emails
200 OK · 41msapi.mittis.ai
1.01¢per SMS segment
1.69¢per voice minute
$0.35per 1,000 emails
$1.49per phone number / month

Lowest rates shown, at high monthly volume. Prices change with volume, plus a $50/mo platform fee. See every tier →

The API

A few requests. Every channel.

Send a text, send an email, or set how a number rings. Every request returns an id you can follow on the same webhook.

1// Send a text
2const res = await fetch('https://api.mittis.ai/v1/messages', {
3  method: 'POST',
4  headers: { Authorization: `Bearer ${process.env.MITTIS_KEY}` },
5  body: JSON.stringify({
6    from: '+18045550142',
7    to: '+18045550199',
8    body: 'Your technician is 10 minutes away.',
9  }),
10});
11
12const message = await res.json();
201 Created · 45ms
{
  "id": "msg_01J8ZQ4K7MW3",
  "status": "queued",
  "channel": "sms",
  "segments": 1,
  "to": "+18045550199",
  "from": "+18045550142",
  "createdAt": "2026-09-24T14:02:11Z"
}
Webhooks

One event stream for every channel.

Point one URL at Mittis and receive every reply, delivery receipt, call and email event in a single signed format.

Signed payloads. Every request carries an x-mittis-signature header with a timestamp, so replays are rejected.
Stable contracts. You get Mittis events, never raw carrier JSON that changes under you.
Replayable. Browse and re-send any event from /v1/events.
POST https://yourapp.com/hooks/mittislive
  • smsmessage.statusdelivered · msg_01J8ZQ6P
  • emailemail.openeddana@example.com
  • voicecall.completed3m 12s · recorded
  • voicecall.transcript.deltacaller: "Thursday afternoon?"
  • smsmessage.received"Yes, 2pm works"
  • emailemail.delivereddana@example.com
  • voicecall.ringing+1 804 555 0199 → front desk
  • smsmessage.statusdelivered · msg_01J8ZQ4K
Built in

The boring parts, already done.

Compliance, numbers and multi-tenant billing are where messaging projects stall. They ship with the API.

Direct with The Campaign Registry

We register as a CSP, so your 10DLC brand and campaigns stay yours if you ever leave.

Multi-carrier routing

Traffic runs over more than one carrier, so a degraded route fails over instead of failing.

Number search and porting

Search by area code, buy in one call, or port numbers in with a checklist and a date.

Sub-accounts

Give each of your customers an isolated account with its own keys, numbers and usage.

Scoped API keys

Issue and revoke keys per environment or per sub-account without touching the rest.

Blocklists and opt-outs

STOP replies and blocked numbers are enforced before anything leaves your account.

Usage you can query

Messages, minutes and spend per account and per period from /v1/usage.

Automatic A2P approval

We draft, check and file your brand and campaign for you, aiming for approval within 48 business hours.

Prepaid wallet

Auto-recharge at a threshold you set, so a busy week never stops your sends.

Pricing

One platform fee. Pay for what you use.

Rates drop automatically as volume grows. Move the sliders to see your month.

Platform$50Per account. API, console, softphone, registration tools./ month
SMS1.01¢At high volume, inbound or outbound. Starts at 1.13¢.as low as · / segment
Voice1.69¢At high volume. Starts at 1.88¢.as low as · / minute
Email$0.35At high volume. Starts at $0.75.as low as · / 1,000
Phone numbers$1.49Local or toll-free, over 1,000 numbers. Starts at $1.65.as low as · / month
Recording · Transcription0.27¢ · 1¢At high volume. Starts at 0.3¢ · 1.11¢.as low as · / minute each
Prices change with monthly volume. Lower tiers apply automatically.

Estimate your month

Estimated monthly total
$241.40
$50 base · sms $113.00 · voice $37.60 · email $37.50 · numbers $3.30

Volume tiers applied. Campaign registration is a one-time $22.50.

See full pricing and FAQ →

Send your first message
in five minutes.

Create a key, verify a number, and make one request.