Download run
Endpoint: GET /runs/{run_id}/download
Description
Returns a CSV file of evaluation rows for the run. Column headers are dynamic: only columns that have at least one non-empty value are included. On trace runs, evaluations have no linked dataset record — record columns (external_id, prompt, input, context, output, golden_answer) are omitted when every row would be empty.
Possible columns (in this order when present):
| Column | Description |
|---|---|
alias | Run alias, when set |
external_id | Caller-supplied record identifier, when set |
prompt | Record prompt |
input | Record input |
context | Record context |
output | Record output |
golden_answer | Record golden answer |
explanation | Evaluation explanation |
model_slug | Model used for this evaluation |
is_success | Whether the evaluation completed successfully |
evaluation_cost | USD amount charged to your balance for this evaluation |
is_gte_threshold | Whether the score met the threshold |
threshold | Threshold for this evaluation |
result | Evaluation score |
eval_metadata | Metric-specific JSON metadata |
shortname | Metric shortname (for example ans_corr) |
name | Metric display name |
Parse the file by header name, not by column position: which columns appear depends on the run's data.
Value formats
- Booleans (
is_success,is_gte_threshold) are written asTrue/False. resultis a decimal number, for example100.0or87.5.thresholdis an integer, for example80.evaluation_costis written with 15 decimal places, for example0.000412000000000.eval_metadataand any structuredinput/context/output/golden_answervalues are JSON strings.- An empty cell means the value is not set for that row (for example
resulton an evaluation that did not complete). - Rows end with
\r\n. Cells containing commas, quotes, or line breaks are wrapped in double quotes, with inner quotes doubled.
Parameters
- Path:
run_id— integer run id.
Error responses
401— Authentication failed.404— Run not found or not accessible to your API key (including not assigned to the key's project), or no evaluation rows for that run (CSV would be empty).500— Error building the CSV.
Responses
200—Content-Type: text/csv, file name likerun_<run_id>_report.csv.
Example response (200)
alias,external_id,prompt,output,golden_answer,explanation,model_slug,is_success,evaluation_cost,is_gte_threshold,threshold,result,eval_metadata,shortname,name
qa-regression,row-42,What is 2+2?,4,4,The output matches the golden answer.,o4-mini,True,0.000412000000000,True,80,100.0,"{""statements_not_covered_in_golden_answer"": [], ""statements_not_covered_in_output"": []}",ans_corr,Answer Correctness
qa-regression,row-43,Capital of Germany?,Munich,Berlin,"The output names Munich, but the golden answer is Berlin.",o4-mini,True,0.000398000000000,False,80,0.0,"{""statements_not_covered_in_golden_answer"": [{""statement"": ""The capital of Germany is Munich."", ""reason"": ""Contradicts the golden answer.""}], ""statements_not_covered_in_output"": [{""statement"": ""The capital of Germany is Berlin."", ""reason"": ""Not stated in the output.""}]}",ans_corr,Answer Correctness
In this run no row has input or context, so those columns are omitted.
curl
curl -o "run_1_report.csv" \
"https://api.aegisevals.ai/api/v1/runs/1/download" \
-H "Authorization: Bearer sk_00000000000000000000000000000000"