Knowledge API
Knowledge Sources
| Method |
Endpoint |
Description |
POST |
/api/knowledge-sources |
Register knowledge source |
GET |
/api/knowledge-sources |
List sources (optional ?tags= filter) |
GET |
/api/knowledge-sources/{id} |
Get source |
PUT |
/api/knowledge-sources/{id} |
Update source |
DELETE |
/api/knowledge-sources/{id} |
Delete source (cascade-deletes items) |
POST |
/api/knowledge-sources/{id}/test |
Test connection |
Register Source
POST /api/knowledge-sources
{
"name": "product-docs",
"type": "vector_db",
"connection_config": {"url": "http://qdrant:6333", "collection": "docs"},
"tags": ["documentation"]
}
Source types: vector_db, mongo_db.
Knowledge Items
| Method |
Endpoint |
Description |
POST |
/api/knowledge-items |
Create text knowledge item |
POST |
/api/knowledge-items/upload |
Upload file/image (multipart) |
GET |
/api/knowledge-items |
List items (?source_id=, ?tags=, ?content_type=) |
GET |
/api/knowledge-items/{id} |
Get item metadata |
GET |
/api/knowledge-items/{id}/content |
Download file content |
PUT |
/api/knowledge-items/{id} |
Update item tags/metadata |
DELETE |
/api/knowledge-items/{id} |
Delete item |
POST |
/api/knowledge-items/query |
Query items by tags |
Create Text Item
POST /api/knowledge-items
{
"source_id": "<SOURCE_ID>",
"content": "Our SLA guarantees 99.9% uptime.",
"tags": ["sla", "production"]
}
Upload File
POST /api/knowledge-items/upload
Content-Type: multipart/form-data
curl -X POST http://localhost:8000/api/knowledge-items/upload \
-H "Authorization: Bearer $GITHUB_TOKEN" \
-F "file=@runbook.pdf" \
-F "source_id=<SOURCE_ID>" \
-F "tags=runbook,ops"
Query Items
POST /api/knowledge-items/query