OptixLog Docs
API ReferenceData Models

Data Models

Overview of all frozen dataclasses and value types returned by the OptixLog SDK.

The OptixLog SDK returns rich, typed data objects from every API call. All models are either frozen dataclasses or plain classes with explicit __init__ signatures. They are read-only value objects — you never mutate them.

Where models live

All model classes are importable from optixlog.management:

from optixlog.management import (
    ProjectConfig,
    Organization,
    Team,
    User,
    TeamMembership,
    ProjectMember,
    NodeLabel,
    FileRef,
    WorkflowNode,
    AuditEvent,
    ProjectSnapshot,
)
from optixlog import EntityRef, Page

Model summary

ClassModuleFrozenDescription
EntityRefoptixlogyesLightweight (type, id, name?) reference used throughout the SDK.
Page[T]optixlogyesPaginated result container: items, next_cursor, total.
ProjectConfigoptixlog.managementyesProject metadata: name, description, status, timestamps.
Organizationoptixlog.managementyesOrganization info: contact details, industry, timestamps.
Teamoptixlog.managementno*Team with bound memberships collection.
Useroptixlog.managementyesUser identity: email, auth details, timestamps.
TeamMembershipoptixlog.managementyesA user's membership in a team: role, joined_at, optional hydrated user/team.
ProjectMemberoptixlog.managementyesA project member: user ref + optional membership list.
NodeLabeloptixlog.managementyesA workflow node type label: id, name, documentation ID.
FileRefoptixlog.managementyesA file attachment reference: URI, MIME type, size, role, slot.
WorkflowNodeoptixlog.managementyesA workflow graph node: properties, attachments, edges, timestamps.
AuditEventoptixlog.managementyesAn audit log entry: action, level, actor, targets, metadata.
ProjectSnapshotoptixlog.managementyesA multi-section project snapshot: all fields optional.

* Team is not a @dataclass because it carries a client-bound memberships collection alongside an optional member_count, which dataclass field ordering rules cannot express. Its fields are otherwise immutable by convention.

On this page