GET /api/v1/pipelines//runs//progress
Returns detailed progress information for a pipeline run including row counts, partition details, ETA, validation errors (first 20), and log entries.Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | string | Pipeline ID |
runId | string | Pipeline run ID |
Response
Response Fields
| Field | Type | Description |
|---|---|---|
status | string | pending, running, completed, failed, completed_with_errors |
totalRows | integer | Total rows to process |
processedRows | integer | Rows processed so far |
failedRows | integer | Rows that failed validation |
skippedRows | integer | Rows skipped (e.g., duplicates) |
partitions | integer | Total partition count |
completedPartitions | integer | Partitions finished |
partitionDetails | array | Per-partition status breakdown |
validationErrors | array | First 20 validation errors (use the errors endpoint for full list) |
eta | string or null | Estimated time remaining (e.g., "3m", "1.2h") |
durationMs | integer | Elapsed time in milliseconds |
loadStrategy | string | Load strategy used (append, upsert, replace) |
log | array | Execution log entries |
Roles
admin, editor, viewerGET /api/v1/pipelines//runs//errors
Returns all validation errors for a pipeline run. Supports both JSON and CSV formats via theAccept header.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | string | Pipeline ID |
runId | string | Pipeline run ID |
Headers
| Header | Value | Description |
|---|---|---|
Accept | application/json | Returns JSON (default) |
Accept | text/csv | Returns downloadable CSV file |
Response (JSON)
Response (CSV)
WhenAccept: text/csv is set, returns a downloadable CSV file with headers: Row, Column, Value, Error.
Roles
admin, editor, viewerPOST /api/v1/pipelines//runs//retry
Retry a failed or partially-failed pipeline run. Creates a new run with checkpoint support for resumable load strategies.Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | string | Pipeline ID |
runId | string | Original run ID to retry |
Retry Behavior
| Load Strategy | Resume Support | Behavior |
|---|---|---|
append | Yes | Resumes from the last processed row |
upsert | Yes | Resumes from the last processed row |
replace | No | Full re-run from the beginning |
failed or completed_with_errors can be retried. Attempting to retry a running or completed run returns 422.
Response (201)
Error Codes
| Code | Reason |
|---|---|
404 | Pipeline or run not found |
422 | Run status does not allow retry (must be failed or completed_with_errors) |
Roles
admin, editorGET /api/v1/pipelines/poll
Check polling status for all active pipelines with file-based polling enabled.Response
Roles
any authenticatedPOST /api/v1/pipelines/poll
Manually trigger one polling cycle. Checks all active pipelines with polling enabled for their touch file and triggers runs when found.Response
Roles
admin, editorRole Summary
| Endpoint | Method | Allowed Roles |
|---|---|---|
/pipelines/{id}/runs/{runId}/progress | GET | admin, editor, viewer |
/pipelines/{id}/runs/{runId}/errors | GET | admin, editor, viewer |
/pipelines/{id}/runs/{runId}/retry | POST | admin, editor |
/pipelines/poll | GET | any authenticated |
/pipelines/poll | POST | admin, editor |