Ingest Trace
curl --request POST \
--url https://api.pandaprobe.com/traces \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "customer-support-agent",
"started_at": "2026-03-29T10:00:00Z"
}
'import requests
url = "https://api.pandaprobe.com/traces"
payload = {
"name": "customer-support-agent",
"started_at": "2026-03-29T10:00:00Z"
}
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({name: 'customer-support-agent', started_at: '2026-03-29T10:00:00Z'})
};
fetch('https://api.pandaprobe.com/traces', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.pandaprobe.com/traces"
payload := strings.NewReader("{\n \"name\": \"customer-support-agent\",\n \"started_at\": \"2026-03-29T10:00:00Z\"\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))
}{
"trace_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"task_id": "celery-task-xyz-789"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Traces
Ingest Trace
Accept a trace payload for asynchronous persistence (upsert).
Auth: Bearer + X-Project-ID | X-API-Key + X-Project-Name
Rate limit: 100/min
POST
/
traces
Ingest Trace
curl --request POST \
--url https://api.pandaprobe.com/traces \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "customer-support-agent",
"started_at": "2026-03-29T10:00:00Z"
}
'import requests
url = "https://api.pandaprobe.com/traces"
payload = {
"name": "customer-support-agent",
"started_at": "2026-03-29T10:00:00Z"
}
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({name: 'customer-support-agent', started_at: '2026-03-29T10:00:00Z'})
};
fetch('https://api.pandaprobe.com/traces', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.pandaprobe.com/traces"
payload := strings.NewReader("{\n \"name\": \"customer-support-agent\",\n \"started_at\": \"2026-03-29T10:00:00Z\"\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))
}{
"trace_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"task_id": "celery-task-xyz-789"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
HTTPBearerApiKeyProjectIDProjectName
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Schema for the POST /traces request body.
Required string length:
1 - 512High-level status of a trace.
Available options:
PENDING, RUNNING, COMPLETED, ERROR Maximum string length:
255Maximum string length:
255Maximum string length:
255Maximum string length:
255Maximum array length:
500Show child attributes
Show child attributes

