Update document
curl --request PUT \
--url https://app.autocalls.ai/api/user/knowledgebases/{knowledgebaseId}/documents/{documentId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>"
}
'import requests
url = "https://app.autocalls.ai/api/user/knowledgebases/{knowledgebaseId}/documents/{documentId}"
payload = {
"name": "<string>",
"description": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', description: '<string>'})
};
fetch('https://app.autocalls.ai/api/user/knowledgebases/{knowledgebaseId}/documents/{documentId}', 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/{knowledgebaseId}/documents/{documentId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
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/{knowledgebaseId}/documents/{documentId}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://app.autocalls.ai/api/user/knowledgebases/{knowledgebaseId}/documents/{documentId}")
.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/{knowledgebaseId}/documents/{documentId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.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": "Document updated successfully.",
"data": {
"id": 1,
"name": "Updated Product Manual",
"description": "Revised user guide with new features",
"type": "pdf",
"type_label": "PDF",
"status": "active",
"status_label": "Active",
"updated_at": "2025-01-08T15:45:00.000000Z"
}
}
{
"error": "Knowledgebase not found."
}
{
"error": "Document not found."
}
{
"message": "The name may not be greater than 255 characters.",
"errors": {
"name": [
"The name may not be greater than 255 characters."
]
}
}
Knowledgebases
Update document
Update a document’s name or description
PUT
/
user
/
knowledgebases
/
{knowledgebaseId}
/
documents
/
{documentId}
Update document
curl --request PUT \
--url https://app.autocalls.ai/api/user/knowledgebases/{knowledgebaseId}/documents/{documentId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>"
}
'import requests
url = "https://app.autocalls.ai/api/user/knowledgebases/{knowledgebaseId}/documents/{documentId}"
payload = {
"name": "<string>",
"description": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', description: '<string>'})
};
fetch('https://app.autocalls.ai/api/user/knowledgebases/{knowledgebaseId}/documents/{documentId}', 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/{knowledgebaseId}/documents/{documentId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
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/{knowledgebaseId}/documents/{documentId}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", 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.put("https://app.autocalls.ai/api/user/knowledgebases/{knowledgebaseId}/documents/{documentId}")
.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/{knowledgebaseId}/documents/{documentId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.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": "Document updated successfully.",
"data": {
"id": 1,
"name": "Updated Product Manual",
"description": "Revised user guide with new features",
"type": "pdf",
"type_label": "PDF",
"status": "active",
"status_label": "Active",
"updated_at": "2025-01-08T15:45:00.000000Z"
}
}
{
"error": "Knowledgebase not found."
}
{
"error": "Document not found."
}
{
"message": "The name may not be greater than 255 characters.",
"errors": {
"name": [
"The name may not be greater than 255 characters."
]
}
}
This endpoint updates the metadata of an existing document. You can only update the name and description - the document type and content cannot be changed.
Path Parameters
The unique identifier of the knowledgebase
The unique identifier of the document to update
Request Body
The new name for the document (max 255 characters)
The new description for the document (max 255 characters)
Response
Success message
The updated document object
Show data properties
Show data properties
The unique identifier of the document
The name of the document
Description of the document
Document type
Human-readable type label
Processing status
Human-readable status label
ISO 8601 timestamp of last update
{
"message": "Document updated successfully.",
"data": {
"id": 1,
"name": "Updated Product Manual",
"description": "Revised user guide with new features",
"type": "pdf",
"type_label": "PDF",
"status": "active",
"status_label": "Active",
"updated_at": "2025-01-08T15:45:00.000000Z"
}
}
{
"error": "Knowledgebase not found."
}
{
"error": "Document not found."
}
{
"message": "The name may not be greater than 255 characters.",
"errors": {
"name": [
"The name may not be greater than 255 characters."
]
}
}
To update the content of a document, you need to delete the existing document and create a new one with the updated content.
⌘I

