curl --request POST \
--url https://api.getcargo.io/v1/orchestration/traces/count \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"startedAfter": "<string>",
"workflowUuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"chatUuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agentUuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workerUuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"statuses": [],
"startedBefore": "<string>"
}
'import requests
url = "https://api.getcargo.io/v1/orchestration/traces/count"
payload = {
"startedAfter": "<string>",
"workflowUuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"chatUuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agentUuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workerUuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"statuses": [],
"startedBefore": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
startedAfter: '<string>',
workflowUuid: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
chatUuid: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
agentUuid: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
workerUuid: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
statuses: [],
startedBefore: '<string>'
})
};
fetch('https://api.getcargo.io/v1/orchestration/traces/count', 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.getcargo.io/v1/orchestration/traces/count",
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([
'startedAfter' => '<string>',
'workflowUuid' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'chatUuid' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'agentUuid' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'workerUuid' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'statuses' => [
],
'startedBefore' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://api.getcargo.io/v1/orchestration/traces/count"
payload := strings.NewReader("{\n \"startedAfter\": \"<string>\",\n \"workflowUuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"chatUuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"agentUuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"workerUuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"statuses\": [],\n \"startedBefore\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.getcargo.io/v1/orchestration/traces/count")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"startedAfter\": \"<string>\",\n \"workflowUuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"chatUuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"agentUuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"workerUuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"statuses\": [],\n \"startedBefore\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getcargo.io/v1/orchestration/traces/count")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"startedAfter\": \"<string>\",\n \"workflowUuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"chatUuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"agentUuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"workerUuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"statuses\": [],\n \"startedBefore\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"count": 123
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}Count traces
Count orchestration traces matching the filter. (POST /orchestration/traces/count).
curl --request POST \
--url https://api.getcargo.io/v1/orchestration/traces/count \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"startedAfter": "<string>",
"workflowUuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"chatUuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agentUuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workerUuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"statuses": [],
"startedBefore": "<string>"
}
'import requests
url = "https://api.getcargo.io/v1/orchestration/traces/count"
payload = {
"startedAfter": "<string>",
"workflowUuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"chatUuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agentUuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workerUuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"statuses": [],
"startedBefore": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
startedAfter: '<string>',
workflowUuid: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
chatUuid: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
agentUuid: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
workerUuid: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
statuses: [],
startedBefore: '<string>'
})
};
fetch('https://api.getcargo.io/v1/orchestration/traces/count', 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.getcargo.io/v1/orchestration/traces/count",
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([
'startedAfter' => '<string>',
'workflowUuid' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'chatUuid' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'agentUuid' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'workerUuid' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'statuses' => [
],
'startedBefore' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://api.getcargo.io/v1/orchestration/traces/count"
payload := strings.NewReader("{\n \"startedAfter\": \"<string>\",\n \"workflowUuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"chatUuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"agentUuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"workerUuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"statuses\": [],\n \"startedBefore\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.getcargo.io/v1/orchestration/traces/count")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"startedAfter\": \"<string>\",\n \"workflowUuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"chatUuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"agentUuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"workerUuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"statuses\": [],\n \"startedBefore\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getcargo.io/v1/orchestration/traces/count")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"startedAfter\": \"<string>\",\n \"workflowUuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"chatUuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"agentUuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"workerUuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"statuses\": [],\n \"startedBefore\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"count": 123
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}Authorizations
API token from cargo-ai login. Send as Authorization: Bearer <token>.
Headers
Client-generated key that makes this write safe to retry. Reusing the same key with the same request returns the original response instead of creating a second record. Reusing it with a different request returns 422. A concurrent retry while the first request is still running returns 409. Keys expire after 24 hours. Not accepted on multipart file uploads. Optional: a request without one is processed as it always was.
255"8e03978e-40d5-43e8-bc93-6894a57f9324"
Body
Request body schema.
Include traces whose first execution started after this timestamp (ISO string). Required.
When set, restrict traces to this workflow. Omit to search across workflows in the workspace.
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$When set, restrict traces to the one holding this AI chat. Every action an agent takes in a chat shares a single trace.
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$When set, restrict traces to those an AI agent started from a chat.
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$When set, restrict traces to those this hosted worker opened (cron or inbound HTTP).
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$Filter traces by their derived status (pending if any span anywhere in the trace is still pending, error if a failure stopped the trace, degraded if the trace ran to completion despite a span failing โ because the failed node fell back โ otherwise success).
pending, error, degraded, success Include traces whose first execution started on or before this timestamp (ISO string).
Response
Count traces
Number of traces matching the filter.
Was this page helpful?

