Skip to main content

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):

ColumnDescription
aliasRun alias, when set
external_idCaller-supplied record identifier, when set
promptRecord prompt
inputRecord input
contextRecord context
outputRecord output
golden_answerRecord golden answer
explanationEvaluation explanation
model_slugModel used for this evaluation
is_successWhether the evaluation completed successfully
evaluation_costUSD amount charged to your balance for this evaluation
is_gte_thresholdWhether the score met the threshold
thresholdThreshold for this evaluation
resultEvaluation score
eval_metadataMetric-specific JSON metadata
shortnameMetric shortname (for example ans_corr)
nameMetric 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 as True / False.
  • result is a decimal number, for example 100.0 or 87.5.
  • threshold is an integer, for example 80.
  • evaluation_cost is written with 15 decimal places, for example 0.000412000000000.
  • eval_metadata and any structured input / context / output / golden_answer values are JSON strings.
  • An empty cell means the value is not set for that row (for example result on 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 like run_<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"