Skip to main content
Ask an Evolve analyzer to review completed trial traces against a rubric. Start the analysis through its job, then read each trial’s analysis or list the analysis runs. Examples reuse connection setup. Set JOB_ID to a terminal job’s id:
Success returns 202 Job with analysis work queued. The source trials retain their evaluation results. Read analysis and check result fields for summaries, criterion outcomes, failure information, and cost.

Routes

job is a job UUID. status accepts queued, running, completed, or failed, repeated for multiple values. scope is my (default), shared, or org. Collections follow catalog pagination.

Analysis configuration

Every field is optional. {} selects the current defaults; read them before choosing overrides:
The response gives agent, model_name, rubric, prompt, reasoning_effort, and sandbox_provider. Add ?agent=codex to resolve defaults for that analyzer agent. passing and failing cannot both be true. Cancelled trials are excluded. Selection applies trial_ids first, then the reward filter, then n_trials. A trial_ids entry from another job refuses the request. An omitted n_concurrent leaves the organization quota as the limit. See analysis configuration for prompt tokens, rubric rules, and the difference between omission and a pinned override. An analysis that finishes without a valid result is retried at most once. A budget timeout fails without that retry. Repeating this POST starts a new analysis wave only after the earlier wave settles. Earlier analyses remain stored.

Read results and files

List runs for the job:
Set ANALYSIS_ID to an id from the response. Download a settled run:
The archive uses Harbor’s analysis wrapper-trial layout. Its validated artifacts/analysis.json exists when analysis completed successfully. The analyzer’s sandbox uses the filesystem and log routes with /api/analyses/{analysisId} as the resource prefix. This includes file browsing, search, changes, watching, archives, logs, and processes. The analysis SDK methods also provide result and transcript conveniences. To stop active analysis work, use POST /api/trials/stop with analysis ids in trial_ids; see stopping trials and analyses.

Errors

Starting analysis requires a terminal job. 409 job_not_terminal, analysis_already_running, or no_analyzable_trials explains why no wave started. Invalid configuration returns 400 invalid_input or invalid_rubric. Downloading an unfinished analysis returns 409 analysis_not_terminal. A settled run can return the same code while its results are still being finalized; retry later. Unknown or inaccessible ids return 404 analysis_not_found. See analysis error codes.
Last modified on November 9, 2026