Claude Platform Docs

Threads

List Session Threads
client.beta.sessions.threads.list(stringsessionID, ThreadListParamsparams?, RequestOptionsoptions?): PageCursor<BetaManagedAgentsSessionThread>
GET/v1/sessions/{session_id}/threads
Get Session Thread
client.beta.sessions.threads.retrieve(stringthreadID, ThreadRetrieveParamsparams, RequestOptionsoptions?): BetaManagedAgentsSessionThread
GET/v1/sessions/{session_id}/threads/{thread_id}
Archive Session Thread
client.beta.sessions.threads.archive(stringthreadID, ThreadArchiveParamsparams, RequestOptionsoptions?): BetaManagedAgentsSessionThread
POST/v1/sessions/{session_id}/threads/{thread_id}/archive
Models
BetaManagedAgentsSessionThread { id, agent, archived_at, 8 more }

An execution thread within a session. Each session has one primary thread plus zero or more child threads spawned by the coordinator.

BetaManagedAgentsSessionThreadStats { active_seconds, duration_seconds, startup_seconds }

Timing statistics for a session thread.

active_seconds?: number

Cumulative time in seconds the thread spent actively running. Excludes idle time.

formatdouble
duration_seconds?: number

Elapsed time since thread creation in seconds. For archived threads, frozen at the final update.

formatdouble
startup_seconds?: number

Time in seconds for the thread to begin running. Zero for child threads, which start immediately.

formatdouble
BetaManagedAgentsSessionThreadStatus = "running" | "idle" | "rescheduling" | "terminated"

SessionThreadStatus enum

One of the following:
"running"
"idle"
"rescheduling"
"terminated"
BetaManagedAgentsSessionThreadUsage { active_seconds, cache_creation, cache_read_input_tokens, 4 more }

Cumulative token usage for a session thread across all turns.

BetaManagedAgentsStreamSessionThreadEvents = BetaManagedAgentsUserMessageEvent { id, content, type, processed_at } | BetaManagedAgentsUserInterruptEvent { id, type, processed_at, session_thread_id } | BetaManagedAgentsUserToolConfirmationEvent { id, result, tool_use_id, 4 more } | 34 more

Server-sent event in a single thread's stream.

One of the following:

ThreadsEvents

List Session Thread Events
client.beta.sessions.threads.events.list(stringthreadID, EventListParamsparams, RequestOptionsoptions?): PageCursor<BetaManagedAgentsSessionEvent>
GET/v1/sessions/{session_id}/threads/{thread_id}/events
Stream Session Thread Events
client.beta.sessions.threads.events.stream(stringthreadID, EventStreamParamsparams, RequestOptionsoptions?): BetaManagedAgentsStreamSessionThreadEvents | Stream<BetaManagedAgentsStreamSessionThreadEvents>
GET/v1/sessions/{session_id}/threads/{thread_id}/stream