← Back to Docs
Documents API
Upload, list, and manage documents and knowledge bases via the API.
Overview
The Documents API provides programmatic access to knowledge bases and documents. Use it to automate document uploads, monitor processing status, and manage your content.
List Knowledge Bases
Get all knowledge bases for a website.
GET /api/websites/:website_id/knowledge-bases
Response:
[
{
"id": "uuid",
"name": "Product Docs",
"document_count": 5,
"created_at": "2024-01-01T00:00:00Z"
}
]Create a Knowledge Base
Create a new knowledge base within a website.
POST /api/websites/:website_id/knowledge-bases
Body:
{
"name": "FAQ"
}
Response:
{
"id": "uuid",
"name": "FAQ",
"document_count": 0,
"created_at": "2024-01-01T00:00:00Z"
}Upload a Document
Upload a document to a knowledge base. Use multipart form data.
POST /api/websites/:website_id/knowledge-bases/:kb_id/documents
Content-Type: multipart/form-data
Body: file=@document.pdf
Response:
{
"id": "uuid",
"filename": "document.pdf",
"status": "processing",
"chunk_count": 0,
"created_at": "2024-01-01T00:00:00Z"
}Get Document Status
Check the processing status of a document. Status values: `pending`, `processing`, `completed`, `failed`.
GET /api/websites/:website_id/knowledge-bases/:kb_id/documents/:doc_id
Response:
{
"id": "uuid",
"filename": "document.pdf",
"status": "completed",
"chunk_count": 42,
"created_at": "2024-01-01T00:00:00Z"
}Delete a Document
Remove a document and all its chunks from the knowledge base. This action is irreversible.
DELETE /api/websites/:website_id/knowledge-bases/:kb_id/documents/:doc_id
Response:
{
"message": "Document deleted"
}