Unified tenant audit events (crypto + admin + auth, server-merged)

Returns one keyset page of the crypto, admin and authentication audit events for a tenant, ordered server-side by (event_timestamp DESC, event_source, log_id DESC). Replaces client-side merge of independent streams. The stream is narrowed to the event sources the caller's scopes admit, and the set it was narrowed to is returned in admittedSources: audit.*.crypto.read admits crypto, audit.*.admin.read admits admin, audit.*.auth.read admits auth, and audit.*.all.read admits all three. A caller admitted to no source receives 403, never an empty page. The stream can be narrowed further, WITHIN what the scopes admit: source selects one trail, operationType narrows the crypto branch and entityType / action narrow the admin branch. A filter never widens the admitted set — a source the caller may not read is answered 403, exactly as an empty admitted set is. A dimension no admitted branch carries yields an EMPTY page rather than an error or an unfiltered one, and a value outside the projected vocabulary is answered 400 rather than silently ignored. Pagination is by opaque cursor: pass back nextCursor to continue, and read hasMore to learn whether more rows exist. There is no offset ceiling and no sort parameter — a cursor is valid only for the ordering it encodes. A cursor replayed against a different window or filter set is rejected with 400. The applied window and the maximum this feed accepts are stated in appliedRange. Crypto rows carry the key's materialVersion (generation) and resolve the actor as COALESCE(user_id, actor_id) so actor-driven operations surface their identity; admin and auth rows have a null materialVersion.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
uuid
required

Tenant UUID

Query Params

Free-text search across user_id / algorithm (crypto), actor_id / action (admin) and principal_id / endpoint (auth)

string

SQL LIKE pattern against event_type (e.g., 'admin.%' or 'crypto.encrypt%')

string
enum

Exact outcome filter — the stored status of the operation

Allowed:
date-time

Inclusive lower bound on event_timestamp (ISO-8601). Defaults to the applied window reported in appliedRange.

date-time

Inclusive upper bound on event_timestamp (ISO-8601). Defaults to the applied window reported in appliedRange.

string
enum

Narrow the stream to ONE trail, within the sources the caller's scopes already admit. A source the caller may not read is 403, never a wider page.

Allowed:
string

Crypto branch only: exact match on the recorded operation type. Naming it excludes the admin and auth branches, which carry no such column.

string

Admin branch only: exact match on the entity type the event acted on. Naming it excludes the crypto and auth branches.

string

Admin branch only: exact match on the administrative action recorded. Naming it excludes the crypto and auth branches.

string

Opaque cursor from a previous response's nextCursor. Omit for the first page.

int32
Defaults to 20

Page size (1..200)

Headers
string
enum
Defaults to application/problem+json

Generated from available response content types

Allowed:
Responses

Language
Credentials
Bearer
JWT
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
*/*
application/problem+json