Every resource in BlueBubbles — chats, messages, attachments, and handles — is identified by a globally unique identifier (GUID). These GUIDs are not random UUIDs; they follow a structured, human-readable format that encodes the resource type and the address or identifier of the participant involved. Understanding the format helps you construct correct identifiers when calling SDK methods and interpret the values you receive in API responses.Documentation Index
Fetch the complete documentation index at: https://bluebubbles.anmho.com/llms.txt
Use this file to discover all available pages before exploring further.
Chat GUID format
Chat GUIDs identify an iMessage conversation. They follow a three-part semicolon-separated format:| Segment | Values | Description |
|---|---|---|
service | iMessage, SMS | The messaging service used for the conversation. |
type | + (phone), - (email/other) | Indicates whether the address is a phone number. |
address | phone number or email | The contact address, or a random ID for group chats. |
Direct conversation GUIDs
For one-on-one conversations, the address is the phone number or Apple ID email of the other participant.Always include the country code in phone numbers. For US numbers, the country
code is
+1, so a number like (555) 000-1234 becomes +15550001234.Group chat GUIDs
Group chats use a server-generated random identifier in the address segment rather than a participant’s contact info. You cannot construct a group chat GUID yourself — you discover it by querying the chats list.Message GUIDs
Individual messages within a chat each carry their own GUID. Message GUIDs are opaque strings assigned by the iMessage infrastructure and returned to you in API responses. You use them when reacting to a message, replying to it, or fetching a specific message.Attachment GUIDs
Attachments — images, videos, audio messages, and files — each have a GUID returned when you query a message that contains one. Use the attachment GUID to fetch metadata or download the file.Handle addresses
Handles represent individual participants — effectively a contact address used as an iMessage endpoint. The handle address is the raw phone number or email, without theiMessage;+; prefix that wraps a chat GUID.
How GUIDs appear in SDK calls
Most SDK methods that target a specific chat accept achatGuid parameter. Pass the full iMessage;+;... or iMessage;-;... string.
tempGuid — a client-generated identifier you create (typically a UUID v4) used to deduplicate the message on the server side. This prevents the same message from being delivered twice if your request is retried.