Start pipeline runs
POST /api/v1/data-pipelines/runs: request fields and declared response contract.
POST/api/v1/data-pipelines/runs
| Permission | dataPipelines.manage |
|---|---|
| Workspace scope | required |
| Scope target | workspace |
Request body
| Field | Type | Required | Nullable | Default |
|---|---|---|---|---|
| pipelineId | string | optional | non-null | — |
| pipelineRef | object | optional | non-null | — |
| pipelineRef.kind | string | required | non-null | — |
| pipelineRef.packageKey | string | required | non-null | — |
| pipelineRef.constructKey | string | required | non-null | — |
| versionId | string | optional | non-null | — |
| source | unknown | optional | non-null | — |
| s3Key | string | optional | non-null | — |
| retryFromRunId | string | optional | non-null | — |
| idempotencyKey | string | optional | non-null | — |
Response
201
| Field | Type | Required | Nullable | Default |
|---|---|---|---|---|
| data | object | required | non-null | — |
| data.runId | string | required | non-null | — |
| data.pipelineId | string | required | non-null | — |
| data.jobId | string | optional | non-null | — |
| data.status | "queued" | "validating" | "running" | "completed" | "failed" | "partial_failure" | "cancelled" | optional | non-null | — |
Declared failures
| DATA_PIPELINES_REQUEST_IDENTITY_CONFLICT | 409 — not retryable |
|---|---|
| NOT_IMPLEMENTED | 501 — not retryable |
| VALIDATION_FAILED | 400 — not retryable |
Durable identity
| Kind | request-identity |
|---|---|
| Request fields | idempotencyKey |
| Conflict | DATA_PIPELINES_REQUEST_IDENTITY_CONFLICT |
Readback
The effect completes asynchronously; reacquire the result with:
- dataPipelines.runs.get
Request example
Schematic only. Replace placeholders with real values and include all required nested fields.
POST /api/v1/data-pipelines/runs HTTP/1.1
Authorization: Bearer <token>
x-merulan-workspace-id: <workspace-id>
Content-Type: application/json
{}