Subscribe to one thread's event stream with SSE.
HTTP 200 OK
Request headers
| Header | Required | Description |
|---|---|---|
Authorization | Yes | Bearer <PAT> |
Accept | Yes | text/event-stream |
Last-Event-ID | No | Resume after this Thread Event ID. |
Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
session_id | string | Yes | Session ID. |
thread_id | string | Yes | Thread ID. |
Query parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
type | string | No | - | Filter by Event type. Comma-separated values are supported. |
types[] | string | No | - | Array-style Event type filter. |
include_tool_calls | boolean | No | true | Include tool call events. |
include_thinking | boolean | No | true | Include thinking events. |
Example request
Example response
HTTP 200 OK
Response fields
| Field | Description |
|---|---|
id | SSE event ID. Equals the Event ID. |
event | Event type. |
data | Filtered Forward Event JSON for the Thread. |
Errors
| HTTP | Type | Code | Trigger |
|---|---|---|---|
| 400 | invalid_request_error | invalid_event_cursor | Last-Event-ID does not belong to this Thread. |
| 401 | authentication_error | authentication_required | PAT invalid or expired. |
| 404 | not_found_error | session_not_found | Session does not exist. |
| 404 | not_found_error | thread_not_found | Thread does not exist. |
Notes
- Thread SSE uses the same field-level filtering strategy as Session SSE.
- Unknown Event types are not dropped; they are downgraded to envelope-only events when available.