---
title: "List a session's durable agent-switch history"
method: GET
path: "/api/v1/sessions/{sessionId}/agent-switches"
tags: ["sessions"]
---

# List a session's durable agent-switch history

`GET /api/v1/sessions/{sessionId}/agent-switches`

## Path parameters

- `sessionId` string, required — Session identifier, e.g. project-1.

## Response `200`

OK

- ListAgentSwitchesResponse
  - `switches` AgentSwitch[], required
    - `agentHandoffStatus` 'not_attempted' | 'requested' | 'received' | 'unavailable' | 'timed_out' | 'failed' | 'rejected', required
    - `errorCode` 'daemon_restart_pre_stop' | 'daemon_restart_post_stop' | 'daemon_restart_unrecoverable_target' | 'daemon_restart_before_delivery' | 'delivery_unconfirmed' | 'source_session_terminated' | 'source_stop_unconfirmed' | 'target_binary_missing' | 'target_agent_unauthorized' | 'target_start_unconfirmed' | 'source_restore_unconfirmed' | 'request_cancelled' | 'source_blocked' | 'failed_pre_stop' | 'failed_post_stop' | 'target_ready_failed' | 'delivery_failed' | 'switch_failed'
    - `fromHarness` string, required
    - `id` string, required
    - `requestedAt` string, date-time, required
    - `semanticHandoffIncluded` boolean, required
    - `sessionId` string, required
    - `sourceTranscriptStatus` 'not_attempted' | 'available' | 'unavailable'
    - `state` 'preparing_handoff' | 'stopping_source' | 'source_stopped' | 'starting_target' | 'target_ready' | 'delivering_context' | 'completed' | 'failed', required
    - `targetHarness` string, required
    - `targetStartMode` 'fresh' | 'resumed'
    - `updatedAt` string, date-time, required

## Other responses

- `404` — Not Found
- `500` — Internal Server Error
- `501` — Not Implemented

## Changes

- **2026-09-03** `d31a2d019c47` — 3 info
  - added the optional property `reporting_owner` to the response with the `404` status
  - added the optional property `reporting_owner` to the response with the `500` status
  - added the optional property `reporting_owner` to the response with the `501` status
- **2026-08-14** `ad03d2ec1b20` — 1 warning
  - added the new `source_restore_unconfirmed` enum value to the `switches/items/errorCode` response property for the response status `200`
- **2026-08-09** `641f372d664d` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/composiohq/apis/agent-orchestrator-http-daemon/changes/api/v1/sessions/:sessionId/agent-switches/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.dev/composiohq/apis/agent-orchestrator-http-daemon/revisions/c9673ebc394b?raw)
