Get messages
Returns a keyset-paginated page of messages (MessageV6) for the user ordered by created_at, optionally scoped to a conversation, wrapped with has_more and next_cursor. Page the first request with date + direction, then keep re-issuing with cursor = next_cursor (same direction) while has_more is true; stop when it is false. Do not infer end-of-results from data.length < limit. With direction=newer the final page still carries next_cursor and an empty page reached via a cursor echoes it back: it marks the newest message seen. Store it and send it as cursor with direction=newer later to receive what is new. While that boundary is recent it is a resume cursor and may also re-deliver up to 4s of already-seen messages behind it; de-duplicate by id. With direction=older next_cursor only continues the backfill and is null once has_more is false. Paging semantics are identical to GET /v5/messages. 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
- 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).
Response
Changes
No recorded changes to this operation across all 1 revision of this API.