curl --request GET \
--url https://pria.praxislxp.com/api/ai/personal/turns/by-turn/{clientTurnId}/history/{historyId} \
--header 'x-access-token: <api-key>'import requests
url = "https://pria.praxislxp.com/api/ai/personal/turns/by-turn/{clientTurnId}/history/{historyId}"
headers = {"x-access-token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-access-token': '<api-key>'}};
fetch('https://pria.praxislxp.com/api/ai/personal/turns/by-turn/{clientTurnId}/history/{historyId}', 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://pria.praxislxp.com/api/ai/personal/turns/by-turn/{clientTurnId}/history/{historyId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-access-token: <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"
"net/http"
"io"
)
func main() {
url := "https://pria.praxislxp.com/api/ai/personal/turns/by-turn/{clientTurnId}/history/{historyId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-access-token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://pria.praxislxp.com/api/ai/personal/turns/by-turn/{clientTurnId}/history/{historyId}")
.header("x-access-token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://pria.praxislxp.com/api/ai/personal/turns/by-turn/{clientTurnId}/history/{historyId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-access-token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"legacyCompletion": {
"version": 1,
"historyId": "<string>",
"turnId": "<string>",
"scopeKey": "<string>"
}
}{
"success": false,
"code": "INVALID_TURN_ID",
"message": "<string>"
}Verify an exact persisted untracked chat completion
Authenticated, proof-only recovery when the original chat response was lost. The history must belong to the current user and contain the exact server-authored disabled-admission marker for this turn and scope. A socket history ID is only a lookup hint, never completion authority.
This proves persisted legacy/untracked completion, not durable fleet
settlement or worker drain. A tracked receipt retains priority. Older
unmarked histories cannot produce proof; legacyCompletion: null,
timeouts, and empty active lists must not be treated as successful completion. No history content
or worker data is returned, and no control state is mutated.
curl --request GET \
--url https://pria.praxislxp.com/api/ai/personal/turns/by-turn/{clientTurnId}/history/{historyId} \
--header 'x-access-token: <api-key>'import requests
url = "https://pria.praxislxp.com/api/ai/personal/turns/by-turn/{clientTurnId}/history/{historyId}"
headers = {"x-access-token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-access-token': '<api-key>'}};
fetch('https://pria.praxislxp.com/api/ai/personal/turns/by-turn/{clientTurnId}/history/{historyId}', 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://pria.praxislxp.com/api/ai/personal/turns/by-turn/{clientTurnId}/history/{historyId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-access-token: <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"
"net/http"
"io"
)
func main() {
url := "https://pria.praxislxp.com/api/ai/personal/turns/by-turn/{clientTurnId}/history/{historyId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-access-token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://pria.praxislxp.com/api/ai/personal/turns/by-turn/{clientTurnId}/history/{historyId}")
.header("x-access-token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://pria.praxislxp.com/api/ai/personal/turns/by-turn/{clientTurnId}/history/{historyId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-access-token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"legacyCompletion": {
"version": 1,
"historyId": "<string>",
"turnId": "<string>",
"scopeKey": "<string>"
}
}{
"success": false,
"code": "INVALID_TURN_ID",
"message": "<string>"
}Authorizations
JWT token passed in x-access-token header
Path Parameters
^[A-Za-z0-9._:-]{1,64}$^[a-fA-F0-9]{24}$Query Parameters
Current scope by default; explicit Twin scope requires active membership.
^(current|personal|twin:[a-f0-9]{24})$Response
Exact persisted untracked-completion proof (history ID is canonical lowercase), or
legacyCompletion: null when no matching marked history exists for the current user
(identical for another user's history). Null is absence, never completion.
Show child attributes
Show child attributes
Was this page helpful?