curl --request POST \
--url https://api.getoneprofile.ai/ai-context/qa/ \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"answer": "<string>",
"question": "<string>"
}
'import requests
url = "https://api.getoneprofile.ai/ai-context/qa/"
payload = {
"answer": "<string>",
"question": "<string>"
}
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({answer: '<string>', question: '<string>'})
};
fetch('https://api.getoneprofile.ai/ai-context/qa/', 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.getoneprofile.ai/ai-context/qa/",
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([
'answer' => '<string>',
'question' => '<string>'
]),
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;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.getoneprofile.ai/ai-context/qa/"
payload := strings.NewReader("{\n \"answer\": \"<string>\",\n \"question\": \"<string>\"\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))
}HttpResponse<String> response = Unirest.post("https://api.getoneprofile.ai/ai-context/qa/")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"answer\": \"<string>\",\n \"question\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/ai-context/qa/")
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 \"answer\": \"<string>\",\n \"question\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"answer": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"created_by_user_id": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"previous_answer": "<string>",
"question": "<string>",
"source_thread_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"updated_at": "2023-11-07T05:31:56Z",
"updated_by_user_id": "<string>",
"via": "person",
"in_prompt": true
}{
"detail": "<string>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Add an answer to the Q&A
Answer a question once for every reply the agents write. A question the Q&A already answers, whatever its case or closing punctuation, is the same question: the same answer again only rewords it, and a different answer changes it, which only a workspace admin can do (never with an API key).
curl --request POST \
--url https://api.getoneprofile.ai/ai-context/qa/ \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"answer": "<string>",
"question": "<string>"
}
'import requests
url = "https://api.getoneprofile.ai/ai-context/qa/"
payload = {
"answer": "<string>",
"question": "<string>"
}
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({answer: '<string>', question: '<string>'})
};
fetch('https://api.getoneprofile.ai/ai-context/qa/', 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.getoneprofile.ai/ai-context/qa/",
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([
'answer' => '<string>',
'question' => '<string>'
]),
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;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.getoneprofile.ai/ai-context/qa/"
payload := strings.NewReader("{\n \"answer\": \"<string>\",\n \"question\": \"<string>\"\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))
}HttpResponse<String> response = Unirest.post("https://api.getoneprofile.ai/ai-context/qa/")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"answer\": \"<string>\",\n \"question\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/ai-context/qa/")
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 \"answer\": \"<string>\",\n \"question\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"answer": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"created_by_user_id": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"previous_answer": "<string>",
"question": "<string>",
"source_thread_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"updated_at": "2023-11-07T05:31:56Z",
"updated_by_user_id": "<string>",
"via": "person",
"in_prompt": true
}{
"detail": "<string>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Authorizations
Body
Request body for adding an answer to the Q&A.
Response
Successful Response
One question the workspace answered once, which every reply the agents write reads.
The answer the agents state when a reply asks it.
Who first wrote it, or null for an API key.
The answer this one replaced, or null when it was never changed.
The question, as last worded.
The inbox conversation whose question it answered, or null when it was written on the Q&A list or that conversation was deleted.
Who wrote the answer as it stands, or null for an API key.
How the answer as it stands was written: person on the dashboard, assistant by the AI Assistant or an MCP client for a person, api by an API key.
person, assistant, api Whether the agents read this answer: the newest answers that fit max_qa_context_chars (GET /ai-context/) do. Computed on the list; a single entry reports true.
Was this page helpful?