List a List's version history
Every recorded edit to this List, newest first, with who made it
— a person, an API key or an OAuth client — and a one-line summary of
how each version differs from the one before it. History is capped at
the 50 most recent edits.
Version N is the state the definition was in BEFORE update N+1
was applied: a snapshot is written by the edit that replaces it, so
the newest row is the state immediately before the most recent edit
and the current state has no row until the next one. Workflows are
the exception: a workflow snapshots its POST-update state, so its
newest version row is its current definition and its numbering runs
one ahead of every other kind's.
Path parameters
id string required The List's UUID or its org-unique key.
Query parameters
limit integer optional Page size (1–200). Default 50.
cursor string optional Opaque cursor returned from the previous page.
Responses
Errors follow the RFC 7807 problem format — see the error reference.
data array<object> required Each entry in data:
version_number integer required created_at string<date-time> required When the snapshot was taken, which is when the edit that REPLACED this state was made — not when this state was authored.
actor object required Who made one edit. The label is resolved server-side — a person's name, an API key's name, an OAuth client's name — because the name lives in a different table per kind and a client can read none of them. It never carries a key, a token or a client secret; a revoked credential falls back to a short form of its id rather than rendering blank.
Fields of actor:
kind string enum required unknown is an honest value rather than an error: it is what rows predating actor recording carry, and what a write reached with no credential records.
One of: user, api_key, oauth_client, system, unknown
id string optional The users / api_keys / oauth_clients id, per kind. Absent for system and unknown.
label string required session string optional The HTTP request id of the edit — the same value on the matching audit row, so the two can be joined. It is NOT an MCP session id: the MCP transport is stateless and reads no session header.
content_hash string optional summary string required How this version differs from the one before it — +3 −1 lines for a source kind, renamed, type string→number for a schema kind. The oldest row says first recorded version.
pagination object required Fields of pagination:
has_more boolean required next_cursor string | null optional code is internal_error. The
request_id field can be quoted to SendOps support to investigate.
application/problem+json