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
}