Skip to content

API: Pipelines

Pipeline definitions, runs, backfill, schedules, CDC streams, and flowlets. All endpoints require authentication unless noted. 35 endpoints.

List pipelines (with latest-run summary)

Responses: 200 · 400 · 401

Create a pipeline (DAG validated via the shared contract)

Request body (JSON)

Field Type Required Description
name string yes
dag object yes
schedule object no
concurrency object no
status "active" | "paused" no

Responses: 201 · 400 · 401 · 409 · 422

Get a pipeline

Path parameters

Name Type Required Description
id string yes

Responses: 200 · 400 · 401 · 404

Update a pipeline (optimistic concurrency via expectedUpdatedAt)

Path parameters

Name Type Required Description
id string yes

Request body (JSON)

Field Type Required Description
name string no
dag object no
schedule object no
concurrency object no
compute object no
status "active" | "paused" no
expectedUpdatedAt string no

Responses: 200 · 400 · 401 · 404 · 409 · 422

Delete a pipeline (soft; refused while a run is queued/running)

Path parameters

Name Type Required Description
id string yes

Responses: 204 — No content · 401 · 404 · 409

Backfill a window: one run per date (inclusive, max 366 days)

Path parameters

Name Type Required Description
id string yes

Request body (JSON)

Field Type Required Description
from string yes
to string yes

Responses: 201 · 401 · 404 · 409 · 422 · 429 · 503

Column-level lineage of this pipeline (static + last-run observed)

Path parameters

Name Type Required Description
id string yes

Responses: 200 · 400 · 401 · 404

A pipeline’s data-quality gate history (newest first)

Path parameters

Name Type Required Description
id string yes

Query parameters

Name Type Required Description
limit integer no

Responses: 200 · 400 · 401 · 404

Trigger a pipeline run (worker handshake enforced)

Path parameters

Name Type Required Description
id string yes

Responses: 201 · 400 · 401 · 409 · 429 · 503

List a pipeline’s runs (newest first, paged)

Path parameters

Name Type Required Description
id string yes

Query parameters

Name Type Required Description
limit integer no Maximum number of items to return
offset integer no Number of items to skip

Responses: 200 · 400 · 401

Set or clear the pipeline schedule (cron or every-N-seconds; fires via the schedule poller)

Path parameters

Name Type Required Description
id string yes

Request body (JSON)

Field Type Required Description
cron string no
everySeconds integer no
timezone string no
enabled boolean no

Responses: 200 · 400 · 401 · 404 · 422

Describe a transform in plain language; get a validated visual-recipe op chain back

Path parameters

Name Type Required Description
id string yes

Request body (JSON)

Field Type Required Description
description string yes
upstreamIds array of string yes
inputs array of object no
currentOps array of object no

Responses: 200 · 400 · 401 · 404 · 422 · 503

POST /api/pipelines/{id}/transform-preview

Section titled “POST /api/pipelines/{id}/transform-preview”

Preview a transform step: its compiled SQL, and rows from the last run’s data

Path parameters

Name Type Required Description
id string yes

Request body (JSON)

Field Type Required Description
stepId string yes
dag object no
limit integer no

Responses: 200 · 400 · 401 · 404 · 422

Validate a DAG (the given one, or the stored one) without saving

Path parameters

Name Type Required Description
id string yes

Request body (JSON)

Field Type Required Description
dag object no

Responses: 200 · 400 · 401 · 404

The webhook trigger URL for this pipeline

Path parameters

Name Type Required Description
id string yes

Responses: 200 · 400 · 401 · 404 · 503

Trigger a pipeline from an external system (token-guarded)

Path parameters

Name Type Required Description
id string yes

Query parameters

Name Type Required Description
token string no

Responses: 201 · 400 · 401 · 404 · 409 · 429 · 503

List CDC streams

Responses: 200 · 400 · 401

Create a CDC stream (postgres-family sources, v1)

Request body (JSON)

Field Type Required Description
sourceId string yes
streamId string yes
tables array of string yes

Responses: 201

Enable or disable a CDC stream

Path parameters

Name Type Required Description
id string yes

Request body (JSON)

Field Type Required Description
enabled boolean yes

Responses: 200

Delete a CDC stream (its capture container is removed on the next reconcile)

Path parameters

Name Type Required Description
id string yes

Responses: 204 — No content · 401 · 404

The flowlet library (latest version of each)

Responses: 200 · 400 · 401 · 404

Save a flowlet — a new version if the name already exists

Responses: 201 · 400 · 401 · 409 · 422

One flowlet version by id

Path parameters

Name Type Required Description
id string yes

Responses: 200 · 400 · 401 · 404

Retire a flowlet (all versions) from the library

Path parameters

Name Type Required Description
id string yes

Responses: 204 · 404

POST /api/pipelines/flowlets/{id}/instantiate

Section titled “POST /api/pipelines/flowlets/{id}/instantiate”

Instantiate a flowlet version with arguments → concrete ops

Path parameters

Name Type Required Description
id string yes

Request body (JSON)

Field Type Required Description
params object no

Responses: 200 · 400 · 401 · 404 · 422

Version history for the flowlet’s name

Path parameters

Name Type Required Description
id string yes

Responses: 200 · 400 · 401 · 404

Per-pipeline data-quality gate health for the workspace

Query parameters

Name Type Required Description
days integer no

Responses: 200 · 400 · 401 · 404

Get one run with its step runs

Path parameters

Name Type Required Description
runId string yes

Responses: 200 · 400 · 401 · 404

Cancel a queued/running run (cooperative via the orchestration plane)

Path parameters

Name Type Required Description
runId string yes

Responses: 200 · 400 · 401 · 404 · 409

Live run/step events (SSE; ends when the run reaches a terminal status)

Path parameters

Name Type Required Description
runId string yes

Responses: 200

Retry a failed run (re-queues the same run row; worker owns attempt semantics)

Path parameters

Name Type Required Description
runId string yes

Responses: 200 · 400 · 401 · 404 · 409 · 503

GET /api/pipelines/runs/{runId}/steps/{stepId}/logs

Section titled “GET /api/pipelines/runs/{runId}/steps/{stepId}/logs”

The log tail a step attempt produced

Path parameters

Name Type Required Description
runId string yes
stepId string yes

Query parameters

Name Type Required Description
attempt integer no

Responses: 200 · 400 · 401 · 404

Current-month pipeline usage per workspace (admin)

Responses: 200 · 400 · 401 · 404

Per-pipeline and per-sink usage for a month (admin)

Query parameters

Name Type Required Description
month string no

Responses: 200 · 400 · 401 · 403 · 404

Execution-plane availability (Run-now preflight)

Responses: 200 · 400 · 401 · 404