Session events
Every modeled session event, with JSON examples for platform, harness, and streaming consumers.
Read session records through List records or receive them in a live stream's records_append frames. Open an event to see its example JSON and detailed field specification. Events are grouped by producer and ordered roughly from a message's receipt through environment preparation to the end of its turn.
The session's own event field identifies the external event that started it. The records on this page describe activity throughout that session. See Sessions for source and event fields.
Examples are illustrative, independent messages, not a consecutive transcript. Optional native fields vary by harness version. Platform and transport types are listed in full; native harnesses can also send additional types through unknown records.
- Platform: message, environment, turn, and conversation events.
- Claude Code: native messages and turn results.
- Codex: native app-server notifications.
- WebSocket frames: delivery, live output, and connection state.
- Historical formats: records retained from older sessions.
For how the conversation and its turns report progress, and how to know when your message is answered, start with Lifecycle.
Read an event
| Field | How to use it |
|---|---|
kind | Select the typed record variant: platform, claude_code, codex_app_server, claude_sdk, codex, or unknown. |
source | Identify the producer: lifecycle, claude_code, or codex. |
record_format | Select the payload version; existing history retains its original format. |
record_type | Identify the event within its format. |
payload | Read the platform fields or the unchanged native message. |
feed_seq | Order records within a session and resume the stream after this position. |
turn_id | Correlate records with the turn they belong to; environment records carry the turn they prepare for. |
session_message_id | Correlate message events and native user echoes so a message can render once. |
Use kind and record_type to narrow platform records. For native records, narrow kind first, then payload.type (Claude and historical Codex) or payload.method (current Codex). Native payloads can have their own kind field, such as "push" in a Claude Git notification; it is event data, not the envelope's record variant. Claude rate limits are the exception: record_type is rate_limit, while payload.type is rate_limit_event.
The field specifications below come from the SDK schema. Required means the field must be present; null in its type means its value can be null. Expand nested fields to inspect their properties and variants. Required fields within a variant apply when that variant is used. Examples show one possible payload; optional native fields may be absent.
Both SDKs expose SessionRecord and StreamFrame:
Platform
These records use kind: "platform", source: "lifecycle", and record_format: "ellipsis_lifecycle@1". Events describe individual changes; not every session produces every type. Every record that belongs to a turn carries its turn_id; environment records carry the turn they prepare for. Older sessions can contain platform record types that are no longer produced; they arrive as unknown records.
message_receivedA message entered the session and its turn was created; turn_id is the turn that will answer it, and closes_session marks a final message.
Use session_message_id to match the message with its native user echo so it renders once. The message is answered when its turn reaches a final status; see Lifecycle.
Example JSON
Field specification
kindstringRequired- Must be "platform".
sourcestringRequired- Must be "lifecycle".
record_formatstringRequired- Must be "ellipsis_lifecycle@1".
record_typestringRequired- Must be "message_received".
payloadobjectRequired- Additional properties are allowed.
Fields and variants
authorstring | nullOptionalbodystringRequiredcloses_sessionbooleanOptionalmessage_idstringRequiredsender_attribution_idstring | nullOptionalsender_attribution_typestring | nullOptionalturn_idstring | nullOptional
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
environment_phaseA phase of environment preparation started, completed, or failed, with an optional step, timing, and details.
Example JSON
Field specification
kindstringRequired- Must be "platform".
sourcestringRequired- Must be "lifecycle".
record_formatstringRequired- Must be "ellipsis_lifecycle@1".
record_typestringRequired- Must be "environment_phase".
payloadobjectRequired- Additional properties are allowed.
Fields and variants
detailobject | nullOptional- Additional properties are allowed.
duration_msinteger | nullOptionalphasestringRequiredstatusstringRequiredstepstring | nullOptional
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
environment_outputA chunk of output from environment preparation, including your hooks; many arrive per turn, and chunk orders them within a step.
Example JSON
Field specification
kindstringRequired- Must be "platform".
sourcestringRequired- Must be "lifecycle".
record_formatstringRequired- Must be "ellipsis_lifecycle@1".
record_typestringRequired- Must be "environment_output".
payloadobjectRequired- Additional properties are allowed.
Fields and variants
chunkintegerRequiredlinesarray<string>RequiredFields and variants
[]string
phasestringRequiredstepstring | nullOptionalstreamstringOptional
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
environment_readyThe environment is prepared for the listed repositories and the agent is about to start.
Example JSON
Field specification
kindstringRequired- Must be "platform".
sourcestringRequired- Must be "lifecycle".
record_formatstringRequired- Must be "ellipsis_lifecycle@1".
record_typestringRequired- Must be "environment_ready".
payloadobjectRequired- Additional properties are allowed.
Fields and variants
duration_msinteger | nullOptionalrepositoriesarray<string>RequiredFields and variants
[]string
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
turn_startedThe agent started on the turn's message; the turn is now running.
Example JSON
Field specification
kindstringRequired- Must be "platform".
sourcestringRequired- Must be "lifecycle".
record_formatstringRequired- Must be "ellipsis_lifecycle@1".
record_typestringRequired- Must be "turn_started".
payloadobjectRequired- Additional properties are allowed.
Fields and variants
turn_idstringRequiredturn_indexintegerRequired
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
message_deliveredThe agent started on the message, on the identified turn.
Example JSON
Field specification
kindstringRequired- Must be "platform".
sourcestringRequired- Must be "lifecycle".
record_formatstringRequired- Must be "ellipsis_lifecycle@1".
record_typestringRequired- Must be "message_delivered".
payloadobjectRequired- Additional properties are allowed.
Fields and variants
message_idstringRequiredturn_idstringRequired
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
turn_endedThe turn reached its final status; status, reason, and detail match the turn on the session object.
Example JSON
Field specification
kindstringRequired- Must be "platform".
sourcestringRequired- Must be "lifecycle".
record_formatstringRequired- Must be "ellipsis_lifecycle@1".
record_typestringRequired- Must be "turn_ended".
payloadobjectRequired- Additional properties are allowed.
Fields and variants
detailstring | nullOptionalduration_msinteger | nullOptionalreasonstring | nullOptionalstatusstringRequiredturn_idstringRequiredturn_indexintegerRequired
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
message_requeuedThe turn ended before answering the message, so the message was queued again with a new pending turn, requeued_turn_id.
Example JSON
Field specification
kindstringRequired- Must be "platform".
sourcestringRequired- Must be "lifecycle".
record_formatstringRequired- Must be "ellipsis_lifecycle@1".
record_typestringRequired- Must be "message_requeued".
payloadobjectRequired- Additional properties are allowed.
Fields and variants
message_idstringRequiredrequeued_turn_idstring | nullOptionalturn_idstringRequired
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
session_closedThe conversation closed permanently, after the turn of a session that runs once or after a closing message's turn.
Example JSON
Field specification
kindstringRequired- Must be "platform".
sourcestringRequired- Must be "lifecycle".
record_formatstringRequired- Must be "ellipsis_lifecycle@1".
record_typestringRequired- Must be "session_closed".
payloadobjectRequired- Additional properties are allowed.
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
environment_phase.phase names a stage of preparation: image (the base image), clone (the repositories), setup (the environment's build_base and after_checkout hooks, named in step), snapshot (saving the prepared environment for reuse), restore (bringing a saved environment back for a later turn), and hooks (the before_start hook, which runs each time an environment is prepared, before the agent starts). status is started, completed, or failed. Phases, steps, and statuses are open vocabularies, so render values you don't recognize as they are. environment_output carries the same phase and step; a clone chunk names the repository in step. A reused environment skips its build steps.
A turn's status, reason, and detail also arrive on the session frame; turn_ended is the record of the same change. There are no separate session-level success, failure, or stop records: the conversation reports only session_closed.
Claude Code
Current Claude records use kind: "claude_code", source: "claude_code", and record_format: "claude_jsonl@1". A native result ends a harness turn, not necessarily the whole session.
systemReports harness metadata, including initialization, status, compaction, hooks, and background-task activity through subtype.
Example JSON
Field specification
kindstringRequired- Must be "claude_code".
sourcestringRequired- Must be "claude_code".
record_formatstringRequired- Must be "claude_jsonl@1".
record_typestringRequired- Original record type within its format.
payloadobjectRequired- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "system".
session_idstring | nullOptionalsubtypestringRequireduuidstring | nullOptional
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
systemReports a Git state change through subtype: vcs_state_changed; payload.kind identifies the operation, such as a push.
This notification is part of the current turn's activity. It does not complete or fail the turn. Its native kind, cwd, and other fields are preserved in payload; record_type remains system.
Example JSON
Field specification
kindstringRequired- Must be "claude_code".
sourcestringRequired- Must be "claude_code".
record_formatstringRequired- Must be "claude_jsonl@1".
record_typestringRequired- Original record type within its format.
payloadobjectRequired- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "system".
session_idstring | nullOptionalsubtypestringRequireduuidstring | nullOptional
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
userCarries a user-message echo or tool results supplied back to Claude; this example is a tool result.
Example JSON
Field specification
kindstringRequired- Must be "claude_code".
sourcestringRequired- Must be "claude_code".
record_formatstringRequired- Must be "claude_jsonl@1".
record_typestringRequired- Original record type within its format.
payloadobjectRequired- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "user".
isReplayboolean | nullOptionalmessageobjectRequired- Additional properties are allowed.
Fields and variants
contentstring | array<object>Required- Matches at least one variant below.
Fields and variants
variant 1stringvariant 2array<object>Fields and variants
[]object- Matches exactly one variant below.
Fields and variants
type = "text"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "text".
textstringRequired
type = "thinking"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "thinking".
signaturestringRequiredthinkingstringRequired
type = "tool_use"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "tool_use".
idstringRequiredinputobjectOptional- Additional properties are allowed.
namestringRequired
type = "tool_result"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "tool_result".
contentstring | array<object> | nullOptional- Matches at least one variant below.
Fields and variants
variant 1stringvariant 2array<object>Fields and variants
[]object- Additional properties are allowed.
is_errorboolean | nullOptionaltool_use_idstringRequired
type = "server_tool_use"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "server_tool_use".
idstringRequiredinputobjectOptional- Additional properties are allowed.
namestringRequired
type = "server_tool_result"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "server_tool_result".
contentobjectOptional- Additional properties are allowed.
tool_use_idstringRequired
rolestringRequired- Must be "user".
parent_tool_use_idstring | nullOptionalsession_idstring | nullOptionaluuidstring | nullOptional
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
assistantCarries completed assistant content, including text, thinking, and tool calls.
Example JSON
Field specification
kindstringRequired- Must be "claude_code".
sourcestringRequired- Must be "claude_code".
record_formatstringRequired- Must be "claude_jsonl@1".
record_typestringRequired- Original record type within its format.
payloadobjectRequired- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "assistant".
errorstring | nullOptionalmessageobjectRequired- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "message".
contentarray<object>RequiredFields and variants
[]object- Matches exactly one variant below.
Fields and variants
type = "text"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "text".
textstringRequired
type = "thinking"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "thinking".
signaturestringRequiredthinkingstringRequired
type = "tool_use"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "tool_use".
idstringRequiredinputobjectOptional- Additional properties are allowed.
namestringRequired
type = "tool_result"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "tool_result".
contentstring | array<object> | nullOptional- Matches at least one variant below.
Fields and variants
variant 1stringvariant 2array<object>Fields and variants
[]object- Additional properties are allowed.
is_errorboolean | nullOptionaltool_use_idstringRequired
type = "server_tool_use"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "server_tool_use".
idstringRequiredinputobjectOptional- Additional properties are allowed.
namestringRequired
type = "server_tool_result"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "server_tool_result".
contentobjectOptional- Additional properties are allowed.
tool_use_idstringRequired
idstring | nullOptionalmodelstringRequiredrolestringRequired- Must be "assistant".
stop_reasonstring | nullOptionalstop_sequencestring | nullOptionalusageobject | nullOptional- Additional properties are allowed.
Fields and variants
cache_creationobject | nullOptional- Additional properties are allowed.
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalinput_tokensintegerOptionaloutput_tokensintegerOptional
parent_tool_use_idstring | nullOptionalsession_idstring | nullOptionaluuidstring | nullOptional
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
rate_limitReports rate-limit status and reset information; the native payload names the event rate_limit_event.
Example JSON
Field specification
kindstringRequired- Must be "claude_code".
sourcestringRequired- Must be "claude_code".
record_formatstringRequired- Must be "claude_jsonl@1".
record_typestringRequired- Original record type within its format.
payloadobjectRequired- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "rate_limit_event".
rate_limit_infoobjectRequired- Additional properties are allowed.
Fields and variants
overageDisabledReasonstring | nullOptionaloverageResetsAtinteger | nullOptionaloverageStatusstring | nullOptionalrateLimitTypestring | nullOptionalresetsAtinteger | nullOptionalstatusstringRequiredutilizationnumber | nullOptional
session_idstring | nullOptionaluuidstring | nullOptional
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
resultReports a harness turn outcome with its output, elapsed time, usage, and reported cost.
Example JSON
Field specification
kindstringRequired- Must be "claude_code".
sourcestringRequired- Must be "claude_code".
record_formatstringRequired- Must be "claude_jsonl@1".
record_typestringRequired- Original record type within its format.
payloadobjectRequired- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "result".
duration_api_msintegerRequiredduration_msintegerRequirederrorsarray<string> | nullOptionalFields and variants
[]string
is_errorbooleanRequiredmodelUsageobject | nullOptional- Additional properties are allowed.
num_turnsintegerRequiredresultstring | nullOptionalsession_idstring | nullOptionalstop_reasonstring | nullOptionalstructured_outputany JSON valueOptionalsubtypestringRequiredtotal_cost_usdnumber | nullOptionalusageobject | nullOptional- Additional properties are allowed.
Fields and variants
cache_creationobject | nullOptional- Additional properties are allowed.
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalinput_tokensintegerOptionaloutput_tokensintegerOptional
uuidstring | nullOptional
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
conversation_resetReports that Claude switched to a new native conversation identifier.
Example JSON
Field specification
kindstringRequired- Must be "claude_code".
sourcestringRequired- Must be "claude_code".
record_formatstringRequired- Must be "claude_jsonl@1".
record_typestringRequired- Original record type within its format.
payloadobjectRequired- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "conversation_reset".
new_conversation_idstringRequiredsession_idstring | nullOptionaluuidstring | nullOptional
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
system.subtype is an open string. Examples include init, compact_boundary, status, vcs_state_changed, task_started, task_progress, task_notification, task_updated, hook_started, and hook_response; these remain system records, not separate record_type values.
A result.subtype distinguishes success from outcomes such as error_during_execution, error_max_turns, error_max_structured_output_retries, and historical error_max_budget_usd results.
Content blocks such as text, thinking, tool_use, and tool_result are nested payloads, not separate session events. Native stream_event messages supply live delta frames; their original per-token messages are not retained as records.
Codex
Current Codex records use source: "codex" and record_format: "codex_app_server@1". The modeled notifications use kind: "codex_app_server"; additional native notifications use kind: "unknown" while retaining their method and payload.
remoteControl/status/changedReports the native app-server remote-control status as an unknown record.
Example JSON
Field specification
kindstringRequired- Must be "unknown".
sourcestringRequired- Original producer. Unknown producers remain readable as unknown records.
record_formatstringRequired- Original versioned payload format.
record_typestringRequired- Original record type within its format.
payloadobjectRequired- Additional properties are allowed.
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
thread/startedAnnounces the native thread and its metadata.
Example JSON
Field specification
kindstringRequired- Must be "codex_app_server".
sourcestringRequired- Must be "codex".
record_formatstringRequired- Must be "codex_app_server@1".
record_typestringRequired- Original record type within its format.
payloadobjectRequired- Additional properties are allowed.
Fields and variants
paramsobjectRequired- Additional properties are allowed.
Fields and variants
threadobjectRequired- Additional properties are allowed.
Fields and variants
cliVersionstringRequiredcwdstringRequiredidstringRequiredmodelProviderstringRequiredturnsarray<object>RequiredFields and variants
[]object- Additional properties are allowed.
Fields and variants
errorobject | nullOptional- Additional properties are allowed.
Fields and variants
additionalDetailsstring | nullOptionalcodexErrorInfostring | object | nullOptional- Matches at least one variant below.
Fields and variants
variant 1stringvariant 2object- Additional properties are allowed.
messagestringRequired
idstringRequireditemsarray<object>RequiredFields and variants
[]object- Matches exactly one variant below.
Fields and variants
type = "userMessage"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "userMessage".
clientIdstring | nullOptionalcontentarray<object>RequiredFields and variants
[]object- Matches exactly one variant below.
Fields and variants
type = "text"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "text".
textstringRequiredtext_elementsarray<object>OptionalFields and variants
[]object- Additional properties are allowed.
type = "localImage"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "localImage".
detailstring | nullOptional- Allowed values: "auto", "low", "high", "original".
pathstringRequired
idstringRequired
type = "agentMessage"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "agentMessage".
idstringRequiredphasestring | nullOptional- Allowed values: "commentary", "final_answer".
textstringRequired
type = "reasoning"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "reasoning".
contentarray<string>OptionalFields and variants
[]string
idstringRequiredsummaryarray<string>OptionalFields and variants
[]string
type = "plan"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "plan".
idstringRequiredtextstringRequired
type = "commandExecution"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "commandExecution".
aggregatedOutputstring | nullOptionalcommandstringRequiredcommandActionsarray<object>RequiredFields and variants
[]object- Additional properties are allowed.
cwdstringRequireddurationMsinteger | nullOptionalexitCodeinteger | nullOptionalidstringRequiredprocessIdstring | nullOptionalstatusstringRequired- Allowed values: "inProgress", "completed", "failed", "declined".
type = "fileChange"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "fileChange".
changesarray<object>RequiredFields and variants
[]object- Additional properties are allowed.
Fields and variants
kindobjectRequired- Additional properties are allowed.
diffstringRequiredpathstringRequired
idstringRequiredstatusstringRequired- Allowed values: "inProgress", "completed", "failed", "declined".
type = "webSearch"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "webSearch".
actionobject | nullOptional- Additional properties are allowed.
idstringRequiredquerystringRequired
type = "mcpToolCall"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "mcpToolCall".
appContextobject | nullOptional- Additional properties are allowed.
Fields and variants
actionNamestring | nullOptionalappNamestring | nullOptionalconnectorIdstringRequiredlinkIdstring | nullOptionalresourceUristring | nullOptional
argumentsany JSON valueRequireddurationMsinteger | nullOptionalerrorobject | nullOptional- Additional properties are allowed.
Fields and variants
messagestringRequired
idstringRequiredmcpAppResourceUristring | nullOptionalpluginIdstring | nullOptionalresultobject | nullOptional- Additional properties are allowed.
Fields and variants
_metaany JSON valueOptionalcontentarray<any JSON value>RequiredFields and variants
[]any JSON value
structuredContentany JSON valueOptional
serverstringRequiredstatusstringRequired- Allowed values: "inProgress", "completed", "failed".
toolstringRequired
type = "contextCompaction"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "contextCompaction".
idstringRequired
statusstringRequired- Allowed values: "inProgress", "completed", "failed", "interrupted".
methodstringRequired- Must be "thread/started".
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
thread/status/changedReports native thread activity, such as becoming active or idle, as an unknown record.
Example JSON
Field specification
kindstringRequired- Must be "unknown".
sourcestringRequired- Original producer. Unknown producers remain readable as unknown records.
record_formatstringRequired- Original versioned payload format.
record_typestringRequired- Original record type within its format.
payloadobjectRequired- Additional properties are allowed.
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
turn/startedAnnounces the start of a native turn.
Example JSON
Field specification
kindstringRequired- Must be "codex_app_server".
sourcestringRequired- Must be "codex".
record_formatstringRequired- Must be "codex_app_server@1".
record_typestringRequired- Original record type within its format.
payloadobjectRequired- Additional properties are allowed.
Fields and variants
paramsobjectRequired- Additional properties are allowed.
Fields and variants
threadIdstringRequiredturnobjectRequired- Additional properties are allowed.
Fields and variants
errorobject | nullOptional- Additional properties are allowed.
Fields and variants
additionalDetailsstring | nullOptionalcodexErrorInfostring | object | nullOptional- Matches at least one variant below.
Fields and variants
variant 1stringvariant 2object- Additional properties are allowed.
messagestringRequired
idstringRequireditemsarray<object>RequiredFields and variants
[]object- Matches exactly one variant below.
Fields and variants
type = "userMessage"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "userMessage".
clientIdstring | nullOptionalcontentarray<object>RequiredFields and variants
[]object- Matches exactly one variant below.
Fields and variants
type = "text"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "text".
textstringRequiredtext_elementsarray<object>OptionalFields and variants
[]object- Additional properties are allowed.
type = "localImage"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "localImage".
detailstring | nullOptional- Allowed values: "auto", "low", "high", "original".
pathstringRequired
idstringRequired
type = "agentMessage"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "agentMessage".
idstringRequiredphasestring | nullOptional- Allowed values: "commentary", "final_answer".
textstringRequired
type = "reasoning"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "reasoning".
contentarray<string>OptionalFields and variants
[]string
idstringRequiredsummaryarray<string>OptionalFields and variants
[]string
type = "plan"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "plan".
idstringRequiredtextstringRequired
type = "commandExecution"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "commandExecution".
aggregatedOutputstring | nullOptionalcommandstringRequiredcommandActionsarray<object>RequiredFields and variants
[]object- Additional properties are allowed.
cwdstringRequireddurationMsinteger | nullOptionalexitCodeinteger | nullOptionalidstringRequiredprocessIdstring | nullOptionalstatusstringRequired- Allowed values: "inProgress", "completed", "failed", "declined".
type = "fileChange"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "fileChange".
changesarray<object>RequiredFields and variants
[]object- Additional properties are allowed.
Fields and variants
kindobjectRequired- Additional properties are allowed.
diffstringRequiredpathstringRequired
idstringRequiredstatusstringRequired- Allowed values: "inProgress", "completed", "failed", "declined".
type = "webSearch"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "webSearch".
actionobject | nullOptional- Additional properties are allowed.
idstringRequiredquerystringRequired
type = "mcpToolCall"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "mcpToolCall".
appContextobject | nullOptional- Additional properties are allowed.
Fields and variants
actionNamestring | nullOptionalappNamestring | nullOptionalconnectorIdstringRequiredlinkIdstring | nullOptionalresourceUristring | nullOptional
argumentsany JSON valueRequireddurationMsinteger | nullOptionalerrorobject | nullOptional- Additional properties are allowed.
Fields and variants
messagestringRequired
idstringRequiredmcpAppResourceUristring | nullOptionalpluginIdstring | nullOptionalresultobject | nullOptional- Additional properties are allowed.
Fields and variants
_metaany JSON valueOptionalcontentarray<any JSON value>RequiredFields and variants
[]any JSON value
structuredContentany JSON valueOptional
serverstringRequiredstatusstringRequired- Allowed values: "inProgress", "completed", "failed".
toolstringRequired
type = "contextCompaction"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "contextCompaction".
idstringRequired
statusstringRequired- Allowed values: "inProgress", "completed", "failed", "interrupted".
methodstringRequired- Must be "turn/started".
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
item/startedAnnounces the start of a message, command, file change, or another conversation item.
Example JSON
Field specification
kindstringRequired- Must be "codex_app_server".
sourcestringRequired- Must be "codex".
record_formatstringRequired- Must be "codex_app_server@1".
record_typestringRequired- Original record type within its format.
payloadobjectRequired- Additional properties are allowed.
Fields and variants
paramsobjectRequired- Additional properties are allowed.
Fields and variants
itemobjectRequired- Matches exactly one variant below.
Fields and variants
type = "userMessage"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "userMessage".
clientIdstring | nullOptionalcontentarray<object>RequiredFields and variants
[]object- Matches exactly one variant below.
Fields and variants
type = "text"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "text".
textstringRequiredtext_elementsarray<object>OptionalFields and variants
[]object- Additional properties are allowed.
type = "localImage"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "localImage".
detailstring | nullOptional- Allowed values: "auto", "low", "high", "original".
pathstringRequired
idstringRequired
type = "agentMessage"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "agentMessage".
idstringRequiredphasestring | nullOptional- Allowed values: "commentary", "final_answer".
textstringRequired
type = "reasoning"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "reasoning".
contentarray<string>OptionalFields and variants
[]string
idstringRequiredsummaryarray<string>OptionalFields and variants
[]string
type = "plan"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "plan".
idstringRequiredtextstringRequired
type = "commandExecution"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "commandExecution".
aggregatedOutputstring | nullOptionalcommandstringRequiredcommandActionsarray<object>RequiredFields and variants
[]object- Additional properties are allowed.
cwdstringRequireddurationMsinteger | nullOptionalexitCodeinteger | nullOptionalidstringRequiredprocessIdstring | nullOptionalstatusstringRequired- Allowed values: "inProgress", "completed", "failed", "declined".
type = "fileChange"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "fileChange".
changesarray<object>RequiredFields and variants
[]object- Additional properties are allowed.
Fields and variants
kindobjectRequired- Additional properties are allowed.
diffstringRequiredpathstringRequired
idstringRequiredstatusstringRequired- Allowed values: "inProgress", "completed", "failed", "declined".
type = "webSearch"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "webSearch".
actionobject | nullOptional- Additional properties are allowed.
idstringRequiredquerystringRequired
type = "mcpToolCall"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "mcpToolCall".
appContextobject | nullOptional- Additional properties are allowed.
Fields and variants
actionNamestring | nullOptionalappNamestring | nullOptionalconnectorIdstringRequiredlinkIdstring | nullOptionalresourceUristring | nullOptional
argumentsany JSON valueRequireddurationMsinteger | nullOptionalerrorobject | nullOptional- Additional properties are allowed.
Fields and variants
messagestringRequired
idstringRequiredmcpAppResourceUristring | nullOptionalpluginIdstring | nullOptionalresultobject | nullOptional- Additional properties are allowed.
Fields and variants
_metaany JSON valueOptionalcontentarray<any JSON value>RequiredFields and variants
[]any JSON value
structuredContentany JSON valueOptional
serverstringRequiredstatusstringRequired- Allowed values: "inProgress", "completed", "failed".
toolstringRequired
type = "contextCompaction"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "contextCompaction".
idstringRequired
threadIdstringRequiredturnIdstringRequired
methodstringRequired- Must be "item/started".
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
item/completedSupplies a completed item, including its content, output, or outcome.
Example JSON
Field specification
kindstringRequired- Must be "codex_app_server".
sourcestringRequired- Must be "codex".
record_formatstringRequired- Must be "codex_app_server@1".
record_typestringRequired- Original record type within its format.
payloadobjectRequired- Additional properties are allowed.
Fields and variants
paramsobjectRequired- Additional properties are allowed.
Fields and variants
itemobjectRequired- Matches exactly one variant below.
Fields and variants
type = "userMessage"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "userMessage".
clientIdstring | nullOptionalcontentarray<object>RequiredFields and variants
[]object- Matches exactly one variant below.
Fields and variants
type = "text"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "text".
textstringRequiredtext_elementsarray<object>OptionalFields and variants
[]object- Additional properties are allowed.
type = "localImage"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "localImage".
detailstring | nullOptional- Allowed values: "auto", "low", "high", "original".
pathstringRequired
idstringRequired
type = "agentMessage"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "agentMessage".
idstringRequiredphasestring | nullOptional- Allowed values: "commentary", "final_answer".
textstringRequired
type = "reasoning"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "reasoning".
contentarray<string>OptionalFields and variants
[]string
idstringRequiredsummaryarray<string>OptionalFields and variants
[]string
type = "plan"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "plan".
idstringRequiredtextstringRequired
type = "commandExecution"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "commandExecution".
aggregatedOutputstring | nullOptionalcommandstringRequiredcommandActionsarray<object>RequiredFields and variants
[]object- Additional properties are allowed.
cwdstringRequireddurationMsinteger | nullOptionalexitCodeinteger | nullOptionalidstringRequiredprocessIdstring | nullOptionalstatusstringRequired- Allowed values: "inProgress", "completed", "failed", "declined".
type = "fileChange"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "fileChange".
changesarray<object>RequiredFields and variants
[]object- Additional properties are allowed.
Fields and variants
kindobjectRequired- Additional properties are allowed.
diffstringRequiredpathstringRequired
idstringRequiredstatusstringRequired- Allowed values: "inProgress", "completed", "failed", "declined".
type = "webSearch"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "webSearch".
actionobject | nullOptional- Additional properties are allowed.
idstringRequiredquerystringRequired
type = "mcpToolCall"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "mcpToolCall".
appContextobject | nullOptional- Additional properties are allowed.
Fields and variants
actionNamestring | nullOptionalappNamestring | nullOptionalconnectorIdstringRequiredlinkIdstring | nullOptionalresourceUristring | nullOptional
argumentsany JSON valueRequireddurationMsinteger | nullOptionalerrorobject | nullOptional- Additional properties are allowed.
Fields and variants
messagestringRequired
idstringRequiredmcpAppResourceUristring | nullOptionalpluginIdstring | nullOptionalresultobject | nullOptional- Additional properties are allowed.
Fields and variants
_metaany JSON valueOptionalcontentarray<any JSON value>RequiredFields and variants
[]any JSON value
structuredContentany JSON valueOptional
serverstringRequiredstatusstringRequired- Allowed values: "inProgress", "completed", "failed".
toolstringRequired
type = "contextCompaction"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "contextCompaction".
idstringRequired
threadIdstringRequiredturnIdstringRequired
methodstringRequired- Must be "item/completed".
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
thread/tokenUsage/updatedReports cumulative native thread usage and usage for the latest model call.
Example JSON
Field specification
kindstringRequired- Must be "codex_app_server".
sourcestringRequired- Must be "codex".
record_formatstringRequired- Must be "codex_app_server@1".
record_typestringRequired- Original record type within its format.
payloadobjectRequired- Additional properties are allowed.
Fields and variants
paramsobjectRequired- Additional properties are allowed.
Fields and variants
threadIdstringRequiredtokenUsageobjectRequired- Additional properties are allowed.
Fields and variants
lastobjectRequired- Additional properties are allowed.
Fields and variants
cacheWriteInputTokensintegerOptionalcachedInputTokensintegerRequiredinputTokensintegerRequiredoutputTokensintegerRequiredreasoningOutputTokensintegerRequiredtotalTokensintegerRequired
modelContextWindowinteger | nullOptionaltotalobjectRequired- Additional properties are allowed.
Fields and variants
cacheWriteInputTokensintegerOptionalcachedInputTokensintegerRequiredinputTokensintegerRequiredoutputTokensintegerRequiredreasoningOutputTokensintegerRequiredtotalTokensintegerRequired
turnIdstringRequired
methodstringRequired- Must be "thread/tokenUsage/updated".
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
account/rateLimits/updatedReports native account rate-limit information as an unknown record.
Example JSON
Field specification
kindstringRequired- Must be "unknown".
sourcestringRequired- Original producer. Unknown producers remain readable as unknown records.
record_formatstringRequired- Original versioned payload format.
record_typestringRequired- Original record type within its format.
payloadobjectRequired- Additional properties are allowed.
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
errorReports a native error and whether Codex intends to retry it.
Example JSON
Field specification
kindstringRequired- Must be "codex_app_server".
sourcestringRequired- Must be "codex".
record_formatstringRequired- Must be "codex_app_server@1".
record_typestringRequired- Original record type within its format.
payloadobjectRequired- Additional properties are allowed.
Fields and variants
paramsobjectRequired- Additional properties are allowed.
Fields and variants
errorobjectRequired- Additional properties are allowed.
Fields and variants
additionalDetailsstring | nullOptionalcodexErrorInfostring | object | nullOptional- Matches at least one variant below.
Fields and variants
variant 1stringvariant 2object- Additional properties are allowed.
messagestringRequired
threadIdstringRequiredturnIdstringRequiredwillRetrybooleanRequired
methodstringRequired- Must be "error".
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
turn/completedReports a native turn ending with status completed, failed, or interrupted.
Command item/completed notifications can arrive after this native event. For a successful turn, Ellipsis waits up to two seconds for pending command notifications before emitting the platform turn_ended record. Commands left running in the background do not keep the platform turn open indefinitely.
Example JSON
Field specification
kindstringRequired- Must be "codex_app_server".
sourcestringRequired- Must be "codex".
record_formatstringRequired- Must be "codex_app_server@1".
record_typestringRequired- Original record type within its format.
payloadobjectRequired- Additional properties are allowed.
Fields and variants
paramsobjectRequired- Additional properties are allowed.
Fields and variants
threadIdstringRequiredturnobjectRequired- Additional properties are allowed.
Fields and variants
errorobject | nullOptional- Additional properties are allowed.
Fields and variants
additionalDetailsstring | nullOptionalcodexErrorInfostring | object | nullOptional- Matches at least one variant below.
Fields and variants
variant 1stringvariant 2object- Additional properties are allowed.
messagestringRequired
idstringRequireditemsarray<object>RequiredFields and variants
[]object- Matches exactly one variant below.
Fields and variants
type = "userMessage"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "userMessage".
clientIdstring | nullOptionalcontentarray<object>RequiredFields and variants
[]object- Matches exactly one variant below.
Fields and variants
type = "text"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "text".
textstringRequiredtext_elementsarray<object>OptionalFields and variants
[]object- Additional properties are allowed.
type = "localImage"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "localImage".
detailstring | nullOptional- Allowed values: "auto", "low", "high", "original".
pathstringRequired
idstringRequired
type = "agentMessage"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "agentMessage".
idstringRequiredphasestring | nullOptional- Allowed values: "commentary", "final_answer".
textstringRequired
type = "reasoning"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "reasoning".
contentarray<string>OptionalFields and variants
[]string
idstringRequiredsummaryarray<string>OptionalFields and variants
[]string
type = "plan"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "plan".
idstringRequiredtextstringRequired
type = "commandExecution"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "commandExecution".
aggregatedOutputstring | nullOptionalcommandstringRequiredcommandActionsarray<object>RequiredFields and variants
[]object- Additional properties are allowed.
cwdstringRequireddurationMsinteger | nullOptionalexitCodeinteger | nullOptionalidstringRequiredprocessIdstring | nullOptionalstatusstringRequired- Allowed values: "inProgress", "completed", "failed", "declined".
type = "fileChange"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "fileChange".
changesarray<object>RequiredFields and variants
[]object- Additional properties are allowed.
Fields and variants
kindobjectRequired- Additional properties are allowed.
diffstringRequiredpathstringRequired
idstringRequiredstatusstringRequired- Allowed values: "inProgress", "completed", "failed", "declined".
type = "webSearch"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "webSearch".
actionobject | nullOptional- Additional properties are allowed.
idstringRequiredquerystringRequired
type = "mcpToolCall"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "mcpToolCall".
appContextobject | nullOptional- Additional properties are allowed.
Fields and variants
actionNamestring | nullOptionalappNamestring | nullOptionalconnectorIdstringRequiredlinkIdstring | nullOptionalresourceUristring | nullOptional
argumentsany JSON valueRequireddurationMsinteger | nullOptionalerrorobject | nullOptional- Additional properties are allowed.
Fields and variants
messagestringRequired
idstringRequiredmcpAppResourceUristring | nullOptionalpluginIdstring | nullOptionalresultobject | nullOptional- Additional properties are allowed.
Fields and variants
_metaany JSON valueOptionalcontentarray<any JSON value>RequiredFields and variants
[]any JSON value
structuredContentany JSON valueOptional
serverstringRequiredstatusstringRequired- Allowed values: "inProgress", "completed", "failed".
toolstringRequired
type = "contextCompaction"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "contextCompaction".
idstringRequired
statusstringRequired- Allowed values: "inProgress", "completed", "failed", "interrupted".
methodstringRequired- Must be "turn/completed".
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
An item's type distinguishes userMessage, agentMessage, reasoning, plan, commandExecution, fileChange, webSearch, mcpToolCall, and contextCompaction. These are item variants inside notifications, not separate event methods.
item/agentMessage/delta supplies live delta frames with kind: "text". Readable item/reasoning/summaryTextDelta notifications supply kind: "thinking" previews. Each preview replaces the first-line prefix of the current summary section; item/reasoning/summaryPartAdded starts a new section. Raw reasoning deltas are not included in these previews. Native incremental tool and plan notifications are not forwarded as separate customer events; completed items carry their durable content. Native RPC acknowledgements are not session records.
WebSocket frames
Connect using the Python SDK or TypeScript SDK. The public endpoint is wss://api.ellipsis.dev/v1/sessions/{session_id}/stream?protocol=6; authenticate with a bearer token.
Each WebSocket message contains one frame. records_append is the only frame that advances the resume cursor. Reconnect with after_seq set to the last received feed_seq, or let the SDK manage reconnects. If after_seq is less than earliest_feed_seq - 1, part of the requested history is no longer retained.
snapshotThe first frame contains the current session, pending inbox messages, and the earliest retained feed position; records follow separately.
Example JSON
Field specification
typestringRequired- Must be "snapshot".
earliest_feed_seqinteger | nullRequired- The retention head: the lowest feed_seq still stored for this session, or null when it has no stored records. A client resuming from after_seq < earliest_feed_seq - 1 knows history is truncated.
messagesarray<object>Required- The session's open (pending) inbox messages.
Fields and variants
[]object- Additional properties are allowed.
Fields and variants
authorstring | nullRequired- Display attribution of the message's sender.
bodystringRequired- The message text, with one `[Image #N]` placeholder per attached image.
created_atstringRequired- When the message was created. Format: date-time.
delivered_atstring | nullRequired- When the message was delivered to the agent, if it has been. Format: date-time.
feed_seqinteger | nullRequired- Where the message sits in the session's feed — placement metadata only, NOT a resume cursor (only records_append frames advance the cursor). Null for older rows.
idstringRequired- Unique identifier of the message.
imagesarray<object>Required- Images attached to the message, metadata only: index, media type, size. The bytes go to the model, never over the stream.
Fields and variants
[]object- Additional properties are allowed.
Fields and variants
indexintegerRequired- 1-based position: the N in `[Image #N]`.
media_typestringRequired- The image's MIME type.
size_bytesintegerRequired- Size of the decoded image, in bytes.
sender_attribution_idstring | nullRequired- Identifier of the principal that sent the message, if attributed.
sender_attribution_typestring | nullRequired- Kind of principal that sent the message, if attributed. Allowed values: "github_user", "linear_user", "slack_user", "api_key".
session_idstringRequired- Identifier of the session the message belongs to.
statusstringRequired- Delivery status of the message. Allowed values: "pending", "delivered".
turn_idstring | nullRequired- The turn created to answer this message. Wait on it: the message is answered when that turn reaches a final status.
protocolintegerRequired- Echoes the protocol version the server is serving.
sessionobjectRequired- The session's current state. Additional properties are not allowed.
Fields and variants
sourcestringRequired- Where the session came from (e.g. react, web, api, cli, mention, cron). Allowed values: "react", "code_review", "web", "api", "cli", "mention", "cron".
agentobject | nullRequired- The agent the session was started from, or null for a raw session started with POST /v1/sessions. Additional properties are allowed.
Fields and variants
configobjectRequired- The agent definition the session was started from, frozen when the session was created. Additional properties are not allowed.
Fields and variants
ellipsisobjectRequired- Additional properties are not allowed.
Fields and variants
kindstringRequired- Must be "agent".
descriptionstring | nullRequiredenabledbooleanRequiredmetadataobjectRequired- Additional properties are not allowed.
Fields and variants
annotationsobjectRequired- Additional properties are allowed.
Fields and variants
[key]string
labelsarray<string>RequiredFields and variants
[]string
namestring | nullRequiredversionstringRequired
inputobject | nullRequired- Additional properties are not allowed.
Fields and variants
json_schemaobject | nullRequired- Additional properties are allowed.
messagestring | nullRequired
sessionobjectRequired- Additional properties are not allowed.
Fields and variants
budgetobjectRequired- Additional properties are not allowed.
Fields and variants
daynumber | nullRequired- The most the agent may spend over the last day, in US dollars.
monthnumber | nullRequired- The most the agent may spend over the last 28 days, in US dollars.
sessionnumber | nullRequired- The most one session may spend, in US dollars. Greater than: 0.
weeknumber | nullRequired- The most the agent may spend over the last 7 days, in US dollars.
claude_codeobject | nullRequired- Claude Code input and native options. Set exactly one of claude_code or codex. Additional properties are not allowed.
Fields and variants
effortstring | nullRequired- Allowed values: "low", "medium", "high", "xhigh", "max".
fallback_modelstring | nullRequiredmax_turnsinteger | nullRequired- Greater than: 0.
modelstringRequired- The model the session runs on: an alias or canonical id from the models table. Required.
promptstring | nullRequired- The initial user message, passed verbatim. Omit to start an interactive session with no turn, waiting for a message.
settingsobject | nullRequired- Additional properties are not allowed.
Fields and variants
pathstringRequiredrepositoryobject | nullRequired- Additional properties are not allowed.
Fields and variants
namestringRequiredownerstring | nullRequiredrefstring | nullRequired
codexobject | nullRequired- Codex input and native options. Set exactly one of claude_code or codex. Additional properties are not allowed.
Fields and variants
effortstring | nullRequired- Reasoning effort for every turn. Omit to use the model default. Allowed values: "none", "low", "medium", "high", "xhigh", "max".
modelstringRequired- The model the session runs on: a Responses-capable id from the models table. Required.
promptstring | nullRequired- The initial user message, passed verbatim. Omit to start an interactive session with no turn, waiting for a message.
conversationobjectRequired- Additional properties are not allowed.
Fields and variants
interactivebooleanRequired- Whether the session stays open after its first turn. Defaults to true; false runs once and requires a prompt. Requires the model's interactive capability when true. Direct message acceptance is reported separately in conversation.prompting.
environmentstring | objectRequired- Matches at least one variant below.
Fields and variants
variant 1stringvariant 2object- Additional properties are not allowed.
Fields and variants
computeobjectRequired- Additional properties are not allowed.
Fields and variants
cpuinteger | nullRequired- Minimum: 2. Maximum: 32.
memorystring | object | nullRequired- Matches at least one variant below.
Fields and variants
variant 1stringvariant 2object- Additional properties are not allowed.
Fields and variants
gbinteger | nullRequired- Minimum: 0.
mbinteger | nullRequired- Minimum: 0.
timeoutstring | object | nullRequired- Matches at least one variant below.
Fields and variants
variant 1stringvariant 2object- Additional properties are not allowed.
Fields and variants
hoursinteger | nullRequired- Minimum: 0.
minutesinteger | nullRequired- Minimum: 0.
secondsinteger | nullRequired- Minimum: 0.
hooksobjectRequired- Additional properties are not allowed.
Fields and variants
after_checkoutobject | string | nullRequired- Prepare the requested source revision after Ellipsis checks out all repositories, before saving the prepared environment. Skipped when that prepared environment is reused. Matches at least one variant below.
Fields and variants
variant 1object- Additional properties are not allowed.
Fields and variants
runstringRequired- Shell script to run in the workspace directory `/sandbox`.
variant 2string
before_startobject | string | nullRequired- Run before the agent starts or resumes a session, after the environment is ready. This hook is not cached and adds to session startup time. Matches at least one variant below.
Fields and variants
variant 1object- Additional properties are not allowed.
Fields and variants
runstringRequired- Shell script to run in the workspace directory `/sandbox`.
variant 2string
build_baseobject | string | nullRequired- Build a reusable environment before full checkout. Cached by declared inputs, script, toolchain, resources, and build configuration. A string is shorthand for run with all repositories as inputs. Matches at least one variant below.
Fields and variants
variant 1object- Additional properties are not allowed.
Fields and variants
inputsarray<string> | nullRequired- Exact files relative to the workspace directory `/sandbox`, including the repository name. Only these files are available during build_base and their contents and modes determine reuse. Omit to use all repositories and invalidate on any source change; [] means no repository files.
Fields and variants
[]string
runstringRequired- Shell script to run in the workspace directory `/sandbox`.
variant 2string
post_clonestring | nullRequired- Legacy session startup script. Use before_start for session setup or after_checkout for cached source preparation.
post_startstring | nullRequired- Legacy session startup script. Use before_start in new configurations.
mcp_serversarray<string | object>RequiredFields and variants
[]string | object- Matches at least one variant below.
Fields and variants
variant 1stringvariant 2object- Additional properties are not allowed.
Fields and variants
namestringRequired
variant 3object- Additional properties are not allowed.
Fields and variants
argsarray<string>RequiredFields and variants
[]string
commandstringRequiredenvobjectRequired- Additional properties are allowed.
Fields and variants
[key]string
namestringRequired
variant 4object- Additional properties are not allowed.
Fields and variants
headersobjectRequired- Additional properties are allowed.
Fields and variants
[key]string
namestringRequiredurlstringRequired
repositoriesarray<object>RequiredFields and variants
[]object- Additional properties are not allowed.
Fields and variants
namestringRequiredownerstring | nullRequiredrefstring | nullRequired
variablesarray<object>RequiredFields and variants
[]object- Additional properties are not allowed.
Fields and variants
namestringRequiredvaluestring | nullRequired
metadataobjectRequired- Arbitrary string key/value metadata stored on every session. Additional properties are allowed.
Fields and variants
[key]string
outputobject | nullRequired- Additional properties are not allowed.
Fields and variants
json_schemaobjectRequired- Additional properties are allowed.
permissionsobjectRequired- Additional properties are not allowed.
Fields and variants
ellipsisany JSON value | objectRequired- Matches at least one variant below.
Fields and variants
variant 1any JSON value- Allowed values: true, "all".
variant 2object- Additional properties are allowed. Allowed keys: "account", "alerts", "sessions", "configs", "defaults", "environments", "secrets", "templates", "integrations", "reviews", "tokens", "webhooks", "user".
Fields and variants
[key]string | object | array<string | object>- Matches at least one variant below.
Fields and variants
variant 1string- Allowed values: "read", "write", "delete".
variant 2object- Additional properties are not allowed.
Fields and variants
levelstringRequired- Allowed values: "read", "write", "delete".
matcharray<string> | nullRequiredFields and variants
[]string
variant 3array<string | object>Fields and variants
[]string | object- Matches at least one variant below.
Fields and variants
variant 1string- Allowed values: "read", "write", "delete".
variant 2object- Additional properties are not allowed.
Fields and variants
levelstringRequired- Allowed values: "read", "write", "delete".
matcharray<string> | nullRequiredFields and variants
[]string
githubobjectRequired- Additional properties are not allowed.
Fields and variants
permissionsstring | object | nullRequired- Matches at least one variant below.
Fields and variants
variant 1string- Must be "read_only".
variant 2object- Additional properties are allowed.
Fields and variants
[key]string
repositoriesarray<string> | nullRequiredFields and variants
[]string
skillsarray<object>RequiredFields and variants
[]object- Additional properties are not allowed.
Fields and variants
pathstringRequiredrepositoryobject | nullRequired- Additional properties are not allowed.
Fields and variants
namestringRequiredownerstring | nullRequiredrefstring | nullRequired
triggerobject | nullRequired- Matches exactly one variant below.
Fields and variants
type = "cron"object- Additional properties are not allowed.
Fields and variants
typestringRequired- Must be "cron".
schedulestringRequired
type = "react"object- Additional properties are not allowed.
Fields and variants
typestringRequired- Must be "react".
check_runobject | nullRequired- Additional properties are not allowed.
Fields and variants
brancharray<string>RequiredFields and variants
[]string
forobjectRequired- Additional properties are not allowed.
Fields and variants
botsobject | boolean | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- One include-minus-exclude set of GitHub accounts: an account matches iff
it is in `include` (`true` = all, a list = exactly those, `false`/`[]` =
none) AND not in `exclude`. A bare bool or list is shorthand for `include`,
so `users: true` and `users: [priya-shah]` both parse. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string> | booleanRequired- Matches at least one variant below.
Fields and variants
variant 1array<string>Fields and variants
[]string
variant 2boolean
variant 2booleanvariant 3array<string>Fields and variants
[]string
teamsarray<string>RequiredFields and variants
[]string
usersobject | boolean | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- One include-minus-exclude set of GitHub accounts: an account matches iff
it is in `include` (`true` = all, a list = exactly those, `false`/`[]` =
none) AND not in `exclude`. A bare bool or list is shorthand for `include`,
so `users: true` and `users: [priya-shah]` both parse. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string> | booleanRequired- Matches at least one variant below.
Fields and variants
variant 1array<string>Fields and variants
[]string
variant 2boolean
variant 2booleanvariant 3array<string>Fields and variants
[]string
namesarray<string>RequiredFields and variants
[]string
onarray<string>RequiredFields and variants
[]string- Allowed values: "failed".
repositoriesobject | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- The watch scope of a trigger, by repository name (owner defaults to the
account). Include minus exclude: `include: []` (the default) covers every
repository of the installation, so `exclude`-only means "all except these"
and keeps covering repositories added to the org later. A bare list is
shorthand for `include`. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string>RequiredFields and variants
[]string
variant 2array<string>Fields and variants
[]string
issueobject | nullRequired- Additional properties are not allowed.
Fields and variants
forobjectRequired- Additional properties are not allowed.
Fields and variants
botsobject | boolean | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- One include-minus-exclude set of GitHub accounts: an account matches iff
it is in `include` (`true` = all, a list = exactly those, `false`/`[]` =
none) AND not in `exclude`. A bare bool or list is shorthand for `include`,
so `users: true` and `users: [priya-shah]` both parse. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string> | booleanRequired- Matches at least one variant below.
Fields and variants
variant 1array<string>Fields and variants
[]string
variant 2boolean
variant 2booleanvariant 3array<string>Fields and variants
[]string
teamsarray<string>RequiredFields and variants
[]string
usersobject | boolean | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- One include-minus-exclude set of GitHub accounts: an account matches iff
it is in `include` (`true` = all, a list = exactly those, `false`/`[]` =
none) AND not in `exclude`. A bare bool or list is shorthand for `include`,
so `users: true` and `users: [priya-shah]` both parse. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string> | booleanRequired- Matches at least one variant below.
Fields and variants
variant 1array<string>Fields and variants
[]string
variant 2boolean
variant 2booleanvariant 3array<string>Fields and variants
[]string
labelsarray<string>RequiredFields and variants
[]string
onarray<string>RequiredFields and variants
[]string- Allowed values: "opened", "closed", "commented".
repositoriesobject | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- The watch scope of a trigger, by repository name (owner defaults to the
account). Include minus exclude: `include: []` (the default) covers every
repository of the installation, so `exclude`-only means "all except these"
and keeps covering repositories added to the org later. A bare list is
shorthand for `include`. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string>RequiredFields and variants
[]string
variant 2array<string>Fields and variants
[]string
linear_issueobject | nullRequired- Additional properties are not allowed.
Fields and variants
forobjectRequired- Additional properties are not allowed.
Fields and variants
botsobject | boolean | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- One include-minus-exclude set of GitHub accounts: an account matches iff
it is in `include` (`true` = all, a list = exactly those, `false`/`[]` =
none) AND not in `exclude`. A bare bool or list is shorthand for `include`,
so `users: true` and `users: [priya-shah]` both parse. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string> | booleanRequired- Matches at least one variant below.
Fields and variants
variant 1array<string>Fields and variants
[]string
variant 2boolean
variant 2booleanvariant 3array<string>Fields and variants
[]string
teamsarray<string>RequiredFields and variants
[]string
usersobject | boolean | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- One include-minus-exclude set of GitHub accounts: an account matches iff
it is in `include` (`true` = all, a list = exactly those, `false`/`[]` =
none) AND not in `exclude`. A bare bool or list is shorthand for `include`,
so `users: true` and `users: [priya-shah]` both parse. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string> | booleanRequired- Matches at least one variant below.
Fields and variants
variant 1array<string>Fields and variants
[]string
variant 2boolean
variant 2booleanvariant 3array<string>Fields and variants
[]string
onarray<string>RequiredFields and variants
[]string- Allowed values: "opened".
pull_requestobject | nullRequired- Additional properties are not allowed.
Fields and variants
basearray<string>RequiredFields and variants
[]string
draftboolean | nullRequiredforobjectRequired- Additional properties are not allowed.
Fields and variants
botsobject | boolean | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- One include-minus-exclude set of GitHub accounts: an account matches iff
it is in `include` (`true` = all, a list = exactly those, `false`/`[]` =
none) AND not in `exclude`. A bare bool or list is shorthand for `include`,
so `users: true` and `users: [priya-shah]` both parse. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string> | booleanRequired- Matches at least one variant below.
Fields and variants
variant 1array<string>Fields and variants
[]string
variant 2boolean
variant 2booleanvariant 3array<string>Fields and variants
[]string
teamsarray<string>RequiredFields and variants
[]string
usersobject | boolean | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- One include-minus-exclude set of GitHub accounts: an account matches iff
it is in `include` (`true` = all, a list = exactly those, `false`/`[]` =
none) AND not in `exclude`. A bare bool or list is shorthand for `include`,
so `users: true` and `users: [priya-shah]` both parse. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string> | booleanRequired- Matches at least one variant below.
Fields and variants
variant 1array<string>Fields and variants
[]string
variant 2boolean
variant 2booleanvariant 3array<string>Fields and variants
[]string
headarray<string>RequiredFields and variants
[]string
labelsarray<string>RequiredFields and variants
[]string
onarray<string>RequiredFields and variants
[]string- Allowed values: "opened", "pushed", "merged", "closed", "review_submitted", "commented".
pathsarray<string>RequiredFields and variants
[]string
repositoriesobject | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- The watch scope of a trigger, by repository name (owner defaults to the
account). Include minus exclude: `include: []` (the default) covers every
repository of the installation, so `exclude`-only means "all except these"
and keeps covering repositories added to the org later. A bare list is
shorthand for `include`. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string>RequiredFields and variants
[]string
variant 2array<string>Fields and variants
[]string
pushobject | nullRequired- Additional properties are not allowed.
Fields and variants
brancharray<string>RequiredFields and variants
[]string
forobjectRequired- Additional properties are not allowed.
Fields and variants
botsobject | boolean | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- One include-minus-exclude set of GitHub accounts: an account matches iff
it is in `include` (`true` = all, a list = exactly those, `false`/`[]` =
none) AND not in `exclude`. A bare bool or list is shorthand for `include`,
so `users: true` and `users: [priya-shah]` both parse. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string> | booleanRequired- Matches at least one variant below.
Fields and variants
variant 1array<string>Fields and variants
[]string
variant 2boolean
variant 2booleanvariant 3array<string>Fields and variants
[]string
teamsarray<string>RequiredFields and variants
[]string
usersobject | boolean | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- One include-minus-exclude set of GitHub accounts: an account matches iff
it is in `include` (`true` = all, a list = exactly those, `false`/`[]` =
none) AND not in `exclude`. A bare bool or list is shorthand for `include`,
so `users: true` and `users: [priya-shah]` both parse. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string> | booleanRequired- Matches at least one variant below.
Fields and variants
variant 1array<string>Fields and variants
[]string
variant 2boolean
variant 2booleanvariant 3array<string>Fields and variants
[]string
pathsarray<string>RequiredFields and variants
[]string
repositoriesobject | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- The watch scope of a trigger, by repository name (owner defaults to the
account). Include minus exclude: `include: []` (the default) covers every
repository of the installation, so `exclude`-only means "all except these"
and keeps covering repositories added to the org later. A bare list is
shorthand for `include`. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string>RequiredFields and variants
[]string
variant 2array<string>Fields and variants
[]string
releaseobject | nullRequired- Additional properties are not allowed.
Fields and variants
forobjectRequired- Additional properties are not allowed.
Fields and variants
botsobject | boolean | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- One include-minus-exclude set of GitHub accounts: an account matches iff
it is in `include` (`true` = all, a list = exactly those, `false`/`[]` =
none) AND not in `exclude`. A bare bool or list is shorthand for `include`,
so `users: true` and `users: [priya-shah]` both parse. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string> | booleanRequired- Matches at least one variant below.
Fields and variants
variant 1array<string>Fields and variants
[]string
variant 2boolean
variant 2booleanvariant 3array<string>Fields and variants
[]string
teamsarray<string>RequiredFields and variants
[]string
usersobject | boolean | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- One include-minus-exclude set of GitHub accounts: an account matches iff
it is in `include` (`true` = all, a list = exactly those, `false`/`[]` =
none) AND not in `exclude`. A bare bool or list is shorthand for `include`,
so `users: true` and `users: [priya-shah]` both parse. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string> | booleanRequired- Matches at least one variant below.
Fields and variants
variant 1array<string>Fields and variants
[]string
variant 2boolean
variant 2booleanvariant 3array<string>Fields and variants
[]string
onarray<string>RequiredFields and variants
[]string- Allowed values: "published".
prereleaseboolean | nullRequiredrepositoriesobject | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- The watch scope of a trigger, by repository name (owner defaults to the
account). Include minus exclude: `include: []` (the default) covers every
repository of the installation, so `exclude`-only means "all except these"
and keeps covering repositories added to the org later. A bare list is
shorthand for `include`. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string>RequiredFields and variants
[]string
variant 2array<string>Fields and variants
[]string
tagarray<string>RequiredFields and variants
[]string
sentryobject | nullRequired- Additional properties are not allowed.
Fields and variants
onarray<string>RequiredFields and variants
[]string- Allowed values: "issue_alert", "metric_alert".
projectsarray<string>RequiredFields and variants
[]string
slack_channelobject | nullRequired- Additional properties are not allowed.
idstring | nullRequired- Identifier of the saved agent this session's snapshot was taken from. Null for a routing-file agent or the built-in mention agent, which have no saved agent behind them. Points at the agent as it exists now, which may have changed since.
archivedobject | nullRequired- When and by whom the session was archived; null when unarchived. Archiving does not stop or close a session. Additional properties are allowed.
Fields and variants
atstringRequired- When the session was archived. Format: date-time.
byobject | nullRequired- The GitHub user who archived the session; null if unknown or unavailable. Additional properties are allowed.
Fields and variants
typestringRequired- Allowed values: "User", "Organization", "Bot", "Mannequin".
avatar_urlstringRequiredidintegerRequiredloginstringRequirednamestring | nullRequired
attributionobjectRequired- The principal this session is attributed to. Additional properties are allowed.
Fields and variants
typestring | nullRequired- Kind of principal the session is attributed to (e.g. a GitHub user or an API key). Allowed values: "github_user", "linear_user", "slack_user", "api_key".
idstring | nullRequired- Identifier of the principal the session is attributed to.
userobject | nullRequired- The GitHub user the session is attributed to, resolved at read time. Null when the attribution is not a GitHub user. Additional properties are allowed.
Fields and variants
typestringRequired- Allowed values: "User", "Organization", "Bot", "Mannequin".
avatar_urlstringRequiredidintegerRequiredloginstringRequirednamestring | nullRequired
budgetnumberRequired- The spend budget enforced for this session, in US dollars, after resolving defaults and ceilings.
claude_codeobject | nullRequired- Claude Code input and native options. Set exactly one of claude_code or codex. Additional properties are not allowed.
Fields and variants
effortstring | nullRequired- Allowed values: "low", "medium", "high", "xhigh", "max".
fallback_modelstring | nullRequiredmax_turnsinteger | nullRequired- Greater than: 0.
modelstringRequired- The model the session runs on: an alias or canonical id from the models table. Required.
promptstring | nullRequired- The initial user message, passed verbatim. Omit to start an interactive session with no turn, waiting for a message.
settingsobject | nullRequired- Additional properties are not allowed.
Fields and variants
pathstringRequiredrepositoryobject | nullRequired- Additional properties are not allowed.
Fields and variants
namestringRequiredownerstring | nullRequiredrefstring | nullRequired
codexobject | nullRequired- Codex input and native options. Set exactly one of claude_code or codex. Additional properties are not allowed.
Fields and variants
effortstring | nullRequired- Reasoning effort for every turn. Omit to use the model default. Allowed values: "none", "low", "medium", "high", "xhigh", "max".
modelstringRequired- The model the session runs on: a Responses-capable id from the models table. Required.
promptstring | nullRequired- The initial user message, passed verbatim. Omit to start an interactive session with no turn, waiting for a message.
conversationobjectRequired- Whether the session can take more messages, and whether an agent is warm to answer one. Additional properties are allowed.
Fields and variants
interactivebooleanRequired- Whether the session stays open after its first turn.
promptingobjectRequired- The session's policy for direct messages. Caller authorization and message validation are checked separately. Additional properties are allowed.
Fields and variants
blocked_reasonstring | nullRequired- Allowed values: "mention_surface", "non_interactive", "harness_single_turn", "budget_exhausted", "closed".
detailstring | nullRequiredenabledbooleanRequiredsurface_namestring | nullRequired
statestringRequired- `open` while the session can take messages; `closed` is permanent. Allowed values: "open", "closed".
warmbooleanRequired- Whether an agent is ready to answer the next message right away. When false, the next message first prepares an environment, which takes longer. A hint only; clients need no logic on it.
costobjectRequired- What the session has cost so far, in millicents, broken down by leg and carrying its own total. Additional properties are allowed.
Fields and variants
cpuintegerRequired- CPU spend in millicents.
feeintegerRequired- Platform fee in millicents.
llmintegerRequired- LLM spend in millicents.
memoryintegerRequired- Memory spend in millicents.
totalintegerRequired- The grand total in millicents: llm + cpu + memory + fee.
created_atstringRequired- When the session was created. Format: date-time.
environmentobjectRequired- The full environment configuration frozen when the session was created, with the saved environment's id and how it was chosen. Additional properties are not allowed.
Fields and variants
sourcestring | nullRequired- How the environment was chosen (request, agent, platform_default; repo_default and account_default on sessions from before those ladders were removed). An inline request uses request; an inline environment declared in session configuration has no source. Allowed values: "request", "agent", "repo_default", "account_default", "platform_default".
computeobjectRequired- Additional properties are not allowed.
Fields and variants
cpuinteger | nullRequired- Minimum: 2. Maximum: 32.
memorystring | object | nullRequired- Matches at least one variant below.
Fields and variants
variant 1stringvariant 2object- Additional properties are not allowed.
Fields and variants
gbinteger | nullRequired- Minimum: 0.
mbinteger | nullRequired- Minimum: 0.
timeoutstring | object | nullRequired- Matches at least one variant below.
Fields and variants
variant 1stringvariant 2object- Additional properties are not allowed.
Fields and variants
hoursinteger | nullRequired- Minimum: 0.
minutesinteger | nullRequired- Minimum: 0.
secondsinteger | nullRequired- Minimum: 0.
hooksobjectRequired- Additional properties are not allowed.
Fields and variants
after_checkoutobject | string | nullRequired- Prepare the requested source revision after Ellipsis checks out all repositories, before saving the prepared environment. Skipped when that prepared environment is reused. Matches at least one variant below.
Fields and variants
variant 1object- Additional properties are not allowed.
Fields and variants
runstringRequired- Shell script to run in the workspace directory `/sandbox`.
variant 2string
before_startobject | string | nullRequired- Run before the agent starts or resumes a session, after the environment is ready. This hook is not cached and adds to session startup time. Matches at least one variant below.
Fields and variants
variant 1object- Additional properties are not allowed.
Fields and variants
runstringRequired- Shell script to run in the workspace directory `/sandbox`.
variant 2string
build_baseobject | string | nullRequired- Build a reusable environment before full checkout. Cached by declared inputs, script, toolchain, resources, and build configuration. A string is shorthand for run with all repositories as inputs. Matches at least one variant below.
Fields and variants
variant 1object- Additional properties are not allowed.
Fields and variants
inputsarray<string> | nullRequired- Exact files relative to the workspace directory `/sandbox`, including the repository name. Only these files are available during build_base and their contents and modes determine reuse. Omit to use all repositories and invalidate on any source change; [] means no repository files.
Fields and variants
[]string
runstringRequired- Shell script to run in the workspace directory `/sandbox`.
variant 2string
post_clonestring | nullRequired- Legacy session startup script. Use before_start for session setup or after_checkout for cached source preparation.
post_startstring | nullRequired- Legacy session startup script. Use before_start in new configurations.
idstring | nullRequired- Identifier of the saved environment the session's config resolved. Null for an inline environment block or the built-in basic environment.
mcp_serversarray<string | object>RequiredFields and variants
[]string | object- Matches at least one variant below.
Fields and variants
variant 1stringvariant 2object- Additional properties are not allowed.
Fields and variants
namestringRequired
variant 3object- Additional properties are not allowed.
Fields and variants
argsarray<string>RequiredFields and variants
[]string
commandstringRequiredenvobjectRequired- Additional properties are allowed.
Fields and variants
[key]string
namestringRequired
variant 4object- Additional properties are not allowed.
Fields and variants
headersobjectRequired- Additional properties are allowed.
Fields and variants
[key]string
namestringRequiredurlstringRequired
repositoriesarray<object>RequiredFields and variants
[]object- Additional properties are not allowed.
Fields and variants
namestringRequiredownerstring | nullRequiredrefstring | nullRequired
variablesarray<object>RequiredFields and variants
[]object- Additional properties are not allowed.
Fields and variants
namestringRequiredvaluestring | nullRequired
eventobject | nullRequired- The typed external event that started the session; null for direct and scheduled starts. Matches exactly one variant below.
Fields and variants
type = "github.pull_request"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "github.pull_request".
actionstringRequired- Matches at least one variant below.
Fields and variants
variant 1string- Allowed values: "opened", "pushed", "merged", "closed", "review_submitted", "commented".
variant 2string- Must be "review_commented".
actorobject | nullRequired- Additional properties are allowed.
Fields and variants
avatar_urlstring | nullRequiredis_botboolean | nullRequirednamestringRequired
branchstringRequirednumberintegerRequiredrepositorystringRequiredtitlestringRequiredurlstringRequired
type = "github.issue"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "github.issue".
actionstringRequired- Allowed values: "opened", "closed", "commented".
actorobject | nullRequired- Additional properties are allowed.
Fields and variants
avatar_urlstring | nullRequiredis_botboolean | nullRequirednamestringRequired
numberintegerRequiredrepositorystringRequiredtitlestringRequiredurlstringRequired
type = "github.push"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "github.push".
actorobject | nullRequired- Additional properties are allowed.
Fields and variants
avatar_urlstring | nullRequiredis_botboolean | nullRequirednamestringRequired
afterstringRequiredbeforestringRequiredbranchstringRequiredrepositorystringRequiredurlstringRequired
type = "github.check_run"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "github.check_run".
actionstringRequired- Allowed values: "failed".
actorobject | nullRequired- Additional properties are allowed.
Fields and variants
avatar_urlstring | nullRequiredis_botboolean | nullRequirednamestringRequired
branchstring | nullRequiredconclusionstring | nullRequiredhead_shastringRequirednamestringRequiredpull_request_numberinteger | nullRequiredrepositorystringRequiredurlstringRequired
type = "github.release"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "github.release".
actionstringRequired- Allowed values: "published".
actorobject | nullRequired- Additional properties are allowed.
Fields and variants
avatar_urlstring | nullRequiredis_botboolean | nullRequirednamestringRequired
namestring | nullRequiredprereleasebooleanRequiredrepositorystringRequiredtagstringRequiredurlstringRequired
type = "linear.issue"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "linear.issue".
actionstringRequired- Matches at least one variant below.
Fields and variants
variant 1string- Allowed values: "opened".
variant 2string- Must be "commented".
actorobject | nullRequired- Additional properties are allowed.
Fields and variants
avatar_urlstring | nullRequiredis_botboolean | nullRequirednamestringRequired
identifierstring | nullRequirednumberintegerRequiredtitlestringRequiredurlstringRequired
type = "slack.message"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "slack.message".
actionstringRequired- Allowed values: "message", "app_mention".
actorobject | nullRequired- Additional properties are allowed.
Fields and variants
avatar_urlstring | nullRequiredis_botboolean | nullRequirednamestringRequired
channel_idstringRequiredchannel_namestring | nullRequiredmessage_tsstringRequiredthread_tsstring | nullRequiredurlstringRequired
type = "slack.channel_created"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "slack.channel_created".
actorobject | nullRequired- Additional properties are allowed.
Fields and variants
avatar_urlstring | nullRequiredis_botboolean | nullRequirednamestringRequired
channel_idstringRequiredchannel_namestring | nullRequiredurlstringRequired
type = "sentry.alert"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "sentry.alert".
actionstringRequired- Allowed values: "issue_alert", "metric_alert".
actorobject | nullRequired- Additional properties are allowed.
Fields and variants
avatar_urlstring | nullRequiredis_botboolean | nullRequirednamestringRequired
organization_slugstringRequiredproject_slugstring | nullRequiredtitlestring | nullRequiredurlstring | nullRequired
gitobject | nullRequired- What the session did to git, one entry per repository in its workspace: the commit and branch it sits on, per-file line counts for its uncommitted changes, and the pull requests it opened. Null if nothing was ever captured. Additional properties are allowed.
Fields and variants
reposarray<object>RequiredFields and variants
[]object- Additional properties are allowed.
Fields and variants
commitsarray<object>RequiredFields and variants
[]object- Additional properties are allowed.
Fields and variants
committed_atstringRequired- Format: date-time.
pushedbooleanRequiredshastringRequiredsubjectstringRequired
commits_totalintegerRequiredfull_namestringRequiredlocal_commitstring | nullRequiredlocal_uncommitted_filesarray<object>RequiredFields and variants
[]object- Additional properties are allowed.
Fields and variants
additionsintegerRequireddeletionsintegerRequiredpathstringRequiredstatusstringRequired
prsarray<object>RequiredFields and variants
[]object- Additional properties are allowed.
Fields and variants
gh_pr_idinteger | nullRequirednumberintegerRequiredtitlestring | nullRequiredurlstringRequired
remote_branchstring | nullRequiredremote_commitstring | nullRequired
handlerobject | nullRequired- The saved handler and its effective display name when this session started, frozen at creation. Null for built-in responders, legacy sessions, and sessions started without a handler. Additional properties are allowed.
Fields and variants
agent_namestringRequired- The handler's effective display name when the session started: ellipsis.name, or the service default (Slack, GitHub, Linear, or sentry).
idstringRequired- Identifier of the saved handler.
servicestringRequired- The service the handler responds to. Allowed values: "slack", "github", "linear", "sentry".
shastringRequired- Content fingerprint of the validated handler configuration used when the session started. This is not the Git commit SHA.
idstringRequired- Unique identifier of the session.
metadataobjectRequired- Caller-supplied metadata key-value pairs. Additional properties are allowed.
Fields and variants
[key]string
outputobject | nullRequired- The structured-output exit contract for this session. Additional properties are not allowed.
Fields and variants
json_schemaobjectRequired- Additional properties are allowed.
parentobject | nullRequired- The predecessor session this session continues; null when there is none. Additional properties are allowed.
Fields and variants
session_idstring | nullRequired- Identifier of the predecessor session this session continues, if any.
permissionsobjectRequired- What the session may touch, per minted credential. Additional properties are not allowed.
Fields and variants
ellipsisany JSON value | objectRequired- Matches at least one variant below.
Fields and variants
variant 1any JSON value- Allowed values: true, "all".
variant 2object- Additional properties are allowed. Allowed keys: "account", "alerts", "sessions", "configs", "defaults", "environments", "secrets", "templates", "integrations", "reviews", "tokens", "webhooks", "user".
Fields and variants
[key]string | object | array<string | object>- Matches at least one variant below.
Fields and variants
variant 1string- Allowed values: "read", "write", "delete".
variant 2object- Additional properties are not allowed.
Fields and variants
levelstringRequired- Allowed values: "read", "write", "delete".
matcharray<string> | nullRequiredFields and variants
[]string
variant 3array<string | object>Fields and variants
[]string | object- Matches at least one variant below.
Fields and variants
variant 1string- Allowed values: "read", "write", "delete".
variant 2object- Additional properties are not allowed.
Fields and variants
levelstringRequired- Allowed values: "read", "write", "delete".
matcharray<string> | nullRequiredFields and variants
[]string
githubobjectRequired- Additional properties are not allowed.
Fields and variants
permissionsstring | object | nullRequired- Matches at least one variant below.
Fields and variants
variant 1string- Must be "read_only".
variant 2object- Additional properties are allowed.
Fields and variants
[key]string
repositoriesarray<string> | nullRequiredFields and variants
[]string
skillsarray<object>Required- Skills installed for this session.
Fields and variants
[]object- Additional properties are not allowed.
Fields and variants
pathstringRequiredrepositoryobject | nullRequired- Additional properties are not allowed.
Fields and variants
namestringRequiredownerstring | nullRequiredrefstring | nullRequired
summaryobject | nullRequired- The latest live summary of the session's progress while it runs, and when it was generated. Additional properties are allowed.
Fields and variants
created_atstring | nullRequired- When this summary line was generated. Null on summaries written before generation time was tracked. Format: date-time.
descriptionstringRequired- One-line description of what the session is doing.
tokensobjectRequired- The tokens the session spent and the model they went to. `total` includes the prompt-cache lanes. Additional properties are allowed.
Fields and variants
cache_creationintegerRequired- Tokens written to the prompt cache.
cache_readintegerRequired- Tokens read from the prompt cache.
inputintegerRequired- Input tokens used.
modelstringRequired- The model the token counts are attributed to.
outputintegerRequired- Output tokens used.
totalintegerRequired- Total tokens consumed, INCLUDING the prompt-cache reads and writes — the same basis the token cost is priced on.
turnobject | nullRequired- The turn in progress, or the latest one when none is running. Null until the session has a message. Wait on it: the message you sent is answered when the turn with your message's `turn_id` reaches a final status. Additional properties are allowed.
Fields and variants
costobjectRequired- What the turn cost so far, in millicents, broken down by leg. Additional properties are allowed.
Fields and variants
cpuintegerRequired- CPU spend in millicents.
feeintegerRequired- Platform fee in millicents.
llmintegerRequired- LLM spend in millicents.
memoryintegerRequired- Memory spend in millicents.
totalintegerRequired- The grand total in millicents: llm + cpu + memory + fee.
created_atstringRequired- When the turn's message was received. Format: date-time.
detailstring | nullRequired- A human-readable explanation of a failed, stopped, or cancelled turn.
ended_atstring | nullRequired- When the turn reached its final status. Format: date-time.
idstringRequired- Unique identifier of the turn.
indexintegerRequired- Position in the session, starting at 0.
reasonstring | nullRequired- Why the turn failed or was cancelled; null on every other status. Allowed values: "error", "tool_call_failed", "budget_hit", "payment_required", "blocked", "contact_email_required", "lifecycle_hook_failed", "missing_repo_access", "missing_token_permissions", "missing_environment_variables", "missing_github_integration", "agent_unavailable", "upstream_unavailable", "unsupported_configuration", "execution_disabled", "interrupted".
started_atstring | nullRequired- When the agent started on the message. Format: date-time.
statusstringRequired- Where the turn is. Allowed values: "pending", "running", "completed", "failed", "stopped", "cancelled".
stoppedobject | nullRequired- When and by whom a stop was requested; null when none was. Additional properties are allowed.
Fields and variants
atstringRequired- When a stop was requested. Format: date-time.
byobject | nullRequired- The GitHub user who stopped the session, resolved at read time. Null if the user is unknown or unavailable. Additional properties are allowed.
Fields and variants
typestringRequired- Allowed values: "User", "Organization", "Bot", "Mannequin".
avatar_urlstringRequiredidintegerRequiredloginstringRequirednamestring | nullRequired
tokensobjectRequired- The tokens the turn spent and the model they went to. Additional properties are allowed.
Fields and variants
cache_creationintegerRequired- Tokens written to the prompt cache.
cache_readintegerRequired- Tokens read from the prompt cache.
inputintegerRequired- Input tokens used.
modelstringRequired- The model the token counts are attributed to.
outputintegerRequired- Output tokens used.
totalintegerRequired- Total tokens consumed, INCLUDING the prompt-cache reads and writes — the same basis the token cost is priced on.
updated_atstringRequired- When the session was last updated. Format: date-time.
records_appendDelivers a batch of retained or newly produced records in feed_seq order.
Example JSON
Field specification
typestringRequired- Must be "records_append".
recordsarray<SessionRecord>Required- New session records, ordered by feed_seq.
Fields and variants
[]SessionRecord- See the record variants in Platform, Claude Code, Codex, and Historical formats.
sessionReplaces the current session object when its public fields change, including the turn, the conversation, and cost.
Example JSON
Field specification
typestringRequired- Must be "session".
sessionobjectRequired- The session's current state. Additional properties are not allowed.
Fields and variants
sourcestringRequired- Where the session came from (e.g. react, web, api, cli, mention, cron). Allowed values: "react", "code_review", "web", "api", "cli", "mention", "cron".
agentobject | nullRequired- The agent the session was started from, or null for a raw session started with POST /v1/sessions. Additional properties are allowed.
Fields and variants
configobjectRequired- The agent definition the session was started from, frozen when the session was created. Additional properties are not allowed.
Fields and variants
ellipsisobjectRequired- Additional properties are not allowed.
Fields and variants
kindstringRequired- Must be "agent".
descriptionstring | nullRequiredenabledbooleanRequiredmetadataobjectRequired- Additional properties are not allowed.
Fields and variants
annotationsobjectRequired- Additional properties are allowed.
Fields and variants
[key]string
labelsarray<string>RequiredFields and variants
[]string
namestring | nullRequiredversionstringRequired
inputobject | nullRequired- Additional properties are not allowed.
Fields and variants
json_schemaobject | nullRequired- Additional properties are allowed.
messagestring | nullRequired
sessionobjectRequired- Additional properties are not allowed.
Fields and variants
budgetobjectRequired- Additional properties are not allowed.
Fields and variants
daynumber | nullRequired- The most the agent may spend over the last day, in US dollars.
monthnumber | nullRequired- The most the agent may spend over the last 28 days, in US dollars.
sessionnumber | nullRequired- The most one session may spend, in US dollars. Greater than: 0.
weeknumber | nullRequired- The most the agent may spend over the last 7 days, in US dollars.
claude_codeobject | nullRequired- Claude Code input and native options. Set exactly one of claude_code or codex. Additional properties are not allowed.
Fields and variants
effortstring | nullRequired- Allowed values: "low", "medium", "high", "xhigh", "max".
fallback_modelstring | nullRequiredmax_turnsinteger | nullRequired- Greater than: 0.
modelstringRequired- The model the session runs on: an alias or canonical id from the models table. Required.
promptstring | nullRequired- The initial user message, passed verbatim. Omit to start an interactive session with no turn, waiting for a message.
settingsobject | nullRequired- Additional properties are not allowed.
Fields and variants
pathstringRequiredrepositoryobject | nullRequired- Additional properties are not allowed.
Fields and variants
namestringRequiredownerstring | nullRequiredrefstring | nullRequired
codexobject | nullRequired- Codex input and native options. Set exactly one of claude_code or codex. Additional properties are not allowed.
Fields and variants
effortstring | nullRequired- Reasoning effort for every turn. Omit to use the model default. Allowed values: "none", "low", "medium", "high", "xhigh", "max".
modelstringRequired- The model the session runs on: a Responses-capable id from the models table. Required.
promptstring | nullRequired- The initial user message, passed verbatim. Omit to start an interactive session with no turn, waiting for a message.
conversationobjectRequired- Additional properties are not allowed.
Fields and variants
interactivebooleanRequired- Whether the session stays open after its first turn. Defaults to true; false runs once and requires a prompt. Requires the model's interactive capability when true. Direct message acceptance is reported separately in conversation.prompting.
environmentstring | objectRequired- Matches at least one variant below.
Fields and variants
variant 1stringvariant 2object- Additional properties are not allowed.
Fields and variants
computeobjectRequired- Additional properties are not allowed.
Fields and variants
cpuinteger | nullRequired- Minimum: 2. Maximum: 32.
memorystring | object | nullRequired- Matches at least one variant below.
Fields and variants
variant 1stringvariant 2object- Additional properties are not allowed.
Fields and variants
gbinteger | nullRequired- Minimum: 0.
mbinteger | nullRequired- Minimum: 0.
timeoutstring | object | nullRequired- Matches at least one variant below.
Fields and variants
variant 1stringvariant 2object- Additional properties are not allowed.
Fields and variants
hoursinteger | nullRequired- Minimum: 0.
minutesinteger | nullRequired- Minimum: 0.
secondsinteger | nullRequired- Minimum: 0.
hooksobjectRequired- Additional properties are not allowed.
Fields and variants
after_checkoutobject | string | nullRequired- Prepare the requested source revision after Ellipsis checks out all repositories, before saving the prepared environment. Skipped when that prepared environment is reused. Matches at least one variant below.
Fields and variants
variant 1object- Additional properties are not allowed.
Fields and variants
runstringRequired- Shell script to run in the workspace directory `/sandbox`.
variant 2string
before_startobject | string | nullRequired- Run before the agent starts or resumes a session, after the environment is ready. This hook is not cached and adds to session startup time. Matches at least one variant below.
Fields and variants
variant 1object- Additional properties are not allowed.
Fields and variants
runstringRequired- Shell script to run in the workspace directory `/sandbox`.
variant 2string
build_baseobject | string | nullRequired- Build a reusable environment before full checkout. Cached by declared inputs, script, toolchain, resources, and build configuration. A string is shorthand for run with all repositories as inputs. Matches at least one variant below.
Fields and variants
variant 1object- Additional properties are not allowed.
Fields and variants
inputsarray<string> | nullRequired- Exact files relative to the workspace directory `/sandbox`, including the repository name. Only these files are available during build_base and their contents and modes determine reuse. Omit to use all repositories and invalidate on any source change; [] means no repository files.
Fields and variants
[]string
runstringRequired- Shell script to run in the workspace directory `/sandbox`.
variant 2string
post_clonestring | nullRequired- Legacy session startup script. Use before_start for session setup or after_checkout for cached source preparation.
post_startstring | nullRequired- Legacy session startup script. Use before_start in new configurations.
mcp_serversarray<string | object>RequiredFields and variants
[]string | object- Matches at least one variant below.
Fields and variants
variant 1stringvariant 2object- Additional properties are not allowed.
Fields and variants
namestringRequired
variant 3object- Additional properties are not allowed.
Fields and variants
argsarray<string>RequiredFields and variants
[]string
commandstringRequiredenvobjectRequired- Additional properties are allowed.
Fields and variants
[key]string
namestringRequired
variant 4object- Additional properties are not allowed.
Fields and variants
headersobjectRequired- Additional properties are allowed.
Fields and variants
[key]string
namestringRequiredurlstringRequired
repositoriesarray<object>RequiredFields and variants
[]object- Additional properties are not allowed.
Fields and variants
namestringRequiredownerstring | nullRequiredrefstring | nullRequired
variablesarray<object>RequiredFields and variants
[]object- Additional properties are not allowed.
Fields and variants
namestringRequiredvaluestring | nullRequired
metadataobjectRequired- Arbitrary string key/value metadata stored on every session. Additional properties are allowed.
Fields and variants
[key]string
outputobject | nullRequired- Additional properties are not allowed.
Fields and variants
json_schemaobjectRequired- Additional properties are allowed.
permissionsobjectRequired- Additional properties are not allowed.
Fields and variants
ellipsisany JSON value | objectRequired- Matches at least one variant below.
Fields and variants
variant 1any JSON value- Allowed values: true, "all".
variant 2object- Additional properties are allowed. Allowed keys: "account", "alerts", "sessions", "configs", "defaults", "environments", "secrets", "templates", "integrations", "reviews", "tokens", "webhooks", "user".
Fields and variants
[key]string | object | array<string | object>- Matches at least one variant below.
Fields and variants
variant 1string- Allowed values: "read", "write", "delete".
variant 2object- Additional properties are not allowed.
Fields and variants
levelstringRequired- Allowed values: "read", "write", "delete".
matcharray<string> | nullRequiredFields and variants
[]string
variant 3array<string | object>Fields and variants
[]string | object- Matches at least one variant below.
Fields and variants
variant 1string- Allowed values: "read", "write", "delete".
variant 2object- Additional properties are not allowed.
Fields and variants
levelstringRequired- Allowed values: "read", "write", "delete".
matcharray<string> | nullRequiredFields and variants
[]string
githubobjectRequired- Additional properties are not allowed.
Fields and variants
permissionsstring | object | nullRequired- Matches at least one variant below.
Fields and variants
variant 1string- Must be "read_only".
variant 2object- Additional properties are allowed.
Fields and variants
[key]string
repositoriesarray<string> | nullRequiredFields and variants
[]string
skillsarray<object>RequiredFields and variants
[]object- Additional properties are not allowed.
Fields and variants
pathstringRequiredrepositoryobject | nullRequired- Additional properties are not allowed.
Fields and variants
namestringRequiredownerstring | nullRequiredrefstring | nullRequired
triggerobject | nullRequired- Matches exactly one variant below.
Fields and variants
type = "cron"object- Additional properties are not allowed.
Fields and variants
typestringRequired- Must be "cron".
schedulestringRequired
type = "react"object- Additional properties are not allowed.
Fields and variants
typestringRequired- Must be "react".
check_runobject | nullRequired- Additional properties are not allowed.
Fields and variants
brancharray<string>RequiredFields and variants
[]string
forobjectRequired- Additional properties are not allowed.
Fields and variants
botsobject | boolean | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- One include-minus-exclude set of GitHub accounts: an account matches iff
it is in `include` (`true` = all, a list = exactly those, `false`/`[]` =
none) AND not in `exclude`. A bare bool or list is shorthand for `include`,
so `users: true` and `users: [priya-shah]` both parse. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string> | booleanRequired- Matches at least one variant below.
Fields and variants
variant 1array<string>Fields and variants
[]string
variant 2boolean
variant 2booleanvariant 3array<string>Fields and variants
[]string
teamsarray<string>RequiredFields and variants
[]string
usersobject | boolean | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- One include-minus-exclude set of GitHub accounts: an account matches iff
it is in `include` (`true` = all, a list = exactly those, `false`/`[]` =
none) AND not in `exclude`. A bare bool or list is shorthand for `include`,
so `users: true` and `users: [priya-shah]` both parse. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string> | booleanRequired- Matches at least one variant below.
Fields and variants
variant 1array<string>Fields and variants
[]string
variant 2boolean
variant 2booleanvariant 3array<string>Fields and variants
[]string
namesarray<string>RequiredFields and variants
[]string
onarray<string>RequiredFields and variants
[]string- Allowed values: "failed".
repositoriesobject | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- The watch scope of a trigger, by repository name (owner defaults to the
account). Include minus exclude: `include: []` (the default) covers every
repository of the installation, so `exclude`-only means "all except these"
and keeps covering repositories added to the org later. A bare list is
shorthand for `include`. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string>RequiredFields and variants
[]string
variant 2array<string>Fields and variants
[]string
issueobject | nullRequired- Additional properties are not allowed.
Fields and variants
forobjectRequired- Additional properties are not allowed.
Fields and variants
botsobject | boolean | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- One include-minus-exclude set of GitHub accounts: an account matches iff
it is in `include` (`true` = all, a list = exactly those, `false`/`[]` =
none) AND not in `exclude`. A bare bool or list is shorthand for `include`,
so `users: true` and `users: [priya-shah]` both parse. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string> | booleanRequired- Matches at least one variant below.
Fields and variants
variant 1array<string>Fields and variants
[]string
variant 2boolean
variant 2booleanvariant 3array<string>Fields and variants
[]string
teamsarray<string>RequiredFields and variants
[]string
usersobject | boolean | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- One include-minus-exclude set of GitHub accounts: an account matches iff
it is in `include` (`true` = all, a list = exactly those, `false`/`[]` =
none) AND not in `exclude`. A bare bool or list is shorthand for `include`,
so `users: true` and `users: [priya-shah]` both parse. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string> | booleanRequired- Matches at least one variant below.
Fields and variants
variant 1array<string>Fields and variants
[]string
variant 2boolean
variant 2booleanvariant 3array<string>Fields and variants
[]string
labelsarray<string>RequiredFields and variants
[]string
onarray<string>RequiredFields and variants
[]string- Allowed values: "opened", "closed", "commented".
repositoriesobject | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- The watch scope of a trigger, by repository name (owner defaults to the
account). Include minus exclude: `include: []` (the default) covers every
repository of the installation, so `exclude`-only means "all except these"
and keeps covering repositories added to the org later. A bare list is
shorthand for `include`. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string>RequiredFields and variants
[]string
variant 2array<string>Fields and variants
[]string
linear_issueobject | nullRequired- Additional properties are not allowed.
Fields and variants
forobjectRequired- Additional properties are not allowed.
Fields and variants
botsobject | boolean | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- One include-minus-exclude set of GitHub accounts: an account matches iff
it is in `include` (`true` = all, a list = exactly those, `false`/`[]` =
none) AND not in `exclude`. A bare bool or list is shorthand for `include`,
so `users: true` and `users: [priya-shah]` both parse. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string> | booleanRequired- Matches at least one variant below.
Fields and variants
variant 1array<string>Fields and variants
[]string
variant 2boolean
variant 2booleanvariant 3array<string>Fields and variants
[]string
teamsarray<string>RequiredFields and variants
[]string
usersobject | boolean | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- One include-minus-exclude set of GitHub accounts: an account matches iff
it is in `include` (`true` = all, a list = exactly those, `false`/`[]` =
none) AND not in `exclude`. A bare bool or list is shorthand for `include`,
so `users: true` and `users: [priya-shah]` both parse. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string> | booleanRequired- Matches at least one variant below.
Fields and variants
variant 1array<string>Fields and variants
[]string
variant 2boolean
variant 2booleanvariant 3array<string>Fields and variants
[]string
onarray<string>RequiredFields and variants
[]string- Allowed values: "opened".
pull_requestobject | nullRequired- Additional properties are not allowed.
Fields and variants
basearray<string>RequiredFields and variants
[]string
draftboolean | nullRequiredforobjectRequired- Additional properties are not allowed.
Fields and variants
botsobject | boolean | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- One include-minus-exclude set of GitHub accounts: an account matches iff
it is in `include` (`true` = all, a list = exactly those, `false`/`[]` =
none) AND not in `exclude`. A bare bool or list is shorthand for `include`,
so `users: true` and `users: [priya-shah]` both parse. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string> | booleanRequired- Matches at least one variant below.
Fields and variants
variant 1array<string>Fields and variants
[]string
variant 2boolean
variant 2booleanvariant 3array<string>Fields and variants
[]string
teamsarray<string>RequiredFields and variants
[]string
usersobject | boolean | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- One include-minus-exclude set of GitHub accounts: an account matches iff
it is in `include` (`true` = all, a list = exactly those, `false`/`[]` =
none) AND not in `exclude`. A bare bool or list is shorthand for `include`,
so `users: true` and `users: [priya-shah]` both parse. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string> | booleanRequired- Matches at least one variant below.
Fields and variants
variant 1array<string>Fields and variants
[]string
variant 2boolean
variant 2booleanvariant 3array<string>Fields and variants
[]string
headarray<string>RequiredFields and variants
[]string
labelsarray<string>RequiredFields and variants
[]string
onarray<string>RequiredFields and variants
[]string- Allowed values: "opened", "pushed", "merged", "closed", "review_submitted", "commented".
pathsarray<string>RequiredFields and variants
[]string
repositoriesobject | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- The watch scope of a trigger, by repository name (owner defaults to the
account). Include minus exclude: `include: []` (the default) covers every
repository of the installation, so `exclude`-only means "all except these"
and keeps covering repositories added to the org later. A bare list is
shorthand for `include`. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string>RequiredFields and variants
[]string
variant 2array<string>Fields and variants
[]string
pushobject | nullRequired- Additional properties are not allowed.
Fields and variants
brancharray<string>RequiredFields and variants
[]string
forobjectRequired- Additional properties are not allowed.
Fields and variants
botsobject | boolean | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- One include-minus-exclude set of GitHub accounts: an account matches iff
it is in `include` (`true` = all, a list = exactly those, `false`/`[]` =
none) AND not in `exclude`. A bare bool or list is shorthand for `include`,
so `users: true` and `users: [priya-shah]` both parse. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string> | booleanRequired- Matches at least one variant below.
Fields and variants
variant 1array<string>Fields and variants
[]string
variant 2boolean
variant 2booleanvariant 3array<string>Fields and variants
[]string
teamsarray<string>RequiredFields and variants
[]string
usersobject | boolean | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- One include-minus-exclude set of GitHub accounts: an account matches iff
it is in `include` (`true` = all, a list = exactly those, `false`/`[]` =
none) AND not in `exclude`. A bare bool or list is shorthand for `include`,
so `users: true` and `users: [priya-shah]` both parse. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string> | booleanRequired- Matches at least one variant below.
Fields and variants
variant 1array<string>Fields and variants
[]string
variant 2boolean
variant 2booleanvariant 3array<string>Fields and variants
[]string
pathsarray<string>RequiredFields and variants
[]string
repositoriesobject | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- The watch scope of a trigger, by repository name (owner defaults to the
account). Include minus exclude: `include: []` (the default) covers every
repository of the installation, so `exclude`-only means "all except these"
and keeps covering repositories added to the org later. A bare list is
shorthand for `include`. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string>RequiredFields and variants
[]string
variant 2array<string>Fields and variants
[]string
releaseobject | nullRequired- Additional properties are not allowed.
Fields and variants
forobjectRequired- Additional properties are not allowed.
Fields and variants
botsobject | boolean | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- One include-minus-exclude set of GitHub accounts: an account matches iff
it is in `include` (`true` = all, a list = exactly those, `false`/`[]` =
none) AND not in `exclude`. A bare bool or list is shorthand for `include`,
so `users: true` and `users: [priya-shah]` both parse. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string> | booleanRequired- Matches at least one variant below.
Fields and variants
variant 1array<string>Fields and variants
[]string
variant 2boolean
variant 2booleanvariant 3array<string>Fields and variants
[]string
teamsarray<string>RequiredFields and variants
[]string
usersobject | boolean | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- One include-minus-exclude set of GitHub accounts: an account matches iff
it is in `include` (`true` = all, a list = exactly those, `false`/`[]` =
none) AND not in `exclude`. A bare bool or list is shorthand for `include`,
so `users: true` and `users: [priya-shah]` both parse. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string> | booleanRequired- Matches at least one variant below.
Fields and variants
variant 1array<string>Fields and variants
[]string
variant 2boolean
variant 2booleanvariant 3array<string>Fields and variants
[]string
onarray<string>RequiredFields and variants
[]string- Allowed values: "published".
prereleaseboolean | nullRequiredrepositoriesobject | array<string>Required- Matches at least one variant below.
Fields and variants
variant 1object- The watch scope of a trigger, by repository name (owner defaults to the
account). Include minus exclude: `include: []` (the default) covers every
repository of the installation, so `exclude`-only means "all except these"
and keeps covering repositories added to the org later. A bare list is
shorthand for `include`. Additional properties are not allowed.
Fields and variants
excludearray<string>RequiredFields and variants
[]string
includearray<string>RequiredFields and variants
[]string
variant 2array<string>Fields and variants
[]string
tagarray<string>RequiredFields and variants
[]string
sentryobject | nullRequired- Additional properties are not allowed.
Fields and variants
onarray<string>RequiredFields and variants
[]string- Allowed values: "issue_alert", "metric_alert".
projectsarray<string>RequiredFields and variants
[]string
slack_channelobject | nullRequired- Additional properties are not allowed.
idstring | nullRequired- Identifier of the saved agent this session's snapshot was taken from. Null for a routing-file agent or the built-in mention agent, which have no saved agent behind them. Points at the agent as it exists now, which may have changed since.
archivedobject | nullRequired- When and by whom the session was archived; null when unarchived. Archiving does not stop or close a session. Additional properties are allowed.
Fields and variants
atstringRequired- When the session was archived. Format: date-time.
byobject | nullRequired- The GitHub user who archived the session; null if unknown or unavailable. Additional properties are allowed.
Fields and variants
typestringRequired- Allowed values: "User", "Organization", "Bot", "Mannequin".
avatar_urlstringRequiredidintegerRequiredloginstringRequirednamestring | nullRequired
attributionobjectRequired- The principal this session is attributed to. Additional properties are allowed.
Fields and variants
typestring | nullRequired- Kind of principal the session is attributed to (e.g. a GitHub user or an API key). Allowed values: "github_user", "linear_user", "slack_user", "api_key".
idstring | nullRequired- Identifier of the principal the session is attributed to.
userobject | nullRequired- The GitHub user the session is attributed to, resolved at read time. Null when the attribution is not a GitHub user. Additional properties are allowed.
Fields and variants
typestringRequired- Allowed values: "User", "Organization", "Bot", "Mannequin".
avatar_urlstringRequiredidintegerRequiredloginstringRequirednamestring | nullRequired
budgetnumberRequired- The spend budget enforced for this session, in US dollars, after resolving defaults and ceilings.
claude_codeobject | nullRequired- Claude Code input and native options. Set exactly one of claude_code or codex. Additional properties are not allowed.
Fields and variants
effortstring | nullRequired- Allowed values: "low", "medium", "high", "xhigh", "max".
fallback_modelstring | nullRequiredmax_turnsinteger | nullRequired- Greater than: 0.
modelstringRequired- The model the session runs on: an alias or canonical id from the models table. Required.
promptstring | nullRequired- The initial user message, passed verbatim. Omit to start an interactive session with no turn, waiting for a message.
settingsobject | nullRequired- Additional properties are not allowed.
Fields and variants
pathstringRequiredrepositoryobject | nullRequired- Additional properties are not allowed.
Fields and variants
namestringRequiredownerstring | nullRequiredrefstring | nullRequired
codexobject | nullRequired- Codex input and native options. Set exactly one of claude_code or codex. Additional properties are not allowed.
Fields and variants
effortstring | nullRequired- Reasoning effort for every turn. Omit to use the model default. Allowed values: "none", "low", "medium", "high", "xhigh", "max".
modelstringRequired- The model the session runs on: a Responses-capable id from the models table. Required.
promptstring | nullRequired- The initial user message, passed verbatim. Omit to start an interactive session with no turn, waiting for a message.
conversationobjectRequired- Whether the session can take more messages, and whether an agent is warm to answer one. Additional properties are allowed.
Fields and variants
interactivebooleanRequired- Whether the session stays open after its first turn.
promptingobjectRequired- The session's policy for direct messages. Caller authorization and message validation are checked separately. Additional properties are allowed.
Fields and variants
blocked_reasonstring | nullRequired- Allowed values: "mention_surface", "non_interactive", "harness_single_turn", "budget_exhausted", "closed".
detailstring | nullRequiredenabledbooleanRequiredsurface_namestring | nullRequired
statestringRequired- `open` while the session can take messages; `closed` is permanent. Allowed values: "open", "closed".
warmbooleanRequired- Whether an agent is ready to answer the next message right away. When false, the next message first prepares an environment, which takes longer. A hint only; clients need no logic on it.
costobjectRequired- What the session has cost so far, in millicents, broken down by leg and carrying its own total. Additional properties are allowed.
Fields and variants
cpuintegerRequired- CPU spend in millicents.
feeintegerRequired- Platform fee in millicents.
llmintegerRequired- LLM spend in millicents.
memoryintegerRequired- Memory spend in millicents.
totalintegerRequired- The grand total in millicents: llm + cpu + memory + fee.
created_atstringRequired- When the session was created. Format: date-time.
environmentobjectRequired- The full environment configuration frozen when the session was created, with the saved environment's id and how it was chosen. Additional properties are not allowed.
Fields and variants
sourcestring | nullRequired- How the environment was chosen (request, agent, platform_default; repo_default and account_default on sessions from before those ladders were removed). An inline request uses request; an inline environment declared in session configuration has no source. Allowed values: "request", "agent", "repo_default", "account_default", "platform_default".
computeobjectRequired- Additional properties are not allowed.
Fields and variants
cpuinteger | nullRequired- Minimum: 2. Maximum: 32.
memorystring | object | nullRequired- Matches at least one variant below.
Fields and variants
variant 1stringvariant 2object- Additional properties are not allowed.
Fields and variants
gbinteger | nullRequired- Minimum: 0.
mbinteger | nullRequired- Minimum: 0.
timeoutstring | object | nullRequired- Matches at least one variant below.
Fields and variants
variant 1stringvariant 2object- Additional properties are not allowed.
Fields and variants
hoursinteger | nullRequired- Minimum: 0.
minutesinteger | nullRequired- Minimum: 0.
secondsinteger | nullRequired- Minimum: 0.
hooksobjectRequired- Additional properties are not allowed.
Fields and variants
after_checkoutobject | string | nullRequired- Prepare the requested source revision after Ellipsis checks out all repositories, before saving the prepared environment. Skipped when that prepared environment is reused. Matches at least one variant below.
Fields and variants
variant 1object- Additional properties are not allowed.
Fields and variants
runstringRequired- Shell script to run in the workspace directory `/sandbox`.
variant 2string
before_startobject | string | nullRequired- Run before the agent starts or resumes a session, after the environment is ready. This hook is not cached and adds to session startup time. Matches at least one variant below.
Fields and variants
variant 1object- Additional properties are not allowed.
Fields and variants
runstringRequired- Shell script to run in the workspace directory `/sandbox`.
variant 2string
build_baseobject | string | nullRequired- Build a reusable environment before full checkout. Cached by declared inputs, script, toolchain, resources, and build configuration. A string is shorthand for run with all repositories as inputs. Matches at least one variant below.
Fields and variants
variant 1object- Additional properties are not allowed.
Fields and variants
inputsarray<string> | nullRequired- Exact files relative to the workspace directory `/sandbox`, including the repository name. Only these files are available during build_base and their contents and modes determine reuse. Omit to use all repositories and invalidate on any source change; [] means no repository files.
Fields and variants
[]string
runstringRequired- Shell script to run in the workspace directory `/sandbox`.
variant 2string
post_clonestring | nullRequired- Legacy session startup script. Use before_start for session setup or after_checkout for cached source preparation.
post_startstring | nullRequired- Legacy session startup script. Use before_start in new configurations.
idstring | nullRequired- Identifier of the saved environment the session's config resolved. Null for an inline environment block or the built-in basic environment.
mcp_serversarray<string | object>RequiredFields and variants
[]string | object- Matches at least one variant below.
Fields and variants
variant 1stringvariant 2object- Additional properties are not allowed.
Fields and variants
namestringRequired
variant 3object- Additional properties are not allowed.
Fields and variants
argsarray<string>RequiredFields and variants
[]string
commandstringRequiredenvobjectRequired- Additional properties are allowed.
Fields and variants
[key]string
namestringRequired
variant 4object- Additional properties are not allowed.
Fields and variants
headersobjectRequired- Additional properties are allowed.
Fields and variants
[key]string
namestringRequiredurlstringRequired
repositoriesarray<object>RequiredFields and variants
[]object- Additional properties are not allowed.
Fields and variants
namestringRequiredownerstring | nullRequiredrefstring | nullRequired
variablesarray<object>RequiredFields and variants
[]object- Additional properties are not allowed.
Fields and variants
namestringRequiredvaluestring | nullRequired
eventobject | nullRequired- The typed external event that started the session; null for direct and scheduled starts. Matches exactly one variant below.
Fields and variants
type = "github.pull_request"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "github.pull_request".
actionstringRequired- Matches at least one variant below.
Fields and variants
variant 1string- Allowed values: "opened", "pushed", "merged", "closed", "review_submitted", "commented".
variant 2string- Must be "review_commented".
actorobject | nullRequired- Additional properties are allowed.
Fields and variants
avatar_urlstring | nullRequiredis_botboolean | nullRequirednamestringRequired
branchstringRequirednumberintegerRequiredrepositorystringRequiredtitlestringRequiredurlstringRequired
type = "github.issue"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "github.issue".
actionstringRequired- Allowed values: "opened", "closed", "commented".
actorobject | nullRequired- Additional properties are allowed.
Fields and variants
avatar_urlstring | nullRequiredis_botboolean | nullRequirednamestringRequired
numberintegerRequiredrepositorystringRequiredtitlestringRequiredurlstringRequired
type = "github.push"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "github.push".
actorobject | nullRequired- Additional properties are allowed.
Fields and variants
avatar_urlstring | nullRequiredis_botboolean | nullRequirednamestringRequired
afterstringRequiredbeforestringRequiredbranchstringRequiredrepositorystringRequiredurlstringRequired
type = "github.check_run"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "github.check_run".
actionstringRequired- Allowed values: "failed".
actorobject | nullRequired- Additional properties are allowed.
Fields and variants
avatar_urlstring | nullRequiredis_botboolean | nullRequirednamestringRequired
branchstring | nullRequiredconclusionstring | nullRequiredhead_shastringRequirednamestringRequiredpull_request_numberinteger | nullRequiredrepositorystringRequiredurlstringRequired
type = "github.release"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "github.release".
actionstringRequired- Allowed values: "published".
actorobject | nullRequired- Additional properties are allowed.
Fields and variants
avatar_urlstring | nullRequiredis_botboolean | nullRequirednamestringRequired
namestring | nullRequiredprereleasebooleanRequiredrepositorystringRequiredtagstringRequiredurlstringRequired
type = "linear.issue"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "linear.issue".
actionstringRequired- Matches at least one variant below.
Fields and variants
variant 1string- Allowed values: "opened".
variant 2string- Must be "commented".
actorobject | nullRequired- Additional properties are allowed.
Fields and variants
avatar_urlstring | nullRequiredis_botboolean | nullRequirednamestringRequired
identifierstring | nullRequirednumberintegerRequiredtitlestringRequiredurlstringRequired
type = "slack.message"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "slack.message".
actionstringRequired- Allowed values: "message", "app_mention".
actorobject | nullRequired- Additional properties are allowed.
Fields and variants
avatar_urlstring | nullRequiredis_botboolean | nullRequirednamestringRequired
channel_idstringRequiredchannel_namestring | nullRequiredmessage_tsstringRequiredthread_tsstring | nullRequiredurlstringRequired
type = "slack.channel_created"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "slack.channel_created".
actorobject | nullRequired- Additional properties are allowed.
Fields and variants
avatar_urlstring | nullRequiredis_botboolean | nullRequirednamestringRequired
channel_idstringRequiredchannel_namestring | nullRequiredurlstringRequired
type = "sentry.alert"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "sentry.alert".
actionstringRequired- Allowed values: "issue_alert", "metric_alert".
actorobject | nullRequired- Additional properties are allowed.
Fields and variants
avatar_urlstring | nullRequiredis_botboolean | nullRequirednamestringRequired
organization_slugstringRequiredproject_slugstring | nullRequiredtitlestring | nullRequiredurlstring | nullRequired
gitobject | nullRequired- What the session did to git, one entry per repository in its workspace: the commit and branch it sits on, per-file line counts for its uncommitted changes, and the pull requests it opened. Null if nothing was ever captured. Additional properties are allowed.
Fields and variants
reposarray<object>RequiredFields and variants
[]object- Additional properties are allowed.
Fields and variants
commitsarray<object>RequiredFields and variants
[]object- Additional properties are allowed.
Fields and variants
committed_atstringRequired- Format: date-time.
pushedbooleanRequiredshastringRequiredsubjectstringRequired
commits_totalintegerRequiredfull_namestringRequiredlocal_commitstring | nullRequiredlocal_uncommitted_filesarray<object>RequiredFields and variants
[]object- Additional properties are allowed.
Fields and variants
additionsintegerRequireddeletionsintegerRequiredpathstringRequiredstatusstringRequired
prsarray<object>RequiredFields and variants
[]object- Additional properties are allowed.
Fields and variants
gh_pr_idinteger | nullRequirednumberintegerRequiredtitlestring | nullRequiredurlstringRequired
remote_branchstring | nullRequiredremote_commitstring | nullRequired
handlerobject | nullRequired- The saved handler and its effective display name when this session started, frozen at creation. Null for built-in responders, legacy sessions, and sessions started without a handler. Additional properties are allowed.
Fields and variants
agent_namestringRequired- The handler's effective display name when the session started: ellipsis.name, or the service default (Slack, GitHub, Linear, or sentry).
idstringRequired- Identifier of the saved handler.
servicestringRequired- The service the handler responds to. Allowed values: "slack", "github", "linear", "sentry".
shastringRequired- Content fingerprint of the validated handler configuration used when the session started. This is not the Git commit SHA.
idstringRequired- Unique identifier of the session.
metadataobjectRequired- Caller-supplied metadata key-value pairs. Additional properties are allowed.
Fields and variants
[key]string
outputobject | nullRequired- The structured-output exit contract for this session. Additional properties are not allowed.
Fields and variants
json_schemaobjectRequired- Additional properties are allowed.
parentobject | nullRequired- The predecessor session this session continues; null when there is none. Additional properties are allowed.
Fields and variants
session_idstring | nullRequired- Identifier of the predecessor session this session continues, if any.
permissionsobjectRequired- What the session may touch, per minted credential. Additional properties are not allowed.
Fields and variants
ellipsisany JSON value | objectRequired- Matches at least one variant below.
Fields and variants
variant 1any JSON value- Allowed values: true, "all".
variant 2object- Additional properties are allowed. Allowed keys: "account", "alerts", "sessions", "configs", "defaults", "environments", "secrets", "templates", "integrations", "reviews", "tokens", "webhooks", "user".
Fields and variants
[key]string | object | array<string | object>- Matches at least one variant below.
Fields and variants
variant 1string- Allowed values: "read", "write", "delete".
variant 2object- Additional properties are not allowed.
Fields and variants
levelstringRequired- Allowed values: "read", "write", "delete".
matcharray<string> | nullRequiredFields and variants
[]string
variant 3array<string | object>Fields and variants
[]string | object- Matches at least one variant below.
Fields and variants
variant 1string- Allowed values: "read", "write", "delete".
variant 2object- Additional properties are not allowed.
Fields and variants
levelstringRequired- Allowed values: "read", "write", "delete".
matcharray<string> | nullRequiredFields and variants
[]string
githubobjectRequired- Additional properties are not allowed.
Fields and variants
permissionsstring | object | nullRequired- Matches at least one variant below.
Fields and variants
variant 1string- Must be "read_only".
variant 2object- Additional properties are allowed.
Fields and variants
[key]string
repositoriesarray<string> | nullRequiredFields and variants
[]string
skillsarray<object>Required- Skills installed for this session.
Fields and variants
[]object- Additional properties are not allowed.
Fields and variants
pathstringRequiredrepositoryobject | nullRequired- Additional properties are not allowed.
Fields and variants
namestringRequiredownerstring | nullRequiredrefstring | nullRequired
summaryobject | nullRequired- The latest live summary of the session's progress while it runs, and when it was generated. Additional properties are allowed.
Fields and variants
created_atstring | nullRequired- When this summary line was generated. Null on summaries written before generation time was tracked. Format: date-time.
descriptionstringRequired- One-line description of what the session is doing.
tokensobjectRequired- The tokens the session spent and the model they went to. `total` includes the prompt-cache lanes. Additional properties are allowed.
Fields and variants
cache_creationintegerRequired- Tokens written to the prompt cache.
cache_readintegerRequired- Tokens read from the prompt cache.
inputintegerRequired- Input tokens used.
modelstringRequired- The model the token counts are attributed to.
outputintegerRequired- Output tokens used.
totalintegerRequired- Total tokens consumed, INCLUDING the prompt-cache reads and writes — the same basis the token cost is priced on.
turnobject | nullRequired- The turn in progress, or the latest one when none is running. Null until the session has a message. Wait on it: the message you sent is answered when the turn with your message's `turn_id` reaches a final status. Additional properties are allowed.
Fields and variants
costobjectRequired- What the turn cost so far, in millicents, broken down by leg. Additional properties are allowed.
Fields and variants
cpuintegerRequired- CPU spend in millicents.
feeintegerRequired- Platform fee in millicents.
llmintegerRequired- LLM spend in millicents.
memoryintegerRequired- Memory spend in millicents.
totalintegerRequired- The grand total in millicents: llm + cpu + memory + fee.
created_atstringRequired- When the turn's message was received. Format: date-time.
detailstring | nullRequired- A human-readable explanation of a failed, stopped, or cancelled turn.
ended_atstring | nullRequired- When the turn reached its final status. Format: date-time.
idstringRequired- Unique identifier of the turn.
indexintegerRequired- Position in the session, starting at 0.
reasonstring | nullRequired- Why the turn failed or was cancelled; null on every other status. Allowed values: "error", "tool_call_failed", "budget_hit", "payment_required", "blocked", "contact_email_required", "lifecycle_hook_failed", "missing_repo_access", "missing_token_permissions", "missing_environment_variables", "missing_github_integration", "agent_unavailable", "upstream_unavailable", "unsupported_configuration", "execution_disabled", "interrupted".
started_atstring | nullRequired- When the agent started on the message. Format: date-time.
statusstringRequired- Where the turn is. Allowed values: "pending", "running", "completed", "failed", "stopped", "cancelled".
stoppedobject | nullRequired- When and by whom a stop was requested; null when none was. Additional properties are allowed.
Fields and variants
atstringRequired- When a stop was requested. Format: date-time.
byobject | nullRequired- The GitHub user who stopped the session, resolved at read time. Null if the user is unknown or unavailable. Additional properties are allowed.
Fields and variants
typestringRequired- Allowed values: "User", "Organization", "Bot", "Mannequin".
avatar_urlstringRequiredidintegerRequiredloginstringRequirednamestring | nullRequired
tokensobjectRequired- The tokens the turn spent and the model they went to. Additional properties are allowed.
Fields and variants
cache_creationintegerRequired- Tokens written to the prompt cache.
cache_readintegerRequired- Tokens read from the prompt cache.
inputintegerRequired- Input tokens used.
modelstringRequired- The model the token counts are attributed to.
outputintegerRequired- Output tokens used.
totalintegerRequired- Total tokens consumed, INCLUDING the prompt-cache reads and writes — the same basis the token cost is priced on.
updated_atstringRequired- When the session was last updated. Format: date-time.
deltaStreams assistant text, a live reasoning-summary preview, or a response output-token count.
Example JSON
Field specification
typestringRequired- Must be "delta".
kindstringRequired- Known values: text (append assistant output), thinking (replace the readable reasoning-summary preview). Open vocabulary: ignore deltas with unknown kinds.
output_tokensinteger | nullRequired- Output tokens generated so far for the current response.
textstring | nullRequired- For "text", an append-only fragment. For "thinking", the first-line prefix of the latest summary section (at most 512 characters); replace the preview, and clear it on an empty string. Null means no text update.
turn_idstring | nullRequired- Identifier of the turn the delta belongs to, if known.
deltaReplaces the current readable reasoning-summary preview while the agent works (kind: thinking).
For a working subtitle, replace your current preview with each thinking update. This illustrative update contains a summary heading:
Field specification
typestringRequired- Must be "delta".
kindstringRequired- Known values: text (append assistant output), thinking (replace the readable reasoning-summary preview). Open vocabulary: ignore deltas with unknown kinds.
output_tokensinteger | nullRequired- Output tokens generated so far for the current response.
textstring | nullRequired- For "text", an append-only fragment. For "thinking", the first-line prefix of the latest summary section (at most 512 characters); replace the preview, and clear it on an empty string. Null means no text update.
turn_idstring | nullRequired- Identifier of the turn the delta belongs to, if known.
heartbeatKeeps a quiet connection alive, normally after 20 seconds without other updates.
Example JSON
Field specification
typestringRequired- Must be "heartbeat".
tsstringRequired- Server time when the heartbeat was sent. Format: date-time.
doneMarks the end of the conversation after the final records and state updates, followed by a normal socket close.
Example JSON
Field specification
typestringRequired- Must be "done".
errorReports a stream-server failure before the socket closes.
Example JSON
Field specification
typestringRequired- Must be "error".
messagestringRequired- A human-readable error message.
For delta.kind: "text", append text to the live assistant response. For kind: "thinking", replace the summary preview with text; it contains at most 512 characters from the first line of the current readable summary section. An empty string clears the preview, and null leaves it unchanged. Thinking previews do not change the output-token counter. Clear the preview when the agent starts writing, the turn ends, or a reconnect supplies a new snapshot. Models that do not emit readable summaries keep the generic working indicator.
A text delta can carry only text or only an output-token count, with the other field null. Deltas have no resume cursor and can be missed across reconnects; render the completed record as the authority. Ignore unknown delta kinds.
An open conversation stays connected between turns without a done frame; done follows closure, not the end of each turn. The message you sent is answered when a session frame shows the turn with its turn_id at a final status; see Lifecycle.
Historical formats
Existing history keeps its original payload format. These examples cover compatibility when reading or replaying older sessions; new sessions use the formats above.
Claude SDK records
kind: "claude_sdk" and record_format: "claude_sdk@1" identify historical Claude projections. Their payload discriminator is kind, rather than native type.
systemReports historical harness metadata through subtype and data.
Example JSON
Field specification
kindstringRequired- Must be "claude_sdk".
sourcestringRequired- Must be "claude_code".
record_formatstringRequired- Must be "claude_sdk@1".
record_typestringRequired- Original record type within its format.
payloadobjectRequired- Additional properties are allowed.
Fields and variants
kindstringRequired- Must be "system".
dataobjectOptional- Additional properties are allowed.
session_idstring | nullOptionalsubtypestringRequireduuidstring | nullOptional
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
userCarries a historical user prompt or tool-result content.
Example JSON
Field specification
kindstringRequired- Must be "claude_sdk".
sourcestringRequired- Must be "claude_code".
record_formatstringRequired- Must be "claude_sdk@1".
record_typestringRequired- Original record type within its format.
payloadobjectRequired- Additional properties are allowed.
Fields and variants
kindstringRequired- Must be "user".
contentstring | array<object>Required- Matches at least one variant below.
Fields and variants
variant 1stringvariant 2array<object>Fields and variants
[]object- Matches exactly one variant below.
Fields and variants
type = "text"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "text".
textstringRequired
type = "thinking"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "thinking".
signaturestringRequiredthinkingstringRequired
type = "tool_use"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "tool_use".
idstringRequiredinputobjectOptional- Additional properties are allowed.
namestringRequired
type = "tool_result"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "tool_result".
contentstring | array<object> | nullOptional- Matches at least one variant below.
Fields and variants
variant 1stringvariant 2array<object>Fields and variants
[]object- Additional properties are allowed.
is_errorboolean | nullOptionaltool_use_idstringRequired
type = "server_tool_use"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "server_tool_use".
idstringRequiredinputobjectOptional- Additional properties are allowed.
namestringRequired
type = "server_tool_result"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "server_tool_result".
contentobjectOptional- Additional properties are allowed.
tool_use_idstringRequired
parent_tool_use_idstring | nullOptionaluuidstring | nullOptional
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
assistantCarries historical assistant content with its model at the payload root.
Example JSON
Field specification
kindstringRequired- Must be "claude_sdk".
sourcestringRequired- Must be "claude_code".
record_formatstringRequired- Must be "claude_sdk@1".
record_typestringRequired- Original record type within its format.
payloadobjectRequired- Additional properties are allowed.
Fields and variants
kindstringRequired- Must be "assistant".
cache_creationobject | nullOptional- Additional properties are not allowed.
Fields and variants
ephemeral_1h_input_tokensintegerOptionalephemeral_5m_input_tokensintegerOptional
contentarray<object>OptionalFields and variants
[]object- Matches exactly one variant below.
Fields and variants
type = "text"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "text".
textstringRequired
type = "thinking"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "thinking".
signaturestringRequiredthinkingstringRequired
type = "tool_use"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "tool_use".
idstringRequiredinputobjectOptional- Additional properties are allowed.
namestringRequired
type = "tool_result"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "tool_result".
contentstring | array<object> | nullOptional- Matches at least one variant below.
Fields and variants
variant 1stringvariant 2array<object>Fields and variants
[]object- Additional properties are allowed.
is_errorboolean | nullOptionaltool_use_idstringRequired
type = "server_tool_use"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "server_tool_use".
idstringRequiredinputobjectOptional- Additional properties are allowed.
namestringRequired
type = "server_tool_result"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "server_tool_result".
contentobjectOptional- Additional properties are allowed.
tool_use_idstringRequired
errorstring | nullOptionalmessage_idstring | nullOptionalmodelstringRequiredparent_tool_use_idstring | nullOptionalsession_idstring | nullOptionalstop_reasonstring | nullOptionalusageobject | nullOptional- Additional properties are allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
uuidstring | nullOptional
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
resultReports a historical turn outcome with cost_usd rather than the native total_cost_usd field.
Example JSON
Field specification
kindstringRequired- Must be "claude_sdk".
sourcestringRequired- Must be "claude_code".
record_formatstringRequired- Must be "claude_sdk@1".
record_typestringRequired- Original record type within its format.
payloadobjectRequired- Additional properties are allowed.
Fields and variants
kindstringRequired- Must be "result".
api_error_statusinteger | nullOptionalcost_usdnumber | nullOptionalduration_api_msintegerRequiredduration_msintegerRequirederrorsarray<string> | nullOptionalFields and variants
[]string
is_errorbooleanRequiredmodel_usageobject | nullOptional- Additional properties are allowed.
num_turnsintegerRequiredresultstring | nullOptionalsession_idstring | nullOptionalstop_reasonstring | nullOptionalstructured_outputany JSON valueOptionalsubtypestringRequiredusageobject | nullOptional- Additional properties are allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
uuidstring | nullOptional
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
rate_limitReports historical rate-limit information with snake_case fields.
Example JSON
Field specification
kindstringRequired- Must be "claude_sdk".
sourcestringRequired- Must be "claude_code".
record_formatstringRequired- Must be "claude_sdk@1".
record_typestringRequired- Original record type within its format.
payloadobjectRequired- Additional properties are allowed.
Fields and variants
kindstringRequired- Must be "rate_limit".
rate_limit_typestring | nullOptionalresets_atinteger | nullOptionalsession_idstring | nullOptionalstatusstringRequiredutilizationnumber | nullOptionaluuidstring | nullOptional
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
Codex JSONL records
kind: "codex" and record_format: "codex_jsonl@1" identify historical Codex events. Their names use dots, and the payload discriminator is type.
thread.startedAnnounces the historical native thread identifier.
Example JSON
Field specification
kindstringRequired- Must be "codex".
sourcestringRequired- Must be "codex".
record_formatstringRequired- Must be "codex_jsonl@1".
record_typestringRequired- Original record type within its format.
payloadobjectRequired- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "thread.started".
thread_idstring | nullOptional
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
turn.startedAnnounces a historical native turn beginning.
Example JSON
Field specification
kindstringRequired- Must be "codex".
sourcestringRequired- Must be "codex".
record_formatstringRequired- Must be "codex_jsonl@1".
record_typestringRequired- Original record type within its format.
payloadobjectRequired- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "turn.started".
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
item.startedAnnounces a historical conversation item beginning.
Example JSON
Field specification
kindstringRequired- Must be "codex".
sourcestringRequired- Must be "codex".
record_formatstringRequired- Must be "codex_jsonl@1".
record_typestringRequired- Original record type within its format.
payloadobjectRequired- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "item.started".
itemobjectRequired- Matches exactly one variant below.
Fields and variants
type = "agent_message"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "agent_message".
idstring | nullOptionaltextstringOptional
type = "reasoning"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "reasoning".
idstring | nullOptionalsummarystring | nullOptionaltextstring | nullOptional
type = "command_execution"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "command_execution".
aggregated_outputstring | nullOptionalcommandstringOptionalexit_codeinteger | nullOptionalidstring | nullOptionalstatusstring | nullOptional
type = "file_change"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "file_change".
changesarray<object> | nullOptionalFields and variants
[]object- Additional properties are allowed.
idstring | nullOptionalstatusstring | nullOptional
type = "mcp_tool_call"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "mcp_tool_call".
idstring | nullOptionalserverstring | nullOptionalstatusstring | nullOptionaltoolstring | nullOptional
type = "web_search"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "web_search".
idstring | nullOptionalquerystring | nullOptional
type = "todo_list"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "todo_list".
idstring | nullOptionalitemsarray<object> | nullOptionalFields and variants
[]object- Additional properties are allowed.
type = "error"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "error".
idstring | nullOptionalmessagestring | nullOptional
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
item.updatedSupplies an update to an existing historical item.
Example JSON
Field specification
kindstringRequired- Must be "codex".
sourcestringRequired- Must be "codex".
record_formatstringRequired- Must be "codex_jsonl@1".
record_typestringRequired- Original record type within its format.
payloadobjectRequired- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "item.updated".
itemobjectRequired- Matches exactly one variant below.
Fields and variants
type = "agent_message"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "agent_message".
idstring | nullOptionaltextstringOptional
type = "reasoning"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "reasoning".
idstring | nullOptionalsummarystring | nullOptionaltextstring | nullOptional
type = "command_execution"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "command_execution".
aggregated_outputstring | nullOptionalcommandstringOptionalexit_codeinteger | nullOptionalidstring | nullOptionalstatusstring | nullOptional
type = "file_change"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "file_change".
changesarray<object> | nullOptionalFields and variants
[]object- Additional properties are allowed.
idstring | nullOptionalstatusstring | nullOptional
type = "mcp_tool_call"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "mcp_tool_call".
idstring | nullOptionalserverstring | nullOptionalstatusstring | nullOptionaltoolstring | nullOptional
type = "web_search"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "web_search".
idstring | nullOptionalquerystring | nullOptional
type = "todo_list"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "todo_list".
idstring | nullOptionalitemsarray<object> | nullOptionalFields and variants
[]object- Additional properties are allowed.
type = "error"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "error".
idstring | nullOptionalmessagestring | nullOptional
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
item.completedSupplies a historical item's completed content or outcome.
Example JSON
Field specification
kindstringRequired- Must be "codex".
sourcestringRequired- Must be "codex".
record_formatstringRequired- Must be "codex_jsonl@1".
record_typestringRequired- Original record type within its format.
payloadobjectRequired- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "item.completed".
itemobjectRequired- Matches exactly one variant below.
Fields and variants
type = "agent_message"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "agent_message".
idstring | nullOptionaltextstringOptional
type = "reasoning"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "reasoning".
idstring | nullOptionalsummarystring | nullOptionaltextstring | nullOptional
type = "command_execution"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "command_execution".
aggregated_outputstring | nullOptionalcommandstringOptionalexit_codeinteger | nullOptionalidstring | nullOptionalstatusstring | nullOptional
type = "file_change"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "file_change".
changesarray<object> | nullOptionalFields and variants
[]object- Additional properties are allowed.
idstring | nullOptionalstatusstring | nullOptional
type = "mcp_tool_call"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "mcp_tool_call".
idstring | nullOptionalserverstring | nullOptionalstatusstring | nullOptionaltoolstring | nullOptional
type = "web_search"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "web_search".
idstring | nullOptionalquerystring | nullOptional
type = "todo_list"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "todo_list".
idstring | nullOptionalitemsarray<object> | nullOptionalFields and variants
[]object- Additional properties are allowed.
type = "error"object- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "error".
idstring | nullOptionalmessagestring | nullOptional
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
turn.completedReports successful historical turn completion and usage.
Example JSON
Field specification
kindstringRequired- Must be "codex".
sourcestringRequired- Must be "codex".
record_formatstringRequired- Must be "codex_jsonl@1".
record_typestringRequired- Original record type within its format.
payloadobjectRequired- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "turn.completed".
usageobject | nullOptional- Additional properties are allowed.
Fields and variants
cache_write_input_tokensintegerOptionalcached_input_tokensintegerOptionalinput_tokensintegerOptionaloutput_tokensintegerOptionalreasoning_output_tokensintegerOptional
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
turn.failedReports a failed historical turn with its error.
Example JSON
Field specification
kindstringRequired- Must be "codex".
sourcestringRequired- Must be "codex".
record_formatstringRequired- Must be "codex_jsonl@1".
record_typestringRequired- Original record type within its format.
payloadobjectRequired- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "turn.failed".
errorobject | nullOptional- Additional properties are allowed.
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
errorReports a historical native error.
Example JSON
Field specification
kindstringRequired- Must be "codex".
sourcestringRequired- Must be "codex".
record_formatstringRequired- Must be "codex_jsonl@1".
record_typestringRequired- Original record type within its format.
payloadobjectRequired- Additional properties are allowed.
Fields and variants
typestringRequired- Must be "error".
messagestring | nullOptional
costinteger | nullRequiredcreated_atstringRequired- Format: date-time.
durationinteger | nullRequiredfeed_seqintegerRequired- Position in the session feed and the stream's resume cursor.
idstringRequired- Unique identifier of the record.
modelstring | nullRequiredsession_idstringRequired- Session containing this record.
session_message_idstring | nullRequired- Message this record receives, delivers, requeues, or echoes.
tokens_infoobject | nullRequired- Additional properties are not allowed.
Fields and variants
cache_creation_input_tokensintegerOptionalcache_read_input_tokensintegerOptionalcost_usdnumberOptionalinput_tokensintegerOptionalnum_turnsintegerOptionaloutput_tokensintegerOptional
toolsarray<string> | nullRequiredFields and variants
[]string
turn_idstring | nullRequired- Turn containing this record, when applicable.
Unknown records
A record with kind: "unknown" retains its original source, record_format, record_type, and JSON payload. This includes new native methods, new content variants, payloads that the current typed schema cannot interpret, and platform record types from older sessions that are no longer produced. The additional Codex notifications above show this shape.
Keep unknown records in the ordered feed and advance your cursor past them even if your UI does not render them. Preserve unknown payload fields when storing or relaying events. Ignore unknown outer WebSocket frame types and unknown delta kinds.
For a consumer that renders tool activity, inspect the native message's content blocks or Codex item's type; an unrecognized block or item should not prevent reading the rest of the session.