Start run experiments
POST /api/v1/laboratory/experiments/{experimentRef}/runs: request fields and declared response contract.
POST/api/v1/laboratory/experiments/{experimentRef}/runs
| Permission | laboratory.run.start |
|---|---|
| Workspace scope | required |
| Scope target | resource |
Parameters
| Field | Type | Required | Nullable | Default |
|---|---|---|---|---|
| experimentRef | string | required | non-null | — |
Query parameters: none.
Request body
| Field | Type | Required | Nullable | Default |
|---|---|---|---|---|
| revision | integer | required | non-null | — |
Response
200
| Field | Type | Required | Nullable | Default |
|---|---|---|---|---|
| data | object | required | non-null | — |
| data.items | array | required | non-null | — |
Declared failures
| ACCESS_DENIED | 403 — not retryable |
|---|---|
| APPROVAL_REQUIRED | 403 — not retryable |
| CORE_ERROR | 500 — not retryable |
| GOVERNANCE_DENIED | 403 — not retryable |
| NOT_FOUND | 404 — not retryable |
| QUOTA_DENIED | 429 — retryable |
| REBASE_CONFLICT | 409 — not retryable |
| REVISION_CONFLICT | 409 — retryable |
| SETUP_REQUIRED | 503 — not retryable |
| VALIDATION_ERROR | 400 — not retryable |
| VALIDATION_INPUT_ERROR | 400 — not retryable |
Durable identity
| Kind | locator |
|---|---|
| Request fields | experimentRef, revision |
Readback
The effect completes asynchronously; reacquire the result with:
- laboratory.experiments.read
Request example
Schematic only. Replace placeholders with real values and include all required nested fields.
POST /api/v1/laboratory/experiments/{experimentRef}/runs HTTP/1.1
Authorization: Bearer <token>
x-merulan-workspace-id: <workspace-id>
Content-Type: application/json
{
"revision": 0
}