curl --request POST \
--url https://api.example.com/api/v1/runs/{id}/start \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"resume": false
}
'{
"id": "01JNQVR7M0EJ5GKAT2SC4ERS1Z",
"status": {
"kind": "submitted"
},
"created_at": "2026-03-06T14:30:00Z",
"error": {
"message": "Stage 'apply-changes' exceeded maximum retries."
},
"queue_position": 3,
"pending_control": "cancel"
}Starts a submitted run, queuing it for execution. Provide resume=true to resume an interrupted run from checkpoint. Returns 409 if the run is not startable.
curl --request POST \
--url https://api.example.com/api/v1/runs/{id}/start \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"resume": false
}
'{
"id": "01JNQVR7M0EJ5GKAT2SC4ERS1Z",
"status": {
"kind": "submitted"
},
"created_at": "2026-03-06T14:30:00Z",
"error": {
"message": "Stage 'apply-changes' exceeded maximum retries."
},
"queue_position": 3,
"pending_control": "cancel"
}Raw dev token passed as Authorization: Bearer fabro_dev_... when server.auth.methods includes dev-token.
Unique run identifier (ULID).
Request body for starting or resuming a run.
Resume from checkpoint instead of starting from submitted state.
Run started
Current status of a run with optional error and queue position.
Unique run identifier (ULID).
"01JNQVR7M0EJ5GKAT2SC4ERS1Z"
Lifecycle status of a run. archived is a terminal status reached by an explicit user action on a previously terminal (succeeded, failed, or dead) run; archived runs are hidden from default listings and are read-only until unarchived.
Show child attributes
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 the status kind is queued.
3
Run control action requested by the API.
cancel, pause, unpause