Update document
curl --request PUT \
--url https://app.heyfred.nl/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.heyfred.nl/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.heyfred.nl/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.heyfred.nl/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.heyfred.nl/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.heyfred.nl/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.heyfred.nl/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.heyfred.nl/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.heyfred.nl/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.heyfred.nl/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.heyfred.nl/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.heyfred.nl/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.heyfred.nl/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.heyfred.nl/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
integer
required
The unique identifier of the knowledgebase
integer
required
The unique identifier of the document to update
Request Body
string
The new name for the document (max 255 characters)
string
The new description for the document (max 255 characters)
Response
string
Success message
object
The updated document object
{
"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

