History and revisions
A document at a revision or a point in time, one event per transaction — deletions included — and the raw transaction log.
Every transaction is recorded, which makes three questions answerable.
What did this document look like then?
GET /data/history/production/documents/post-1?revision=<rev>
GET /data/history/production/documents/post-1?time=2026-07-01T09:00:00Z
GET /data/history/production/documents/post-1?lastRevision=trueWhat has happened to it?
GET /data/history/production/events/documents/post-1One event per transaction, in reverse order, and this is the endpoint that matters most: deletions appear in it. A history derived from the current document cannot report that a document ever existed, which is precisely the case somebody needs the history for.
The raw log
GET /data/history/production/transactions/<id>Served as application/x-ndjson.
What the Studio does with it
The document timeline is built from the event list, and "restore" is an ordinary mutation that writes the old content back as a new revision. Nothing is rewritten in place — the history is append-only, so a restore is itself an event.
