Accounts & Keys
Read the audit log
Every grant and key change, with the actor, the request, and the row before and after.
GET/auditself-hosted · access token · manage_members
Self-hosted. Served by synpath serve on your own machine or host, which must be running; the engine and its order types live there. Nothing on this page runs on Synpath's servers.
Append-only, enforced by the database: no route writes it, and triggers on the table refuse update and delete.
Query parameters
| Name | Type | Description |
|---|---|---|
since_id | integer | Rows after this id. |
limit | integerdefault 100 | |
table | string | grants or keys. |
Response
An array of audit rows.
import os
import httpx
TOKEN = os.environ["SYNPATH_ACCESS_TOKEN"]
r = httpx.get("http://127.0.0.1:8000/trading/audit", headers={"Authorization": f"Bearer {TOKEN}"})
r.raise_for_status()
print(r.json())200
[
{
"id": 42,
"ts": 1789655008000,
"actor": "u_owner",
"action": "insert",
"table_name": "grants",
"row_id": "g_19",
"request": "POST /grants",
"before": null,
"after": {
"user_id": "u_alice",
"account": "kalshi:desk-a",
"permission": "trade"
}
}
]
