Skip to main content

List Pipelines

Returns all pipelines, optionally filtered by project.
curl -X GET http://localhost:8080/api/pipelines?project_id=proj-123

Query Parameters

project_id
string
Filter by project ID

Response

pipelines
array
Array of pipeline objects

Create Pipeline

Creates a new pipeline.
curl -X POST http://localhost:8080/api/pipelines \
  -H "Content-Type: application/json" \
  -d '{
    "project_id": "proj-123",
    "name": "Sensor Data Ingestion",
    "type": "ingestion",
    "description": "Ingest IoT sensor data from MQTT broker",
    "steps": [
      {
        "name": "read_mqtt",
        "plugin": "mqtt",
        "action": "subscribe",
        "parameters": {
          "broker": "mqtt://broker.example.com",
          "topic": "sensors/#"
        },
        "output": {
          "messages": "mqtt_messages"
        }
      },
      {
        "name": "transform",
        "plugin": "transform",
        "action": "convert_to_cir",
        "parameters": {
          "input": "{{mqtt_messages}}",
          "format": "json"
        }
      }
    ]
  }'

Request Body

project_id
string
required
Project ID to associate with
name
string
required
Pipeline name
type
string
required
Pipeline type: ingestion, processing, or output
description
string
Pipeline description
steps
array
required
Array of pipeline steps

Response

Returns the created pipeline object.

Execute Pipeline

Enqueues a pipeline for asynchronous execution by a worker.
curl -X POST http://localhost:8080/api/pipelines/execute \
  -H "Content-Type: application/json" \
  -d '{
    "pipeline_id": "pipe-123",
    "trigger_type": "manual",
    "triggered_by": "[email protected]",
    "parameters": {
      "start_date": "2024-01-01"
    }
  }'

Request Body

pipeline_id
string
required
Pipeline ID to execute
trigger_type
string
required
Trigger type: manual, scheduled, or automatic
triggered_by
string
User or system that triggered execution
parameters
object
Runtime parameters to pass to the pipeline

Response

Returns a work task object representing the queued execution:
worktask_id
string
Work task ID
type
string
Always pipeline_execution
status
string
Current status: queued, scheduled, spawned, executing, completed, failed, timeout, or cancelled
priority
number
Task priority (higher = higher priority)
submitted_at
string
ISO 8601 timestamp
project_id
string
Project ID
task_spec
object
Task-specific parameters including pipeline_id

Get Pipeline

Returns a single pipeline by ID.
curl -X GET http://localhost:8080/api/pipelines/pipe-123

Path Parameters

id
string
required
Pipeline ID

Response

Returns the pipeline object (see List Pipelines for schema).

Update Pipeline

Updates a pipeline’s description, steps, or status.
curl -X PUT http://localhost:8080/api/pipelines/pipe-123 \
  -H "Content-Type: application/json" \
  -d '{
    "description": "Updated description",
    "status": "active"
  }'

Path Parameters

id
string
required
Pipeline ID

Request Body

All fields are optional. Only provided fields will be updated.
description
string
New description
steps
array
New steps array (replaces existing steps)
status
string
New status: active, inactive, or draft

Response

Returns the updated pipeline object.

Delete Pipeline

Deletes a pipeline.
curl -X DELETE http://localhost:8080/api/pipelines/pipe-123

Path Parameters

id
string
required
Pipeline ID

Response

Returns 204 No Content on success.

Build docs developers (and LLMs) love