Skip to main content
GET /v1/sessions/{session_id}/threads/{thread_id}/stream Receives events for a specific session thread in real time through Server-Sent Events (SSE). After the connection is established, the server pushes the thread’s complete event history and continues to stream new events as they occur. Only events belonging to that thread are streamed.

Headers

HeaderRequiredDescription
AuthorizationYesBearer <PAT>
AcceptRecommendedtext/event-stream
Last-Event-IDNoResume streaming after this event ID. The ID must belong to the current thread

Path Parameters

ParameterTypeRequiredDescription
session_idstringYesSession ID (sess_ prefix)
thread_idstringYesThread ID (sthr_ prefix)

Query Parameters

ParameterTypeRequiredDescription
typestringNoFilter by event type. Supports comma-separated values
types[]stringNoArray-style alternative to type

Example Request

curl -N -X GET "https://api.qoder.com/api/v1/cloud/sessions/sess_019f00000000000000000000000000aa/threads/sthr_019f00000000000000000000000002bb/stream" \
  -H "Authorization: Bearer $QODER_PAT" \
  -H "Accept: text/event-stream"

Example Response

HTTP 200 OK Content-Type: text/event-stream Each event follows the standard SSE format. All events include a session_thread_id field: Child thread created:
id: evt_019f0000000000000000000000000100
event: session.thread_created
data: {"id": "evt_019f0000000000000000000000000100", "type": "session.thread_created", "schema_version": "1.0", "session_id": "sess_019f00000000000000000000000000aa", "session_thread_id": "sthr_019f00000000000000000000000002bb", "parent_thread_id": "sthr_019f00000000000000000000000001aa", "agent_id": "agent_019f000000000000000000000000002b", "agent_version": 2, "agent_name": "Research Agent", "role": "child", "created_by_tool_use_id": "toolu_bdrk_01T42NPLcKrBvLJfWgGt3QMt", "created_at": "2026-06-15T08:01:00.000Z"}
Thread started running:
id: evt_019f0000000000000000000000000102
event: session.thread_status_running
data: {"id": "evt_019f0000000000000000000000000102", "type": "session.thread_status_running", "schema_version": "1.0", "session_id": "sess_019f00000000000000000000000000aa", "session_thread_id": "sthr_019f00000000000000000000000002bb", "agent_name": "Research Agent", "status": "running", "created_at": "2026-06-15T08:01:01.000Z"}
Inter-thread message sent (coordinator to child):
id: evt_019f0000000000000000000000000101
event: agent.thread_message_sent
data: {"id": "evt_019f0000000000000000000000000101", "type": "agent.thread_message_sent", "schema_version": "1.0", "session_id": "sess_019f00000000000000000000000000aa", "session_thread_id": "sthr_019f00000000000000000000000002bb", "direction": "coordinator_to_child", "content": "请调研竞品动态", "from_session_thread_id": "sthr_019f00000000000000000000000001aa", "to_session_thread_id": "sthr_019f00000000000000000000000002bb", "created_at": "2026-06-15T08:01:00.500Z"}
Inter-thread message received (child to coordinator):
id: evt_019f0000000000000000000000000110
event: agent.thread_message_received
data: {"id": "evt_019f0000000000000000000000000110", "type": "agent.thread_message_received", "schema_version": "1.0", "session_id": "sess_019f00000000000000000000000000aa", "session_thread_id": "sthr_019f00000000000000000000000001aa", "direction": "child_to_parent", "content": "调研完成,主要发现如下...", "is_error": false, "from_session_thread_id": "sthr_019f00000000000000000000000002bb", "to_session_thread_id": "sthr_019f00000000000000000000000001aa", "created_at": "2026-06-15T08:05:00.000Z"}
Thread idle (child thread completed):
id: evt_019f0000000000000000000000000111
event: session.thread_status_idle
data: {"id": "evt_019f0000000000000000000000000111", "type": "session.thread_status_idle", "schema_version": "1.0", "session_id": "sess_019f00000000000000000000000000aa", "session_thread_id": "sthr_019f00000000000000000000000002bb", "status": "idle", "stop_reason": {"type": "end_turn"}, "created_at": "2026-06-15T08:05:01.000Z"}

Thread Event Types

In addition to the session-level event types, the following thread-specific event types are available:
event (SSE field)Description
session.thread_createdA new child thread was created. Includes parent_thread_id, agent_id, agent_version, agent_name, role, created_by_tool_use_id
session.thread_status_runningThread started running. Includes agent_name, status
session.thread_status_idleThread returned to idle. Includes status, stop_reason
session.thread_status_terminatedThread was archived or terminated. Includes status, stop_reason
agent.thread_message_sentInter-thread message sent. Includes direction, content, from_session_thread_id, to_session_thread_id
agent.thread_message_receivedInter-thread message received. Includes direction, content, is_error, from_session_thread_id, to_session_thread_id
In managed agents scenarios, all events include an additional session_thread_id field. The session-level event stream (/sessions/{id}/events/stream) includes events from all threads; the thread-level event stream only includes events for the specified thread.

Errors

HTTPTypeTrigger
400invalid_request_errorLast-Event-ID does not belong to this thread
401authentication_errorPAT invalid or expired
404not_found_errorSession or Thread does not exist
See Errors for full error envelope reference.

Managed Agents

Understand thread event semantics in multi-agent collaboration.

List Thread Events

Page through a thread’s historical events.

List Session Threads

View all threads in a session.