Skip to content

Pipelines API

Create a new pipeline.

{
"name": "HubSpot to BigQuery",
"config": {
"name": "hubspot-contacts",
"source": {
"name": "hubspot",
"stream": "contacts",
"authentication": {
"type": "api_key",
"params": { "token": "pat-xxx" }
}
},
"destination": {
"name": "bigquery",
"config": {
"project_id": "my-project",
"dataset": "raw_data"
}
}
},
"schedule": "0 */6 * * *",
"enabled": true,
"domain_id": "uuid"
}

Note: The config field is encrypted at rest. The full config is only returned on GET /api/pipelines/{id}.

List all pipelines in the organization.

Query Parameters:

ParameterTypeDefaultDescription
limitint100Maximum results
offsetint0Pagination offset
domain_iduuidnullFilter by domain
[
{
"id": "uuid",
"name": "HubSpot to BigQuery",
"schedule": "0 */6 * * *",
"enabled": true,
"domain_id": "uuid",
"domain_name": "Marketing",
"last_run_status": "success",
"last_run_at": "2024-01-15T16:00:00Z",
"created_at": "2024-01-15T10:00:00Z"
}
]

Get a pipeline by ID, including full config.

{
"id": "uuid",
"name": "HubSpot to BigQuery",
"config": {
"name": "hubspot-contacts",
"source": { ... },
"destination": { ... }
},
"schedule": "0 */6 * * *",
"enabled": true,
"domain_id": "uuid",
"created_at": "2024-01-15T10:00:00Z",
"updated_at": null
}

Update a pipeline.

{
"name": "HubSpot Contacts (Production)",
"schedule": "0 */4 * * *",
"enabled": false
}

Delete a pipeline and all its runs.

Returns 204 No Content.

Trigger a pipeline run manually.

{
"id": "uuid",
"pipeline_id": "uuid",
"status": "pending",
"triggered_by": "manual",
"created_at": "2024-01-15T10:30:00Z"
}

Create a copy of a pipeline.

{
"name": "HubSpot to BigQuery (Copy)" // optional, auto-generated if omitted
}

List runs for a pipeline.

Query Parameters:

ParameterTypeDefaultDescription
limitint100Maximum results
offsetint0Pagination offset
statusstringnullFilter by status
[
{
"id": "uuid",
"pipeline_id": "uuid",
"status": "success",
"triggered_by": "schedule",
"started_at": "2024-01-15T16:00:00Z",
"finished_at": "2024-01-15T16:05:23Z",
"error": null,
"created_at": "2024-01-15T16:00:00Z"
}
]

Get run details.

{
"id": "uuid",
"pipeline_id": "uuid",
"status": "success",
"triggered_by": "manual",
"started_at": "2024-01-15T16:00:00Z",
"finished_at": "2024-01-15T16:05:23Z",
"error": null,
"output_file": "outputs/uuid/output.parquet",
"output_file_size": 1048576
}

Get run logs.

{
"logs": "2024-01-15 16:00:00 INFO Starting pipeline...\n..."
}

Download run output file. Returns file with appropriate Content-Type.

Cancel a running pipeline.

{
"status": "cancelled"
}
StatusDescription
pendingQueued, waiting for worker
runningCurrently executing
successCompleted successfully
failedFailed with error
cancelledManually cancelled