Update firmware

Keep your fleet current without touching it. Upload a firmware build, hand it to a device over the air, and let the device verify and apply it.

Versioned firmware artifacts

A Firmware artifact is a binary with a name, a version, a size, and a SHA-256 checksum. You upload a build once; the checksum travels with it so a device can prove it received the bytes intact before flashing.

Rolling out an update

You tell a device to update with an UPDATE_FIRMWARE command that carries the target version, a download location, and the expected checksum. The device fetches the build, checks the checksum, and applies it — reporting back through the same command lifecycle as any other instruction.

Devices download in one of two ways: a short-lived presigned URL straight from object storage, or — for constrained devices that can't reach storage directly — a time-limited download token that streams the binary through the platform.

In the API

  • POST /api/v1/firmware — upload a build (multipart: file, name, version, description)
  • GET /api/v1/firmware — list builds; filter by name or version
  • GET /api/v1/firmware/{id}/download-url — a presigned download URL (valid about an hour)
  • GET /api/v1/firmware/download/{token} — token-authenticated streaming download for devices
  • PUT /api/v1/firmware/{id} — update the description; DELETE …/{id} removes a build
  • POST /api/v1/devices/{deviceId}/commands — send UPDATE_FIRMWARE to a device

Was this page helpful?