Create a Task Run

View as Markdown
Create a Task Run: a phased, policy-gated execution of one operation across many Racks. The configuration is validated server-side by Flow; on validation failure no state changes. A Task Run executes exactly one operation (currently firmware) over a candidate set of Racks, narrowed by an optional `selector` and divided into phases by an optional `options.phasePolicy`. The response echoes the assigned `id`; the Task Run always starts in the `Pending` state. Poll `GET /task/run/{id}` for progress. Org must have an Infrastructure Provider entity. User must have authorization role with `PROVIDER_ADMIN` suffix.

Authentication

AuthorizationBearer
``` export JWT_BEARER_TOKEN="<jwt-bearer-token>" # Example org name: "acme-inc export ORG_NAME=<org-name> # Use the JWT bearer token in your API request auth header: curl -v -X GET -H "Content-Type: application/json" -H "Authorization: Bearer $JWT_BEARER_TOKEN" https://nico-rest-api.nico.svc.cluster.local/v2/org/$ORG_NAME/nico/user/current ```

Path parameters

orgstringRequired
Name of the Org

Request

This endpoint expects an object.
siteIdstringRequiredformat: "uuid"
ID of the Site to create the Task Run on.
namestringRequired

Human-readable name of the Task Run.

optionsobjectRequired
Execution policy for the Task Run.
operationobjectRequired
The operation the Task Run executes. Firmware is the only supported operation today.
descriptionstringOptional

Optional free-form description.

selectorobjectOptional

Narrows the candidate Racks. Omit to target the full candidate scope (100%).

Response

Task Run was created.
idstringformat: "uuid"
Unique identifier of the Task Run.
namestring

Human-readable name of the Task Run.

operationTypeenum

Type of operation this Task Run executes. Currently always FirmwareControl.

statusenum
Current lifecycle state of the Task Run.
statusReasonenum

Why the Task Run is paused or terminal (e.g. PhaseGate, SafetyGate). None when there is no qualifying reason.

totalPhasesinteger
Total number of phases the selected targets were divided into.
createddatetime
Timestamp when the Task Run was created.
updateddatetime
Timestamp when the Task Run was last updated.
descriptionstring

Optional free-form description.

operationCodestring

Operation code within the operation type (e.g. upgrade).

statusMessagestring

Optional human-readable detail for the current status.

starteddatetime or null
Timestamp when the Task Run started execution. Null before it starts.
finisheddatetime or null
Timestamp when the Task Run reached a terminal state. Null while active.
statsobject

Derived per-phase outcome stats. Present only on the single-Task-Run GET when includeStats=true; omitted otherwise.

Errors

400
Bad Request Error
403
Forbidden Error