Skip to main content
Send one message to an iMessage group thread. Pass group_id to post into a thread that already exists, or pass a participants array to create a new group and send its first message in the same call. Group threads are iMessage only. There is no SMS fallback for a group.

Endpoint

Authentication

Every request needs your API key in the Authorization header as a bearer token. Keys start with bluereacher_.
Keys are scoped to your workspace and can send from any active line in it. Keep keys server side. A key in browser or mobile client code can send from your lines.

Two modes

Send exactly one of group_id or participants. Sending both returns 400 invalid_request. Sending neither returns the same error. Store the group_id from the response. It is the only handle that ties your outbound group messages to the inbound replies that come back from that thread.

Request fields

Group limits

These are the documented defaults on every plan. Hit the group creation cap and the API returns 429 rate_limit_exceeded with a retry_after value in seconds. Sends into existing groups keep working while that cap is in effect.

Who you can add

Participants have to clear four checks before the group is created. The checks run on the whole array first, so a bad address means nothing is sent and no group exists.
  • iMessage-capable. Every address must be reachable on iMessage. Run your list through the availability check endpoint before you build the array, and drop anything that comes back unavailable.
  • Not opted out. Any address suppressed by a STOP keyword or a manual opt-out is rejected. A participant who replies STOP inside a group is suppressed across your workspace and excluded from future group sends.
  • Valid format. E.164 phone numbers such as +14155550188, or Apple ID email addresses such as sam@example.com. Anything else is rejected.
  • Distinct. Duplicates are collapsed to one entry. Your sending line is removed from the array if you include it, then added back as the sender, so it never eats one of your 24 slots.
Membership is set once, at creation. To message a different set of people, create a new group. If a participant leaves the thread on their own, the group_id stays valid and later sends reach whoever is left. If every participant leaves, sends to that group_id return 422 group_empty.

iMessage only, no SMS fallback

One-to-one sends through /send-message fall back to RCS, then SMS, when a number cannot receive iMessage. Group sends do not. A group thread is an iMessage object, so there is no green-bubble equivalent to fall back to and no per-participant downgrade. What that means in practice:
  • If any address in participants cannot receive iMessage, the request fails with 422 participant_not_imessage, the response lists the failing addresses, and no group is created.
  • The channel field on the response is always imessage.
  • To reach a non-iMessage number, send it a one-to-one message through /send-message and let the fallback chain handle it.
Filter first, send second. Checking availability before you build the array turns a failed request into a clean group.

Response fields

Group status is reported per message, not per participant. delivered means the thread accepted the message. Read receipts are not broken out by participant on group threads.

Create a group and send

Response:

Send to an existing group

Response:

Keep the group_id and reuse it

Replies and events

Inbound group replies POST to your webhook URL with the group_id attached, so you can thread them against the right deal. from is the individual who replied. to is your line.
Status changes for outbound group messages arrive on the same webhook with the message external_id and the new status. A group message reports one status for the thread, so track state at the message level, not per participant.

Errors

Errors return a JSON body with an error object. Nothing is sent when a request fails validation, including partial group creation.

Practical notes

  • Group sends are for conversations with people who already know you, like a buyer and their colleague, or a rep, an AE, and a prospect. Cold group blasts read as spam and get reported as spam.
  • Keep threads small. Three to five people holds a conversation. Twenty turns into noise, and one STOP from anyone in it suppresses that contact everywhere.
  • Consent is per person. Every participant needs a lawful basis to be messaged, the same as any one-to-one send.
  • Lines are dedicated iMessage lines, managed for you, so no A2P registration required for group iMessage traffic. Any SMS traffic you send on other paths still carries its own registration requirements.