Blue Reacher
Migrating from another provider11 / 46

Migrating from another provider

What moves through the API, what does not, and the order to cut over safely: contacts, opt-outs, outbound sends and inbound replies.

Contacts, opt-outs, sending and receiving all move through the API. Message history does not. Start with the opt-outs.

What moves

  • Contacts. Create each one with POST /v1/contacts in the right workspace_id. Carry your CRM record id in custom_fields.
  • Opt-outs. Turn on outbound Do Not Disturb for each opted-out contact with PATCH /v1/contacts/{id}/dnd. Sends to a contact with outbound DND on are refused with 409.
  • Outbound. Send with POST /v1/messages.
  • Inbound replies. Register an inbound webhook URL on each workspace. See Inbound webhooks.

What does not move

  • Message history. There is no route for importing past messages. Keep an export from your old provider.
  • Devices. Lines are paired in the dashboard, not through the API.

Steps

  1. Export your contacts, with phone numbers in full international format, and your complete opt-out list with timestamps. Keep both somewhere you control.
  2. Register your app and install it on the account. See Custom integrations.
  3. Create the workspaces you need, or list the existing ones with GET /v1/workspaces and note their ids.
  4. Import contacts:
curl -X POST https://api.bluereacher.com/v1/contacts \
  -H "Authorization: Bearer <ACCESS_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "workspace_id": 7,
    "phone_number": "+15551234567",
    "first_name": "Dana",
    "custom_fields": { "crm_id": "YOUR_CRM_ID" }
  }'
  1. Apply the opt-out list before you send anything:
curl -X PATCH https://api.bluereacher.com/v1/contacts/1234/dnd \
  -H "Authorization: Bearer <ACCESS_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{ "direction": "outbound", "status": "enable_all" }'
  1. Register the inbound webhook on each workspace and confirm a delivery arrives.
  2. Repoint your outbound code at POST /v1/messages. Send to a number you own first.
  3. Cut over one segment, check replies arrive, then move the rest.

Keep your own opt-out list as well. DND is the enforcement; your list is the record. See Opt-out handling.

Checklist

  • Contacts and opt-outs exported before the old account closes
  • App registered and installed
  • Contacts imported with CRM ids in custom_fields
  • Outbound DND set for every opted-out contact
  • Inbound webhook registered on every workspace and a delivery confirmed
  • One segment sent and checked before the rest

On this page