Skip to main content

Create Run

POST 

/runs

Create a new run and enqueue it for the pipeline worker.

Validates the pipeline, dataset/source-run reference, metric selection, SUT/judge connections, and (for report-eligible runs) any locked test-plan bindings before a run row is created. Returns 422 for a contract violation (unknown/non-creatable pipeline, an incompatible or missing metric selection, a mismatched project/workspace/connection reference, and the like), 404 if a referenced dataset version, SUT connection, or SUT does not exist, and 403 if the caller lacks write access to the resolved workspace. A 500 can surface if the resolved project's test-plan binding is itself in an inconsistent state.

For runner_mode=external: a short-lived JWT upload token is returned so the external runner can PUT /runs/{id}/upload with scored results.

For runner_mode=hosted: the run is enqueued immediately; the pipeline worker picks it up and executes end-to-end.

An evaluate_sut_hosted run that selects metrics on a classification, detection, or semantic_segmentation connection requires that connection to have an adapter mapping predictions; without one the run is rejected with 422 rather than calling the SUT for every row and failing at scoring. A generate-only run (no metrics) on such a connection is still accepted, but its output cannot be scored later without an adapter.

Request​

Responses​

Successful Response