Retrieve processing traces
curl --request POST \
--url https://services-api.talqui.chat/v1/tenants/{tenantID}/sessions/{sessionID}/processing-traces/retrieval \
--header 'Content-Type: application/json' \
--data '
{
"traces": [
{
"source": "<string>",
"traceRef": "<string>"
}
]
}
'import requests
url = "https://services-api.talqui.chat/v1/tenants/{tenantID}/sessions/{sessionID}/processing-traces/retrieval"
payload = { "traces": [
{
"source": "<string>",
"traceRef": "<string>"
}
] }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({traces: [{source: '<string>', traceRef: '<string>'}]})
};
fetch('https://services-api.talqui.chat/v1/tenants/{tenantID}/sessions/{sessionID}/processing-traces/retrieval', 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://services-api.talqui.chat/v1/tenants/{tenantID}/sessions/{sessionID}/processing-traces/retrieval",
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([
'traces' => [
[
'source' => '<string>',
'traceRef' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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://services-api.talqui.chat/v1/tenants/{tenantID}/sessions/{sessionID}/processing-traces/retrieval"
payload := strings.NewReader("{\n \"traces\": [\n {\n \"source\": \"<string>\",\n \"traceRef\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
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://services-api.talqui.chat/v1/tenants/{tenantID}/sessions/{sessionID}/processing-traces/retrieval")
.header("Content-Type", "application/json")
.body("{\n \"traces\": [\n {\n \"source\": \"<string>\",\n \"traceRef\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://services-api.talqui.chat/v1/tenants/{tenantID}/sessions/{sessionID}/processing-traces/retrieval")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"traces\": [\n {\n \"source\": \"<string>\",\n \"traceRef\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"details": [
{
"kind": "text",
"label": "<string>",
"value": "<string>",
"source": "<string>",
"sourceName": "<string>",
"truncated": true
}
],
"durationMs": 123,
"processStatus": "succeeded",
"sources": [
{
"name": "<string>",
"source": "<string>",
"status": "<string>",
"traceRef": "<string>"
}
],
"startedAt": "<string>",
"status": "ready",
"stepCount": 123,
"steps": [
{
"category": "intention",
"durationMs": 123,
"plugin": {
"pluginIcon": "<string>",
"pluginName": "<string>",
"pluginURN": "<string>"
},
"source": "<string>",
"sourceIcon": "<string>",
"sourceName": "<string>",
"startedAt": "<string>",
"status": "succeeded",
"stepID": "<string>",
"title": "<string>",
"details": [
{
"kind": "text",
"label": "<string>",
"value": "<string>",
"truncated": true
}
],
"error": "<string>",
"highlight": "<string>",
"metrics": [
{
"label": "<string>",
"value": "<string>"
}
],
"pluginURN": "<string>",
"subtitle": "<string>"
}
],
"version": 1
}{
"errors": [
{
"error": "RequestValidationError",
"error_code": 1002,
"fields": [
{
"allowed": "<string>",
"field": "<string>",
"received": "<string>"
}
],
"message": "Invalid request data.",
"statusCode": 400
}
]
}{
"errors": [
{
"error": "UnauthorizedError",
"error_code": 1003,
"message": "You are not authorized to perform this request.",
"statusCode": 401
}
]
}{
"errors": [
{
"error": "ForbiddenError",
"error_code": 1004,
"message": "You do not have access to this resource.",
"statusCode": 403
}
]
}{
"errors": [
{
"error": "SessionNotFoundError",
"error_code": 1060,
"message": "Session not found.",
"statusCode": 404
}
]
}{
"errors": [
{
"error": "UnknownError",
"error_code": 5999,
"message": "For some unknown reason your request has not succeeded.",
"statusCode": 500
}
]
}Sessions
Retrieve processing traces
Reads the steps of the processings behind one message (Processing Traces), merged across providers and sorted by start, each step annotated with the plugin that reported it. POST because the body lists the processings; the call has no side effect besides the cache.
POST
/
v1
/
tenants
/
{tenantID}
/
sessions
/
{sessionID}
/
processing-traces
/
retrieval
Retrieve processing traces
curl --request POST \
--url https://services-api.talqui.chat/v1/tenants/{tenantID}/sessions/{sessionID}/processing-traces/retrieval \
--header 'Content-Type: application/json' \
--data '
{
"traces": [
{
"source": "<string>",
"traceRef": "<string>"
}
]
}
'import requests
url = "https://services-api.talqui.chat/v1/tenants/{tenantID}/sessions/{sessionID}/processing-traces/retrieval"
payload = { "traces": [
{
"source": "<string>",
"traceRef": "<string>"
}
] }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({traces: [{source: '<string>', traceRef: '<string>'}]})
};
fetch('https://services-api.talqui.chat/v1/tenants/{tenantID}/sessions/{sessionID}/processing-traces/retrieval', 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://services-api.talqui.chat/v1/tenants/{tenantID}/sessions/{sessionID}/processing-traces/retrieval",
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([
'traces' => [
[
'source' => '<string>',
'traceRef' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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://services-api.talqui.chat/v1/tenants/{tenantID}/sessions/{sessionID}/processing-traces/retrieval"
payload := strings.NewReader("{\n \"traces\": [\n {\n \"source\": \"<string>\",\n \"traceRef\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
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://services-api.talqui.chat/v1/tenants/{tenantID}/sessions/{sessionID}/processing-traces/retrieval")
.header("Content-Type", "application/json")
.body("{\n \"traces\": [\n {\n \"source\": \"<string>\",\n \"traceRef\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://services-api.talqui.chat/v1/tenants/{tenantID}/sessions/{sessionID}/processing-traces/retrieval")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"traces\": [\n {\n \"source\": \"<string>\",\n \"traceRef\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"details": [
{
"kind": "text",
"label": "<string>",
"value": "<string>",
"source": "<string>",
"sourceName": "<string>",
"truncated": true
}
],
"durationMs": 123,
"processStatus": "succeeded",
"sources": [
{
"name": "<string>",
"source": "<string>",
"status": "<string>",
"traceRef": "<string>"
}
],
"startedAt": "<string>",
"status": "ready",
"stepCount": 123,
"steps": [
{
"category": "intention",
"durationMs": 123,
"plugin": {
"pluginIcon": "<string>",
"pluginName": "<string>",
"pluginURN": "<string>"
},
"source": "<string>",
"sourceIcon": "<string>",
"sourceName": "<string>",
"startedAt": "<string>",
"status": "succeeded",
"stepID": "<string>",
"title": "<string>",
"details": [
{
"kind": "text",
"label": "<string>",
"value": "<string>",
"truncated": true
}
],
"error": "<string>",
"highlight": "<string>",
"metrics": [
{
"label": "<string>",
"value": "<string>"
}
],
"pluginURN": "<string>",
"subtitle": "<string>"
}
],
"version": 1
}{
"errors": [
{
"error": "RequestValidationError",
"error_code": 1002,
"fields": [
{
"allowed": "<string>",
"field": "<string>",
"received": "<string>"
}
],
"message": "Invalid request data.",
"statusCode": 400
}
]
}{
"errors": [
{
"error": "UnauthorizedError",
"error_code": 1003,
"message": "You are not authorized to perform this request.",
"statusCode": 401
}
]
}{
"errors": [
{
"error": "ForbiddenError",
"error_code": 1004,
"message": "You do not have access to this resource.",
"statusCode": 403
}
]
}{
"errors": [
{
"error": "SessionNotFoundError",
"error_code": 1060,
"message": "Session not found.",
"statusCode": 404
}
]
}{
"errors": [
{
"error": "UnknownError",
"error_code": 5999,
"message": "For some unknown reason your request has not succeeded.",
"statusCode": 500
}
]
}Path Parameters
The tenant the session belongs to.
Pattern:
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$The conversation whose processing is read.
Pattern:
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$Body
application/json
The processings behind one message, as listed by the discovery endpoint.
Required array length:
1 - 10 elementsShow child attributes
Show child attributes
Response
Response for status 200.
- Option 1
- Option 2
- Option 3
- Option 4
Show child attributes
Show child attributes
Available options:
succeeded, failed, stopped, running Show child attributes
Show child attributes
Available options:
ready, pending, not_found, expired, partial, error Steps of every source merged and sorted by start.
Show child attributes
Show child attributes
Available options:
1 ⌘I