Authentication
All endpoints require a valid Bearer token in the Authorization header.Base URL
Endpoints
Create Conversation
Create a new conversation.POST /api/conversation/create
Query Parameters:
Parameter | Required | Description |
---|---|---|
org_id | Yes | Organization ID |
Field | Type | Required | Description |
---|---|---|---|
title | string | Yes | Conversation title |
is_archived | boolean | No | Whether the conversation is archived (default: false) |
Field | Type | Description |
---|---|---|
id | string (UUID) | Conversation ID |
title | string | Conversation title |
is_archived | boolean | Archived status |
created_at | string (datetime) | Creation timestamp |
updated_at | string (datetime) | Last update timestamp |
Create Chat Session
Create a new chat session for a conversation with a specific language model.POST /api/conversation/create_session
Query Parameters:
Parameter | Required | Description |
---|---|---|
org_id | Yes | Organization ID |
Field | Type | Required | Description |
---|---|---|---|
conversation_id | string (UUID) | Yes | ID of the conversation |
model_id | string (UUID) | Yes | ID of the language model to use |
Field | Type | Description |
---|---|---|
id | string (UUID) | Chat session ID |
conversation_id | string (UUID) | Conversation ID |
model_id | string (UUID) | Model ID |
status | string | Session status (βactiveβ, βcompletedβ, etc.) |
created_at | string (datetime) | Creation timestamp |
updated_at | string (datetime) | Last update timestamp |
Stream Chat
Send a message and receive a streaming response from the language model.POST /api/conversation/stream_chat
Query Parameters:
Parameter | Required | Description |
---|---|---|
org_id | Yes | Organization ID |
Field | Type | Required | Description |
---|---|---|---|
chat_session_id | string (UUID) | Yes | ID of the chat session |
message | string | Yes | User message to send to the language model |
start
: Indicates the beginning of the response with a message IDcontent
: Contains chunks of the modelβs response contentend
: Indicates the end of the response
List Conversations
Get a list of all conversations for an organization.GET /api/conversation/list
Query Parameters:
Parameter | Required | Description |
---|---|---|
org_id | Yes | Organization ID |
Get Conversation with Sessions
Get details of a specific conversation including its chat sessions.GET /api/conversation/get_with_sessions
Query Parameters:
Parameter | Required | Description |
---|---|---|
org_id | Yes | Organization ID |
conversation_id | Yes | Conversation ID |
Get Messages
Get messages from a conversation.GET /api/conversation/messages
Query Parameters:
Parameter | Required | Description |
---|---|---|
org_id | Yes | Organization ID |
conversation_id | Yes | Conversation ID |
limit | No | Maximum number of messages to return (default: 20) |
offset | No | Number of messages to skip (default: 0) |
Error Responses
Status Code | Description |
---|---|
400 | Bad Request - Invalid input or validation error |
401 | Unauthorized - Invalid or missing token |
403 | Forbidden - Insufficient permissions |
404 | Not Found - Resource doesnβt exist |
429 | Too Many Requests - Rate limit exceeded |
500 | Internal Server Error - Server-side error |
Implementation Notes
- The streaming API uses Server-Sent Events (SSE) to deliver model responses
- Messages are stored in the database and can be retrieved historically
- Multiple chat sessions can be created for a single conversation, each using a different model
- Responses are generated asynchronously, allowing for real-time streaming of content