Create Knowledge Base
curl --request POST \
--url https://app.famulor.de/api/user/knowledgebases \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>"
}
'import requests
url = "https://app.famulor.de/api/user/knowledgebases"
payload = {
"name": "<string>",
"description": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', description: '<string>'})
};
fetch('https://app.famulor.de/api/user/knowledgebases', 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://app.famulor.de/api/user/knowledgebases",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.famulor.de/api/user/knowledgebases"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.famulor.de/api/user/knowledgebases")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.famulor.de/api/user/knowledgebases")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"message": "Knowledgebase created successfully.",
"data": {
"id": 1,
"name": "Product Documentation",
"description": "Technical documentation for our products",
"status": "empty",
"status_label": "Empty",
"created_at": "2025-01-08T10:30:00.000000Z",
"updated_at": "2025-01-08T10:30:00.000000Z"
}
}
{
"message": "The name field is required.",
"errors": {
"name": [
"The name field is required."
]
}
}
{
"error": "Failed to create knowledgebase. Please try again."
}
Knowledgebases
Create Knowledge Base
Create a new knowledge base in Famulor via API to power your AI voice assistants with company information, FAQs, product details and reference documents.
POST
/
api
/
user
/
knowledgebases
Create Knowledge Base
curl --request POST \
--url https://app.famulor.de/api/user/knowledgebases \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>"
}
'import requests
url = "https://app.famulor.de/api/user/knowledgebases"
payload = {
"name": "<string>",
"description": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', description: '<string>'})
};
fetch('https://app.famulor.de/api/user/knowledgebases', 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://app.famulor.de/api/user/knowledgebases",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.famulor.de/api/user/knowledgebases"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.famulor.de/api/user/knowledgebases")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.famulor.de/api/user/knowledgebases")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"message": "Knowledgebase created successfully.",
"data": {
"id": 1,
"name": "Product Documentation",
"description": "Technical documentation for our products",
"status": "empty",
"status_label": "Empty",
"created_at": "2025-01-08T10:30:00.000000Z",
"updated_at": "2025-01-08T10:30:00.000000Z"
}
}
{
"message": "The name field is required.",
"errors": {
"name": [
"The name field is required."
]
}
}
{
"error": "Failed to create knowledgebase. Please try again."
}
Famulor 1.0 API (legacy). This page applies only to Famulor 1.0 (
app.famulor.de) and is retained for legacy compatibility. For the current platform, use the Famulor 2.0 API reference.Request Body
string
required
The name of the knowledge base (max. 255 characters)
string
Optional description of the knowledge base (max. 255 characters)
Response Fields
string
Success message
object
The created knowledge base object
Show Data Properties
Show Data Properties
integer
The unique identifier of the knowledge base
string
The name of the knowledge base
string
Description of the knowledge base
string
Current status (will be
empty for new knowledge bases)string
Human-readable status label
string
ISO 8601 timestamp of creation
string
ISO 8601 timestamp of last update
Next Steps
After creating a knowledge base, you should:- Add documents - Use the Create Document endpoint to add content
- Wait for processing - Documents are processed asynchronously
- Attach to assistants - Use the Update Assistant endpoint to attach the knowledge base
{
"message": "Knowledgebase created successfully.",
"data": {
"id": 1,
"name": "Product Documentation",
"description": "Technical documentation for our products",
"status": "empty",
"status_label": "Empty",
"created_at": "2025-01-08T10:30:00.000000Z",
"updated_at": "2025-01-08T10:30:00.000000Z"
}
}
{
"message": "The name field is required.",
"errors": {
"name": [
"The name field is required."
]
}
}
{
"error": "Failed to create knowledgebase. Please try again."
}
⌘I