List firmware versions across fleet
GET /api/v1/cpo/fleet/firmware
Returns a list of all distinct firmware versions currently running in your fleet along with the chargers on each version.
string
Filter results to chargers at a specific site.
string
Filter by charger vendor/manufacturer.
object[]
Create a firmware rollout
POST /api/v1/cpo/firmware/rollout
Defines and schedules a new firmware update rollout. The rollout does not begin automatically — call the execute stage endpoint to start it.
Three rollout strategies are available:
- canary — deploys to a small initial subset, then waits for manual promotion before continuing to the rest
- rolling — deploys to chargers in sequential batches of a configurable size
- all_at_once — deploys to all specified chargers simultaneously
string[]
required
List of
charge_point_id values to include in the rollout.string
required
HTTPS URL where chargers can download the firmware file. Must be publicly reachable by chargers.
string
required
Rollout strategy. Accepted values:
canary, rolling, all_at_once.number
Number of chargers per batch. Used by the
rolling strategy. Defaults to 10% of total chargers.number
default:"1"
Number of chargers in the initial canary stage. Used by the
canary strategy.string
ISO 8601 date/time chargers should start downloading the firmware. Defaults to immediately on execution.
string
Unique identifier for the rollout.
string
Overall rollout status. One of:
pending, in_progress, paused, completed, failed.object[]
Get rollout status
GET /api/v1/cpo/firmware/rollout/{rollout_id}
Returns the current status of a rollout and per-charger progress.
string
required
The unique identifier of the rollout.
Execute rollout stage
POST /api/v1/cpo/firmware/rollout/{rollout_id}/execute-stage
Advances the rollout to the next pending stage. For a canary rollout, call this once to deploy to the canary group, verify results, then call it again to release to the remaining chargers. For a rolling rollout, each call releases the next batch.
string
required
The unique identifier of the rollout.
number
The stage number that was just triggered.
string[]
Chargers in the stage that have been sent the update command.
Pause a rollout
POST /api/v1/cpo/firmware/rollout/{rollout_id}/pause
Pauses an in-progress rollout. Chargers that are already downloading or installing will complete their current operation, but no new chargers will be triggered. Call execute stage to resume.
string
required
The unique identifier of the rollout.
string
Optional explanation for why the rollout was paused. Stored for audit purposes.