Skip to content

Get Engine Events

GET
/api/system/events

Get recent events from engine event stream for Operator Console.

Returns recent events from the engine’s event ring buffer. Events are returned in chronological order (oldest first). This endpoint exposes the same data available in-process via instrument.get_events().

Query Parameters:

  • limit (int): Maximum number of events to return (1-10000, default: 100)

Returns: List of event dictionaries, each containing:

  • ts (float): Event timestamp
  • type (str): Event type identifier (e.g., “workflow.started”)
  • Additional fields: Event-specific data (varies by event type)

Example Response:

{
  "events": [
    {
      "ts": 1704901234.5,
      "type": "agent.orchestrator.awakened",
      "agent": "orchestrator",
      "state": "awakened"
    },
    {
      "ts": 1704901235.0,
      "type": "workflow.started",
      "workflowId": "wf_123",
      "name": "Code Analysis"
    }
  ],
  "count": 2,
  "limit": 100
}

Raises:

  • HTTPException(503): If instrumentation layer is not available
  • HTTPException(500): If event retrieval fails

Use Cases:

  • Operator Console Events tab
  • Event log viewing
  • Activity monitoring
  • Debugging and diagnostics
limit
Limit

Maximum number of events to return

integer
default: 100 >= 1 <= 10000

Maximum number of events to return

Successful Response

InstrumentEventsResponse

Response model for engine event stream.

Provides recent events from the engine’s event ring buffer. Events are returned in chronological order (oldest first). Used by instrument_routes for exposing instrumentation layer event stream to Operator Console.

Fields:

  • events: List of event dictionaries (required, list[dict[str, object]])
  • count: Number of events returned (required, integer)
  • limit: Maximum number of events requested (required, integer)

Event Structure: Each event dictionary contains:

  • ts: Event timestamp (float)
  • type: Event type identifier (string, e.g., “workflow.started”)
  • Additional fields: Event-specific data (varies by event type)

Usage: GET /api/system/events?limit=100 returns this response model.

JSON Example:

{
  "events": [
    {
      "ts": 1704901234.5,
      "type": "agent.orchestrator.awakened",
      "agent": "orchestrator",
      "state": "awakened"
    },
    {
      "ts": 1704901235.0,
      "type": "workflow.started",
      "workflowId": "wf_123",
      "name": "Code Analysis"
    }
  ],
  "count": 2,
  "limit": 100
}
object
events
required
Events

List of event dictionaries

Array<object>

Arbitrary JSON-shaped data. Flattened from a recursive type alias for wiki rendering — the live API accepts any JSON-compatible value (string, number, bool, null, array, or nested object).

object
key
additional properties
any
count
required
Count

Number of events returned

integer
limit
required
Limit

Maximum number of events requested

integer

Validation Error

HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object