Skip to main content
The audit trail API returns a read-only feed of your organization’s audit events, such as sign-ins, approvals, and exports. Use it to stream events into a SIEM or review them for compliance.
The audit trail API is in development. This page describes the planned interface, which may change before general availability. Until then, use the web dashboard reports listed in the Reporting overview.

List audit events

GET /v2/audit-events Permission required: Read audit trail.
The example uses the sandbox base URL. For production, see Base URLs. Events come back oldest first, ordered by ingestedAt. Events are immutable, so a page you’ve read never changes and never repeats. To page forward, request the previous response’s page.next URL. A request without afterId starts from the oldest event still retained. A null page.next means you’re caught up, not finished. For a continuous feed, keep the last non-null next URL and request it again. New events become visible shortly after they’re recorded.

Query parameters

eventCategory and eventType are mutually exclusive. Sending both returns a 400. startDateTime and endDateTime filter the same clock the pages walk. They narrow a range but don’t resume one, so keep paging with page.next. Because endDateTime is exclusive, back-to-back windows never return the same event twice. occurredAt isn’t filterable. It can fall outside the window you asked for, because an event can be recorded well after it happened.

Example response

This response is illustrative and may change before general availability.

Audit event fields

Actor

The actor isn’t necessarily someone in your organization.

Subject

Tenant

The tenant is always your own organization, which isn’t necessarily the actor’s. All fields are optional.

Enum values

severity follows RFC 5424, from most to least severe: EMERGENCY, ALERT, CRITICAL, ERROR, WARNING, NOTICE, INFORMATIONAL, and DEBUG. action is what the actor did to the subject: CREATE, UPDATE, DELETE, REVOKE, APPROVE, REJECT, ENABLE, DISABLE, READ, or EXPORT. UNSPECIFIED means the event records no specific action.

Actor types

Errors

Error responses carry a JSON body with an errorType, such as InvalidRequest, and a human-readable message. For rate limits and retry guidance, see Errors, rate limits, and pagination.

APIv3 differences

APIv3 serves the same events with the same fields and filters. Paging, the time filter names, and the error body follow APIv3 conventions instead: