Check the firmware update state and install a firmware package
A firmware package (.spk file) is uploaded to the device and installed by the hardware controller service. While the installation runs, the general state of the device (see State) is updating; a second update request is rejected. After a successful installation the device reboots into the new firmware.
Path: /api/system/firmware_update
Method: GET
Minimum user role: admin
Response on success (200 OK):
{
"message": "Success",
"data": {
"state": "ready",
"message": "Ready to receive an update.",
"last_error_message": "",
"is_update_available": false,
"latest_version": "6.2.1",
"local_source": false
}
}state - ready, downloading, installing, error or donemessage - human-readable description of the statelast_error_message - message of the last failed update, empty if noneis_update_available - true if a newer firmware is known to the devicelatest_version - the newest firmware version known to the device, or nulllocal_source - true while an uploaded package is being installedPath: /api/system/firmware_update/by_file
Method: POST
Minimum user role: admin
Request body: multipart/form-data with one file part named file containing the firmware package (.spk), at most 3 GiB
Response on success (200 OK): on IOTA 10 CORE PLUS the installation runs synchronously and the response is returned when it has finished, which can take up to two minutes; on IOTA 100 CORE the response {"message": "Successfully initiated a firmware update."} is returned immediately and the progress is followed with the GET endpoint above
Response on failure:
{"message": "No file was uploaded.", "data": null} when the body has no file partThe system is busy, see general_state.state when another operation is in progressThe firmware is already being updated. when an update is runningNotes: the package is verified before installation (signature, platform, version not older than the installed one, active license with a maintenance period covering the release date). The device reboots when the installation succeeds.
Example:
curl -k -X POST -H "authorization: <token>" -F "file=@iota-firmware.spk" https://<ip-address>/api/system/firmware_update/by_file