curl --request POST \
--url https://api.example.com/runs \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"dot_source": "digraph { start [shape=Mdiamond]; exit [shape=Msquare]; start -> exit }"
}
'{
"id": "01JNQVR7M0EJ5GKAT2SC4ERS1Z",
"status": "queued",
"created_at": "2026-03-06T14:30:00Z",
"error": {
"message": "Stage 'apply-changes' exceeded maximum retries."
},
"queue_position": 3
}Queues a new workflow run from a DOT graph source. The run is created in queued status and will be picked up by the scheduler.
curl --request POST \
--url https://api.example.com/runs \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"dot_source": "digraph { start [shape=Mdiamond]; exit [shape=Msquare]; start -> exit }"
}
'{
"id": "01JNQVR7M0EJ5GKAT2SC4ERS1Z",
"status": "queued",
"created_at": "2026-03-06T14:30:00Z",
"error": {
"message": "Stage 'apply-changes' exceeded maximum retries."
},
"queue_position": 3
}JWT bearer token issued by fabro-web. See the Authentication guide for details.
Request body for starting a new run from a DOT graph source.
DOT language source defining the workflow graph.
"digraph { start [shape=Mdiamond]; exit [shape=Msquare]; start -> exit }"
Run created
Current status of a run with optional error and queue position.
Unique run identifier (ULID).
"01JNQVR7M0EJ5GKAT2SC4ERS1Z"
Lifecycle status of a run.
queued, starting, running, completed, failed, cancelled, paused Timestamp when the run was created.
"2026-03-06T14:30:00Z"
Error information for a failed run.
Show child attributes
Position in the queue (1-based). Only present when status is queued.
3