GET /api/v1/pipelines
List all pipelines with their nodes, edges, connector, and schema references.Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
limit | integer | 20 | Max results per page |
cursor | string | — | Cursor for pagination |
Response
POST /api/v1/pipelines
Create a new pipeline with optional nodes and edges.Request Body
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Pipeline name |
connectorId | string | Yes | Source connector ID |
schemaId | string | Yes | Target schema ID |
description | string | No | Description |
schedule | string | No | Cron expression for scheduled execution |
executionConfig | object | No | Execution settings (batchSize, parallelism, partitioning) |
nodes | array | No | Pipeline flow nodes (see node object) |
edges | array | No | Connections between nodes |
Node Object
| Field | Type | Description |
|---|---|---|
id | string | Temporary node ID (used for edge mapping) |
nodeType | string | Node type: "source", "transform", "filter", "target", etc. |
label | string | Display label |
config | object | Type-specific configuration |
position | object | { x: number, y: number } for visual editor |
Edge Object
| Field | Type | Description |
|---|---|---|
source | string | Source node temp ID |
target | string | Target node temp ID |
label | string | Edge label |
Example
201 Created
PUT /api/v1/pipelines
Update a pipeline. Whennodes are provided, existing nodes and edges are replaced entirely.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Pipeline ID |
name | string | No | Updated name |
description | string | No | Updated description |
schedule | string | No | Updated cron schedule |
executionConfig | object | No | Updated execution config |
nodes | array | No | Replaces all nodes |
edges | array | No | Replaces all edges (requires nodes) |
200 OK
DELETE /api/v1/pipelines
Delete a pipeline and its nodes/edges.| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Pipeline ID (query parameter) |
204 No Content
POST /api/v1/pipelines//run
Trigger a pipeline execution. Creates aPipelineRun record and enqueues the job via BullMQ for worker pod processing.
Response
201 Created
GET /api/v1/pipelines//runs
List recent execution runs for a pipeline (last 20 runs, newest first).Response
Roles
| Endpoint | Allowed Roles |
|---|---|
GET /pipelines | admin, editor, viewer |
POST /pipelines | admin, editor |
PUT /pipelines | admin, editor |
DELETE /pipelines | admin, editor |
POST /pipelines/{id}/run | admin, editor |
GET /pipelines/{id}/runs | any authenticated |