curl --request PATCH \
--url https://api.getoneprofile.ai/ai-context/qa/{entry_id}/ \
--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/{entry_id}/"
payload = {
"answer": "<string>",
"question": "<string>"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
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/{entry_id}/', 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/{entry_id}/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
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/{entry_id}/"
payload := strings.NewReader("{\n \"answer\": \"<string>\",\n \"question\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.getoneprofile.ai/ai-context/qa/{entry_id}/")
.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/{entry_id}/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.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>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Change a Q&A answer
Reword a Q&A question or change its answer; omitted fields are left untouched. The answer it replaces is kept as previous_answer. Only a workspace admin can, and never with an API key.
curl --request PATCH \
--url https://api.getoneprofile.ai/ai-context/qa/{entry_id}/ \
--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/{entry_id}/"
payload = {
"answer": "<string>",
"question": "<string>"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
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/{entry_id}/', 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/{entry_id}/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
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/{entry_id}/"
payload := strings.NewReader("{\n \"answer\": \"<string>\",\n \"question\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://api.getoneprofile.ai/ai-context/qa/{entry_id}/")
.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/{entry_id}/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.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>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Authorizations
Path Parameters
Body
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?