Create custom firmware
The following sample request creates a new custom firmware that can be used later to update any devices in your account that match the firmware’s vendor ID and device type.
Request
POST /ws/v1/firmware/inventory/{vendor_id}/{device_type}?firmware_version={firmware_version}&information_link={information_link}&security_related={security_related}
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
vendor_id | hex string | Yes | The vendor ID of the firmware (for example: FE00000A). It must be one of the Digi system vendor IDs or the custom vendor ID registered in your account. |
device_type | string | Yes | The device type of the firmware. |
firmware_version | string | Yes | The version of the firmware following the format X.X.X.X (X between 0 and 255). |
information_link | string | Yes | URL of the firmware release notes. |
security_related | string | Yes | The CVSS score of the firmware: not-identified , none , low , medium , high or critical . |
artifact_id | string | No | The artifact ID of the firmware. Do not specify the artifact ID for the main firmware image, that is, the image that will be sent to the device. |
device_type_internal | integer | No | The device type internal (hardware version) of the firmware, from 0x00 to 0xFF . Only applicable for XBee firmware. |
production | boolean | No | true to mark the firmware as production, false to mark it as non-production. It defaults to true . |
deprecated | boolean | No | true to mark the firmware as deprecated, false to mark it as non-deprecated. It defaults to false . |
filename | string | No | The filename of the firmware. If no filename is provided, <device_type>-<firmware_version>.bin is used. |
sha_512 | string | No | The SHA-512 of the firmware. If no SHA-512 is provided, it is calculated automatically. |
sha3_512 | string | No | The SHA3-512 of the firmware. If no SHA3-512 is provided, it is calculated automatically. |
shared | string | No | A comma-separated list of subaccount customer IDs to share the custom firmware with. It can also be all to share the firmware with all subaccounts. If no shared is provided, the firmware is not shared with any subaccount. |
download_allowed | boolean | No | true to allow subaccounts to download the firmware, false to disallow it. It defaults to true . This option is used to restrict the download, not the use to update devices. The firmware must be shared with at least one subaccount to use it. |
Payload
The request body must be the firmware binary file (setting the Content-Type
header to application/octet-stream
) or the firmware content encoded in base64.
Response
{
"location": "https://remotemanager.digi.com/ws/v1/firmware/image/343236313933373135350a444559206465766963650a38333838363038300a0a0a0a313638313733353137313638380a32",
"vendor_id": 4261937155,
"type": "DEY device",
"firmware_version": "5.0.0.0",
"file_size": 45223,
"production": true,
"deprecated": false,
"filename": "DEYdevice-5.0.0.0.bin",
"information_link": "https://www.digi.com",
"security_related": "none",
"sha_512": "861844d6704e8573fec34d967e20bcfef3d424cf48be04e6dc08f2bd58c729743371015ead891cc3cf1c9d34b49264b510751b1ff9e537937bc46b5d6ff4ecc8",
"sha3_512": "32400b5e89822de254e8d5d94252c52bdcb27a3562ca593e980364d9848b8041b98eabe16c1a6797484941d2376864a1b0e248b0f7af8b1555a778c336a5bf48",
"firmware_status": "up_to_date",
"customer_id": 2
}