Skip to main content
POST
/
api
/
knowledge-bases
/
create-knowledge-base
curl -X POST "https://api.zudu.ai/api/knowledge-bases/create-knowledge-base" \
  -H "X-API-KEY: sk_Abc123Def456..." \
  -H "X-API-SECRET: s3cr3t_Xyz789..." \
  -F "knowledge_base_name=Product Documentation" \
  -F 'knowledge_base_texts=[{"text":"Product overview and features","title":"Overview"}]' \
  -F 'knowledge_base_urls=["https://example.com/docs"]' \
  -F "knowledge_base_files=@document.pdf" \
  -F "enable_auto_refresh=true"
{
  "message": "Knowledge base created successfully",
  "status": "success",
  "error": null,
  "data": {
    "knowledge_base_id": "kb_abc123def456...",
    "organization_id": "org_1234567890",
    "knowledge_base_name": "Product Documentation",
    "status": "DRAFT",
    "enable_auto_refresh": true,
    "created_at": "2024-01-15T10:30:00Z",
    "updated_at": "2024-01-15T10:30:00Z",
    "knowledge_base_sources": []
  }
Create a new knowledge base with initial sources. Supports text content, URLs, and file uploads. Files are stored in Azure Blob Storage.
curl -X POST "https://api.zudu.ai/api/knowledge-bases/create-knowledge-base" \
  -H "X-API-KEY: sk_Abc123Def456..." \
  -H "X-API-SECRET: s3cr3t_Xyz789..." \
  -F "knowledge_base_name=Product Documentation" \
  -F 'knowledge_base_texts=[{"text":"Product overview and features","title":"Overview"}]' \
  -F 'knowledge_base_urls=["https://example.com/docs"]' \
  -F "knowledge_base_files=@document.pdf" \
  -F "enable_auto_refresh=true"
{
  "message": "Knowledge base created successfully",
  "status": "success",
  "error": null,
  "data": {
    "knowledge_base_id": "kb_abc123def456...",
    "organization_id": "org_1234567890",
    "knowledge_base_name": "Product Documentation",
    "status": "DRAFT",
    "enable_auto_refresh": true,
    "created_at": "2024-01-15T10:30:00Z",
    "updated_at": "2024-01-15T10:30:00Z",
    "knowledge_base_sources": []
  }

Headers

X-API-KEY
string
required
Your API key (format: sk_...)
X-API-SECRET
string
required
Your API secret (format: s3cr3t_...)

Form Parameters

Response Fields

knowledge_base_id
string
Unique identifier for the knowledge base (format: kb_...)
organization_id
string
Organization ID the knowledge base belongs to
knowledge_base_name
string
Name of the knowledge base
status
string
Current status of the knowledge base
  • DRAFT - Knowledge base is being created
  • ACTIVE - Knowledge base is active and ready to use
  • PROCESSING - Knowledge base is being processed
enable_auto_refresh
boolean
Whether auto-refresh is enabled for URL sources
created_at
string
ISO 8601 timestamp when knowledge base was created
updated_at
string
ISO 8601 timestamp of last update
knowledge_base_sources
array
Array of sources added to the knowledge base

Error Responses

error
string
Bad Request - Validation error
{
  "message": "Validation error",
  "status": "error",
  "error": "Knowledge base name is required"
}
error
string
Unauthorized - Missing or invalid API key/secret
error
string
Payload Too Large - File size exceeds limit
{
  "message": "File too large",
  "status": "error",
  "error": "File size exceeds 50MB limit"
}
error
string
Internal Server Error - Failed to create knowledge base
{
  "message": "Failed to create knowledge base",
  "status": "error",
  "error": "Storage service unavailable"
}

Notes

  • At least one source type (texts, URLs, or files) should be provided
  • Files are stored in Azure Blob Storage under knowledge-bases/{kb_id}/sources/{source_id}/
  • URL sources are automatically scraped and processed
  • Text sources are immediately available for search
  • File processing may take some time depending on file size
  • The knowledge base status will update as sources are processed
  • JSON parameters (knowledge_base_texts, knowledge_base_urls) must be passed as strings in form data