Messages (v6)

Get prerecorded messages

Returns a keyset-paginated page of the user's prerecorded messages (MessageV6), ordered by last_updated_at so a later sync also surfaces renamed or edited ones. Successor to GET /v3/messages/prerecorded. Paging semantics are identical to GET /v6/messages/updates: anchor the first page with date + direction, follow cursor = next_cursor while has_more is true, and de-duplicate by id. 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.

get/v6/messages/prerecorded

Request

  • Base URL: https://api.carbonvoice.app
  • URL: https://api.carbonvoice.app/v6/messages/prerecorded
  • Auth: one of:
    • API key in header pxtoken
    • OAuth 2 (implicit, authorization URL https://api.carbonvoice.app/oauth/authorize)

Query parameters

datestring date-time

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.

cursorstring

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.

direction'older' | 'newer' required
limitnumber

Maximum number of messages to return (default: 200).

languagestring

Language for message content (e.g. transcript, audio). Original language used if not provided.

presigned_urlboolean

Include presigned URLs for audio files (default: false).

Response

has_moreboolean required

True when more messages remain beyond this page. When false, the client has reached the end of the result set for this direction.

next_cursorstring nullable

Opaque cursor marking where this page ended. While has_more is true, pass it back as cursor (same direction) to fetch the next page; it pages strictly, with no overlap. With direction=newer it is also returned on the final page (has_more false) and echoed back by an empty page reached via a cursor: that one marks the newest message seen. Store it and send it as cursor with direction=newer on a later sync to receive what was created or changed since. While the boundary is recent it is a resume cursor and may also re-deliver up to 4s of already-seen messages behind that boundary, so de-duplicate by id. Once the boundary has settled it pages strictly, so a quiet feed returns empty pages. With direction=older it only continues the backfill and is null once has_more is false. Null on an empty first page (anchored by date); anchor by date again.

Changes

No recorded changes to this operation across all 1 revision of this API.