---
title: "Branch Session"
method: POST
path: "/api/sessions/{session_id}/branch"
---

# Branch Session

`POST /api/sessions/{session_id}/branch`

## Request

- Base URL: `https://pozeidon.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://pozeidon.ai/api/sessions/{session_id}/branch`
- Auth: none declared

Fork a conversation: a NEW session seeded with this one's full
accumulated context (G-MSESS, Misha's actual ask — 'run two parallel
sessions' meant taking the context somewhere else; his fresh session B
re-derived it for 40 minutes and got worse answers).

Copies the agent_session_entries rows under a freshly minted id — the
SDK resumes from OUR store, so any id with rows is a resumable session.
Because the store only ever holds COMPLETED turns, branching a running
conversation is the same operation as branching an idle one: the branch
knows everything up to the last finished answer; the in-flight turn's
result stays with the parent. No locks, no racing the live turn.

## Path parameters

- `session_id` string, required

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/pozeidon/apis/pozeidon-demo.md) · [All operations](https://skmtc.dev/pozeidon/apis/pozeidon-demo/llms.txt) · [OpenAPI document](https://skmtc.dev/pozeidon/apis/pozeidon-demo/revisions/de288dc26752?raw)
