List Messages

Lists messages for an organization using bidirectional cursor pagination (oldest first).

Messages are sorted by inserted_at ascending, with id as a tiebreaker.

Pagination

  • First page: omit cursor (or use direction=forward, the default).
  • Next page (newer messages): use metadata.next_cursor with direction=forward.
  • Previous page (older messages): use metadata.prev_cursor with direction=backward.
  • direction=backward without cursor: returns 422.
  • offset: not supported.

Cursors are opaque, base64-encoded tokens. Each cursor references a page boundary row:
next_cursor is the last row on the page; prev_cursor is the first row.
Both directions use exclusive boundaries, so rows are not duplicated across pages.

The cursor decodes to {"inserted_at": "<ISO8601>", "id": "<uuid>"}.

Invalid or unusable cursors

  • A malformed cursor — not valid base64, not JSON, or missing/extra keys
    (it must have exactly inserted_at and id) — returns a
    422 Unprocessable Content with {"description": "Invalid cursor format"}.
  • A well-formed but stale cursor still works: it's a page boundary, not a
    row lookup, so it paginates from that position with cursor_reset: false.
  • A well-formed but unusable cursor (correct keys but a value that can't
    be a position, e.g. an id that isn't a UUID) resets to the first page
    and returns cursor_reset: true — it does not error.

Repeat the same filter query parameters on every request; they are not encoded in the cursor.

Filters

Optional query filters: conversation_id, contact_id, sequence_id, campaign_id,
user_id, channel_id, integration_id, type, delivery_status, after, before.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Query Params
integer

limit

string

Opaque cursor from a previous response (metadata.next_cursor or metadata.prev_cursor). A malformed cursor returns a 422 with "Invalid cursor format"; a well-formed but unusable cursor resets to the first page with cursor_reset set to true.

string
enum

Pagination direction. forward (default) fetches the next page toward newer messages. backward fetches the previous page toward older messages.

Allowed:
string

conversation_id

string

contact_id

string

sequence_id

string

campaign_id

string

user_id

string

channel_id

string

integration_id

type
array of strings

Filter by one or more message types.

type
delivery_status
array of strings

Filter by one or more delivery statuses.

delivery_status
date-time

ISO 8601 datetime; messages inserted at or after this time.

date-time

ISO 8601 datetime; messages inserted at or before this time.

Responses

Callback
Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json