---
title: "Resume Chat Main Agent"
method: POST
path: "/api/v1/chat/stream/resume"
tags: ["chat"]
---

# Resume Chat Main Agent

`POST /api/v1/chat/stream/resume`

Re-attach to a project's in-flight chat run after a mid-stream refresh.

Read-only second reader: tails the existing workflow's durable stream
(``read_stream`` replays from offset 0 → the full ordered sequence: the
user-message echo, every delta so far, then the terminal) WITHOUT starting
a run or claiming a slot. If no run is live the generator yields nothing; the
FE then sees no terminal and falls back to reloading persisted history (the
empty replay is the signal that the run finished and released its slot before
this reattach).

## Request body

- ChatResumeRequest — Schema for re-attaching to a project's in-flight chat run (refresh-resume).
  - `project_id` string, uuid, required — The project whose live chat run to re-attach to.
  - `expected_run_id` string, nullable — The run id the chat GET reported as active. The reattach tails this run only; if the pointer has since moved to a newer run, the server yields nothing so the client reloads persisted history. Omit to tail whatever run is currently active.

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/maia-analytics/apis/maia-api.md) · [All operations](https://skmtc.net/maia-analytics/apis/maia-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/maia-analytics/maia-api/revisions/ab171f3fcfbe/schema)
