Skip to main content
POST
/
organization
/
rag
/
sources
/
questions
Add Q&A to the AI store
curl --request POST \
  --url https://api.getfernand.com/organization/rag/sources/questions \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data @- <<EOF
{
  "questions": [
    "How do I reset my password?",
    "What's the process for password recovery?"
  ],
  "answer": "To reset your password, click on the \"Forgot Password\" link on the login page..."
}
EOF
import requests

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

payload = {
"questions": ["How do I reset my password?", "What's the process for password recovery?"],
"answer": "To reset your password, click on the \"Forgot Password\" link on the login page..."
}
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({
questions: ['How do I reset my password?', 'What\'s the process for password recovery?'],
answer: 'To reset your password, click on the "Forgot Password" link on the login page...'
})
};

fetch('https://api.getfernand.com/organization/rag/sources/questions', 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/questions",
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([
'questions' => [
'How do I reset my password?',
'What\'s the process for password recovery?'
],
'answer' => 'To reset your password, click on the "Forgot Password" link on the login page...'
]),
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/questions")

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 \"questions\": [\n \"How do I reset my password?\",\n \"What's the process for password recovery?\"\n ],\n \"answer\": \"To reset your password, click on the \\\"Forgot Password\\\" link on the login page...\"\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/questions"

payload := strings.NewReader("{\n \"questions\": [\n \"How do I reset my password?\",\n \"What's the process for password recovery?\"\n ],\n \"answer\": \"To reset your password, click on the \\\"Forgot Password\\\" link on the login page...\"\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/questions");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("X-API-Key", "<api-key>");
request.AddJsonBody("{\n \"questions\": [\n \"How do I reset my password?\",\n \"What's the process for password recovery?\"\n ],\n \"answer\": \"To reset your password, click on the \\\"Forgot Password\\\" link on the login page...\"\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/questions")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"questions\": [\n \"How do I reset my password?\",\n \"What's the process for password recovery?\"\n ],\n \"answer\": \"To reset your password, click on the \\\"Forgot Password\\\" link on the login page...\"\n}")
.asString();
{}
{
"error": "<string>"
}
Creates a new question-answer pair in the AI store. Multiple question variations can be provided for the same answer to improve matching. The content is formatted and stored for AI retrieval.

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
questions
string[]
required

Array of question variations (max 250 chars each).

Maximum string length: 250
Example:
[
"How do I reset my password?",
"What's the process for password recovery?"
]
answer
string
required

Answer to the questions.

Maximum string length: 5000
Example:

"To reset your password, click on the \"Forgot Password\" link on the login page..."

Response

Q&A source queued for processing.

The response is of type object.