10DLC
Migration guides
Migrate campaigns using the Infobip NNID

Migrate campaigns using the Infobip NNID

Copy as markdown

|

View as Markdown

These migration steps are for Campaign Service Provider (CSP) and Connectivity Network Provider (CNP) customers who want to migrate their 10DLC campaigns to Infobip using the Infobip Net Number ID (NNID). Infobip provides a streamlined process, manages the NNID and Operator Service Record (OSR) updates, and works with you to ensure your migration is successful.

IMPORTANT

This guide applies to CSP/CNP customers migrating 10DLC campaigns using the Infobip NNID.

If you are managing your own NNID, see the Migrate campaigns using your own NNID guide instead.


Eligibility

Before you begin, ensure you meet the following eligibility criteria:

CriteriaDescription
CSP/CNP statusOnly CSP/CNP can migrate campaigns within The Campaign Registry (TCR) ecosystem.
Letter of AuthorizationYou must provide a signed Letter of Authorization (LOA) not older than 30 days, authorizing Infobip to move the numbers to the Infobip NNID.


Prerequisites

Complete the following prerequisites before starting the migration process. Only begin the migration after Infobip completes and confirms all items.

  • Number import enablement. Your account must be enabled for self-service number import before you can use the Numbers API (opens in a new tab). Request this enablement through your account manager.

  • Number pools (if applicable). If your campaign uses number pooling, contact your account manager, as this requires an additional revision for your campaign. Number pools are managed by Infobip.

  • Migration API enablement. Your account must be enabled for API access to the migration service. Request this enablement through your account manager. Once enabled, you can trigger migration requests as described in the migration steps below.

NOTE

Only begin the migration process after Infobip completes and confirms all prerequisites.



Migration steps

The migration follows a six-step process. Your campaign moves through the following statuses:


PendingIn MigrationRegistered

1. Import your numbers into the Infobip platform

Import all numbers associated with the campaign into the Infobip platform. This ensures the numbers are available for selection during the migration request.

Use the following Numbers API endpoint to import your numbers:

POST https://api-ny2.infobip.com/numbers/2/numbers/import

Example request:

curl --location 'https://api-ny2.infobip.com/numbers/2/numbers/import' \
--header 'Content-Type: application/json' \
--header 'Authorization: App {apiKey}' \
--data '{
    "numbers": [
        "19546899283"
    ],
    "country": "US",
    "type": "VIRTUAL_LONG_NUMBER",
    "capabilities": [
        "SMS",
        "MMS"
    ],
    "skipOsrUpdate": true
}'

Request parameters:

ParameterTypeRequiredDescription
numbersArrayYesList of phone numbers to import.
countryStringYesThe country code for the numbers (for example, "US").
typeStringYesThe number type. Use VIRTUAL_LONG_NUMBER for 10DLC numbers.
capabilitiesArrayYesThe capabilities of the numbers (for example, SMS, MMS).
skipOsrUpdateBooleanYesSet to true to skip OSR updates during import, since Infobip manages the NNID.
IMPORTANT

If your account is not enabled for self-service number import, contact your account manager for assistance.


2. Elect campaign to Infobip through TCR

Initiate the migration in TCR by calling the following endpoint:

POST /campaign/{campaignID}/migrateCnp/{upstreamCnpID}
NOTE

The Infobip CNP ID is OPMKT. See the TCR CSP API documentation (opens in a new tab) for full details.


3. Call the Infobip migration API

After electing the campaign to Infobip in TCR, trigger the Infobip migration endpoint:

POST https://{baseUrl}/number-registration/1/campaigns/migrate

Example request:

curl --location 'https://{baseUrl}/number-registration/1/campaigns/migrate' \
--header 'Content-Type: application/json' \
--header 'Authorization: App {apiKey}' \
--data '{
    "name": "migrateCampaignCOJD655",
    "externalCampaignId": "COJD655",
    "numberPoolID": null,
    "numbers": ["19168361160"],
    "isClientManageNnid": false
}'

Request parameters:

ParameterTypeRequiredDescription
nameStringYesThe name of the campaign.
externalCampaignIdStringYesYour TCR Campaign ID.
numberPoolIDStringNoThe number pool ID to associate with this campaign. Set to null if not applicable. If you need a number pool for your campaign, contact your account manager first.
numbersArrayYesList of phone numbers for this campaign. Maximum of 200 numbers per request.
isClientManageNnidBooleanYesSet to false so that Infobip manages the NNID and OSR updates on your behalf.

Example response:

{
    "id": "44e8c5fc-1f17-4f4c-9519-6606c907075f",
    "referenceId": null,
    "applicationId": "default",
    "entityId": null,
    "name": "migrateCampaignCOJD655",
    "createdDate": "2026-03-04T09:08:43Z",
    "lastModifiedDate": "2026-03-04T09:08:43Z",
    "stage": "IN_MIGRATION",
    "priority": null,
    "campaignFeedback": null,
    "externalCampaignId": "COJD655",
    "numbers": null,
    "externalDocuments": [],
    "numberKeys": [],
    "numberPreviews": [],
    "type": "EXTERNAL_TEN_DIGIT_LONG_CODE"
}

Response fields:

FieldDescription
idThe unique Infobip UUID assigned to this campaign. Use this ID for all subsequent references.
applicationIdThe application context for the campaign (defaults to default).
nameThe campaign name as provided in the request.
createdDateTimestamp when the migration request was created (ISO 8601).
stageCurrent status of the campaign. Shows IN_MIGRATION immediately after submission.
externalCampaignIdYour original TCR Campaign ID.
typeThe campaign type. Shows EXTERNAL_TEN_DIGIT_LONG_CODE for 10DLC migrations.

4. In migration: Continue sending through current provider

After submitting the migration request, your campaign transitions to the In Migration status (confirmed by "stage": "IN_MIGRATION" in the API response). During this phase, continue sending traffic through your current upstream provider. You do not need to take any action while Infobip processes the migration.


5. Infobip updates the OSR record

Infobip attempts to override the NNID on the OSR records for your numbers automatically. If your numbers belong to a provider that does not allow automatic OSR overrides, the Infobip Registrations team requests formal approval of the OSR update using the LOA you provided.

For more details about this step, discuss with your account manager and use the shared list of the numbers you plan to migrate. You can also reach the Registrations team directly.

If your campaign is stuck in the In Migration status for an extended period, contact the Registrations team to process the OSR update for your numbers.

IMPORTANT

As soon as Infobip updates the OSR record, downtime begins. Your numbers stop sending and receiving messages until the migration completes and you switch traffic to Infobip. Plan this step carefully and coordinate with your team to minimize impact.


6. Migration complete: Switch traffic to Infobip

Infobip automatically accepts your campaign from TCR, provisions it with the carriers, and notifies you through a webhook event. The webhook payload includes:

  • campaignStatus=REGISTERED
  • The associated Infobip UUID

Once all numbers from the campaign are assigned to the Infobip NNID, the campaign moves to REGISTERED status.

IMPORTANT

Once you receive the REGISTERED webhook, switch your traffic to Infobip. The migration is complete and your downtime ends.



Subscribe to webhook events

To receive campaign status change notifications, subscribe through one of the following:



Best practices

  • Start small. Begin with a few low-volume campaigns to learn the process and enable Infobip to quickly resolve any issues.

  • Share in advance. Provide Infobip with a list of campaigns and associated numbers you plan to migrate ahead of time.

  • Coordinate OSR updates. Since Infobip manages the NNID and OSR updates, ensure your LOA is current (not older than 30 days) and that you have communicated the full list of numbers to your account manager.







Need assistance

Explore Infobip Tutorials

Encountering issues

Contact our support

What's new? Check out

Release Notes

Unsure about a term? See

Glossary
Service status

Copyright @ 2006-2026 Infobip ltd.

Service Terms & ConditionsPrivacy policyTerms of use