Skip to content

Event schema

The full taxonomy of audit event types your tenant emits. Closed set; new types ship in minor releases (additive only; existing types never rename or remove).

Each event has a type (the string you filter on) + a data payload (operation-specific fields).

Sign-in, sign-out, MFA, session lifecycle.

TypeWhen
user.signed_inA user successfully signed in. data includes amr (auth methods used), acr (AAL level).
user.signed_in.failedSign-in attempt failed. data includes the email submitted + the error code.
user.signed_outSign-out via /oauth2/logout or in-app logout.
user.session_revokedA session was revoked (by user, by admin, by reuse detection).
user.mfa_requiredThe sign-in reached the MFA step. data includes available_factors.
user.mfa_succeededMFA challenge succeeded. data includes which factor was used.
user.mfa_failedMFA challenge rejected. data includes the factor + reason.

User record changes.

TypeWhen
user.createdNew user record created (via signup, admin create, bulk import, SSO JIT).
user.updatedProfile or attribute edit. data includes the diff.
user.disabled / user.enabledSoft state toggle.
user.deletedHard delete.
user.email_verifiedA pending email verification completed.
user.email_change_requested / user.email_change_completedEmail change flow.
user.password_reset_requested / user.password_reset_completedPassword reset flow.
user.password_set_by_adminAn admin directly set a password. data.temporary flag.
user.force_password_reset_setAn admin marked the user as requiring a password reset on next sign-in.
user.invited / user.invitation_accepted / user.invitation_revokedInvitation lifecycle.
user.bulk_imported / user.bulk_exportedBulk operations.

Factor enrolment + management.

TypeWhen
mfa.factor_enrolledNew factor enrolled. data.factor includes kind + id.
mfa.factor_removedFactor removed by user or admin.
mfa.factor_admin_resetAdmin force-reset removed all factors.
mfa.backup_codes_regeneratedUser regenerated backup codes.

OAuth/OIDC application records.

TypeWhen
application.createdNew application registered.
application.updatedConfiguration edit. data includes the diff.
application.disabled / application.enabledState toggle.
application.deletedHard delete.
application.secret_rotatedClient secret rotated. data includes the previous_expires_at timestamp.
application.token_settings_updatedPer-application access / id / refresh token TTL or rotation policy was edited. data includes the diff against the previous setting and the application id.
application.saml_config_updatedThe application's SAML configuration was edited (entity id, ACS URL, NameID format, attribute mapping, signing prefs). data includes the diff.
application.saml_cert_rotatedAdmin started a SAML signing-cert rotation. data includes the new cert fingerprint, the deadline by which finalisation must run, and whether the old cert is still active during the overlap window.
application.saml_cert_finalizedAdmin finalised the rotation; the old signing cert is now revoked and only the new cert validates. data includes the finalised cert fingerprint.
application.saml_cert_revokedAdmin revoked the active SAML signing cert outside of a rotation (emergency revoke). The application is disabled as part of the same operation. data includes the reason if supplied.
application.bulk_operationBulk disable / enable / delete.

OIDC + SAML connections.

TypeWhen
federation.connection_added / _updated / _disabled / _deletedConnection lifecycle.
federation.metadata_refreshedThe platform refreshed the IdP metadata (e.g., for cert rotation).
federation.sso_completedA user successfully signed in via a federation connection.
federation.sso_failedA federated sign-in failed. data includes the SAML / OIDC error code.

Tenant-admin operations on the platform.

TypeWhen
admin.member_invited / admin.member_removed / admin.member_role_changedTenant admin membership changes.
admin.policy_updatedAuthentication / MFA / password / audit policy edits. data includes which policy + the diff.
admin.role_created / admin.role_updated / admin.role_deletedCustom role lifecycle.
admin.knob_setA tenant setting was changed. data includes the knob name + new value.
knob.override_setAn admin set or cleared a tenant-scoped override for a knob whose default comes from the plan. data includes the knob slug, the previous effective value, the new value, and whether the override clears back to the plan default. Emitted alongside admin.knob_set; the override event carries the plan-vs-tenant resolution context the bare knob set doesn't.

Custom-logic surface.

TypeWhen
flow.action_attachedAction added to a flow slot.
flow.action_detachedAction removed.
flow.action_updatedAction config changed within a flow slot.
flow.action_executedAction ran. data includes outcome + duration + logs.
flow.action_publishedA new Action version was published.
flow.run_completedA flow run completed. data includes per-step outcomes.
TypeWhen
branding.logo_updated / branding.favicon_updatedVisual asset uploads.
branding.theme_colors_updatedColour pickers saved.
branding.custom_css_updatedCSS pasted + saved.
branding.email_template_updatedEmail template edits.

Auto-detected security events.

TypeWhen
security.brute_force_detectedRate-limit / lockout triggered for a user or IP.
security.token_reuse_detectedA refresh token was used twice. The token family was invalidated.
security.rate_limit_hitA non-brute-force rate limit was triggered.
security.breach_incident_opened / _resolvedA breach-feed match against a user.
security.threat_feed_hitA sign-in attempt's IP matched a configured threat feed.
security.captcha_required / security.captcha_passed / security.captcha_failedCaptcha challenges.

Audit log meta-operations.

TypeWhen
audit.exportedA bulk audit export was triggered.
audit.stream_destination_created / _updated / _disabled / _deletedStream destination lifecycle.
audit.stream_event_delivered / _failedIndividual stream delivery attempts (high volume — usually filter out unless investigating stream health).
audit.stream_buffer_fullA destination's buffer overflowed; events were dropped.

OAuth-protocol-level events.

TypeWhen
oauth.token_issuedA token was minted. data includes grant_type + audience + scopes granted.
oauth.token_refreshedA refresh-token grant succeeded.
oauth.token_revokedA token was explicitly revoked.
oauth.token_request_failedA token request failed. data includes the error code.
oauth.token_exchange_completedA token-exchange grant succeeded.

All events share the envelope (id, type, occurred_at, actor, target, outcome, data, context). The data field is type-specific — see the full per-type schema in the export's JSON or the developer-side audit reference.

For filtering, the type string is the primary handle. For correlation, the request_id in context threads related events together.

The platform adds event types over time. The taxonomy is append-only — existing types never rename or remove. New event types appear in:

  • The Audit → Read logs filter picker (auto-populated from emitted events).
  • The developer-side audit-events reference.
  • The release notes.

If your downstream code matches on event-type strings, treat unknown types as "log and ignore" — never throw on an unrecognised type.