curl --request PUT \
--url https://prod-api.raisedonors.com/api/org-knowledge/{id} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "<string>",
"description": "<string>",
"content": "<string>",
"blobPath": "<string>",
"sourceUrl": "<string>"
}
'const options = {
method: 'PUT',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
description: '<string>',
content: '<string>',
blobPath: '<string>',
sourceUrl: '<string>'
})
};
fetch('https://prod-api.raisedonors.com/api/org-knowledge/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://prod-api.raisedonors.com/api/org-knowledge/{id}"
payload = {
"title": "<string>",
"description": "<string>",
"content": "<string>",
"blobPath": "<string>",
"sourceUrl": "<string>"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)using RestSharp;
var options = new RestClientOptions("https://prod-api.raisedonors.com/api/org-knowledge/{id}");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "<api-key>");
request.AddJsonBody("{\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"content\": \"<string>\",\n \"blobPath\": \"<string>\",\n \"sourceUrl\": \"<string>\"\n}", false);
var response = await client.PutAsync(request);
Console.WriteLine("{0}", response.Content);
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://prod-api.raisedonors.com/api/org-knowledge/{id}",
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([
'title' => '<string>',
'description' => '<string>',
'content' => '<string>',
'blobPath' => '<string>',
'sourceUrl' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.put("https://prod-api.raisedonors.com/api/org-knowledge/{id}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"content\": \"<string>\",\n \"blobPath\": \"<string>\",\n \"sourceUrl\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod-api.raisedonors.com/api/org-knowledge/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"content\": \"<string>\",\n \"blobPath\": \"<string>\",\n \"sourceUrl\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyconst url = 'https://prod-api.raisedonors.com/api/org-knowledge/{id}';
const options = {
method: 'PUT',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
description: '<string>',
content: '<string>',
blobPath: '<string>',
sourceUrl: '<string>'
})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));{
"id": 1120,
"title": "Gift Acceptance Policy",
"description": "How Riverside Hope handles restricted, in-kind, and anonymous gifts.",
"content": null,
"blobPath": "org-knowledge/50/gift-acceptance-policy.pdf",
"sourceUrl": "https://www.riversidehope.example.org/about/gift-acceptance-policy",
"lastIndexedUtc": "2025-11-14T22:10:04Z",
"indexError": null,
"isActive": true,
"createdDateTimeUtc": "2025-09-20T18:02:44Z",
"modifiedDateTimeUtc": "2025-11-14T22:10:04Z"
}{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"errors": {
"title": [
"The title field is required."
]
},
"instance": "/api/org-knowledge/1120"
}{
"type": "https://tools.ietf.org/html/rfc7235#section-3.1",
"title": "Unauthorized",
"status": 401,
"detail": "The Authorization header is missing, malformed, or carries a token that is expired or revoked.",
"instance": "/api/org-knowledge/{id}"
}Update a Knowledge Source
Updates a knowledge source.
curl --request PUT \
--url https://prod-api.raisedonors.com/api/org-knowledge/{id} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "<string>",
"description": "<string>",
"content": "<string>",
"blobPath": "<string>",
"sourceUrl": "<string>"
}
'const options = {
method: 'PUT',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
description: '<string>',
content: '<string>',
blobPath: '<string>',
sourceUrl: '<string>'
})
};
fetch('https://prod-api.raisedonors.com/api/org-knowledge/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://prod-api.raisedonors.com/api/org-knowledge/{id}"
payload = {
"title": "<string>",
"description": "<string>",
"content": "<string>",
"blobPath": "<string>",
"sourceUrl": "<string>"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)using RestSharp;
var options = new RestClientOptions("https://prod-api.raisedonors.com/api/org-knowledge/{id}");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "<api-key>");
request.AddJsonBody("{\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"content\": \"<string>\",\n \"blobPath\": \"<string>\",\n \"sourceUrl\": \"<string>\"\n}", false);
var response = await client.PutAsync(request);
Console.WriteLine("{0}", response.Content);
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://prod-api.raisedonors.com/api/org-knowledge/{id}",
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([
'title' => '<string>',
'description' => '<string>',
'content' => '<string>',
'blobPath' => '<string>',
'sourceUrl' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.put("https://prod-api.raisedonors.com/api/org-knowledge/{id}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"content\": \"<string>\",\n \"blobPath\": \"<string>\",\n \"sourceUrl\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod-api.raisedonors.com/api/org-knowledge/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"content\": \"<string>\",\n \"blobPath\": \"<string>\",\n \"sourceUrl\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyconst url = 'https://prod-api.raisedonors.com/api/org-knowledge/{id}';
const options = {
method: 'PUT',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
description: '<string>',
content: '<string>',
blobPath: '<string>',
sourceUrl: '<string>'
})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));{
"id": 1120,
"title": "Gift Acceptance Policy",
"description": "How Riverside Hope handles restricted, in-kind, and anonymous gifts.",
"content": null,
"blobPath": "org-knowledge/50/gift-acceptance-policy.pdf",
"sourceUrl": "https://www.riversidehope.example.org/about/gift-acceptance-policy",
"lastIndexedUtc": "2025-11-14T22:10:04Z",
"indexError": null,
"isActive": true,
"createdDateTimeUtc": "2025-09-20T18:02:44Z",
"modifiedDateTimeUtc": "2025-11-14T22:10:04Z"
}{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"errors": {
"title": [
"The title field is required."
]
},
"instance": "/api/org-knowledge/1120"
}{
"type": "https://tools.ietf.org/html/rfc7235#section-3.1",
"title": "Unauthorized",
"status": 401,
"detail": "The Authorization header is missing, malformed, or carries a token that is expired or revoked.",
"instance": "/api/org-knowledge/{id}"
}title, description, or the content, sourceUrl, or blobPath it points at.
indexStatus on the response.Authorizations
JWT Authorization header using the Bearer scheme. Example: "Authorization: Bearer {token}"
Path Parameters
The ID of the knowledge source.
Body
The knowledge source details to save.
Request model for creating or updating a knowledge source.
The title of the knowledge source.
The description of what the knowledge source covers.
Where the content comes from: text you send, an uploaded file, or a URL.
0, 1, 2, 3, 4, 5 The text of the knowledge source, when the content is sent inline.
The path returned by Upload a Knowledge Source File, when the content comes from a file.
The URL to index, when the content comes from a website.
Response
OK
Response model for a knowledge source.
The unique identifier of the knowledge source.
The title of the knowledge source.
The description of what the knowledge source covers.
Where the content comes from: text you send, an uploaded file, or a URL.
0, 1, 2, 3, 4, 5 The text of the knowledge source, when the content is sent inline.
The path returned by Upload a Knowledge Source File, when the content comes from a file.
The URL to index, when the content comes from a website.
How far along indexing the source is, such as Pending, Indexed, or Failed.
0, 1, 2 The UTC date and time the source was last indexed.
The reason indexing failed, when indexStatus is a failure.
Whether the knowledge source is active and used for generation.
The UTC date and time the knowledge source was created.
The UTC date and time the knowledge source was last modified.
Was this page helpful?