Get messages from multiple chats in bulk
Returns the most recent messages for up to 50 chats in a single request, keyed by the input chat UUID (the counterpart user UUID).
This is the bulk counterpart to GET /chats/{userUuid}/messages. It collapses N per-chat round trips into one POST and is intended for initial-sync flows and incremental refreshes.
Per-key errors are reported inside the 200 response body so a single unreachable chat never collapses the whole request — consumers keep the rest and only retry the failing keys.
Modes:
- Default: returns the latest
limitmessages per chat, newest first.hasMoreindicates older messages exist. - Incremental (
sinceMessageUuid): returns messages strictly published after the cursor message’s publish date, newest first.
Out of scope: Backwards history pagination (a before cursor). Use oldestMessageUuid from the response as the anchor when that ships.
Scope required: read:chat
Note: Maximum 50 chat UUIDs per request. Failed keys are reported as { "error": "not_found" } — this covers both chats that don’t exist and chats the caller isn’t part of.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
API version to use for the request
"2025-06-26"
Body
Array of chat UUIDs (counterpart user UUIDs) to fetch messages for (1-50)
1 - 50 elementsOptional cursor for incremental walks: returns only messages strictly after this message's publish date in each chat
Maximum messages to return per chat (1-50, default: 20)
1 <= x <= 50Response
Per-chat messages or error for each requested chat. Always 200 when the request itself is valid, even if every key fails.
Map of input chat UUID to messages or a per-key error