LiyaEngine Docs
Dashboard API

Audit Log

Query immutable compliance audit log entries for your tenant.

Dashboard

GET /dashboard/audit

Returns paginated audit log entries for your tenant, ordered newest-first. Requires the admin role or higher.

GET https://api.liyaengine.ai/dashboard/audit?severity=warning&flagged=true&page=1
Authorization: Bearer <jwt>

Query parameters:

ParameterTypeDescription
severitystringFilter by severity: info, warning, error
actorTypestringFilter by actor: user, system, api
flaggedbooleantrue to return only flagged entries
qstringFree-text search across action, resource type, resource ID, and user ID
pageintegerPage number (default: 1, page size: 20)

Response:

{
  "success": true,
  "data": {
    "entries": [
      {
        "id": "aud_01HZ...",
        "actorType": "user",
        "actorId": "dashboard_user_id",
        "action": "api_key.rotate",
        "resource": "api_key",
        "resourceId": "key_01HZ...",
        "severity": "warning",
        "flagged": false,
        "metadata": {},
        "createdAt": "2026-03-14T10:00:00Z"
      },
      {
        "id": "aud_02HZ...",
        "actorType": "user",
        "actorId": "dashboard_user_id",
        "action": "account.config_update",
        "resource": "account_config",
        "resourceId": "acme-corp",
        "severity": "info",
        "flagged": false,
        "metadata": {
          "fields": ["featureConfig"]
        },
        "createdAt": "2026-03-13T18:22:05Z"
      }
    ]
  },
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 142,
    "totalPages": 8
  }
}

Audit log fields

FieldDescription
actorTypeWho triggered the event: user (dashboard user), api (API key caller), system (automated process) — in practice every entry recorded today is user
actorIdID of the dashboard user or "system"
actionDot-separated event name (see table below)
resourceResource type affected
resourceIdID of the affected resource
severityinfo, warning, or error
flaggedReserved for automatic anomaly flagging — always false today; no writer sets it yet
metadataStructured context specific to the event type

Common audit actions

ActionSeverityDescription
api_key.rotatewarningAPI key was rotated
account.updateinfoTenant name or billing email changed
account.config_updateinfoTenant configuration was updated
account.byok_key_setinfoA BYOK provider key was saved
account.byok_key_removedinfoA BYOK provider key was removed
auth.logininfoDashboard login
custom_domain.createinfoA custom domain was created
custom_domain.deletewarningA custom domain was soft-deleted
knowledge.uploadinfoA document was uploaded to the knowledge base
knowledge.deleteinfoA knowledge source was deleted
environment.createinfoA new environment was created
environment.api_key_rotatewarningAn environment's API key was rotated
org.member_invitedinfoA member was invited to the organization
org.member_removedinfoA member was removed from the organization

This is a representative subset — dozens of other actions are recorded (guardrail policies, evaluation suites, workflows, collections, etc.) following the same resource.verb naming.

A nightly retention job purges audit log rows older than 30 days, except entries with severity: "error", which are kept indefinitely. There is currently no dashboard setting to change this window, and audit logs cannot be deleted directly via the API.

On this page