How to migrate from Messente to Bird
A developer-focused guide to moving your messaging integration from Messente to Bird, covering channel, compliance, pricing, and API request differences.
Messente is an Estonian omnichannel business messaging platform offering a single API for SMS, WhatsApp and Viber, plus RCS in select markets. Bird (formerly MessageBird) is a communications infrastructure platform with unified APIs for email, SMS, WhatsApp and voice. On the messaging.dev Score, Messente rates 54/100 and Bird 76/100 — this guide covers what actually changes at the API and account level when you move between them.
What you gain and what you lose
Channels. Both providers cover SMS and WhatsApp. Moving to Bird you gain voice and email as first-class channels. You lose RCS and Viber, which Messente supports but Bird does not — if you send on either today, plan a fallback (typically SMS) before cutting over. Neither provider offers MMS, Telegram, Facebook Messenger or Apple Messages for Business.
Compliance. Both are GDPR-compliant and ISO 27001 certified. Bird adds SOC 2 and HIPAA, which Messente does not list — relevant if you handle regulated or US-healthcare data.
Data residency. Messente stores data in the EU only, with no US option and no region choice. Bird runs both EU and US servers and lets you choose a region; the region is even encoded in your API key prefix (see below).
Pricing. Messente uses quote-based commitment plans, plus an SMS-only pay-as-you-go option with a 500 EUR/month minimum. Bird is usage-based with no platform or seat fees and publishes per-country rates (SMS from $0.0073 to US numbers). Expect a more transactional, self-serve cost model.
Free credit. Messente grants free test credits on signup. Bird’s free tier is email-only (1,000/month) — there is no equivalent free SMS credit, so budget for paid SMS testing.
SDKs, sandbox, docs. Messente ships SDKs for Python, Node.js, PHP, Java, Ruby and C#; Bird ships TypeScript, Python and Go. If you run on PHP, Java, Ruby or .NET you will lose an official SDK and fall back to raw REST. Bird does add a sandbox (Messente has none), and both providers’ docs are rated high quality.
How the request format differs
Messente (source):
curl -X POST 'https://api.messente.com/v1/omnimessage' \
-u YOUR_MESSENTE_API_USERNAME:YOUR_MESSENTE_API_PASSWORD \
-H 'Content-Type: application/json' \
-d '{"to": "+37251000000", "messages": [{"channel": "sms", "text": "hello sms"}]}'
Bird (target):
curl -X POST "https://us1.platform.bird.com/v1/sms/messages" \
-H "Authorization: Bearer bk_us1_..." \
-H "Content-Type: application/json" \
-d '{
"to": "+14155550100",
"from": "Bird",
"text": "Your Bird verification code is 481920. It expires in 10 minutes.",
"category": "authentication"
}'
Three things change. Endpoint: Messente posts every channel to one omnichannel URL (.../v1/omnimessage); Bird uses a channel-specific, region-prefixed host (https://us1.platform.bird.com/v1/sms/messages, or eu1 for the EU region). Auth: swap HTTP Basic auth (-u username:password) for a Bearer token whose bk_us1_ / bk_eu1_ prefix selects the regional host. Payload: the recipient stays to, but Messente nests the body inside a messages array as messages[].text with an explicit channel, while Bird flattens it to a top-level text, adds a from sender and a category (e.g. authentication), and drops the channel field since the endpoint already implies SMS.
Migration checklist
- Create a Bird account, choose your region (EU or US), and generate a region-prefixed API key.
- Map the request fields:
tostays; movemessages[].textto top-leveltext; addfromandcategory; dropchannel. - Re-point your sending code to the region host and switch auth from Basic to Bearer.
- Re-test against Bird’s sandbox before sending any live traffic.
- Re-create delivery/status webhooks on Bird and update your callback handlers to its payload format.
- Run both providers in parallel and compare delivery on your real routes.
- Cut over, then decommission your Messente credentials.
Watch out for
- Lost channels: RCS and Viber are not available on Bird — migrate those flows to SMS or WhatsApp first.
- Fewer SDKs: no PHP, Java, Ruby or C# SDK; expect raw REST if you use those languages.
- No free SMS credit: Bird’s free tier is email-only, unlike Messente’s test credits.
- Country coverage: Bird lists 150 countries versus Messente’s 197 — verify your destinations are covered.
See how to start with Bird for a full quickstart, or the Bird vs Messente comparison for the complete data side by side.