graphicx.io offers a REST API to host your firmware binaries, or more generally speaking, software binaries, which your devices may find there for download.
Coordinates
The coordinates of such binaries stored in graphicx.io are described in the following table:
Name | Description | Constraints | Example Value |
space_uuid | UUID of the Space the firmware is associated with. | This must be the string representation of a the UUID of a Space. | 21d9ff35-da12-477e-bc15-bd2067bc391f |
tag | A tag for the firmware. This can be considered to be a name or alternative name for your firmware. You can choose it freely. | Keep in mind that this will be an element of the URL paths to the firmware. | my-device-firmware |
version | A version, for example following semantic versioning. | Keep in mind that this will be an element of the URL paths pointing to the firmware version. | 1.0.2 |
Routes
You may upload binaries via POST request. Here we give you an example based on the command curl, where the backslash character at the end of a line is the line continuation character commonly used to fit listings on a page:
curl --user {user}:{password} -L -X POST -H "Content-Type: application/octet-stream" \ --data-binary @my-firmware-v1.bin https://{hostname}/firmware/{space_uuid}/{tag}/image/{version}
The values for {user}, {password}, {hostname} you get from us on request by email. Please write a separate email to credentials@nexocraft.de if you wish to use the firmware management.
You may query the list of available tags via GET request to:
/firmware/space/{space_uuid}/tags
You may query the list of available versions via GET request to:
/firmware/space/{space_uuid}/{tag}/versions
Finally, you may load an existing binary via GET request to:
/firmware/space/{space_uuid}/{tag}/image/{version}
All binaries are transported and stored in accordance to the Internet standard Media Type application/octet-stream as a simple stream of bytes.