---
title: "Stream Conversation Turn"
method: GET
path: "/api/v1/chat-ai/conversations/{conversation_id}/stream"
tags: ["chat-ai", "chat_messages"]
---

# Stream Conversation Turn

`GET /api/v1/chat-ai/conversations/{conversation_id}/stream`

Reattach to the conversation's live turn and stream it via SSE.

Behind CHAT_DETACHED_TURNS_V1 a turn runs detached from the request that
started it (see `send_message`). This endpoint replays the active turn's
buffered frames from the start and then follows it live to the terminal
frame, so a reloaded client resumes the trace instead of waiting blind.

Returns 204 when no turn is currently active for the conversation — the
normal case, not an error. Ownership is enforced exactly as `send_message`:
404 for a conversation the caller does not own.

## Path parameters

- `conversation_id` string, uuid, required

## Response `200`

The active turn's SSE frames — replay, then live.

- unknown

## Other responses

- `204` — No turn is currently active for the conversation.
- `401` — Not authenticated.
- `404` — Conversation not found or not owned by the caller.
- `422` — Validation Error

## Changes

- **2026-09-03** `d65b8fefae34` — 2 info
  - added the optional property `detail/items/ctx` to the response with the `422` status
  - added the optional property `detail/items/input` to the response with the `422` status

[Change history](https://skmtc.dev/getanana/apis/cleon-api/changes/api/v1/chat-ai/conversations/:conversation_id/stream/get.md)

---

[API](https://skmtc.dev/getanana/apis/cleon-api.md) · [All operations](https://skmtc.dev/getanana/apis/cleon-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/getanana/cleon-api/revisions/38166468bfc5/schema)
