curl --request POST \
--url https://pria.praxislxp.com/api/ai/rtTools/jobs \
--header 'Content-Type: application/json' \
--header 'x-access-token: <api-key>' \
--data '
{
"conversationId": 123,
"jobKey": "<string>",
"delivered": [
{
"id": "<string>"
}
],
"exclude": [
"<string>"
]
}
'import requests
url = "https://pria.praxislxp.com/api/ai/rtTools/jobs"
payload = {
"conversationId": 123,
"jobKey": "<string>",
"delivered": [{ "id": "<string>" }],
"exclude": ["<string>"]
}
headers = {
"x-access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
conversationId: 123,
jobKey: '<string>',
delivered: [{id: '<string>'}],
exclude: ['<string>']
})
};
fetch('https://pria.praxislxp.com/api/ai/rtTools/jobs', 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/rtTools/jobs",
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([
'conversationId' => 123,
'jobKey' => '<string>',
'delivered' => [
[
'id' => '<string>'
]
],
'exclude' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://pria.praxislxp.com/api/ai/rtTools/jobs"
payload := strings.NewReader("{\n \"conversationId\": 123,\n \"jobKey\": \"<string>\",\n \"delivered\": [\n {\n \"id\": \"<string>\"\n }\n ],\n \"exclude\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-access-token", "<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://pria.praxislxp.com/api/ai/rtTools/jobs")
.header("x-access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"conversationId\": 123,\n \"jobKey\": \"<string>\",\n \"delivered\": [\n {\n \"id\": \"<string>\"\n }\n ],\n \"exclude\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://pria.praxislxp.com/api/ai/rtTools/jobs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"conversationId\": 123,\n \"jobKey\": \"<string>\",\n \"delivered\": [\n {\n \"id\": \"<string>\"\n }\n ],\n \"exclude\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"note": "<string>",
"told": [
{
"id": "<string>",
"status": "<string>"
}
],
"running": 123
}Background tool jobs of a realtime session
Polled by a realtime client while tool calls it handed to the background are outstanding. Acks the jobs a previous note told, then returns the note for the next turn and how many jobs are still running.
curl --request POST \
--url https://pria.praxislxp.com/api/ai/rtTools/jobs \
--header 'Content-Type: application/json' \
--header 'x-access-token: <api-key>' \
--data '
{
"conversationId": 123,
"jobKey": "<string>",
"delivered": [
{
"id": "<string>"
}
],
"exclude": [
"<string>"
]
}
'import requests
url = "https://pria.praxislxp.com/api/ai/rtTools/jobs"
payload = {
"conversationId": 123,
"jobKey": "<string>",
"delivered": [{ "id": "<string>" }],
"exclude": ["<string>"]
}
headers = {
"x-access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
conversationId: 123,
jobKey: '<string>',
delivered: [{id: '<string>'}],
exclude: ['<string>']
})
};
fetch('https://pria.praxislxp.com/api/ai/rtTools/jobs', 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/rtTools/jobs",
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([
'conversationId' => 123,
'jobKey' => '<string>',
'delivered' => [
[
'id' => '<string>'
]
],
'exclude' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://pria.praxislxp.com/api/ai/rtTools/jobs"
payload := strings.NewReader("{\n \"conversationId\": 123,\n \"jobKey\": \"<string>\",\n \"delivered\": [\n {\n \"id\": \"<string>\"\n }\n ],\n \"exclude\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-access-token", "<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://pria.praxislxp.com/api/ai/rtTools/jobs")
.header("x-access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"conversationId\": 123,\n \"jobKey\": \"<string>\",\n \"delivered\": [\n {\n \"id\": \"<string>\"\n }\n ],\n \"exclude\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://pria.praxislxp.com/api/ai/rtTools/jobs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"conversationId\": 123,\n \"jobKey\": \"<string>\",\n \"delivered\": [\n {\n \"id\": \"<string>\"\n }\n ],\n \"exclude\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"note": "<string>",
"told": [
{
"id": "<string>",
"status": "<string>"
}
],
"running": 123
}Authorizations
JWT token passed in x-access-token header
Body
The session-bound conversation thread, as on the exec call.
The session nonce sent on the exec call, used when there is no conversationId.
The jobs an injected note told, once the user's next turn after the injection was answered. They are marked delivered for the requesting user only.
20Show child attributes
Show child attributes
Ids of jobs already injected into the session but not yet acked. They are left out of the note and told, so they are not told twice. Anything but a 24-hex id is ignored.
20^[0-9a-f]{24}$Response
The note, the jobs it tells and the running count
Text to add silently to the live session (at most 2000 characters), empty when there is nothing to tell. The model reads it on the user's next turn.
The finished jobs the note tells; ack them in delivered once the user's next turn after the injection was answered.
Show child attributes
Show child attributes
How many jobs of this conversation are still running.
Was this page helpful?