/v1/chats/{id}
One chat and its participants.
Needs a key with the messages:read scope.
Path parameters
idstringrequiredThe chat’s id.
Starts with
chat_.
Example
/v1/chats/chat_1Hq2LxW9cVbN3mKpRtYs0acurl "https://usebluebot.com/api/v1/chats/chat_1Hq2LxW9cVbN3mKpRtYs0a" \
-H "Authorization: Bearer $BLUEBOT_API_KEY"Response
200: The chat.
idstringrequiredA chat_ id.
Starts with
chat_.object"chat"requirednamestring or nullrequiredThe group’s name, when it has one.
is_groupbooleanrequiredparticipantsarray of stringsrequiredThe other people in the chat.
servicestring or nullrequiredThe chat’s service.
One of
imessage,sms.last_message_attimestamp or nullrequiredThe newest text in the chat.
created_attimestamprequiredWhen BlueBot first saw the chat.
Response200
{
"id": "chat_1Hq2LxW9cVbN3mKpRtYs0a",
"object": "chat",
"name": "Oak St closing",
"is_group": true,
"participants": [
"+15555550123",
"+15555550187"
],
"service": "imessage",
"last_message_at": "2026-11-13T19:41:00.000Z",
"created_at": "2026-11-02T14:00:00.000Z"
}Errors
Every refusal has the same envelope and a page of its own. These are the ones this operation can give.
| Code | Status | What it means |
|---|---|---|
| 401 | The request carried no key, or a key BlueBot doesn’t know: mistyped, revoked, or a test key sent to the live API. | |
| 403 | The key doesn’t carry the scope the endpoint needs. Each endpoint’s reference names its scope. | |
| 429 | Too many requests. A key may make 120 requests a minute. The RateLimit header says how many are left, and Retry-After how long to wait. | |
| 500 | Something went wrong on BlueBot’s side. It was reported. Send the request again; with an Idempotency-Key that is always safe. | |
| 404 | There is no such thing on this account. Ids are prefixed by kind, so a message id starts with msg_. |
Try it
Call this operation from the page with your own key. The key stays in this tab and is forgotten when you leave.