Migration guide

How to migrate from Mitto to Telnyx

A developer-focused guide to moving your messaging integration from Mitto to Telnyx, covering channel, compliance, and API-request differences.

Mitto is a Swiss omnichannel CPaaS provider offering SMS, RCS, WhatsApp, Viber, Telegram, Facebook Messenger and voice APIs. Telnyx is a licensed telecom carrier running a CPaaS platform over its own private global IP network. On the messaging.dev Score, Mitto rates 48/100 and Telnyx 78/100. This guide walks through the concrete, data-backed differences you will hit when moving your integration from one to the other.

What you gain and lose

Channels. Both providers keep SMS, RCS, WhatsApp and voice. Moving to Telnyx you gain MMS and email, neither of which Mitto offers. You lose Viber, Facebook Messenger and Telegram — Telnyx does not support those channels, so any traffic on them needs a separate plan. Neither provider supports Apple Messages for Business.

Compliance. Both hold GDPR and ISO 27001. Telnyx adds SOC 2 and HIPAA, which Mitto does not list.

Data residency. Mitto publishes no EU or US data-residency option. Telnyx runs both US and EU servers, offers a data-residency choice, and additionally lists Asia-Pacific and South America regions.

Pricing. Both are pay-as-you-go. Mitto does not publish a starting SMS price; Telnyx lists $0.004 per outbound SMS message part (US, plus carrier fees) and bills per message part.

Tooling. Mitto ships no official SDKs; Telnyx provides seven (Node.js, Python, Ruby, Go, Java, .NET, PHP), and docs quality rises from medium to high. Both expose REST and SMPP. One regression: Mitto offers a sandbox and Telnyx does not. Neither provider offers free developer credit.

How the request format differs

Mitto:

curl -X POST 'https://rest.mittoapi.net/sms' \
  -H 'Content-Type: application/json' \
  -H 'X-Mitto-API-Key: YOUR_API_KEY' \
  -d '{
    "from": "Mitto SMS",
    "to": "41751231234",
    "text": "Hello, World!",
    "test": true
  }'

Telnyx:

curl -X POST https://api.telnyx.com/v2/messages \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "from": "+15551234567",
    "to": "+15559876543",
    "text": "Hello, world!"
  }'

Endpoint. The base URL changes from https://rest.mittoapi.net/sms to https://api.telnyx.com/v2/messages.

Authentication. Mitto sends the API key in a custom X-Mitto-API-Key header and requires your source IP to be whitelisted. Telnyx uses a standard Bearer token in the Authorization header and no IP allowlist.

Payload. The field names are identical — from, to, text — so the body maps almost one-to-one. Two things change: numbers must be E.164 with a leading + on Telnyx (+15559876543), whereas Mitto’s example uses a bare number (41751231234) and an alphanumeric sender ID (Mitto SMS); and Mitto’s "test": true dry-run flag has no Telnyx equivalent, so drop it.

Migration checklist

  1. Create a Telnyx account (self-onboarding) and generate an API key.
  2. Map request fields: keep from/to/text, convert all numbers to E.164, replace alphanumeric sender IDs with a Telnyx-provisioned number, and remove the test flag.
  3. Swap auth: replace the X-Mitto-API-Key header with Authorization: Bearer, and drop the IP-whitelisting step.
  4. Re-point your sending code to https://api.telnyx.com/v2/messages.
  5. Re-test. Telnyx has no sandbox, so validate against the live endpoint with a small set of real recipients at low volume rather than a test environment.
  6. Update webhooks and delivery callbacks to consume Telnyx’s delivery-report format.
  7. Run both providers in parallel, compare delivery, and cut over once your metrics match.

Watch out for

  • Lost channels. Viber, Facebook Messenger and Telegram are gone; re-home that traffic before cutover.
  • No sandbox. Unlike Mitto, Telnyx has no test environment, so plan for live, low-volume testing.
  • Narrower country list. Telnyx lists 130 countries covered versus Mitto’s 230 — confirm your destinations are supported.
  • E.164 everywhere. Non-E.164 numbers and alphanumeric sender IDs that worked on Mitto may be rejected by Telnyx.

For a from-scratch setup, see how to start with Telnyx, or review the full Mitto vs Telnyx comparison.