Skip to main content
POST
/
organization
/
rag
/
sources
/
retrain
Retrain multiple URL sources
curl --request POST \
  --url https://api.getfernand.com/organization/rag/sources/retrain \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "uuids": [
    "a1b2c3d4e5f6g7h8i9j0",
    "b2c3d4e5f6g7h8i9j0k1"
  ]
}
'
import requests

url = "https://api.getfernand.com/organization/rag/sources/retrain"

payload = { "uuids": ["a1b2c3d4e5f6g7h8i9j0", "b2c3d4e5f6g7h8i9j0k1"] }
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({uuids: ['a1b2c3d4e5f6g7h8i9j0', 'b2c3d4e5f6g7h8i9j0k1']})
};

fetch('https://api.getfernand.com/organization/rag/sources/retrain', 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.getfernand.com/organization/rag/sources/retrain",
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([
'uuids' => [
'a1b2c3d4e5f6g7h8i9j0',
'b2c3d4e5f6g7h8i9j0k1'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
require 'uri'
require 'net/http'

url = URI("https://api.getfernand.com/organization/rag/sources/retrain")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"uuids\": [\n \"a1b2c3d4e5f6g7h8i9j0\",\n \"b2c3d4e5f6g7h8i9j0k1\"\n ]\n}"

response = http.request(request)
puts response.read_body
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.getfernand.com/organization/rag/sources/retrain"

payload := strings.NewReader("{\n \"uuids\": [\n \"a1b2c3d4e5f6g7h8i9j0\",\n \"b2c3d4e5f6g7h8i9j0k1\"\n ]\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("X-API-Key", "<api-key>")
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))

}
using RestSharp;


var options = new RestClientOptions("https://api.getfernand.com/organization/rag/sources/retrain");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("X-API-Key", "<api-key>");
request.AddJsonBody("{\n \"uuids\": [\n \"a1b2c3d4e5f6g7h8i9j0\",\n \"b2c3d4e5f6g7h8i9j0k1\"\n ]\n}", false);
var response = await client.PostAsync(request);

Console.WriteLine("{0}", response.Content);
HttpResponse<String> response = Unirest.post("https://api.getfernand.com/organization/rag/sources/retrain")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"uuids\": [\n \"a1b2c3d4e5f6g7h8i9j0\",\n \"b2c3d4e5f6g7h8i9j0k1\"\n ]\n}")
.asString();
{}
Refreshes multiple URL sources by re-fetching their content. Only processes URL sources that haven’t been updated in the last 5 minutes to prevent rapid retries. Useful for updating stale content.

Authorizations

X-API-Key
string
header
required

Authenticate your account by including your secret key in API requests. You can manage your API keys in the Dashboard.

Authentication to the API is performed by using the HTTP Header X-API-Key.

Body

application/json
uuids
string[]
required

Array of source UUIDs to retrain.

Example:
[
"a1b2c3d4e5f6g7h8i9j0",
"b2c3d4e5f6g7h8i9j0k1"
]

Response

202 - application/json

Sources queued for retraining.

The response is of type object.