The existing product feature set was based on managing software/firmware for compatible OMA-DM and LWM2M devices using Firmware-over-the-Air (FOTA) technology. When LWM2M or OMA-DM campaigns begin, the respective service sends a message to the device and instructs it to fetch the new firmware update (push-based). Those capabilities still exist and are accessible via the /v1 set of APIs.
This release introduces an entirely new system and stack for managing software/firmware on compatible devices. The new system and stack is dependent on device-client compatibility:
The new APIs are very familiar but have some different features. One notable difference with the new system is that the campaign time is dependent 1) on when the campaign windows are set and 2) how often the devices check-in (pull-based) inside the desired campaign windows.
The following /v2 APIs are now available for devices using HTTP-based FOTA. They are similar to the existing OMA-DM- and LWM2M-based FOTA, but you should review the API Reference to understand the nuances, particularly the change in the endpoint URIs.
GET /subscriptions/{acc}
GET /licenses/{acc}
POST /licenses/{acc}/assign
POST /licenses/{acc}/remove
POST /campaigns/{acc}
GET /campaigns/{acc}/{campaignId}
DELETE /campaigns/{acc}/{campaignId}
PUT /campaigns/{acc}/{campaignId}
PUT /campaigns/{acc}/{camapignId}/dates
POST /callbacks/{acc}
PUT /callbacks/{acc}
GET /callbacks/{acc}
DELETE /callbacks/{acc}
GET /software/{acc}
GET /devices/{acc}
GET /reports/{acc}/devices/{deviceId}
GET /reports/{acc}/campaigns
GET /reports/{acc}/campaigns/{campaignId}/devices
GET /logging/{acc}/devices
PUT /logging/{acc}/devices
DELETE /logging/{acc}/devices
PUT /logging/{acc}/devices/{deviceId}
DELETE /logging/{acc}/devices/{deviceId}
GET /logging/{acc}/devices/{deviceId}/logs
GET /logging/{acc}/devices/{deviceId}/checkInHistory
GET /devices/{account}
clientType
query string to only return devices of the specified client type (device management protocol).GET /firmware/{account}
clientType
query string to only return firmware that is applicable to the specified client type (device management protocol).POST /callbacks/{account}
GET /devices/{account}
PUT /upgrades/{account}/upgrade/{upgradeId}
{"success": true}
for successful completion:DELETE /licenses/{account}/cancel
DELETE /callbacks/{account}/name/{service}
DELETE /upgrades/{account}/upgrade/{upgradeId}
DELETE /licenses/{account}/cancel
Deletes the entire list of cancellation candidate devices.Initial release of the ThingSpace Software Management Services API.