Skip to content

Audit reference ​

The Audit folder of the Security branch holds one screen, the Audit Log: the workspace's central record of who did what and when. Other audit views cover narrower subjects and are documented with their own screens: Audit Logs under Users and Access for sign-ins and account changes, the Permission Audit Log for permission rule changes, and Logging for operational log lines.

Audit Log ​

Where to find it ​

Workspace > Security > Audit > Audit Log. Page key audit-log.

What is recorded ​

Each audit event is one row with these fields.

FieldDescription
OccurredWhen the event happened.
CategoryOne of login, logout, crud, configuration, workflow, permission, plugin, other.
ActionWhat was done, for example a record change or a sign-in.
Entity type and keyThe kind of thing affected and its identifier.
ActorThe user or service that did it.
ModuleThe part of the platform that produced the event.
SourceThe origin of the event.
IP addressThe caller's address when known.
Successtrue or false; sign-in failures and refused actions are recorded as false.
Correlation IDLinks every event of one request or one business event. The same identifier appears in the response header X-Correlation-Id and in the server log.
DetailA JSON document with what changed.
Region code and residency violationThe region that processed the event, and a flag set when that region violated the workspace's declared data residency at the time of writing.

Screen layout ​

Summary chips at the top show today's counts: Total today, Logins, Failed logins, Config changes, Permission changes, Workflow events, Record updates, Plugin events. The chips API calls, AI requests and Security alerts are shown only when their counters are available. Below them the screen lists the most active actors, entity types and modules.

Settings

SettingValuesEffect
Processing modesync (safest, blocks the request briefly), async (lower latency)Whether an event is written before the request returns or queued for a background writer. Applies to the whole workspace.
Category switchesone per categoryA category that is switched off stops recording new events of that category. Existing events stay.

Filters

FilterTypeDescription
CategorylistAll categories, or one.
ActiontextExact action.
Entity typetextExact type.
ActortextExact actor.
ModuletextExact module.
Correlation IDtextAll events of one request or business event.
IP addresstextExact address.
Success or failurelistAny, Success only, Failure only.
Date rangedate and timeEvents from and to a moment, interpreted as UTC.

Result columns: Occurred, Category, Action (with the entity type and key underneath), Actor, Module. Expanding a row shows the detail JSON.

Procedures ​

Find who changed a record

  1. Set Entity type to the record kind, for example employee.
  2. Optionally set Actor.
  3. Open the row and read the detail JSON for the changed fields.

Follow one business event from end to end

  1. Take the correlation id from a failed request (response header X-Correlation-Id) or from a workflow or integration trace.
  2. Enter it under Correlation ID. Every audit event written during that request is listed in time order.

Investigate failed sign-ins

  1. Set Category to login and Success or failure to Failure only.
  2. Narrow by IP address or Actor.

Permissions ​

The audit endpoints are under /api/v1/authoring/audit/. Reading events and the summary passes the privileged action gate on audit.read; reading or changing the settings passes it on audit.manage. The actor must hold STUDIO_STAFF, TENANT_OWNER or TENANT_ADMIN, or have the permission granted explicitly, and no rule may deny it; otherwise HTTP 403 with actor "x" lacks audit.read permission. To let an auditor who is not an administrator read the log, grant audit / read to their role in the Permission Designer. You can still restrict the screen itself with a screen permission on its page (see Screen Permissions).

API ​

PurposeEndpoint
Query eventsGET /api/v1/authoring/audit/events with category, action, entityType, actor, module, ipAddress, success, correlationId, search, from, to, pageIndex, pageSize
Today's countsGET /api/v1/authoring/audit/kpis
Processing modeGET and PUT /api/v1/authoring/audit/settings/processing-mode with {"processingMode": "sync"} or "async"
Category switchesGET /api/v1/authoring/audit/settings, PUT /api/v1/authoring/audit/settings/{category} with {"enabled": false}

Page size is limited by the platform's standard grid limits. The grid filter bar sends equality filters on category, action, entityType, actor, module, success and correlationId, and range filters on occurredAt; unknown filter fields are ignored rather than rejected.

From the command line:

bash
erp api get "/api/v1/authoring/audit/events?category=crud&entityType=employee&pageSize=20"
erp api get /api/v1/authoring/audit/kpis
erp trace <correlationId>

erp trace follows flow runs, events and queue messages of one business event.

Limits and behaviour ​

  • Events are tenant scoped. A workspace never sees another workspace's events.
  • With processing mode async, an event can appear shortly after the action; with sync, it is written before the response.
  • Switching a category off is not retroactive and not reversible for the period it was off.
  • Every request, entity change and plugin change that the platform audits carries the correlation id of its request, which is how the Trace an Event screens and this log relate.

Users and Access, Permissions, Logging, Trace an Event.