Get experiments
GET /api/v1/laboratory/experiments/{experimentRef}: request fields and declared response contract.
GET/api/v1/laboratory/experiments/{experimentRef}
| Permission | laboratory.method.read |
|---|---|
| Workspace scope | required |
| Scope target | resource |
Parameters
| Field | Type | Required | Nullable | Default |
|---|---|---|---|---|
| experimentRef | string | required | non-null | — |
Query parameters: none.
Response
200
| Field | Type | Required | Nullable | Default |
|---|---|---|---|---|
| data | object | required | non-null | — |
| data.head | object | required | non-null | — |
| data.head.experimentRef | string | required | non-null | — |
| data.head.workspaceId | string | required | non-null | — |
| data.head.title | string | required | non-null | — |
| data.head.currentRevision | integer | required | non-null | — |
| data.head.currentCompositionDigest | string | required | non-null | — |
| data.head.createdBy | string | required | non-null | — |
| data.head.createdAt | string | required | non-null | — |
| data.head.updatedAt | string | required | non-null | — |
| data.revision | object | required | non-null | — |
| data.revision.experimentRef | string | required | non-null | — |
| data.revision.revision | integer | required | non-null | — |
| data.revision.title | string | required | non-null | — |
| data.revision.objectiveVersionRef | string | required | non-null | — |
| data.revision.subjects | array | required | non-null | — |
| data.revision.caseSetRef | string | required | non-null | — |
| data.revision.method | object | required | non-null | — |
| data.revision.method.methodKind | "replay" | "simulation" | "optimization" | "backtest" | "rollout" | required | non-null | — |
| data.revision.method.methodRef | string | required | non-null | — |
| data.revision.method.releaseRef | string | optional | non-null | — |
| data.revision.method.configDigest | string | required | non-null | — |
| data.revision.inputs | array | required | non-null | [] |
| data.revision.evaluation | object | required | non-null | — |
| data.revision.evaluation.mode | "prospective" | "retrospective" | "actual_vs_predicted" | required | non-null | — |
| data.revision.evaluation.bundleRef | string | required | non-null | — |
| data.revision.evaluation.baselineRef | string | optional | non-null | — |
| data.revision.policyEvidence | object | required | non-null | — |
| data.revision.policyEvidence.policyRefs | array | required | non-null | [] |
| data.revision.policyEvidence.approvalState | "not_required" | "pending" | "approved" | "rejected" | required | non-null | — |
| data.revision.policyEvidence.evaluatedAt | string | optional | non-null | — |
| data.revision.createdBy | string | required | non-null | — |
| data.revision.createdAt | string | required | non-null | — |
| data.revision.compositionDigest | string | required | non-null | — |
| data.arms | array | required | non-null | — |
Declared failures
| ACCESS_DENIED | 403 — not retryable |
|---|---|
| CORE_ERROR | 500 — not retryable |
| GOVERNANCE_DENIED | 403 — not retryable |
| NOT_FOUND | 404 — not retryable |
| SETUP_REQUIRED | 503 — not retryable |
| VALIDATION_ERROR | 400 — not retryable |
| VALIDATION_INPUT_ERROR | 400 — not retryable |
Readback
This method returns the current state it read.
- laboratory.experiments.read
Request example
Schematic only. Replace placeholders with real values and include all required nested fields.
GET /api/v1/laboratory/experiments/{experimentRef} HTTP/1.1
Authorization: Bearer <token>
x-merulan-workspace-id: <workspace-id>