Skip to main content

Overview

The audit log records every mutation and authentication event in your organization — who did what, when, and what changed. This is essential for compliance, debugging, and security reviews.
The audit log is available on Team plans and above.

Viewing the Audit Log

Via Dashboard

Navigate to Settings > Audit Log to see a filterable timeline of all activity. You can filter by:
  • Resource type: Incidents, services, status pages, monitors, access tokens, SSO providers, and more
  • Actor type: Users, API keys, or system actions
  • Date range: Filter to a specific time period
Click any row with a chevron indicator to expand and see the field-level diff or event metadata. Authentication events (SSO logins, password attempts, token operations) include metadata such as the provider type, email, IP address, and failure reason.

Via API

Requires the audit_log:read scope.

Query Parameters

Response

Tracked Actions

Resource Management

Authentication Events

These events are logged when users interact with protected status pages.
To monitor for suspicious activity, filter the audit log by sso.login_failed or status_page.password_auth_failed actions. Repeated failures from the same IP may indicate a brute-force attempt.

SSO Failure Reasons

When an SSO login fails, the reason field in the metadata explains why:

Change Tracking

For update operations, the audit log captures field-level diffs:
This makes it easy to see exactly what changed and who changed it. For authentication events, the metadata field contains contextual information instead of a diff:

Retention

Audit log entries are retained for:

Streaming to a SIEM

For long-term retention, correlation, or compliance evidence, forward every audit event to your SIEM (Splunk HEC, Datadog Logs, Sumo, or any HMAC-verifying webhook collector). Configure sinks under Settings → Audit Log → SIEM delivery sinks. Each sink delivers one POST per audit event, with exponential-backoff retries (up to 5 attempts over ~14 hours) before the event is marked dead.

Payload

Signing

If you set a signing secret on the sink, each request includes an X-Kodo-Signature header:
Verify it on the receiving end:
Signing secrets are stored encrypted at rest (AES-256-GCM).

Custom headers

Collectors that authenticate via headers (Splunk HEC’s Authorization: Splunk <token>, Datadog’s DD-API-KEY) can be configured via the Custom headers field when creating a sink. Values are sent on every delivery.