---
title: "List sessions"
method: GET
path: "/api/v1/sessions"
tags: ["sessions"]
---

# List sessions

`GET /api/v1/sessions`

## Query parameters

- `project` string — Project id filter.
- `active` boolean, nullable — When true, return non-terminated sessions; when false, return terminated sessions.
- `orchestratorOnly` boolean, nullable — When true, return only orchestrator sessions.
- `fresh` boolean, nullable — When true, return only fresh non-terminated sessions.

## Response `200`

OK

- ListSessionsResponse
  - `sessions` ControllersSessionView[], required
    - `activity` DomainActivity, required
      - `lastActivityAt` string, date-time, required
      - `state` string, required
    - `branch` string
    - `createdAt` string, date-time, required
    - `displayName` string
    - `harness` string
    - `id` string, required
    - `isPinned` boolean, required
    - `isTerminated` boolean, required
    - `issueId` string
    - `kind` string, required
    - `pinnedAt` string, date-time, nullable
    - `previewRevision` integer
    - `previewUrl` string
    - `projectId` string, required
    - `prs` SessionPRFacts[], required
      - `ci` 'unknown' | 'pending' | 'passing' | 'failing', required
      - `mergeability` 'unknown' | 'mergeable' | 'conflicting' | 'blocked' | 'unstable', required
      - `number` integer, required
      - `review` 'none' | 'approved' | 'changes_requested' | 'review_required', required
      - `reviewComments` boolean, required
      - `state` 'draft' | 'open' | 'merged' | 'closed', required
      - `updatedAt` string, date-time, required
      - `url` string, required
    - `reviewerHarness` 'claude-code' | 'codex' | 'opencode'
    - `scmStatus` 'pr_open' | 'draft' | 'ci_failed' | 'review_pending' | 'changes_requested' | 'approved' | 'mergeable' | 'merged'
    - `status` 'working' | 'pr_open' | 'draft' | 'ci_failed' | 'review_pending' | 'changes_requested' | 'approved' | 'mergeable' | 'merged' | 'needs_input' | 'exited' | 'idle' | 'terminated' | 'no_signal', required
    - `terminalHandleId` string
    - `terminateOnPrMerge` boolean, required
    - `updatedAt` string, date-time, required

## Other responses

- `400` — Bad Request
- `500` — Internal Server Error

## Changes

- **2026-08-04** `352bbca50f98` — 2 info
  - added the optional property `sessions/items/pinnedAt` to the response with the `200` status
  - added the required property `sessions/items/isPinned` to the response with the `200` status
- **2026-08-04** `f4fd1a6add81` — 1 info
  - added the optional property `sessions/items/reviewerHarness` to the response with the `200` status
- **2026-07-24** `d202268a973f` — 1 warning, 2 info
  - added the new `exited` enum value to the `sessions/items/status` response property for the response status `200`
  - added the optional property `sessions/items/scmStatus` to the response with the `200` status
  - added the required property `sessions/items/terminateOnPrMerge` to the response with the `200` status
- **2026-06-22** `31605d9fa5c7` — 1 info
  - added the optional property `sessions/items/previewRevision` to the response with the `200` status
- **2026-06-21** `a6f82f51cdbc` — 1 info
  - added the optional property `sessions/items/previewUrl` to the response with the `200` status

[Full history](https://skmtc.dev/composiohq/apis/agent-orchestrator-http-daemon/changes/api/v1/sessions/get.md)

---

[API](https://skmtc.dev/composiohq/apis/agent-orchestrator-http-daemon.md) · [All operations](https://skmtc.dev/composiohq/apis/agent-orchestrator-http-daemon/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/composiohq/agent-orchestrator-http-daemon/revisions/21c08ababdfd/schema)
