Skip to main content
Inspect an Evolve trial using its globally addressable id. Read the parent job’s trial list to obtain that id; trial routes do not require the job id. Examples reuse connection setup. Set TRIAL_ID from GET /api/jobs/{jobId}/trials:
Success returns 200 Trial. See trial fields for status, rewards, exceptions, costs, and analysis. A missing or unavailable measurement can be null; do not replace it with zero.

Result routes

Saved files are the trial’s recorded outputs. Filesystem routes below inspect sandbox paths instead. See trial methods for result types and method equivalents.

Trace events and artifacts

Without stream, /trace returns parsed events. Its optional query fields are:
Events are returned oldest first within the filtered selection. A null next cursor means caught up. Keep filters unchanged while paging. For stored artifacts, use stream: Do not combine parsed-event filters with raw-artifact selectors. trajectory is reserved and currently returns not found; use trace-atif for the normalized trajectory.
No stored log is a normal 200 response:
Even with format=log, an absent log returns that JSON shape. A log withheld because it belongs to a retired retry attempt also includes reason. Agent-home text omits binary files; use format=tgz for their bytes.

Saved files and downloads

GET /files defaults to 200 entries, maximum 1000. Read a returned path through /files/{filePath}; URL-encode path segments. File reads accept a single HTTP byte range such as Range: bytes=0-1023; the end is inclusive.
The download is the trial’s recorded Harbor folder. A still-running trial is refused rather than presented as a finished record.

Retry and regrade

Retry requires a settled trial; the parent job can still be running. Regrade requires stored verifier inputs. Both return a new linked job and retain the source results. Uploaded trials cannot be retried or regraded. See job execution rules and idempotency.

Stop trials and analyses

Save selected ids in stop.json:
stop.json
Replace the placeholder with an actual UUID. Supply 1–100 ids; trial and trace-analysis ids may be mixed.
Stopping is creator-only; team read access does not grant permission to stop another person’s run. The response reports stopped, stopped_analyses, already_terminal, and not_found. An unavailable id, including a readable run you do not own, appears in not_found. See the stop result. This route does not accept task-check ids.

Filesystem and logs

The following route suffixes apply to three resource prefixes: Set RUN to a resolved prefix. For this trial:
The FilesystemStatus response tells you the state and work_dir. Use that work directory or a path returned by a listing.

Filesystem inputs

Set WORK_DIR from the status response:
A capture can list unchanged image files whose bytes were not retained. Check captured before expecting to read every entry. Explicitly requesting an unavailable source returns 409 filesystem_state; reading an unretained file returns not_captured. A capture is not a full disk image.

Logs and events

stream accepts agent, verifier, system, setup, or metrics. Log pages default to 1000 lines, maximum 1000; continue with the returned next_cursor. System logs require system_log: true at job creation. Empty log results may include a reason.
For events, replace /logs?stream=agent with /logs/events and use curl -N. Retain the last event id and send Last-Event-ID on reconnection. Filesystem events also accept after. These streams do not reconnect by themselves. The filesystem reference and returned filesystem objects describe status, capture completeness, log pages, and process fields.

Errors

Unknown or inaccessible trials return 404 trial_not_found. Bad filters or ranges are refused. 409 concurrent_update means an artifact changed during the read; read it again. 413 on agent-home JSON means use its tgz format. Filesystem reads can return filesystem_state, not_captured, feature_unsupported, or provider_unreachable; inspect the code and details before retrying. See filesystem errors.
Last modified on November 9, 2026