Immutable record of every state-changing action in the platform. Stored in `platform_events`. Includes action, source, correlation_id, and a JSON payload describing what changed. Retained 7 years.
/api/v1/audit-logreadLiveCursor-paginated. Filter by action (e.g., lead.updated), source (api | cron | n8n | worker | system), and created_at range (?start_at=ISO8601&end_at=ISO8601). Default limit 50, max 200.
{
"data": [
{
"id": "a4b1c8d2-7e30-4f1a-9c83-21e5d4a07b14",
"organization_id": "8c2f0a14-0c8a-4a3a-9a4d-3e0f1d6c2a91",
"action": "lead.updated",
"source": "api",
"correlation_id": "corr_z3p7w2",
"payload": {
"lead_id": "9f1c8a32-4d65-4e2b-8a91-3c0e7d4b2f18",
"diff": {
"pipeline_stage": { "from": "qualified", "to": "won" },
"lead_score": { "from": 87, "to": 92 }
},
"key_id": "k7e2c8a1-4d65-4e2b-8a91-3c0e7d4b2f18"
},
"created_at": "2026-04-27T18:55:42.001Z"
}
],
"next_cursor": "eyJjcmVhdGVkX2F0IjoiMjAyNi0wNC0yN1QxODo1NTo0Mi4wMDFaIiwiaWQiOiJhNGIxYzhkMi03ZTMwLTRmMWEtOWM4My0yMWU1ZDRhMDdiMTQifQ"
}/api/v1/audit-log/{id}readLiveTenant-scoped. Returns the full audit record including the payload diff.
{
"id": "a4b1c8d2-7e30-4f1a-9c83-21e5d4a07b14",
"organization_id": "8c2f0a14-0c8a-4a3a-9a4d-3e0f1d6c2a91",
"action": "lead.updated",
"source": "api",
"correlation_id": "corr_z3p7w2",
"payload": {
"lead_id": "9f1c8a32-4d65-4e2b-8a91-3c0e7d4b2f18",
"diff": {
"pipeline_stage": { "from": "qualified", "to": "won" },
"lead_score": { "from": 87, "to": 92 }
},
"key_id": "k7e2c8a1-4d65-4e2b-8a91-3c0e7d4b2f18"
},
"created_at": "2026-04-27T18:55:42.001Z"
}/api/v1/audit-log/export.csvreadRoadmapStream the audit log as CSV. Same filters as the list endpoint.