Skip to content

REST API — Ledger

Method Path What it does
GET /api/accounts/{account_id}/audit The workspace audit log: changes and activity, including its members’ sign-ins (which precede workspace selection). Owners by default; members when the workspace or its org opened it (D19).
GET /api/accounts/{account_id}/entities/{entity_type}/{entity_id}/history Who changed this entity, when, which fields — newest first, with where its trail begins.
POST /api/accounts/{account_id}/eval-cases/from-record Make this decision an eval case: the record’s input becomes input_data, the corrected output the expected value; a correct feedback row points at the new case.
GET /api/accounts/{account_id}/executions/{execution_id}/trail The decision trail of one run: decisions in execution order, nested by parent, feedback and changes keyed to the run, USD joined from usage_events; payloads only for ?expand=<id>,<id>. One query per kind. System-sourced records are hidden unless include_system.
POST /api/accounts/{account_id}/feedback An explicit human action on an output — mark wrong, rate, flag — from the trail panel. A cross-workspace execution is 404.
GET /api/accounts/{account_id}/ledger Query the workspace’s ledger across kinds; keyset-paginated on (occurred_at, id), newest first.
GET /api/accounts/{account_id}/ledger/export Every kind in the window as jsonl (the stored form — a decision’s messages load back through ModelMessagesTypeAdapter), csv, or otel (decisions as semconv GenAI event bodies, one per line; no sink). The export is itself an export activity on the workspace (the owners are notified where the row lands, D19). Owner-only, like the audit log it covers.
GET /api/accounts/{account_id}/ledger/settings Retention (with the org ceiling and floor), training consent (and whether the org allows it), legal hold, audit readers, trail begins.
PUT /api/accounts/{account_id}/ledger/settings Owner only. Consent flips record consent_granted / consent_withdrawn.