The Event Logs API requires the admin role. API keys created by non-admins cannot read event logs.
Endpoints
See the Endpoints section in the sidebar for the full API reference, generated from the OpenAPI spec.Event shape
Every event log row has the same envelope:id— stable identifier for the event.time— UTC timestamp of when the event happened.type— dotted<resource>.<action>string identifying the event (e.g.integrations.update,auth.login).user_id/user_email— the user who triggered the event. Both can benullfor system-driven events or when the user no longer exists.data— the payload. The shape ofdatadepends ontype— see Thedatafield below.
The type field
type identifies which event you’re looking at and determines the shape of data. The full set of values is listed in the API reference — broadly:
New
(resource, action) pairs may be added over time. Clients should treat unknown type values gracefully rather than hard-fail.
The data field
data carries one of two shapes depending on the action:
-
Lifecycle events (everything except
.update) —datais a snapshot of the resource at the time of the event. The exact fields vary bytype. -
.updateevents —datais a diff: a map of field names to{ "old": <previous>, "new": <current> }. Only fields that actually changed are present.
Example: lifecycle event
Example: update event
Filtering
The list endpoint supports four optional filters:
Combine them freely — e.g.
?type=auth.login&start_time=2026-05-01T00:00:00Z&end_time=2026-06-01T00:00:00Z returns every login during May 2026.
Pagination
Pagination usespage + limit query parameters, with count / prev / next / total metadata in the response — matching the Sessions API convention. limit is capped at 100.
page and limit are omitted, all matching rows are returned in a single response. Results are ordered newest-first by id.
Rate limits
The endpoint is limited to 100 requests per minute. Hitting the limit returns429 Too Many Requests with a Retry-After header — wait the suggested number of seconds and retry.
Common use cases
- SOC2 / compliance review — pull every event in a date range, archive externally.
- SIEM ingestion — poll with
start_timeset to the timestamp of the most recent ingested row. - Forensic lookup — filter on
type(e.g.auth.login) to investigate authentication-event timing around an incident.