Update Knowledge
curl --request POST \
--url https://api.velt.dev/v2/memory/knowledge/update \
--header 'Content-Type: application/json' \
--header 'x-velt-api-key: <x-velt-api-key>' \
--header 'x-velt-auth-token: <x-velt-auth-token>' \
--data '
{
"data": {
"sourceId": "<string>",
"newContent": "<string>"
}
}
'import requests
url = "https://api.velt.dev/v2/memory/knowledge/update"
payload = { "data": {
"sourceId": "<string>",
"newContent": "<string>"
} }
headers = {
"x-velt-api-key": "<x-velt-api-key>",
"x-velt-auth-token": "<x-velt-auth-token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-velt-api-key': '<x-velt-api-key>',
'x-velt-auth-token': '<x-velt-auth-token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({data: {sourceId: '<string>', newContent: '<string>'}})
};
fetch('https://api.velt.dev/v2/memory/knowledge/update', 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://api.velt.dev/v2/memory/knowledge/update",
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([
'data' => [
'sourceId' => '<string>',
'newContent' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-velt-api-key: <x-velt-api-key>",
"x-velt-auth-token: <x-velt-auth-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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.velt.dev/v2/memory/knowledge/update"
payload := strings.NewReader("{\n \"data\": {\n \"sourceId\": \"<string>\",\n \"newContent\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-velt-api-key", "<x-velt-api-key>")
req.Header.Add("x-velt-auth-token", "<x-velt-auth-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://api.velt.dev/v2/memory/knowledge/update")
.header("x-velt-api-key", "<x-velt-api-key>")
.header("x-velt-auth-token", "<x-velt-auth-token>")
.header("Content-Type", "application/json")
.body("{\n \"data\": {\n \"sourceId\": \"<string>\",\n \"newContent\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.velt.dev/v2/memory/knowledge/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-velt-api-key"] = '<x-velt-api-key>'
request["x-velt-auth-token"] = '<x-velt-auth-token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": {\n \"sourceId\": \"<string>\",\n \"newContent\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"result": {
"diff": {
"added": ["..."],
"removed": ["..."],
"unchanged": 12
},
"newVersion": 2
}
}
Knowledge
Update Knowledge
POST
/
v2
/
memory
/
knowledge
/
update
Update Knowledge
curl --request POST \
--url https://api.velt.dev/v2/memory/knowledge/update \
--header 'Content-Type: application/json' \
--header 'x-velt-api-key: <x-velt-api-key>' \
--header 'x-velt-auth-token: <x-velt-auth-token>' \
--data '
{
"data": {
"sourceId": "<string>",
"newContent": "<string>"
}
}
'import requests
url = "https://api.velt.dev/v2/memory/knowledge/update"
payload = { "data": {
"sourceId": "<string>",
"newContent": "<string>"
} }
headers = {
"x-velt-api-key": "<x-velt-api-key>",
"x-velt-auth-token": "<x-velt-auth-token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-velt-api-key': '<x-velt-api-key>',
'x-velt-auth-token': '<x-velt-auth-token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({data: {sourceId: '<string>', newContent: '<string>'}})
};
fetch('https://api.velt.dev/v2/memory/knowledge/update', 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://api.velt.dev/v2/memory/knowledge/update",
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([
'data' => [
'sourceId' => '<string>',
'newContent' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-velt-api-key: <x-velt-api-key>",
"x-velt-auth-token: <x-velt-auth-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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.velt.dev/v2/memory/knowledge/update"
payload := strings.NewReader("{\n \"data\": {\n \"sourceId\": \"<string>\",\n \"newContent\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-velt-api-key", "<x-velt-api-key>")
req.Header.Add("x-velt-auth-token", "<x-velt-auth-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://api.velt.dev/v2/memory/knowledge/update")
.header("x-velt-api-key", "<x-velt-api-key>")
.header("x-velt-auth-token", "<x-velt-auth-token>")
.header("Content-Type", "application/json")
.body("{\n \"data\": {\n \"sourceId\": \"<string>\",\n \"newContent\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.velt.dev/v2/memory/knowledge/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-velt-api-key"] = '<x-velt-api-key>'
request["x-velt-auth-token"] = '<x-velt-auth-token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": {\n \"sourceId\": \"<string>\",\n \"newContent\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"result": {
"diff": {
"added": ["..."],
"removed": ["..."],
"unchanged": 12
},
"newVersion": 2
}
}
Use this API to replace a rule-based knowledge source’s content. Velt converts the new content, re-extracts its rules, re-embeds them, and bumps the source’s version. Knowledge chunks are not re-chunked.
This API applies only to rule-based sources. Velt classifies every source when you ingest it: a source is rule-based when enough of its lines read like rules, meaning bullets, numbered items, or checkboxes that also carry directive wording such as
must, never, or ensure. Checklists and guideline documents qualify; prose documents do not, whatever their file type. Calling this API for a source that is not rule-based returns FAILED_PRECONDITION with the message Version diff is only supported for rule-based knowledge sources.Endpoint
POST https://api.velt.dev/v2/memory/knowledge/update
Headers
string
required
Your API key.
string
required
Your Auth Token.
Body
Params
object
required
Example Requests
Replace a source’s content
{
"data": {
"sourceId": "src_9a8...",
"newContent": "# Brand Guidelines v2\n\n- Always cite medical claims..."
}
}
Response
The response reports a diff of extracted rules (added, removed, unchanged) and the new version number.
Success Response
{
"result": {
"diff": {
"added": ["..."],
"removed": ["..."],
"unchanged": 12
},
"newVersion": 2
}
}
Failure Response
The endpoint returnsNOT_FOUND for an unknown sourceId, FAILED_PRECONDITION when the source is not rule-based, and INVALID_ARGUMENT when sourceId or newContent is missing or empty.
{
"error": {
"message": "ERROR_MESSAGE",
"status": "INVALID_ARGUMENT"
}
}
{
"result": {
"diff": {
"added": ["..."],
"removed": ["..."],
"unchanged": 12
},
"newVersion": 2
}
}
Was this page helpful?

