> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.caesar.xyz/2025-11-27/documentation/guides/research-chat/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.caesar.xyz/_mcp/server. # Research Chat Research chat lets you ask follow-up questions on an existing research job. Responses are generated asynchronously and can be streamed via Server-Sent Events (SSE). When a response includes inline citations (e.g., `[1]`), the corresponding sources are returned in the `results` array by matching citation indices against the research job’s results. ## Create a chat message Send a `POST` request to `/research/{job_id}/chat` with a JSON body containing `content` (and optional `snippets`). The response returns the newly created chat message in a `processing` state. ## Stream the response (SSE) Open an SSE connection to `/research/{job_id}/chat/{message_id}/stream`. Each `data:` line is a `chat.completion.chunk` payload; the final chunk includes a `results` array when the content includes citations. ## Poll for a message Fetch `/research/{job_id}/chat/{message_id}` to check status. While processing you will receive a `status` field. When completed, the response includes `content` and a `results` array containing the research sources referenced by citation index in the content. ## List chat history Call `/research/{job_id}/chat` to list messages newest-first. Assistant messages can include a `results` array containing the research sources whose `citation_index` appears in that message’s content. > Follow-up questions with streaming responses