Gets the eligible firmware artifact
GET/iot/firmwares/:firmwareId/artifact
Returns the selected artifact in the response body. Supports conditional and byte-range requests.
Fetches firmware for an app or other authenticated user without a thing or bootstrap record. Send the installed firmware version in the Version header to select the next eligible release, respecting mandatory intermediate upgrades and version constraints. Omit Version to select the firmware's active release. A supplied version with no eligible upgrade returns 204 No Content.
If-None-Match is a normal HTTP cache validator; it does not specify the installed version. Use the ETag returned by HEAD with If-Match on GET to require the same selected release.
Required Permission:
-
Resource:
core:firmwares:{firmwareId} -
Action:
core:firmwares:download
Request
Responses
- 200
- 204
- 206
- 304
- 400
- 401
- 403
- 404
- 412
- 416
- 500
Firmware artifact or requested byte ranges.
Response Headers
Size of the firmware artifact in bytes.
Firmware checksum as sha256=
Inclusive minimum installed version, when configured.
Exclusive maximum installed version, when configured.
Quoted selected-release version.
Byte positions and full file size for single-range 206 responses.
No eligible upgrade for the supplied Version.
Firmware artifact or requested byte ranges.
Response Headers
Size of the firmware artifact in bytes.
Firmware checksum as sha256=
Inclusive minimum installed version, when configured.
Exclusive maximum installed version, when configured.
Quoted selected-release version.
Byte positions and full file size for single-range 206 responses.
Selected release is unchanged.
Invalid firmware ID or installed Version.
Missing or invalid user credentials at the gateway.
Invalid user context or denied access.
Firmware configuration, active release, or artifact is unavailable.
Selected release does not match If-Match.
Requested byte range is not satisfiable.
Firmware service or authorization lookup failed.