Get Simulation Evaluation Summary Endpoint
curl --request GET \
--url https://api-prod.interactly.ai/workflows/v1/simulations/{simulation_id}/evaluation-summary \
--header 'Authorization: Bearer <token>'import requests
url = "https://api-prod.interactly.ai/workflows/v1/simulations/{simulation_id}/evaluation-summary"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api-prod.interactly.ai/workflows/v1/simulations/{simulation_id}/evaluation-summary', 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-prod.interactly.ai/workflows/v1/simulations/{simulation_id}/evaluation-summary",
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://api-prod.interactly.ai/workflows/v1/simulations/{simulation_id}/evaluation-summary"
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://api-prod.interactly.ai/workflows/v1/simulations/{simulation_id}/evaluation-summary")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-prod.interactly.ai/workflows/v1/simulations/{simulation_id}/evaluation-summary")
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{
"simulation_id": "<string>",
"group_id": "<string>",
"selected_workflow_summary": {
"total_runs": 0,
"successful_evaluations": 0,
"failed_evaluations": 0,
"pending_evaluations": 0,
"no_evaluation_configured": 0,
"metrics": [
{
"metric_name": "<string>",
"average_score": 123,
"min_score": 123,
"max_score": 123,
"distribution": {
"scale_upper_bound": 5,
"bucket_0_20": 0,
"bucket_21_40": 0,
"bucket_41_60": 0,
"bucket_61_80": 0,
"bucket_81_100": 0
}
}
]
},
"counter_workflow_summary": {
"total_runs": 0,
"successful_evaluations": 0,
"failed_evaluations": 0,
"pending_evaluations": 0,
"no_evaluation_configured": 0,
"metrics": [
{
"metric_name": "<string>",
"average_score": 123,
"min_score": 123,
"max_score": 123,
"distribution": {
"scale_upper_bound": 5,
"bucket_0_20": 0,
"bucket_21_40": 0,
"bucket_41_60": 0,
"bucket_61_80": 0,
"bucket_81_100": 0
}
}
]
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Simulations
Get Simulation Evaluation Summary Endpoint
Get aggregated evaluation results for a simulation across all runs.
Returns summary statistics for both selected and counter workflow evaluations including:
- Total runs, successful/failed/pending evaluation counts
- Average scores for each numeric metric
- Score distribution across ranges (0-20, 21-40, 41-60, 61-80, 81-100)
Optional: Filter by specific group_id to get summary for one batch run.
GET
/
workflows
/
v1
/
simulations
/
{simulation_id}
/
evaluation-summary
Get Simulation Evaluation Summary Endpoint
curl --request GET \
--url https://api-prod.interactly.ai/workflows/v1/simulations/{simulation_id}/evaluation-summary \
--header 'Authorization: Bearer <token>'import requests
url = "https://api-prod.interactly.ai/workflows/v1/simulations/{simulation_id}/evaluation-summary"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api-prod.interactly.ai/workflows/v1/simulations/{simulation_id}/evaluation-summary', 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-prod.interactly.ai/workflows/v1/simulations/{simulation_id}/evaluation-summary",
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://api-prod.interactly.ai/workflows/v1/simulations/{simulation_id}/evaluation-summary"
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://api-prod.interactly.ai/workflows/v1/simulations/{simulation_id}/evaluation-summary")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-prod.interactly.ai/workflows/v1/simulations/{simulation_id}/evaluation-summary")
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{
"simulation_id": "<string>",
"group_id": "<string>",
"selected_workflow_summary": {
"total_runs": 0,
"successful_evaluations": 0,
"failed_evaluations": 0,
"pending_evaluations": 0,
"no_evaluation_configured": 0,
"metrics": [
{
"metric_name": "<string>",
"average_score": 123,
"min_score": 123,
"max_score": 123,
"distribution": {
"scale_upper_bound": 5,
"bucket_0_20": 0,
"bucket_21_40": 0,
"bucket_41_60": 0,
"bucket_61_80": 0,
"bucket_81_100": 0
}
}
]
},
"counter_workflow_summary": {
"total_runs": 0,
"successful_evaluations": 0,
"failed_evaluations": 0,
"pending_evaluations": 0,
"no_evaluation_configured": 0,
"metrics": [
{
"metric_name": "<string>",
"average_score": 123,
"min_score": 123,
"max_score": 123,
"distribution": {
"scale_upper_bound": 5,
"bucket_0_20": 0,
"bucket_21_40": 0,
"bucket_41_60": 0,
"bucket_61_80": 0,
"bucket_81_100": 0
}
}
]
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Retrieve your API Key from Dashboard API Keys Section.
Path Parameters
Required string length:
24Pattern:
^[0-9a-f]{24}$Example:
"5eb7cf5a86d9755df3a6c593"
Query Parameters
Required string length:
24Pattern:
^[0-9a-f]{24}$Example:
"5eb7cf5a86d9755df3a6c593"
Response
Successful Response
Response model for aggregated evaluation results across all runs of a simulation.
ID of the simulation configuration
ID of the specific simulation group (if filtering by group)
Evaluation summary for the selected (source) workflow. None if no evaluation configured.
Show child attributes
Show child attributes
Evaluation summary for the counter workflow. None if no evaluation configured.
Show child attributes
Show child attributes