audit:read scope. Entries are never modified or deleted; the log only grows.
The audit entry object
string
Entry id (e.g.
aud_01H...).object
The principal that performed the action.
string
The audited action (see Audited actions).
string
The kind of resource affected (e.g.
agent, api_key, member, webhook_endpoint, session, credits).string | null
Id of the affected resource, when the action targets one.
string
The
x-request-id of the request that produced the entry — join this to your own logs and to the error envelope.object
Action-specific detail (e.g. the before/after role on a role change, the
to_version on a rollback, the denied tool on a policy denial).string
When the action occurred.
List audit logs
GET /v1/audit_logs returns entries newest-first. Cursor-paginated — see Pagination.
Filters
string
Filter to a single principal id (a member
usr_… or key key_…).string
Filter to a single resource id (e.g. a specific
agt_…).string
Filter to one action string (e.g.
api_key.rotated).string
Lower bound (inclusive) on
created_at, an RFC 3339 timestamp.string
Upper bound (exclusive) on
created_at, an RFC 3339 timestamp.Audited actions
The following control-plane actions are captured in the initial release. The list grows over time; treataction as an open string and branch on the prefixes you care about.
Each entry pins the exact
request_id, so an audited action, its error envelope (if it failed), and your own request logs all correlate on one id. Money movements additionally carry an actor on the ledger, so spend is attributable without cross-referencing the audit log.