Create knowledgebase
curl --request POST \
--url https://app.autocalls.ai/api/user/knowledgebases \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>"
}
'import requests
url = "https://app.autocalls.ai/api/user/knowledgebases"
payload = {
"name": "<string>",
"description": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', description: '<string>'})
};
fetch('https://app.autocalls.ai/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.autocalls.ai/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 => [
"Authorization: Bearer <token>",
"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.autocalls.ai/api/user/knowledgebases"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.autocalls.ai/api/user/knowledgebases")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.autocalls.ai/api/user/knowledgebases")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
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 knowledgebase
Create a new knowledgebase
POST
/
user
/
knowledgebases
Create knowledgebase
curl --request POST \
--url https://app.autocalls.ai/api/user/knowledgebases \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>"
}
'import requests
url = "https://app.autocalls.ai/api/user/knowledgebases"
payload = {
"name": "<string>",
"description": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', description: '<string>'})
};
fetch('https://app.autocalls.ai/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.autocalls.ai/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 => [
"Authorization: Bearer <token>",
"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.autocalls.ai/api/user/knowledgebases"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.autocalls.ai/api/user/knowledgebases")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.autocalls.ai/api/user/knowledgebases")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
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."
}
This endpoint creates a new knowledgebase. After creation, you can add documents to it using the create document endpoint.
Request Body
The name of the knowledgebase (max 255 characters)
Optional description of the knowledgebase (max 255 characters)
Response
Success message
The created knowledgebase object
Show data properties
Show data properties
The unique identifier of the knowledgebase
The name of the knowledgebase
Description of the knowledgebase
Current status (will be
empty for new knowledgebases)Human-readable status label
ISO 8601 timestamp of creation
ISO 8601 timestamp of last update
{
"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."
}
Next Steps
After creating a knowledgebase, you’ll want to:- Add documents - Use the create document endpoint to add content
- Wait for processing - Documents are processed asynchronously
- Attach to assistant - Use the update assistant endpoint to attach the knowledgebase
⌘I

