Check iMessage availability
POST /v1/capability: look up whether phone numbers can receive iMessage before you send, up to 100 per call.
POST https://api.bluereacher.com/v1/capabilityBatch lookup, up to 100 phone numbers per call. Tells you whether each number can take an iMessage before you spend a send on it. Requires read permission. Test keys work here: the simulator returns realistic imessage and sms answers marked "sandbox": true and never queues a real probe.
Numbers the platform already knows answer instantly from observed delivery state. Unknown numbers can queue a live probe (probe: true, the default) when the workspace has probes enabled and an online line with probe quota; probes are silent, the person on the other end sees nothing. Probe quota is 50/day per line.
Why check before you send
- You stop burning sends. An iMessage aimed at an Android number falls back to SMS. Knowing first lets you route or skip.
- Your reply rate stays honest. Filter the never-deliverables out and campaign metrics describe real conversations.
- Your lines stay healthy. Only messaging people who can receive keeps delivery signals clean.
- Lists rot. People switch phones. A check the morning of a send catches the number that left iMessage in July.
Request
| Field | Type | Required | Description |
|---|---|---|---|
phones | array | yes | Up to 100 E.164 numbers |
probe | boolean | no | Queue live probes for unknown numbers. Default true |
curl -X POST https://api.bluereacher.com/v1/capability \
-H "Authorization: Bearer brk_your_api_key" \
-H "Content-Type: application/json" \
-d '{ "phones": ["+16465550119", "+13035550101"] }'Response
{
"results": [
{
"phone": "+16465550119",
"status": "imessage",
"confidence": "confirmed",
"last_checked": "2026-08-30T14:41:53Z",
"probe_queued": false
},
{
"phone": "+13035550101",
"status": "pending",
"confidence": null,
"last_checked": null,
"probe_queued": true
}
],
"probes_enabled": true,
"probes_queued": 1
}status | Meaning |
|---|---|
imessage | Delivers as a blue bubble |
sms | Falls back to SMS |
unknown | Not known and no probe queued |
pending | Probe queued; re-check shortly |
confidence distinguishes confirmed (observed delivery) from inferred. The practical pattern: run the check over your list before a campaign, send the imessage group with confidence, and decide per use case whether the sms group is worth green-bubble outreach.

