Skip to main content

Pipelines API

Create Pipeline

POST /pipelines
Authorization: Bearer <token>

Request Body

{
"name": "My Pipeline",
"description": "ETL pipeline for sales data",
"nodes": [
{
"id": "source-1",
"type": "source",
"data": {
"source_type": "csv",
"content": "id,name,amount\n1,Test,100"
}
}
],
"edges": []
}

Response

{
"data": {
"id": "uuid",
"name": "My Pipeline",
"nodes": [...],
"edges": [...],
"created_at": "2024-01-15T10:00:00Z"
}
}

Run Pipeline

POST /pipelines/{id}/run
Authorization: Bearer <token>

Response

{
"data": {
"run_id": "run-uuid",
"status": "STARTED",
"started_at": "2024-01-15T10:00:00Z"
}
}

Get Pipeline Status

GET /pipelines/{id}/runs/{run_id}

Response

{
"data": {
"run_id": "run-uuid",
"status": "COMPLETED",
"started_at":01-15T "2024-10:00:00Z",
"completed_at": "2024-01-15T10:05:00Z",
"duration_seconds": 300,
"nodes": [
{
"node_id": "source-1",
"status": "COMPLETED",
"input_rows": 1000,
"output_rows": 1000
}
]
}
}

List Pipelines

GET /pipelines?limit=20&offset=0

Response

{
"data": [
{
"id": "uuid",
"name": "Pipeline 1",
"description": "...",
"created_at": "2024-01-15T10:00:00Z"
}
],
"count": 50
}