Audit
1 operation in the Tolvi API, version 1. Paths are relative to https://api.tolvi.co.uk. Every amount is integer pence.
List the firm’s audit trail, newest first
GET/api/v1/audit-log
- Scopes
settings:admin- Role
- Firm admin
Parameters
| Name | In | Type | Description |
|---|---|---|---|
limit | query | integer | |
cursor | query | string | |
via | query | string (AuditVia) | One of: |
Responses
200 OK, application/json
Body: object (AuditPage).
| Field | Type | Description |
|---|---|---|
rowsrequired | array of AuditEntry | |
rows[].idrequired | string (uuid) | |
rows[].occurredAtrequired | string (date-time) | |
rows[].actorUserIdrequired | string (uuid)nullable | |
rows[].principalKindrequired | string (PrincipalKind) | One of: |
rows[].credentialIdrequired | string (uuid)nullable | |
rows[].clientIdrequired | stringnullable | |
rows[].viarequired | string (AuditVia) | One of: |
rows[].viaLabelrequired | string | example "via MCP (Claude)" |
rows[].methodrequired | string | example "GET" |
rows[].pathrequired | string | example "/api/v1/work" |
rows[].statusrequired | integer | |
rows[].toolrequired | stringnullable | example "list_my_work" |
rows[].action | stringnullable | A sensitive action recorded in the same transaction as the action itself. example "evidence.download" |
rows[].target | stringnullable | Whose work it was: the client’s name, where the entry can say. |
rows[].summary | string | What happened, in words. example "Started accounts, Harrow & Finch Ltd" |
nextCursorrequired | stringnullable | Opaque cursor for the next page (pass as |
pageSizerequired | integer | The page size that was used. 1 to 100 |
Errors: 400 Bad request, 401 Unauthorised, 403 Forbidden, 429 Too many requests, as problem details (application/problem+json).