Skip to content

Knowledge bases API

Create knowledge bases, upload documents, trigger re-indexing, and query indexing status.

MethodPathDescription
GET/api/v1/knowledge-basesList knowledge bases
POST/api/v1/knowledge-basesCreate knowledge base
GET/api/v1/knowledge-bases/{id}Get knowledge base
PATCH/api/v1/knowledge-bases/{id}Update settings
DELETE/api/v1/knowledge-bases/{id}Delete knowledge base
POST/api/v1/knowledge-bases/{id}/documentsUpload document
GET/api/v1/knowledge-bases/{id}/documentsList documents
DELETE/api/v1/knowledge-bases/{id}/documents/{doc_id}Remove document
POST/api/v1/knowledge-bases/{id}/reindexTrigger full re-index
GET/api/v1/knowledge-bases/{id}/statusIndexing status

Requires API key or session auth.

POST /api/v1/knowledge-bases
Authorization: Bearer ch_live_xxx
Content-Type: application/json
{
"name": "Help Center",
"description": "Public FAQ and policy documents",
"search_settings": {
"hybrid": true,
"semantic_weight": 0.7
}
}

Multipart upload for binary files:

Terminal window
curl -X POST "https://api.chatevo.ai/api/v1/knowledge-bases/kb_3fG8hJ1k/documents" \
-H "Authorization: Bearer ch_live_xxx" \
-F "file=@./refund-policy.pdf" \
-F "title=Refund Policy"

Supported types: PDF, DOCX, TXT, MD, HTML. See File types.

POST /api/v1/knowledge-bases/kb_3fG8hJ1k/documents
Content-Type: application/json
{
"source_type": "url",
"url": "https://www.example.com/help/shipping",
"title": "Shipping FAQ"
}
GET /api/v1/knowledge-bases/kb_3fG8hJ1k/status
{
"status": "indexing",
"documents_total": 42,
"documents_indexed": 38,
"last_indexed_at": "2026-07-16T09:45:00Z"
}
StatusMeaning
readyAll documents indexed and searchable
indexingProcessing in progress
errorOne or more documents failed — check documents list for details
POST /api/v1/knowledge-bases/kb_3fG8hJ1k/reindex

Triggers a full rebuild of the search index. Use after bulk uploads or search setting changes.