REST Endpoints
Sed ut perspiciatis unde omnis iste natus error. A partial reference of the most commonly used endpoints.
List pipelines
GET /api/v1/pipelines
curl -sS https://acme.flux.commercemind.se/api/v1/pipelines \
-H "Authorization: Bearer $FLUX_TOKEN" | jq .
Response:
{
"data": [
{
"id": "orders.ingest",
"schedule": "*/5 * * * *",
"enabled": true,
"last_run_at": "2026-04-23T14:21:07Z",
"last_status": "succeeded"
},
{
"id": "invoices.close-of-day",
"schedule": "0 23 * * *",
"enabled": true,
"last_run_at": "2026-04-23T23:00:12Z",
"last_status": "succeeded"
}
],
"has_more": false
}
Trigger a run
POST /api/v1/pipelines/{id}/runs
Content-Type: application/json
curl -sS -X POST \
https://acme.flux.commercemind.se/api/v1/pipelines/orders.ingest/runs \
-H "Authorization: Bearer $FLUX_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "reason": "manual-backfill", "params": { "since": "2026-04-22" } }'
{
"id": "01J8AZX4K5PQC3D7X5YJ6V",
"pipeline_id": "orders.ingest",
"status": "pending",
"created_at": "2026-04-24T09:12:33Z"
}
Get run status
GET /api/v1/runs/{id}
Returned payload includes every step event:
{
"id": "01J8AZX4K5PQC3D7X5YJ6V",
"status": "running",
"started_at": "2026-04-24T09:12:34Z",
"steps": [
{ "id": "fetch", "status": "succeeded", "duration_ms": 412 },
{ "id": "normalize", "status": "running" }
]
}
C# client
using Flux.Client;
var client = new FluxClient(new FluxClientOptions
{
BaseUrl = new Uri("https://acme.flux.commercemind.se/"),
ApiToken = Environment.GetEnvironmentVariable("FLUX_TOKEN")!,
});
var run = await client.Pipelines.TriggerAsync(
pipelineId: "orders.ingest",
reason: "manual-backfill",
parameters: new { since = "2026-04-22" });
Console.WriteLine($"Triggered run {run.Id}");