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
}