Get session status
Create & read
Get session status
Lightweight polling endpoint for session progress.
GET
Get session status
Returns only the live status of a session: current state, step count, token usage, and subagent IDs. It’s the cheapest call for a quick liveness check. To follow a run and read its
For the polling interval, 2 to 5 seconds works well for most use cases. For longer tasks (10+ minutes), back off to 10 to 15 seconds to reduce API calls.
answer, long-poll changes instead.
Returns a SessionStatus object.
Path parameters
The session ID.
Response
Current session state:
pending, running, paused, idle, awaiting_tool_results, completed, failed, timed_out, or interrupted.Error message if the session failed.
null otherwise.Number of steps the agent has taken, where each step is one decide-and-act cycle.
Per-model token usage. Each entry is an object with
name, input_tokens, output_tokens, and reasoning_tokens. Empty array until the agent calls a model.IDs of the child sessions this session spawned, empty if it ran no subagents. Pull the full roster, each child labeled with its
agent, with GET /sessions?parent_session_id={id}.Examples
Response