List the owner's sessions, newest first
Lists the sessions of the credential's owner that the caller can read, newest created_at first, closed ones included, limit per page (default 50, at most 100). Pass next_cursor back as cursor for the next page; it is null on the last one. status keeps only sessions reporting that status, needs_input included; relation keeps the ones the caller started, was shared or administers the agent of; q searches titles and id prefixes; agent_id keeps the sessions of one agent, any of its releases. Every filter only narrows what the caller can read. It changes nothing.
Scope: sessions:read (API key or cookie session).
AuthorizationBearer <token>For servers and scripts: an API key sent as an HTTP bearer token, Bearer <key>. It holds exactly the scopes it was issued with; a key issued before scopes existed holds none. It never needs the CSRF header, and it cannot manage agents, members, teams or API keys. Issue one in the web console under Settings → API keys; each operation names the scope it needs.
Scope: sessions:read
cursor?stringThe next_cursor of the page before; omit it for the first page.
1 <= lengthlimit?integerHow many items a page holds at most.
1 <= value <= 10050status?stringFilters on the status each item reports, needs_input included as derived when read.
"queued""running""needs_input""idle""failed""stopped"agent_id?stringKeeps the sessions created for this agent, whichever of its releases they are pinned to. An agent with no session the caller can read, or no such agent, gives an empty page.
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$uuidrelation?stringNarrows the sessions the caller can read, never widens them; omitted, all. started: the caller started it (for an API key, the key or the person who created it). shared: someone else's session shared with the caller by name or through a team the caller is a member of; sessions every workspace member sees appear only under all. administered: a session of an agent the caller administers, directly or through a team.
"all""started""shared""administered"q?stringMatches a session whose title contains it, ignoring case, or whose id starts with it.
1 <= length <= 200One page of session summaries.
application/json- response
items*array<>next_cursor*|nullcurl -X GET 'https://example.com/v1/sessions'{ "items": [ { "id": "0f8b6a52-3d1e-4c7a-9b2f-5e6d7c8a9b01", "title": "Fix the flaky checkout test", "agent": { "id": "8f6c1d2e-4b3a-4c5d-9e8f-7a6b5c4d3e2f", "name": "Checkout fixer", "release_version_no": 3, "release_label": "2026-10-11_17:00:00", "release_is_active": true }, "agent_hidden": false, "created_by": { "user_id": "1b2c3d4e-5f60-4718-8a9b-0c1d2e3f4a5b", "display_name": "Mina Park" }, "channel": "web", "slack_permalink": null, "revision": 7, "admission_state": "active", "status": "running", "runtime": { "kind": "claude_agent_sdk", "version": "0.2.1", "profile_id": "claude-coding-real", "model": "claude-sonnet-5", "permission_mode": "default" }, "model": "claude-sonnet-5", "repository_id": "sample-app", "repository": { "id": "sample-app", "full_name": "acme/sample-app", "branch": "main" }, "current_turn_id": "3", "queued_turn_count": 1, "last_event_at": "2026-10-11T08:15:42Z", "created_at": "2026-10-11T08:00:00Z", "updated_at": "2026-10-11T08:15:40Z" } ], "next_cursor": null}