Knowledge Bases
Organize your documents into searchable collections
What is a Knowledge Base?#
A Knowledge Base is a container that organizes your documents into a searchable collection. Think of it as a specialized database designed for semantic search and AI retrieval.
Organize
Group related documents by project, department, or topic
Search
Query documents using natural language
Integrate
Connect to AI tools via MCP
Scale
Handle thousands of documents efficiently
Knowledge Base Lifecycle#
Loading diagram...
Creating a Knowledge Base#
Via API#
curl -X POST http://localhost:3000/api/v2/knowledgebases \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Product Documentation",
"description": "Technical docs for our product suite"
}'
Response#
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Product Documentation",
"description": "Technical docs for our product suite",
"status": "active",
"createdAt": "2024-01-28T12:00:00.000Z",
"updatedAt": "2024-01-28T12:00:00.000Z"
}
Knowledge Base Properties#
| Property | Type | Description |
|---|---|---|
id | UUID | Unique identifier |
name | String | Display name (max 100 chars) |
description | String | Optional description (max 500 chars) |
status | Enum | active or inactive |
metadata | Object | Custom key-value metadata |
createdAt | DateTime | Creation timestamp |
updatedAt | DateTime | Last update timestamp |
Status Management#
Knowledge Bases can be in one of two states:
- Accepts new documents via pipelines
- Available for search queries
- MCP tools are registered and available
Deactivate a Knowledge Base#
curl -X PUT http://localhost:3000/api/v2/knowledgebases/{kbId}/status \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"status": "inactive"}'
Best Practices#
Choose names that clearly identify the content:
- "Q4 2024 Financial Reports"
- "Engineering Runbooks"
- "KB1" or "Test"
Keep Knowledge Bases focused on a single domain:
- Separate KB for HR policies and Engineering docs
- Mixing unrelated documents in one KB
Add custom metadata for filtering and tracking:
{
"department": "Engineering",
"project": "IngestIQ",
"version": "2.0"
}