How to migrate from Mitto to Infobip
A developer-focused guide to moving your messaging integration from Mitto to Infobip, covering channel and compliance differences, request-format changes, and a step-by-step cutover checklist.
Mitto is a Swiss omnichannel CPaaS provider offering SMS, RCS, WhatsApp, Viber, Telegram, Facebook Messenger, and voice APIs. Infobip is a global omnichannel communications platform that covers those same channels plus MMS, Apple Messages for Business, and email. On the messaging.dev Score, Mitto rates 48/100 and Infobip 96/100 — this guide covers what actually changes at the API level when you move between them.
What you gain and what you lose
Channels: You lose nothing. Every channel Mitto supports — SMS, RCS, WhatsApp, Viber, Facebook Messenger, Telegram, and voice — is also available on Infobip. You gain three: MMS, Apple Messages for Business, and email.
Compliance: Both hold GDPR and ISO 27001. Infobip additionally lists SOC 2 and HIPAA, so no certification is lost in the move.
Data residency: Mitto publishes no EU or US data residency. Infobip offers both EU and US servers, a data-residency choice, and additional regions (APAC, Latin America, Middle East, Africa).
Developer experience: Infobip ships official SDKs (Java, C#, Python, PHP, Go, Node.js) where Mitto ships none; docs quality is rated high vs. medium; and Infobip includes free developer credit where Mitto does not. Both provide a sandbox, and both expose REST and SMPP — Infobip adds SMTP.
Pricing: Mitto is pay-as-you-go. Infobip is primarily quote/contract-based with some pay-as-you-go options, so expect a sales step for production pricing.
For a fuller side-by-side, see Infobip vs Mitto.
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
}'
Infobip:
curl -X POST 'https://xxxxxx.api.infobip.com/sms/2/text/advanced' \
-H 'Authorization: App YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{"messages":[{"from":"InfoSMS","destinations":[{"to":"15551234567"}],"text":"Hello from Infobip"}]}'
Three things change:
- Endpoint / base URL: Mitto posts to a single fixed host,
https://rest.mittoapi.net/sms. Infobip posts to an account-specific, versioned path,https://{base_url}.api.infobip.com/sms/2/text/advanced, where{base_url}is unique to your account. - Authentication: Mitto uses
X-Mitto-API-Key: YOUR_API_KEYand additionally requires your source IP to be whitelisted. Infobip usesAuthorization: App YOUR_API_KEY— a standardAuthorizationheader, with no IP allowlist in the quickstart. - Payload shape: Mitto sends one flat object —
from,to(a string),text, and an optionaltestflag. Infobip wraps everything in amessagesarray; each message keepsfromandtext, but the recipient moves into adestinationsarray of{ "to": "..." }objects. Mitto’s top-leveltestflag has no direct equivalent in Infobip’s advanced-text payload.
Migration checklist
- Create an Infobip account, self-onboard, and generate an API key; note your account-specific
{base_url}. - Map the fields:
from→ per-messagefrom,to→destinations[].to,text→text; drop Mitto’stestflag. - Re-point your sending code to the new base URL and swap the
X-Mitto-API-Keyheader forAuthorization: App. - Re-test in Infobip’s sandbox before sending live traffic.
- Update your delivery/webhook callbacks to Infobip’s format so status handling keeps working.
- Run both providers in parallel and compare delivery on real traffic.
- Cut over, then decommission the Mitto integration once volumes look right.
For the from-scratch walkthrough, see How to start with Infobip.
Watch out for
- Pricing needs a quote. Unlike Mitto’s straightforward pay-as-you-go, Infobip is primarily quote/contract-based, so production pricing may require contacting sales.
- Fewer listed countries. Infobip lists 190 countries covered vs. Mitto’s 230; verify your specific destination routes are still supported.
- Per-account base URL. Hard-coding
rest.mittoapi.netwon’t translate — you must send to your own{base_url}host. - No IP allowlist to rely on. Mitto’s source-IP whitelist adds a network-layer guard; Infobip’s quickstart authenticates by API key alone, so protect that key accordingly.