AuditLogPage
A page of audit records.
Shape
recordsarray of AuditRecord
- The AuditRecord schema
actorAuditActor
- The AuditActor schema
- actor_typestringWhat kind of caller acted:
user,service_account,pipeline_run,anonymous, orscim— an organization's identity provider calling with its SCIM token. - auth_methodAuthMethodjwtaccess_tokenanonymousHow the caller authenticated.
- idstringThe id of the user, service account or pipeline run that acted, or
anonymous. - avatar_urlstring or nulloptional
- emailstringoptional
- token_idstring or nulloptional
- usernamestringoptional
- audit_idAuditId (string · uuid)
- categoryAuditCategorymutationauth_eventsensitive_readWhat kind of operation the record captures.
- hashstring
SHA256(canonical_json(record withouthash) ‖ prev_hash), hex. - http_methodstring
- monthstringThe month the record belongs to,
YYYY-MM. Each month's records form one segment of the chain. - occurred_atstring
- operation_idstring
- outcomeAuditOutcomesuccessdeniedfailureThe result of the audited operation.
- prev_hashstringHash of the previous record in the chain (genesis = 64 zeros; first of a month links to the prior month's tip).
- recorded_atstringWhen the record was written to the log, RFC 3339 with microseconds.
- request_idstring
- routestring
- scopestringWhich audit chain the record belongs to — an organisation, a user, or the platform.
- seqinteger · int640–∞Monotonic position within
(scope, month). - status_codeinteger · int320–∞
accessAccessAuditDetail or nulloptionalFor an operation that changed who can do what: each grant it made, changed or revoked, with the role before and after. Absent everywhere else — and absent fields do not enter the hash, so every record written before this field existed verifies unchanged.
- The AccessAuditDetail schema
changesarray of AccessAuditChange
- The AccessAuditChange schema
- grant_idGrantId (string · uuid)
- scopeScopeRef
- sensitivebooleanWhether either role carries a sensitive or reserved permission.
- subjectSubjectRef
inheritanceInheritanceAuditChange or nulloptionalA scope's inheritance switched.
- The InheritanceAuditChange schema
- inherits_accessboolean
- scopeScopeRef
limitLimitAuditChange or nulloptionalA limit set or removed.
- The LimitAuditChange schema
- ceilingCeilingRef
- limit_idLimitId (string · uuid)
- scopeScopeRef
- setboolean
truewhen the limit was set,falsewhen it was removed. - subjectLimitSubjectRef
roleRoleAuditChange or nulloptionalA custom role's permissions changing — which changes access wherever the role is granted, without any grant changing.
- The RoleAuditChange schema
- grants_affectedinteger · int64
- limits_affectedinteger · int64
- permissions_addedarray of string
- permissions_removedarray of string
- role_idRoleId (string · uuid)
mcpMcpAuditDetail or nulloptionalFor a request an AI agent made through the MCP server: the tool and the client. Absent everywhere else, and so outside the hash of every record that does not carry it.
- The McpAuditDetail schema
- toolstringThe tool whose execution made the request.
- clientstring or nulloptionalThe client application the tool call came from, as that application named itself.
- oauth_client_idstring or nulloptionalThe app the access token was issued to, when an app connected through sign-in — its own registered identifier, which, unlike the self-reported client name, the person consented to.
- resource_bindingstring or nulloptional
- source_ipstring or nulloptional
- target_idstring or nulloptional
- target_typestring or nulloptional
- user_agentstring or nulloptional
- next_cursorstring or nulloptional
Example
Synthesized example{
"records": [
{
"actor": {
"actor_type": "actor-type-1604",
"auth_method": "jwt",
"id": "id-3c85"
},
"audit_id": "a3c10581-a520-4a39-bed7-d73e94fe426f",
"category": "mutation",
"hash": "hash-fb24",
"http_method": "http-method-b54b",
"month": "month-c92e",
"occurred_at": "2026-10-13T16:59:32Z",
"operation_id": "23ab5cb5-088b-4f11-bd3e-1a5d83eaf087",
"outcome": "success",
"prev_hash": "prev-hash-1a96",
"recorded_at": "2026-10-08T20:18:02Z",
"request_id": "004e8135-149b-4669-8863-f651b3af257d",
"route": "route-4b25",
"scope": "scope-bd96",
"seq": 1,
"status_code": 56
},
{
"actor": {
"actor_type": "actor-type-4a92",
"auth_method": "jwt",
"id": "id-c1ee"
},
"audit_id": "d1ceadf5-7b4e-4272-ad08-48a217d26cd4",
"category": "mutation",
"hash": "hash-1019",
"http_method": "http-method-b20d",
"month": "month-cc56",
"occurred_at": "2026-10-17T04:57:10Z",
"operation_id": "aba910f0-e95f-45e6-a6a7-a62c7febc1ac",
"outcome": "success",
"prev_hash": "prev-hash-dafe",
"recorded_at": "2026-10-12T18:34:33Z",
"request_id": "e61677fa-68d4-4e05-bdd4-b491997a81fd",
"route": "route-c512",
"scope": "scope-cf10",
"seq": 77,
"status_code": 68
}
],
"next_cursor": "next-cursor-9a7e"
}
Graph
Used inside
No schema contains this one.
Contains
Used by
Sent by 0 operations
No operation takes it as a request body.