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
- 202
- 403
- 404
- 422
- 500
Successful Response
Forbidden
Not Found
Unprocessable Entity
Internal Server Error