Authentication
All endpoints require a valid Bearer token in the Authorization header.Base URL
Knowledge Base Endpoints
Create Knowledge Base
Create a new knowledge base in your organization.POST /api/kb/create
Query Parameters:
Parameter | Required | Description |
---|---|---|
org_id | Yes | Organization ID |
Field | Type | Required | Description |
---|---|---|---|
name | string | Yes | Name of the knowledge base |
description | string | Yes | Description of the knowledge baseβs purpose |
embedding_model | string | Yes | Model to use for embedding (e.g., βtext-embedding-ada-002β) |
sources | array | Yes | List of document sources to ingest |
Field | Type | Required | Description |
---|---|---|---|
type | string | Yes | Source type (e.g., βs3β, βwebβ, βfileβ) |
config | object | Yes | Configuration parameters specific to the source type |
List Knowledge Bases
Retrieve all knowledge bases for an organization.GET /api/kb/list
Query Parameters:
Parameter | Required | Description |
---|---|---|
org_id | Yes | Organization ID |
Get Knowledge Base Details
Retrieve detailed information about a specific knowledge base.GET /api/kb/get
Query Parameters:
Parameter | Required | Description |
---|---|---|
kb_id | Yes | Knowledge Base ID |
Update Knowledge Base
Update an existing knowledge baseβs metadata.PUT /api/kb/update
Query Parameters:
Parameter | Required | Description |
---|---|---|
kb_id | Yes | Knowledge Base ID |
Field | Type | Required | Description |
---|---|---|---|
name | string | No | New name for the knowledge base |
description | string | No | New description |
Delete Knowledge Base
Delete a knowledge base and all its contents.DELETE /api/kb/delete
Query Parameters:
Parameter | Required | Description |
---|---|---|
kb_id | Yes | ID of the knowledge base to delete |
Document Management Endpoints
Add Source to Knowledge Base
Add a new document source to an existing knowledge base.POST /api/kb/add_source
Query Parameters:
Parameter | Required | Description |
---|---|---|
kb_id | Yes | Knowledge Base ID |
Field | Type | Required | Description |
---|---|---|---|
type | string | Yes | Source type (e.g., βs3β, βwebβ, βfileβ) |
config | object | Yes | Configuration parameters specific to the source type |
List Documents
List all documents in a knowledge base with pagination.GET /api/kb/list_documents
Query Parameters:
Parameter | Required | Description |
---|---|---|
kb_id | Yes | Knowledge Base ID |
page | No | Page number (default: 1) |
limit | No | Number of documents per page (default: 10) |
search | No | Optional search term to filter documents |
Delete Document
Delete a specific document from the knowledge base.DELETE /api/kb/delete_document
Query Parameters:
Parameter | Required | Description |
---|---|---|
kb_id | Yes | Knowledge Base ID |
document_id | Yes | Document ID to delete |
Query Endpoints
Search Knowledge Base
Perform a semantic search on the knowledge base.POST /api/kb/search
Query Parameters:
Parameter | Required | Description |
---|---|---|
kb_id | Yes | Knowledge Base ID |
Field | Type | Required | Description |
---|---|---|---|
query | string | Yes | Search query text |
limit | number | No | Maximum number of results to return (default: 5) |
filter | object | No | Metadata filters to apply to the search |
RAG Query
Perform a Retrieval-Augmented Generation (RAG) query on the knowledge base.POST /api/kb/query
Query Parameters:
Parameter | Required | Description |
---|---|---|
kb_id | Yes | Knowledge Base ID |
Field | Type | Required | Description |
---|---|---|---|
query | string | Yes | Query text |
model | string | Yes | LLM model to use (e.g., βgpt-4β, βclaude-3-opusβ) |
limit | number | No | Maximum number of context chunks to retrieve (default: 5) |
filter | object | No | Metadata filters to apply to the search |
params | object | No | Additional parameters for the LLM |
Field | Type | Description |
---|---|---|
temperature | number | Sampling temperature (0-1) |
include_sources | boolean | Whether to include source references in the response |
system_prompt | string | Custom system prompt to use with the LLM |
Status and Monitoring Endpoints
Get Ingestion Status
Check the status of document ingestion for a knowledge base.GET /api/kb/ingestion_status
Query Parameters:
Parameter | Required | Description |
---|---|---|
kb_id | Yes | Knowledge Base ID |
Error Responses
Status Code | Description |
---|---|
400 | Bad Request - Invalid input or validation error |
401 | Unauthorized - Invalid or missing token |
403 | Forbidden - Insufficient permissions |
404 | Not Found - Resource doesnβt exist |
409 | Conflict - Resource already exists or conflict with existing resource |
500 | Internal Server Error - Server-side error |
Implementation Notes
- Knowledge bases support multiple document sources (S3, web URLs, file uploads)
- Documents are chunked and embedded for semantic search capability
- RAG queries combine semantic search with LLM generation for context-aware responses
- Metadata filters can be used to narrow search results
- Document ingestion runs as a background process and can be monitored
- Embeddings are stored in a vector database (PGVector) for efficient similarity search