Blooio API Reference
Messages

Send a message

Send a message to a chat. The chatId can be: (1) E.164 phone number, (2) email address, (3) group ID (grp_xxxx), or (4) comma-separated list of phone/email for multi-recipient chats. For multi-recipient, an unnamed group is automatically created or reused if the exact participant combination already exists. For explicit groups, the group must have a chat_guid linked.

POST
/chats/{chatId}/messages

Authorization

BearerAuth
AuthorizationBearer <token>

API key authentication. Use your API key as the bearer token.

In: header

Path Parameters

chatId*string

Chat identifier. Can be: (1) phone number in E.164 format (e.g., +15551234567), (2) email address, (3) group ID (grp_xxxx), or (4) comma-separated list of phone numbers/emails for multi-recipient group chats (e.g., +15551234567,+15559876543). All values should be URL-encoded.

Request Body

application/json

text?string|

Message text. Can be a single string or array of strings (each becomes a separate message)

attachments?

Array of attachment URLs or objects with url/name

metadata?

Custom metadata (max 1KB)

use_typing_indicator?boolean

Whether to show typing indicator before sending. Defaults to org preference.

fromNumber?string

E.164 phone number to send from (must be assigned to your org)

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://backend.blooio.com/v2/api/chats/%2B15551234567/messages" \  -H "Content-Type: application/json" \  -d '{}'
{
  "message_id": "string",
  "message_ids": [
    "string"
  ],
  "status": "queued",
  "group_id": "string",
  "group_created": true,
  "participants": [
    "string"
  ]
}
{
  "message_id": "string",
  "message_ids": [
    "string"
  ],
  "status": "queued",
  "group_id": "string",
  "group_created": true,
  "participants": [
    "string"
  ]
}
{
  "error": "string",
  "status": 0
}
{
  "error": "string",
  "status": 0
}
{
  "error": "string",
  "status": 0
}
{
  "error": "string",
  "status": 0
}
{
  "error": "string",
  "status": 0
}