Get message updates
Returns a keyset-paginated page of messages (MessageV6) for the user ordered by last_updated_at — surfaces messages that were recently created or changed (e.g. edited, labeled), not just newly created ones — optionally scoped to a conversation, wrapped with has_more and next_cursor. Paging semantics are identical to GET /v5/messages/updates: anchor the first page with date + direction, then follow cursor = next_cursor while has_more is true, and de-duplicate by id. Send include_unchanged_content=false to skip content the client already has: with direction=newer, a message whose content has not changed since the sync began (the date anchor, or the cursor stored from the previous sync) is then returned without content, since only its core fields and the requesting user's state changed; keep the content already held for that id. A missing content on this route never means the content was removed. MessageV6 differs from v5 in three ways: thread_id (the parent id, or the message id itself when it is not a reply) replaces parent_message_id; the audio rendition and its transcript, AI summary, language flags and time codes are nested under content, with the waveform as a compact base-36 string; and the requesting user's own state (heard_ms, label_ids, notify, notes, last_heard_update) is included where the read path carries it.
Request
- Base URL: https://api.carbonvoice.app
- URL: https://api.carbonvoice.app/v6/messages/updates
- Auth: one of:
- API key in header pxtoken
- OAuth 2 (implicit, authorization URL https://api.carbonvoice.app/oauth/authorize)
Query parameters
Anchor date to page from (older/newer than this instant). Required for the first page; omit it on subsequent pages and pass cursor instead. Ignored when cursor is provided.
Opaque pagination cursor returned as next_cursor from a previous response. When provided, it supersedes date. A cursor issued while has_more was true continues strictly from the last message of the previous page (no overlap). The cursor a final direction=newer page issues marks the newest message seen: sent back later it returns what was created or changed since, and may include up to 4s of already-seen messages behind that boundary while it is recent, so a message whose write landed late is not lost; de-duplicate by id. A quiet feed converges to an empty page. Keep direction the same across a cursor sequence.
Maximum number of messages to return (default: 200).
Conversation (channel) ID to scope the results to. User must have access to this conversation.
Language for message content (e.g. transcript, audio). Original language used if not provided.
Include presigned URLs for audio files (default: false).
Return content on every message (default: true). Send false to omit it, with direction=newer, from messages whose content has not changed since the sync began (the date anchor, or the cursor stored from the previous sync): only their core fields and the requesting user's state are returned, so keep the content already held for that id.
Response
Changes
No recorded changes to this operation across all 1 revision of this API.