Skip to content

List events (JSON)

GET
/v1/sessions/{session_id}/events

Returns events for a session as a JSON array. Supports filtering by event type via types (positive: only these types) and exclude (negative: remove these types). When both are provided, types narrows first, then exclude removes from that set. Both accept only known event types (max 25 per parameter). Unknown types return 400.

session_id
required
string

Session ID (prefixed, e.g., sess_…)

since_id
One of:
null

Filter events with ID greater than this event ID (prefixed format: event_{32-hex})

types
Array<string>

Positive type filter: only return events matching these types (can be specified multiple times). When empty, all types are returned. Example: ?types=turn.started&types=turn.completed

exclude
Array<string>

Event types to exclude from the response (can be specified multiple times). Applied after types filter. Common delta events to exclude: output.message.delta, reason.thinking.delta

Events list

Response wrapper for list endpoints. All list endpoints return responses wrapped in a data field.

object
data
required

Array of items returned by the list operation.

Array<object>

Standard event following the Everruns event protocol.

All events have a consistent structure:

  • id: Unique event identifier (format: event_{32-hex})
  • type: Event type in dot notation (e.g., “input.message”, “reason.started”)
  • ts: ISO 8601 timestamp with millisecond precision
  • session_id: Session this event belongs to (format: session_{32-hex})
  • context: Correlation context for tracing
  • data: Event-specific payload (typed via EventData enum)
  • metadata: Optional arbitrary metadata
  • tags: Optional list of tags for filtering
object
context
required

Correlation context

object
exec_id

Atom execution identifier

string | null
Example
exec_01933b5a00007000800000000000001
input_message_id

User message that triggered this turn

string | null
Example
message_01933b5a00007000800000000000001
parent_span_id

Parent span ID for hierarchical linking (OTel-style). Links this span to its parent in the trace hierarchy.

string | null
span_id

This event’s span ID for observability (OTel-style). Uniquely identifies this span within the trace.

string | null
trace_id

Trace ID for observability (OTel-style). Groups related spans into a single trace. For agent turns, this is typically the turn_id string.

string | null
turn_id

Turn identifier (for turn-scoped events)

string | null
Example
turn_01933b5a00007000800000000000001
data
required
One of:

Data for input.message event

object
message
required

The user message

object
content
required

Message content as array of content parts (text, images, tool calls, tool results)

Array
One of:

Text content

object
text
required
string
type
required
string
Allowed values: text
controls
One of:
null
created_at
required

Timestamp when the message was created

string format: date-time
id
required

Unique message ID (format: message_{32-hex})

string
Example
message_01933b5a00007000800000000000001
metadata

Message-level metadata

object | null
role
required

Message role

string
Allowed values: system user agent tool_result
thinking

Thinking content from extended thinking models (Anthropic Claude) This is the model’s chain-of-thought reasoning before producing the response. Must be included in subsequent API calls when thinking is enabled.

string | null
thinking_signature

Cryptographic signature for thinking content (Anthropic Claude) Required when sending thinking back in subsequent API calls.

string | null
id
required

Unique event identifier (format: event_{32-hex})

string
Example
event_01933b5a00007000800000000000001
metadata

Arbitrary metadata for the event

sequence

Sequence number within session (for ordering)

integer | null format: int32
session_id
required

Session this event belongs to (format: session_{32-hex})

string
Example
session_01933b5a00007000800000000000001
tags

Tags for filtering and categorization

array | null
ts
required

Event timestamp

string format: date-time
type
required

Event type in dot notation

string

Invalid session ID or invalid event type filter

Session not found

Internal server error