Rollouts & Jobs
Rollouts apply a change to many devices in waves; jobs are the individual commands sent to each device.
Rollouts
Section titled “Rollouts”Rollout endpoints are organization-scoped under /orgs/:orgId.
| Method | Path | Description |
|---|---|---|
GET | /orgs/:orgId/rollouts | List rollouts |
POST | /orgs/:orgId/rollouts | Create a rollout (starts as a draft) |
POST | /orgs/:orgId/rollouts/:id/start | Start the rollout by dispatching the canary |
POST | /orgs/:orgId/rollouts/:id/advance | Release the next wave |
POST | /orgs/:orgId/rollouts/:id/pause | Pause the rollout |
POST | /orgs/:orgId/rollouts/:id/cancel | Cancel the rollout |
Create a rollout
Section titled “Create a rollout”POST /orgs/:orgId/rolloutsContent-Type: application/json
{ "kind": "apply_config", "name": "Q3 config refresh"}A rollout applies a config, a firmware update, a reboot, or a speed test. The request kind uses the values apply_config, firmware_update, reboot, and speedtest. You target a group or a set of devices, and choose how large the canary and each wave should be. Start the rollout, review the canary’s jobs, then advance wave by wave - pausing or cancelling if needed.
| Method | Path | Description |
|---|---|---|
GET | /jobs | List jobs |
POST | /jobs | Dispatch a job to a single device |
List jobs
Section titled “List jobs”GET /jobs?orgId=<uuid>&deviceId=<uuid>Filter by organization and device. Each job reports a status of pending, running, succeeded, failed, or canceled, along with timing and any error.
Dispatch a job
Section titled “Dispatch a job”POST /jobsContent-Type: application/json
{ "deviceId": "<uuid>", "kind": "reboot"}Common kind values are reboot, apply_config, firmware_update, and speedtest.