Blooio API Reference
One HTTP API for iMessage, SMS, RCS, and WhatsApp. Send and receive messages, manage contacts and chats, run polls and groups, and subscribe to a unified event feed.
Quickstart
Send your first message in minutes.
Authentication
Authenticate with your API key.
Webhooks
Receive events in real time.
API Reference
Every endpoint, generated from the spec.
Send a message
curl -X POST https://api.blooio.com/v2/api/chats/%2B15551234567/messages \
-H "Authorization: Bearer bl_live_..." \
-H "Content-Type: application/json" \
-d '{ "text": "Hello from Blooio!" }'curl -X POST https://api.blooio.com/v4/messages \
-H "Authorization: Bearer bl_live_..." \
-H "Content-Type: application/json" \
-d '{
"to": "+15551234567",
"content": { "type": "text", "text": "Hello from Blooio!" }
}'A note on v3
v3 was our API for enterprise customers, layering more programmatic features on top of messaging — including purchasing phone numbers directly through the API. This functionality is rolling out in v4 as well, bringing those enterprise capabilities to the unified API.
Explore the reference
Account
1Authentication and account information
Numbers
2Manage phone numbers linked to your account
Contact Card
3Manage and share your iMessage contact card (Name & Photo)
Contacts
9Manage contacts (phone numbers and emails)
Groups
7Manage contact groups
Group Members
3Manage group membership
Webhooks
6Manage webhook subscriptions
Webhook Logs
2View and replay webhook deliveries
Chats
5View conversations and messages
Messages
4View individual messages and their status
Typing Indicators
2Control typing indicators for conversations
Read Receipts
1Mark conversations as read
Reactions
1Add or remove reactions to messages. Supports classic iMessage tapbacks (love, like, dislike, laugh, emphasize, question) and emoji reactions (e.g. +😂, -😂).
Polls
2Send native iMessage polls and retrieve poll results with vote counts. Poll events are delivered via separate webhook event types (poll.received, poll.created, poll.voted) and require webhook_type 'poll' or 'all'.
Location
3FindMy contact location tracking
FaceTime
1Initiate FaceTime calls
Phone Numbers
3Phone number validation, formatting, and NANPA geocoding. Requires an Enterprise plan (Dedicated Enterprise).
Analytics
3Deliverability and risk-tolerance reporting for your numbers. **Scope** — Reports are organization-scoped: any API key in the organization returns the whole organization's dedicated fleet, regardless of which numbers a particular key is attached to. **Eligibility** — Risk scoring is only available for dedicated numbers (Dedicated Commercial or Dedicated Enterprise); shared, trial, and inbound numbers return `403 dedicated_plan_required`. Dedicated numbers are the only lines whose per-number usage is meaningful to score. **What the score means** — Each number gets a `risk_score` from 0 (lowest risk) to 100 (highest), mapped to a `risk_level`: `low` (0-29, healthy), `medium` (30-59, monitor), `high` (60-100, likely to be filtered/suspended by carriers). The score is the clamped sum of ten additive risk factors (see `RiskFactors`); positive factor scores raise risk, negative scores (bonuses) lower it. High **inbound** volume and engagement lower risk; high **outbound** volume, bursts, low reply rates, and templated content raise it. **How it's computed** — Fully real-time: every request recomputes from Postgres over the requested window (there is no cache on the report endpoints). The metric fan-out is collapsed into a handful of org-wide `GROUP BY allocation_id` queries that run on a single database connection, so cost is roughly independent of fleet size. Conversation-initiation signals read the `channel_thread_stats` rollup (one row per conversation, holding its earliest message + direction); engagement, contacts, and bursts scan the windowed `messages`; message similarity derives a SimHash per outbound message at read time. **Window** — Defaults to the trailing 30 days; override with `days` or an explicit `from`/`to` epoch-ms range (see the per-endpoint query params).
Account
7Authenticated account, sender numbers, and contact cards.
Location
4Find My friend locations (device passthrough).
Channels
5Sending surfaces (iMessage/Blooio, Twilio, WhatsApp, RCS) and their capabilities.
Priorities
5Channel routing / number pools: ordered sets of channels walked by priority for the agnostic send.
Contacts
15Contacts, their channel identities, capabilities, timeline, and tags.
Chats
14Conversations and chat-level actions (typing, read, contact card, background).
Messages
13Send messages and read message history, status, events, and reactions.
Polls
3Native iMessage polls (Blooio channels).
Groups
8Group chats on group-capable channels (Blooio, WhatsApp).
Webhooks
8Webhook subscriptions and delivery attempts for inbound + lifecycle events.
Events
2Unified activity feed across messages, polls, groups, reactions, and typing.
Phone Numbers
3Phone number lookup and geocoding (enterprise plans).