Request Journaling
Request journaling produces read-only entries that log API activity. Journaling is enabled by setting request.journalingEnabled to true in the ledger configuration.
Each entry captures:
- source — the caller identity (e.g.,
signer:adminorbridge:my-bridge) - target — the ledger that received the request (e.g.,
ledger:my-ledger) - record — the resource involved (e.g.,
wallet:my-wallet) - action — the action performed (e.g.,
create,update,drop) - params — the full request (method, URL, headers, body)
- result — the full response (status code, headers, body)
All entries are signed by the ledger for authenticity and can be used for auditing, monitoring, or debugging. Journal entries are read-only — they cannot be created, updated, or deleted through the API.
Endpoints
| Method | Path | Description |
|---|---|---|
| GET | /system/requests | Query request journal entries with filtering, sorting, and pagination. |
| GET | /system/requests/{id} | Retrieve a journal entry by its address or LUID. |
Get report change GET
Returns a single change by its sequence number. The change includes a full record snapshot as it existed at that point.
List journal entries GET
Use this endpoint to debug failed operations, audit which signers performed specific actions, track bridge activity, or verify compliance by reviewing the full request and response history for a participant or record. Supported filters: - `data.source` — caller identity (e.g., `signer:admin` or `bridge:my-bridge`) - `data.target` — target ledger (e.g., `ledger:my-ledger`) - `data.record` — resource involved (e.g., `wallet:my-wallet`) - `data.action` — action performed (e.g., `create`, `update`, `drop`) - `meta.status` — record status - `meta.labels` — record labels