API Reference
URL Identifier
To obtain your collection's
url_identifier
go to API Keys.

Create Chat
Endpoint: POST /api/rag/{url_identifier}/chat/
Request Body:
{
"message": "What is this collection about?",
"modelProvider": "llama-4-17b", // Optional. Available options: "llama-4-17b", "llama-3-8b", "deepseek-r1-8b", "qwen-3-8b"
"markdown": false // Optional. Defaults to false. Set to true for markdown-formatted responses
}
Response:
{
"status": "success",
"chat_id": "550e8400-e29b-41d4-a716-446655440000",
"messages": [
{
"content": "What is this collection about?",
"is_user": true,
"model_provider": "llama-4-17b",
"sources": [],
"created_at": "2025-01-01T00:00:00Z"
},
{
"content": "This collection contains...",
"is_user": false,
"model_provider": "llama-4-17b",
"sources": [
{
"id": 1,
"title": "Document 1",
"description": "...",
"type": "file",
"page_number": 1
}
],
"created_at": "2025-01-01T00:00:00Z"
}
]
}
Send Message
Endpoint: POST /api/rag/{url_identifier}/chat/{chat_id}/send/
Request Body:
{
"message": "Tell me more about the first document",
"modelProvider": "llama-4-17b", # Optional. Available options: "llama-4-17b", "llama-3-8b", "deepseek-r1-8b", "qwen-3-8b"
"markdown": false # Optional. Defaults to false. Set to true for markdown-formatted responses
}
Response:
{
"status": "success",
"messages": [
// Previous messages...
{
"content": "Tell me more about the first document",
"is_user": true,
"model_provider": "llama-4-17b",
"sources": [],
"created_at": "2025-01-01T00:00:00Z"
},
{
"content": "The first document discusses...",
"is_user": false,
"model_provider": "llama-4-17b",
"sources": [
{
"id": 1,
"title": "Document 1",
"description": "...",
"type": "file",
"page_number": 2
}
],
"created_at": "2025-01-01T00:00:00Z"
}
]
}
Get Chat History
Endpoint: GET /api/rag/{url_identifier}/chat/{chat_id}/messages/
Response:
{
"status": "success",
"messages": [
{
"content": "What is this collection about?",
"is_user": true,
"model_provider": "llama-4-17b",
"sources": [],
"created_at": "2025-01-01T00:00:00Z"
},
{
"content": "This collection contains...",
"is_user": false,
"model_provider": "llama-4-17b",
"sources": [
{
"id": 1,
"title": "Document 1",
"description": "...",
"type": "file",
"page_number": 1
}
],
"created_at": "2025-01-01T00:00:00Z"
}
]
}
List of all Collections
Endpoint: GET /api/rag/collections/
Response:
{
"status": "success",
"collections": [
{
"id": "abc12345",
"name": "My Collection",
"description": "A test collection",
"type": "knowledge-base",
"is_owner": true,
"sharing_status": "restricted",
"created_at": "2025-01-01T00:00:00Z",
"updated_at": "2025-01-01T00:00:00Z",
"document_count": 5,
"is_vectordb_ready": true
}
]
}
Create Collection
Endpoint: POST /api/rag/collections/create/
Request Body:
{
"name": "My New Collection",
"description": "A collection created via API",
"type": "knowledge-base",
"collection_external_knowledge_mode": false
}
Response:
{
"status": "success",
"collections": [
{
"id": "abc12345",
"name": "My Collection",
"description": "A test collection",
"type": "knowledge-base",
"is_owner": true,
"sharing_status": "restricted",
"created_at": "2025-01-01T00:00:00Z",
"updated_at": "2025-01-01T00:00:00Z",
"document_count": 5,
"is_vectordb_ready": true
}
]
}
Get Collection Details
Endpoint: GET /api/rag/collections/{url_identifier}/
Response:
{
"status": "success",
"collection": {
"id": "abc12345",
"name": "My Collection",
"description": "A test collection",
"type": "knowledge-base",
"sharing_status": "restricted",
"is_owner": true,
"role": "owner",
"created_at": "2025-01-01T00:00:00Z",
"updated_at": "2025-01-01T00:00:00Z",
"is_vectordb_ready": true,
"collection_external_knowledge_mode": false,
"document_count": 5
}
}
Update Collection
Endpoint: PUT /api/rag/collections/{url_identifier}/update/
Request Body:
{
"name": "Updated Collection Name", # Optional
"description": "Updated description", # Optional
"collection_external_knowledge_mode": false # Optional
}
Response:
{
"status": "success",
"collection": {
"id": "abc12345",
"name": "Updated Collection Name",
"description": "Updated description",
"type": "knowledge-base",
"collection_external_knowledge_mode": false,
"updated_at": "2025-01-01T00:00:00Z"
}
}
Delete Collection
Endpoint: DELETE /api/rag/collections/{url_identifier}/delete/
Response:
{
"status": "success",
"message": "Collection deleted successfully"
}
Get List of Documents in Collection
Endpoint: GET /api/rag/collections/{url_identifier}/documents/
Response:
{
"status": "success",
"documents": [
{
"id": "123",
"title": "document.pdf",
"type": "file",
"uploaded_at": "2025-01-01T00:00:00Z",
"size": 1024000,
"url": "/media/1_username/document.pdf",
"company": "Example Corp",
"tags": ["finance", "report"]
}
]
}
Upload Files to Collection
Upload files to your collection using standard multipart form data.
Endpoint: POST /api/rag/collections/{url_identifier}/documents/add/
Request Body:
{
"files": [ // Optional
{
"filename": "document.pdf",
"data": "my_docs/file_path.pdf" # file path
}
]
}
Response:
{
"status": "success",
"message": "Successfully added 2 document(s)",
"added_documents": [
{
"id": "123",
"title": "document.pdf",
"type": "file",
"uploaded_at": "2025-01-01T00:00:00Z",
"size": 1024000
}
]
}
Delete Document
Endpoint: DELETE /api/rag/collections/{url_identifier}/documents/{document_id}/{document_type}/delete/
Parameters:
document_type
:"file"
Response:
{
"status": "success",
"message": "Document deleted successfully"
}
Delete All Documents
Endpoint: DELETE /api/rag/collections/{url_identifier}/documents/delete-all/
Response:
{
"status": "success",
"message": "All documents deleted successfully"
}
Last updated