The audit log is owner-only and lives at Settings → Organization → Activity. Every mutating action against the Cloud API emits an audit event - persisted in Postgres, queryable via the UI orDocumentation Index
Fetch the complete documentation index at: https://radarhq.io/docs/llms.txt
Use this file to discover all available pages before exploring further.
GET /api/orgs/{id}/audit.
What’s recorded
| Category | Action | When |
|---|---|---|
cluster | cluster.created | A cluster is registered |
cluster.updated | Name / env / labels change | |
cluster.deleted | Cluster removed from the org | |
cluster.token_rotated | Install token rotated | |
cluster.action_denied | A privileged action was rejected by Cloud RBAC | |
cluster.agent.upgrade_requested | An owner triggered an in-cluster Radar upgrade | |
org | org.created | New org |
org.updated | Name / domains / default role changed | |
org.sso.portal_opened | An owner launched the WorkOS Admin Portal | |
org_invitation | org_invitation.created | Invite sent |
org_invitation.accepted | Invite accepted | |
org_invitation.revoked | Pending invite revoked | |
org_member | org_member.joined | User joined via accepted invite |
org_member.auto_joined | User joined via domain auto-join | |
org_member.sso_joined | User joined via SSO sign-in | |
org_member.removed | Member removed | |
pat | pat.created | Token minted |
pat.revoked | Token revoked | |
billing | billing.checkout_started | Stripe Checkout session opened |
billing.subscription_changed | Plan, quantity, or status changed (covers upgrades, downgrades, payment failures, quantity sync) | |
auth | auth.signin | User signs in |
auth.signout | User signs out |
org_member.* row; the previous role lives in metadata.
Event shape
metadata object is per-action. For org_member.joined, expect the inviting actor and the role granted. For billing.subscription_changed, expect the Stripe subscription id, the previous and new plan, and the previous and new cluster quantity.
PAT-authenticated actions record the PAT name in metadata.via_pat so you can distinguish browser vs. token activity.
Filtering
In the UI:- Action - free-text or pick from the action dropdown.
- Target type - cluster / org / org_member / org_invitation / pat / billing / auth.
- Actor - by member email.
- Time range - last 24h / 7d / 30d / custom.
Export
Add?format=csv to the audit endpoint:
Retention
| Plan | Retention |
|---|---|
| Free | 7 days |
| Team | 30 days |
| Enterprise | 365 days |
Programmatic access
What’s NOT in the audit log
- K8s API calls. What happens inside a connected cluster (a deployment scaled, a pod exec’d) is not captured by the Cloud audit log. K8s itself maintains an
audit.k8s.iolog if you’ve configured one. The Cloud audit log is for control-plane actions, not in-cluster actions. - Reads. GET / list operations aren’t recorded. We log mutations.
See also
- Organizations & roles - audit is owner-only.
- Personal access tokens - PAT lifecycle events.
- Notifications - alert on selected audit events.