---
title: "Switch an idle Chat session to another provider"
method: POST
path: "/api/v1/sessions/{sessionId}/provider-switch"
tags: ["conversations"]
---

# Switch an idle Chat session to another provider

`POST /api/v1/sessions/{sessionId}/provider-switch`

## Request

- Base URL: `http://127.0.0.1:3001`
- URL: `http://127.0.0.1:3001/api/v1/sessions/{sessionId}/provider-switch`
- Auth: none declared

## Path parameters

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

## Request body

- ProviderSwitchRequest
  - `autoCompactWindow` '200k' | '1m'
  - `effort` string
  - `fastMode` boolean
  - `idempotencyKey` string
  - `message` SendConversationMessageRequest
    - `attachments` ConversationImageContentRequest[]
      - `data` string, required
      - `mimeType` string, required
    - `clientMessageId` string
    - `continuation` boolean
    - `excerpts` ConversationExcerptReferenceRequest[]
      - `conversationId` string, required
      - `messageId` string, required
      - `revision` integer, required
      - `text` string, required
    - `resources` ConversationResourceContentRequest[]
      - `mimeType` string
      - `name` string, required
      - `text` string, nullable
      - `uri` string, required
    - `text` string, required
  - `model` string
  - `permissionMode` 'default' | 'accept-edits' | 'auto' | 'bypass-permissions'
  - `targetHarness` string, required
  - `ultracode` boolean

## Response `200`

OK

- ProviderSwitchResponse
  - `message` SendConversationMessageResponse
    - `duplicate` boolean, required
    - `providerTurnId` string
    - `state` 'queued' | 'running' | 'completed' | 'recovered' | 'interrupted' | 'failed'
    - `turnId` string
  - `status` string, required

## Other responses

- `400`: Bad Request
- `409`: Conflict
- `500`: Internal Server Error
- `501`: Not Implemented
- `503`: Service Unavailable

## Changes

- **2026-10-21** `8f160e6183cd`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/composiohq/apis/agent-orchestrator-http-daemon/changes/api/v1/sessions/:sessionId/provider-switch/post.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/61d7efd08578?raw)
