analysis or list the analysis runs.
Examples reuse connection setup. Set JOB_ID to a terminal job’s id:
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:
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:ANALYSIS_ID to an id from the response. Download a settled run:
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.
