BetaThe V4 API is in beta — endpoints and functionality may change.
Groupsv2

Set group icon

POST/groups/{groupId}/icon

Set the group icon/photo. Requires the group to have a linked chat_guid. Uses multipart/form-data.

The uploaded image is stored in Blooio storage and synced to the linked iMessage chat before the request returns.

Path parameters

groupIdRequiredstring

Unique identifier of the group chat, prefixed with grp_ (e.g. grp_abc123def456). Returned by the create-group and list-groups endpoints.

Headers

AuthorizationRequiredstring

Your API key, sent as a bearer token: Authorization: Bearer <api_key>. Editing this stays in sync with the API key box on the right.

Bearer

Body parameters

form-data
iconRequiredstring

The icon image file to set as the group photo

Returns

successoptionalboolean
group_idoptionalstring
chat_guidoptionalstring

The BlueBubbles chat GUID

icon_urloptionalstring

URL of the uploaded icon (only present on set)

device_syncoptionalobject

Linked chat sync status

chat_guidoptionalstring
syncedoptionalboolean

Whether the icon change was synced to the linked iMessage chat. This will be true on successful set/remove operations.

messageoptionalstring

Status message about linked chat sync

messageoptionalstring

Response codes

200Group icon set successfully
400Invalid request parameters
401Authentication required or invalid
404Resource not found
502Failed to update the linked iMessage chat
503No active number available

Sends a live request with your values and shows the real response below. Your key is stored only in this browser.

Request
curl -X POST https://api.blooio.com/v2/api/groups/grp_abc123def456/icon \  -H "Authorization: Bearer bl_live_..." \  -F "file=@/path/to/file"
Response objectexample
{  "success": false,  "group_id": "grp_a1b2c3d4",  "chat_guid": "obj_a1b2c3d4",  "icon_url": "https://example.com",  "device_sync": {    "chat_guid": "obj_a1b2c3d4",    "synced": false,    "message": "Hello from Blooio!"  },  "message": "Hello from Blooio!"}