List knowledge bases
curl --request GET \
--url https://api.zudu.ai/api/knowledge-bases/list-knowledge-bases \
--header 'X-API-KEY: <api-key>' \
--header 'X-API-SECRET: <api-key>'import requests
url = "https://api.zudu.ai/api/knowledge-bases/list-knowledge-bases"
headers = {
"X-API-KEY": "<api-key>",
"X-API-SECRET": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'X-API-KEY': '<api-key>', 'X-API-SECRET': '<api-key>'}
};
fetch('https://api.zudu.ai/api/knowledge-bases/list-knowledge-bases', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.zudu.ai/api/knowledge-bases/list-knowledge-bases",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>",
"X-API-SECRET: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.zudu.ai/api/knowledge-bases/list-knowledge-bases"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("X-API-SECRET", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.zudu.ai/api/knowledge-bases/list-knowledge-bases")
.header("X-API-KEY", "<api-key>")
.header("X-API-SECRET", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zudu.ai/api/knowledge-bases/list-knowledge-bases")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
request["X-API-SECRET"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"message": "Knowledge bases retrieved successfully",
"status": "success",
"error": null,
"data": {
"organization_id": "your-org-id",
"knowledge_bases": [
{
"knowledge_base_id": "knowledge_base_abc123",
"knowledge_base_name": "Customer Support KB",
"status": "ready",
"enable_auto_refresh": true,
"last_refreshed_timestamp": 1704067200000,
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
],
"returned_count": 1,
"pagination": {
"page": 0,
"limit": 10,
"total_pages": 1,
"total_count": 1,
"has_next": false,
"has_previous": false
},
"sort_order": "descending",
"sort_by": "updated_at",
"applied_filters": {
"name": "Customer"
}
}
}{
"message": "Validation error",
"status": "error",
"error": "Knowledge base name is required",
"data": null
}{
"message": "Failed to create knowledge base",
"status": "error",
"error": "Azure Storage connection failed",
"data": null
}Knowledge Base
List knowledge bases
Lists knowledge bases (current behavior).
GET
/
api
/
knowledge-bases
/
list-knowledge-bases
List knowledge bases
curl --request GET \
--url https://api.zudu.ai/api/knowledge-bases/list-knowledge-bases \
--header 'X-API-KEY: <api-key>' \
--header 'X-API-SECRET: <api-key>'import requests
url = "https://api.zudu.ai/api/knowledge-bases/list-knowledge-bases"
headers = {
"X-API-KEY": "<api-key>",
"X-API-SECRET": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'X-API-KEY': '<api-key>', 'X-API-SECRET': '<api-key>'}
};
fetch('https://api.zudu.ai/api/knowledge-bases/list-knowledge-bases', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.zudu.ai/api/knowledge-bases/list-knowledge-bases",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>",
"X-API-SECRET: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.zudu.ai/api/knowledge-bases/list-knowledge-bases"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("X-API-SECRET", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.zudu.ai/api/knowledge-bases/list-knowledge-bases")
.header("X-API-KEY", "<api-key>")
.header("X-API-SECRET", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zudu.ai/api/knowledge-bases/list-knowledge-bases")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
request["X-API-SECRET"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"message": "Knowledge bases retrieved successfully",
"status": "success",
"error": null,
"data": {
"organization_id": "your-org-id",
"knowledge_bases": [
{
"knowledge_base_id": "knowledge_base_abc123",
"knowledge_base_name": "Customer Support KB",
"status": "ready",
"enable_auto_refresh": true,
"last_refreshed_timestamp": 1704067200000,
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-01T00:00:00Z"
}
],
"returned_count": 1,
"pagination": {
"page": 0,
"limit": 10,
"total_pages": 1,
"total_count": 1,
"has_next": false,
"has_previous": false
},
"sort_order": "descending",
"sort_by": "updated_at",
"applied_filters": {
"name": "Customer"
}
}
}{
"message": "Validation error",
"status": "error",
"error": "Knowledge base name is required",
"data": null
}{
"message": "Failed to create knowledge base",
"status": "error",
"error": "Azure Storage connection failed",
"data": null
}Notes
- Lists knowledge bases with filtering and pagination
Authorizations
API Key for MCP server and external service authentication
API Secret for MCP server and external service authentication
Query Parameters
Number of results per page
Example:
10
Page number (0-based)
Example:
0
Sort direction: ascending or descending
Example:
"descending"
Sort field: updated_at, created_at, knowledge_base_name, status
Example:
"updated_at"
Filter by knowledge base name
Example:
"Customer"
⌘I