Skip to content
You are viewing docs for v0.1.0. Switch to latest

Aggregate REST API

Aggregate APIs expose both derived state and raw event history for a registered aggregate.

MethodRoute
GET/api/aggregates/{agg}

Query parameters:

  • limit optional, default 1000
  • offset optional, default 0

Behavior:

  • Validates {agg} as an identifier
  • Returns 404 if the aggregate is not registered
  • Returns Arrow IPC rows from DeReg."{agg}$Agg"

Example:

Terminal window
GET /api/aggregates/Employee
MethodRoute
GET/api/aggregates/{agg}/{id}

Behavior:

  • Filters by aggregate_id = '{id}'
  • Returns Arrow IPC
MethodRoute
GET/api/aggregates/{agg}/events

Query parameters:

  • limit optional, default 1000
  • offset optional, default 0

Behavior:

  • Returns Arrow IPC rows from DeReg."{agg}$Events"
MethodRoute
GET/api/aggregates/{agg}/events/{stream_id}

Behavior:

  • Filters by stream_id = '{stream_id}'
  • Returns Arrow IPC

Inspect endpoints expose temporary tables produced by INSPECT flows.

MethodRoute
GET/api/aggregates/{agg}/inspect/input/{tablename}
GET/api/aggregates/{agg}/inspect/output/{tablename}

Query parameters:

  • limit optional, default 1000
  • offset optional, default 0

Behavior:

  • Validates aggregate existence
  • Rejects table names containing $
  • Returns 404 if the named table is not present in the current session context
  • Returns Arrow IPC for the table contents
StatusMeaning
400Invalid identifier
404Aggregate or inspect table not found
403Forbidden inspect access to schema-like tables
500IPC serialization or execution error