# Ask a cited question (SSE)

> POST /chat/stream: Ask a cited question (SSE)

`POST https://usedocs.app/chat/stream`

Same body as chatAsk. Server-Sent Events: start → token* → result (or error). Same widget-chat rate limit as POST /chat.

## Request body

Required, `application/json`.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `botId` | `string (uuid)` | Yes | Bot UUID from the dashboard. |
| `botKey` | `string` |  | Public bot key from Settings → API and MCP. |
| `question` | `string` | Yes | Visitor or agent question. |
| `conversationId` | `string` |  | Continue an existing thread. |
| `visitor` | `string` |  | Stable visitor or ticket id for rate limiting. |
| `pageUrl` | `string (uri)` |  | Page the visitor was on. |

## Responses

| Status | Description |
| --- | --- |
| `200` | text/event-stream of start, token, result, or error events |
| `400` | Structured JSON error |
| `403` | Structured JSON error |
| `429` | Rate limited. Honor Retry-After and RateLimit headers. |