Blue Reacher
Blue Reacher documentation1 / 50
Blue Reacher

API reference and integration guide

Everything you need to send blue-bubble iMessages from your CRM: the API, webhooks, integrations, deliverability, and the rules of the channel.

Base URL

https://api.bluereacher.com/v1

Sandbox

X-BlueReacher-Sandbox: true

Blue Reacher sends and receives iMessage (with SMS fallback) through a REST API and native CRM integrations, on dedicated iMessage lines with no A2P registration required. Attach files and voice memos, send tapbacks and typing indicators, and catch every reply on a webhook.

What the platform does

OperationMethodReference
Send a messagePOST /v1/messagesSend a message
Send to a groupPOST /v1/messages with a group targetGroups
Send a native voice memoPOST /v1/voice-memosRich messaging
Track delivery, read a threadGET /v1/status/{id}, GET /v1/conversationsStatus and conversations
Check iMessage availabilityPOST /v1/capabilityCheck iMessage
Manage contacts and opt-outs/v1/contacts, /v1/opt-outContacts
List lines with live capacityGET /v1/devicesLines
Tapbacks, typing, read state/v1/reactions, /v1/typing, /v1/readRich messaging
Receive eventsSigned webhooksWebhooks

How it works

Get a line. Your dedicated iMessage number is provisioned during white-glove setup. It is yours alone, never shared and never recycled.

Authenticate. Every request carries Authorization: Bearer brk_your_api_key. Keys are created in the dashboard and can be rotated at any time.

Send. One POST with a to and a message. iMessage first, SMS fallback when the number cannot take a blue bubble.

Listen. Replies, delivery states and opt-outs arrive on your webhook as signed events with a stable event_id.

Send your first message
curl https://api.bluereacher.com/v1/messages \
  -H "Authorization: Bearer brk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+14155550142",
    "message": "Thursday 10am still work for the walkthrough?"
  }'
The reply, on your webhook
{
  "event": "message.received",
  "event_id": "9f3c1b7e-2a64-4d8f-b0e5-c7a92d4f8e13",
  "timestamp": "2026-08-31T07:41:22.310Z",
  "data": {
    "phone_number": "+14155550142",
    "content": "Works. Send the invite.",
    "direction": "incoming",
    "service_type": "iMessage"
  }
}

Key concepts

ConceptWhat it means
LineA dedicated iMessage number on your account. Every send has one, and it never belongs to anyone else.
ThreadOne conversation per number, held for years. Follow-ups land inside the history rather than starting fresh.
Delivery channelWhich rail actually carried a message: imessage or sms. Resolved per send, returned on every message.
WebhookYour HTTPS endpoint. Inbound messages, delivery states and opt-outs POST to it, signed so you can verify them.
API keyA brk_ bearer token, scoped to your workspace, rotatable and revocable in the dashboard. Test keys (brk_test_) run the whole surface against a simulator.

Opt-outs are read on every inbound message, honoured account-wide within seconds, and recorded in an exportable audit trail. You do not have to implement suppression yourself, and you cannot accidentally send around it.

Start here

Connect your stack

Build a campaign

Going to production

On this page