OptixLog Docs
Python SDKManagement API

Audit Events

Query the project audit log with rich filters for action, level, actor, target type, and time window.

project.audit_events is an AuditEventCollection. Every significant action in a project is recorded as an audit event with a timestamp, action name, level, category, actor, and target references.

The default sort order is timestamp descending — most recent events first.

Basic list

audit_events.py
from optixlog import SDKClient
from optixlog.management import Management

client = SDKClient(base_url="https://optixlog.leidos.com", api_key="sk-opt-...")
mgmt = Management(client)
project = mgmt.project("proj_grating_7f3a")

page = project.audit_events.list()
for event in page.items:
    print(event.timestamp, event.action, event.level)

Filters

All filters are AND. You can combine any subset:

from datetime import datetime, timezone

page = project.audit_events.list(
    action="project.updated",       # exact action name
    category="management",          # event category
    level="info",                   # "debug" | "info" | "warn" | "error"
    actor_id="user-xyz",            # user id who performed the action
    target_type="project",          # target resource type (see below)
    request_id=None,                # correlate by request id
    since=datetime(2026, 1, 1, tzinfo=timezone.utc),
    until=datetime(2026, 6, 1, tzinfo=timezone.utc),
    limit=50,
    order_by="timestamp",
    order="desc",
)

Valid target_type values: organization, project, team, user, workflow_node, file, invitation, permission_group.

Get by id

event = project.audit_events.get("audit-event-abc123")
event = project.audit_events.get_or_none("audit-event-abc123")

Iterate all events

from datetime import datetime, timezone

for event in project.audit_events.iter(
    level="warn",
    since=datetime(2026, 1, 1, tzinfo=timezone.utc),
):
    print(event.timestamp, event.action, event.description)

Count

warn_count = project.audit_events.count(level="warn")
info_count = project.audit_events.count(level="info", category="management")

Unique lookups

# Exactly one event with this request_id
event = project.audit_events.one(request_id="req-abc123")

# Most recent project.updated event
event = project.audit_events.first(action="project.updated")

Ordering

Order by timestamp, action, or level. Default is timestamp descending.

page = project.audit_events.list(order_by="action", order="asc")

AuditEvent fields

Prop

Type

On this page