Skip to main content
DELETE
/
user
/
knowledgebases
/
{knowledgebaseId}
/
documents
/
{documentId}
Delete document
curl --request DELETE \
  --url https://app.autocalls.ai/api/user/knowledgebases/{knowledgebaseId}/documents/{documentId} \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://app.autocalls.ai/api/user/knowledgebases/{knowledgebaseId}/documents/{documentId}"

headers = {"Authorization": "Bearer <token>"}

response = requests.delete(url, headers=headers)

print(response.text)
const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};

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 => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$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://app.autocalls.ai/api/user/knowledgebases/{knowledgebaseId}/documents/{documentId}"

req, _ := http.NewRequest("DELETE", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.delete("https://app.autocalls.ai/api/user/knowledgebases/{knowledgebaseId}/documents/{documentId}")
.header("Authorization", "Bearer <token>")
.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::Delete.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "message": "Document deleted successfully."
}
{
  "error": "Knowledgebase not found."
}
{
  "error": "Document not found."
}
{
  "error": "Failed to delete document. Please try again."
}
This endpoint permanently deletes a document from a knowledgebase. The document’s vector embeddings are also removed from the vector database.

Path Parameters

knowledgebaseId
integer
required
The unique identifier of the knowledgebase
documentId
integer
required
The unique identifier of the document to delete

Response

message
string
Success message
{
  "message": "Document deleted successfully."
}
{
  "error": "Knowledgebase not found."
}
{
  "error": "Document not found."
}
{
  "error": "Failed to delete document. Please try again."
}

What Gets Deleted

When you delete a document:
  • Document record is removed from the database
  • Vector embeddings are deleted from the vector database
  • Processed content is removed from external document stores
  • Parent knowledgebase status is updated automatically
This action is irreversible. The document and all its processed content will be permanently deleted.
If this was the last document in the knowledgebase, the knowledgebase status will change to empty.