Who and when
Every event records the authenticated actor and creation time.
What changed
Inspect the operation, row key, changed fields, before/after values, and row snapshot.
Why it belongs together
Follow
operationId into Trace to connect a data mutation with the Endpoint, Job, Agent, or operator action that caused it.Enable audit on a Table
- Open Databases → Tables and select the logical Table.
- Open its Audit section.
- Enable audit and save the Table configuration.
- Perform a controlled insert, update, and delete.
- Open Databases → Audit, select the Table, and inspect the three events.
Work with the Audit tab
The Audit workspace mirrors the operator flow in the product:
The global grid is ACL-aware. It returns audit rows only for Tables the current principal may access; selecting a Table does not bypass its Resource role or user/group restriction.
What an audit event stores
For
UPDATE, changes classifies a field as added, updated, or removed. Insert and delete events retain their complete row snapshot but do not synthesize an update-style changed-field list.
Query Table history through the Platform API
Use the Table-scoped history operation when an application, auditor, or evidence export needs stable cursor pagination. Results are ordered newest first by creation time and audit ID.nextCursor when another page exists. Pass that opaque value as cursor; do not parse it or build a replacement from timestamps.
Filters and payload projection
The Table-scoped operation supports:operation,createdBy,operationId,from, andto;- an exact complete
rowKeyobject; changed, which matches updates whosechangedFieldsoverlap the requested names;- safe filters over
snapshot.*andchanges.*values; - explicit
fieldspaths for a narrow payload projection.
snapshot and changes by default. Request paths such as snapshot.orderId, snapshot.address.country, or changes.status; use snapshot.* or changes.* only when the complete payload is actually required. A detail operation returns the complete snapshot and changes for one event.
Capture boundaries
Database Audit covers supported row-levelINSERT, UPDATE, and DELETE paths. It deliberately does not create one event per row for Truncate. If every removal must remain in audit history, use a reviewed, filtered delete rather than truncate.
Audit capture also requires platform attribution. Supported UI, Platform API, Endpoint, Component, Job, and Agent data writes propagate the authenticated principal and operation correlation. If attribution is missing, an audited write fails instead of creating an anonymous event.
Audit evidence is not a replacement for:
- Activity for configuration and administrative actions;
- Event History for event admission and target fan-out;
- Job History for attempts, retries, logs, and terminal execution state;
- Traces for end-to-end latency and service correlation.
Retention and deletion
Audit data contributes to the Table’s displayed audit size and the instance database-audit allocation. Retention and capacity are instance policy, not a guarantee that audit is permanent. Only Resource Admin can delete audit history. Deletion is permanent and can be narrowed with the current grid filters, an explicit Table selection, or API filter tree. Keep regulated exports in governed Storage before deleting online history when policy requires longer evidence retention.Production checklist
- Enable audit before regulated or financially relevant mutations begin.
- Require a stable primary key and review composite-key semantics.
- Correlate sensitive writes with
operationIdand Trace. - Grant auditors read access without granting Table mutation rights.
- Use filtered delete only under an approved retention procedure.
- Do not use truncate when row-by-row deletion evidence is required.
- Test audit behavior after Table definition and partition changes.
- Monitor audit size as part of instance capacity planning.
Databases operations and schemas.
