---
title: "Stream Message"
method: POST
path: "/v1/conversations/{conversation_id}/stream"
tags: ["V1 - Conversations"]
---

# Stream Message

`POST /v1/conversations/{conversation_id}/stream`

## Request

- Base URL: `https://api.app.noxus.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.app.noxus.ai/v1/conversations/{conversation_id}/stream`
- Auth: API key in header `X-API-Key`

Send a message and stream agent SSE events back over the same request.

Unlike `POST /v1/conversations/{id}` (which blocks until the run finishes),
this endpoint dispatches the run and immediately returns a streaming SSE
response carrying every event the worker emits to Redis.

`format` controls the SSE wire format:
  * `vercel` (default) — pydantic-ai Vercel AI SDK frames passed through verbatim.
  * `json` — each frame normalised to `event: message\ndata: {"event": ..., "data": ...}\n\n`,
    terminated by `event: done`.

## Path parameters

- `conversation_id` string, uuid, required

## Query parameters

- `format` 'vercel' | 'json'
- `assistant_id` string, uuid, nullable

## Request body

- AddMessageRequest
  - `content` string, nullable, required
  - `tool` union
    - 'web_research' | 'kb_qa'
    - string
  - `kb_id` string, nullable
  - `files` ConversationFile[], nullable
    - `id` string, uuid, nullable, required
    - `name` string, required
    - `size` integer, nullable, required
    - `type` string, nullable, required
    - `status` 'pending' | 'success' | 'error', required
    - `url` string, nullable, required
    - `b64_content` string, nullable
  - `model_selection` string[], nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/noxus/apis/noxus-backend.md) - [All operations](https://skmtc.dev/noxus/apis/noxus-backend/llms.txt) - [OpenAPI document](https://skmtc.dev/noxus/apis/noxus-backend/revisions/0e37810b7ad5?raw)
