Skip to main content
A chat session connects your application to one of your organization’s caregivers. Create a session, send messages with its chat_id, read it back at any time, and end it when the conversation is over. The chat routes answer on /api/v1/chat/... (recommended) and on the compatibility mount /v1/chat/.... They are the same views; a prefix is not a credential and does not change what a caller reaches. The examples use /api/v1.

Create a session

The caregiver must belong to your organization. The session it creates is owned by that same organization and appears in the chat results.

Send a message

Stream a reply

The response is Content-Type: text/event-stream, with one JSON object per data: frame:
The credential and the chat’s ownership are resolved before the stream opens, so a refused request gets an ordinary error response, not a 200 whose first frame says no. Once the stream is open, only model failures appear inside it, as {"error": "LLM error", "chat_id": "..."} followed by the end of the stream.
The transcript is written when the stream completes. A client that abandons the stream (a browser tab closing, or an AbortController firing on logout or an organization switch) leaves the turn unrecorded.

Read a session

End a session

Ending marks the session; it does not erase it. The transcript stays readable.