Stream a citation-backed answer for a user’s question.
Auth: client key. Response: text/event-stream.

Request body

Response stream

Frames are unnamed SSE events — every line is data: carrying a JSON object. There are no event: names, so a client reads message events and branches on the fields present.
Citations map to [n] markers in the answer text — render them as numbered source links.
The dashboard’s own POST /api/v1/chat uses the same frame shape but names the thread conversation_id rather than thread_id.

Continuing a conversation

Either pass thread_id in the knowledge base chat body, or post to the thread endpoint:
Same body and stream format. Conversation memory includes recent turns, so follow-ups like “what about SSO?” resolve correctly.

CAPTCHA

Public keys must include X-Captcha-Token: <reCAPTCHA v3 token> whenever reCAPTCHA is configured on the server. See Authentication.

Notes

  • Restricted documents are never retrieved by public chat.
  • When retrieval finds nothing relevant, the assistant says it doesn’t know rather than guessing — answers are generated only from retrieved sources.
  • Prefer WebSocket? See the WebSocket transport — the SDK uses it by default with SSE fallback.