Skip to content

01/Developers

Built for builders.

Mittis is an API with a UI bolted on, not the other way around. If you can write one POST request, you can send a message — and everything you'd reach for next is already there.

REST + JSONWebhooksIdempotent sends
Send a messagePOST /v1/messages
curl https://api.mittis.ai/v1/messages \
  -H "Authorization: Bearer $MITTIS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "+18045550142",
    "to":   "+18045550199",
    "body": "Your technician is 15 minutes out."
  }'
Get a predictable response201 Created
{
  "id": "msg_3kQ2m9",
  "status": "queued",
  "from": "+18045550142",
  "to": "+18045550199",
  "segments": 1,
  "price": "0.008",
  "created_at": "2026-06-12T14:03:22Z"
}
React to delivery, in real timeWebhook event
POST /your/webhook        // we send you events
{
  "type": "message.delivered",
  "data": {
    "id": "msg_3kQ2m9",
    "status": "delivered",
    "delivered_at": "2026-06-12T14:03:24Z"
  }
}

02/API principles

The boring guarantees that make an API a joy.

No surprises is a feature. Here's what we hold ourselves to.

Predictable JSON

Stable field names and shapes. We version the API and won't break yours under you.

Idempotency keys

Send the same request twice with the same key and it sends once. Retries never double-charge or double-deliver.

Webhooks for everything

Queued, sent, delivered, failed, inbound. Signed payloads, with retries and replay so you never miss an event.

Errors that help

Every error has a code, a human-readable message, and the field at fault. No guessing what “400” meant.

Real rate-limit headers

We tell you your limit, your remaining budget, and when it resets — on every response.

Your data, exportable

Pull raw message and event history whenever you want it. It's yours; we never hold it hostage.

Documentation

Full API reference is on the way.

We're finishing developer docs, SDKs, and a sandbox. Want early access or a reference walkthrough before they're public? Tell us what you're building and we'll get you set up directly.

An API you won't have to apologize for.

Flat pricing means you can model your costs in code. Carrier independence means your integration outlives any one vendor.