List eval runs
curl --request GET \
--url https://{instance}.omniapp.co/api/v1/ai/eval/runs \
--header 'Authorization: Bearer <token>'import requests
url = "https://{instance}.omniapp.co/api/v1/ai/eval/runs"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{instance}.omniapp.co/api/v1/ai/eval/runs', 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://{instance}.omniapp.co/api/v1/ai/eval/runs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{instance}.omniapp.co/api/v1/ai/eval/runs"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{instance}.omniapp.co/api/v1/ai/eval/runs")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{instance}.omniapp.co/api/v1/ai/eval/runs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"runs": [
{
"branch_id": null,
"branch_name": null,
"completed_at": null,
"created_at": "2025-01-15T10:00:00.000Z",
"description": null,
"id": "660e8400-e29b-41d4-a716-446655440001",
"is_archived": false,
"model_id": "880e8400-e29b-41d4-a716-446655440003",
"prompt_set_id": "550e8400-e29b-41d4-a716-446655440000",
"run_number": 3,
"stats": {
"terminal": 8,
"total": 12
},
"status": "RUNNING"
}
]
}{
"detail": "Bad Request: name: Required",
"status": 400
}{
"detail": "Unauthorized: Missing or invalid API key",
"status": 401
}{
"detail": "AI eval requires at least Querier access on the model",
"status": 403
}{
"detail": "Prompt set not found",
"status": 404
}Evals
List eval runs
List runs for a prompt set, newest first, filtered to runs whose model the caller can access. The prompt_set_id query parameter is required.
GET
/
v1
/
ai
/
eval
/
runs
List eval runs
curl --request GET \
--url https://{instance}.omniapp.co/api/v1/ai/eval/runs \
--header 'Authorization: Bearer <token>'import requests
url = "https://{instance}.omniapp.co/api/v1/ai/eval/runs"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{instance}.omniapp.co/api/v1/ai/eval/runs', 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://{instance}.omniapp.co/api/v1/ai/eval/runs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{instance}.omniapp.co/api/v1/ai/eval/runs"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{instance}.omniapp.co/api/v1/ai/eval/runs")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{instance}.omniapp.co/api/v1/ai/eval/runs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"runs": [
{
"branch_id": null,
"branch_name": null,
"completed_at": null,
"created_at": "2025-01-15T10:00:00.000Z",
"description": null,
"id": "660e8400-e29b-41d4-a716-446655440001",
"is_archived": false,
"model_id": "880e8400-e29b-41d4-a716-446655440003",
"prompt_set_id": "550e8400-e29b-41d4-a716-446655440000",
"run_number": 3,
"stats": {
"terminal": 8,
"total": 12
},
"status": "RUNNING"
}
]
}{
"detail": "Bad Request: name: Required",
"status": 400
}{
"detail": "Unauthorized: Missing or invalid API key",
"status": 401
}{
"detail": "AI eval requires at least Querier access on the model",
"status": 403
}{
"detail": "Prompt set not found",
"status": 404
}Authorizations
bearerAuthorgApiKey
Can be either an Organization API Key or Personal Access Token (PAT).
Include in the Authorization header as: Bearer YOUR_TOKEN
Query Parameters
When true, returns archived runs instead of active ones. Defaults to false.
Available options:
true, false Example:
"false"
Required — the prompt set whose runs should be listed.
Example:
"550e8400-e29b-41d4-a716-446655440000"
Response
List of runs for the prompt set.
Runs for the prompt set, newest first, filtered to those whose model the caller can access.
Show child attributes
Show child attributes
Was this page helpful?
⌘I

