Migration guide

How to migrate from Telesign to Telnyx

A developer's guide to moving messaging traffic from Telesign to Telnyx: channel and compliance differences, request-format mapping, and a step-by-step migration checklist.

Telesign is a digital identity and programmable communications platform offering SMS, RCS, voice, WhatsApp, Viber and email APIs alongside phone verification and fraud-prevention services. Telnyx is a licensed telecom carrier running a CPaaS platform with SMS, MMS, RCS, WhatsApp, voice and email APIs over its own private global IP network. On the messaging.dev Score, Telesign rates 70/100 and Telnyx 78/100; this guide covers what actually changes at the API and account level when you move between them.

Channels, compliance and platform differences

You keep SMS, RCS, WhatsApp, voice and email — all present on both platforms. Moving to Telnyx you gain MMS. You lose Viber, which Telesign supports and Telnyx does not, so any Viber traffic needs an alternative channel or provider. Neither platform offers Facebook Messenger, Telegram or Apple Messages for Business.

Compliance is identical: both are GDPR, ISO 27001, SOC 2 and HIPAA aligned, and both run US and EU servers. Telnyx adds customer-selectable data residency plus Asia-Pacific and South America regions, where Telesign offers EU/US only with no region choice.

Both use pay-as-you-go pricing, but transparency differs: Telesign does not publish per-message rates, while Telnyx lists $0.004 per outbound SMS message part (US, plus carrier fees). Telnyx also publishes a 99.99% uptime SLA where Telesign lists none. Note that Telesign includes free developer/trial credit and Telnyx does not.

SDK coverage overlaps and broadens: both ship Java, Node.js, PHP, Python and Ruby; Telnyx adds Go and .NET (covering C#), plus an SMPP binding alongside REST. Docs quality is rated high for both. Neither provider offers a sandbox.

How the request format differs

Telesign quickstart:

curl -X POST https://rest-ww.telesign.com/v1/messaging \
  -u "CUSTOMER_ID:API_KEY" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "phone_number=15551212&message=Your message here.&message_type=ARN"

Telnyx quickstart:

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!"
  }'

Three things change. The endpoint moves from https://rest-ww.telesign.com/v1/messaging to https://api.telnyx.com/v2/messages. Authentication changes from HTTP Basic (Customer ID as username, API key as password) to a Bearer token in the Authorization header. The payload changes from URL-encoded form fields to a JSON body: the recipient phone_number becomes to, the message body message becomes text, and you now set an explicit sender via from (Telesign’s quickstart carries no sender field). Telesign’s message_type=ARN has no Telnyx equivalent, so drop it.

Migration checklist

  1. Create a Telnyx account, self-onboard, and generate an API key in the dashboard.
  2. Store the key as a secret; you will send it as Authorization: Bearer <key> instead of Basic credentials.
  3. Map request fields: phone_numberto, messagetext, add from, switch the content type to application/json, and remove message_type.
  4. Re-point your sending code to https://api.telnyx.com/v2/messages, or swap in the Telnyx SDK for your language.
  5. Telnyx has no sandbox, so test against the live endpoint with low volume to a phone number you control.
  6. Update delivery/status webhooks to consume Telnyx’s callback payloads instead of Telesign’s.
  7. Run both providers in parallel, comparing delivery and cost.
  8. Cut over once parity holds, and confirm any Viber traffic has a new home.

Watch out for

  • No Viber on Telnyx — plan a replacement for that traffic before cutting over.
  • No free developer credit — you fund the Telnyx account to test.
  • No sandbox — all testing runs against live endpoints.
  • Fewer countries covered — Telesign lists 230, Telnyx 130, so verify your destinations are supported.
  • Explicit sender required — requests without from will behave differently than Telesign’s.

For more detail, see the full how to start with Telnyx guide, or the side-by-side Telesign vs Telnyx comparison.