Pushes a firmware image to the device over the local network to perform an
over-the-air update. The device verifies the package, flashes it, and reboots
automatically on success.
Firmware package format depends on the device model. The accepted
extension is one of .bin, .tar, or .zip — the caller is expected to
fetch the correct package for the target device (typically resolved from
screen_model / board_model returned by /deviceInfo) and upload it as-is.
Do not transcode or repack.
| Extension | Typical usage |
|---|---|
.bin | Single-image firmware (legacy / smaller boards). |
.tar | Multi-partition bundle (newer boards with separate assets). |
.zip | Compressed bundle (boards that ship resources alongside fw). |
Request: multipart/form-data with a single part named update
containing the firmware bytes. The filename in the multipart part
should carry the correct extension (e.g. firmware.bin, firmware.tar,
firmware.zip) so the device can dispatch the right handler.
Recommended client timeouts: send ≥ 2 minutes (large packages over
Wi-Fi), receive ≥ 30 seconds (device responds after verification, before
reboot).
Behavior: the device returns {"status": "ok"} after the package is
accepted and staged. The actual flash + reboot happens immediately after
the response; the device will be unreachable for a short window during reboot.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
400Rejected — malformed package, unsupported extension, or signature/version mismatch.
500Internal error while writing the package to flash.
