Create Batch Session Eval Run
curl --request POST \
--url https://api.pandaprobe.com/evaluations/session-runs/batch \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"session_ids": [
"<string>"
],
"metrics": [
"<string>"
]
}
'import requests
url = "https://api.pandaprobe.com/evaluations/session-runs/batch"
payload = {
"session_ids": ["<string>"],
"metrics": ["<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({session_ids: ['<string>'], metrics: ['<string>']})
};
fetch('https://api.pandaprobe.com/evaluations/session-runs/batch', 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/evaluations/session-runs/batch"
payload := strings.NewReader("{\n \"session_ids\": [\n \"<string>\"\n ],\n \"metrics\": [\n \"<string>\"\n ]\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))
}{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"status": "PENDING",
"metric_names": [
"<string>"
],
"total_traces": 123,
"evaluated_count": 123,
"failed_count": 123,
"created_at": "<string>",
"completed_at": "<string>",
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"target_type": "<string>",
"filters": {},
"sampling_rate": 123,
"model": "<string>",
"monitor_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"error_message": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Session Eval Runs
Create Batch Session Eval Run
Create a session eval run for explicit session IDs.
Auth: Bearer + X-Project-ID | X-API-Key + X-Project-Name
Rate limit: 50/min
POST
/
evaluations
/
session-runs
/
batch
Create Batch Session Eval Run
curl --request POST \
--url https://api.pandaprobe.com/evaluations/session-runs/batch \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"session_ids": [
"<string>"
],
"metrics": [
"<string>"
]
}
'import requests
url = "https://api.pandaprobe.com/evaluations/session-runs/batch"
payload = {
"session_ids": ["<string>"],
"metrics": ["<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({session_ids: ['<string>'], metrics: ['<string>']})
};
fetch('https://api.pandaprobe.com/evaluations/session-runs/batch', 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/evaluations/session-runs/batch"
payload := strings.NewReader("{\n \"session_ids\": [\n \"<string>\"\n ],\n \"metrics\": [\n \"<string>\"\n ]\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))
}{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"status": "PENDING",
"metric_names": [
"<string>"
],
"total_traces": 123,
"evaluated_count": 123,
"failed_count": 123,
"created_at": "<string>",
"completed_at": "<string>",
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"target_type": "<string>",
"filters": {},
"sampling_rate": 123,
"model": "<string>",
"monitor_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"error_message": "<string>"
}{
"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
Create a session eval run for explicit session IDs.
List of session ID strings.
Minimum array length:
1Session metric names.
Minimum array length:
1Human-readable label.
LLM model override for judge calls.
Override default signal weights.
Show child attributes
Show child attributes
Response
Successful Response
Full eval run representation used by both list and detail endpoints.
Lifecycle status of an evaluation job.
Available options:
PENDING, RUNNING, COMPLETED, FAILED 
