What's new

What’s new in the Software Management Services API

09/30/20 - Version 2.33

HTTP Software Management

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:

  • If the devices are certified with a Verizon HTTP(S) FOTA client, they use a new system and access a new and different set of APIs via a /v2 reference path.
  • If the devices are LWM2M or OMA-DM devices, the features and APIs have not changed.

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.

New Resources

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.

  • Subscriptions
    • Retrieves the number of FOTA subscriptions for HTTP devices by account
      • GET /subscriptions/{acc}
  • Licenses
    • Returns information about an account’s Software Management Services licenses and a list of licensed devices.
      • GET /licenses/{acc}
    • Assign FOTA licenses to devices
      • POST /licenses/{acc}/assign
    • Remove FOTA licenses from devices
      • POST /licenses/{acc}/remove
  • Campaigns
    • Schedule a software upgrade for HTTP devices.
      • POST /campaigns/{acc}
    • Get information about a specified upgrade, including the target date of the upgrade and the status of the upgrade for each HTTP device
      • GET /campaigns/{acc}/{campaignId}
    • Cancel a software upgrade
      • DELETE /campaigns/{acc}/{campaignId}
    • Add or remove devices from a software upgrade
      • PUT /campaigns/{acc}/{campaignId}
    • Change campaign dates and time windows
      • PUT /campaigns/{acc}/{camapignId}/dates
  • Callbacks
    • Create https callback address
      • POST /callbacks/{acc}
    • Update callback address
      • PUT /callbacks/{acc}
    • Get list of registered callback listeners
      • GET /callbacks/{acc}
    • Delete the callback
      • DELETE /callbacks/{acc}
  • Available software
    • Get list of available software
      • GET /software/{acc}
  • Devices
    • Get a list of devices in an account
      • GET /devices/{acc}
  • Reports
    • Get device software upgrade history
      • GET /reports/{acc}/devices/{deviceId}
    • Get campaign history for specified status
      • GET /reports/{acc}/campaigns
    • Get a campaign device status
      • GET /reports/{acc}/campaigns/{campaignId}/devices
  • Verbose Logging
    • Get a list of devices with logging enabled
      • GET /logging/{acc}/devices
    • Enable logging for a list of DeviceStatus
      • PUT /logging/{acc}/devices
    • Disable logging for a list of DeviceStatus
      • DELETE /logging/{acc}/devices
    • Enable logging for a specific device
      • PUT /logging/{acc}/devices/{deviceId}
    • Disable logging for a specific devices
      • DELETE /logging/{acc}/devices/{deviceId}
    • Get logs for a specific devices
      • GET /logging/{acc}/devices/{deviceId}/logs
    • Get check-in history for a specific device
      • GET /logging/{acc}/devices/{deviceId}/checkInHistory


10/30/18 - Version 2.10

New and Updated Resources

  • GET /devices/{account}
    • Now accepts an optional clientType query string to only return devices of the specified client type (device management protocol).
    • Includes the client type of each device in the response.
  • GET /firmware/{account}
    • Now accepts an optional clientType query string to only return firmware that is applicable to the specified client type (device management protocol).
    • Includes the applicable client type for each firmware included in the response.

10/3/18 - Version 2.9

New and Updated Resources

  • The username and password parameters have been removed from callback messages, and are no longer valid when registering a callback listener:
    • POST /callbacks/{account}
  • The Get Device List reponse now includes that status of each device’s line of service, such as “active” or “suspend.”
    • GET /devices/{account}

9/4/18 - Version 2.7

New and Updated Resources

  • A new request to add or remove devices from a scheduled upgrade campaign:
    • PUT /upgrades/{account}/upgrade/{upgradeId}

6/28/18 - Version 2.4.1

New and Updated Resources

  • These three requests now return {"success": true} for successful completion:
    • DELETE /licenses/{account}/cancel
    • DELETE /callbacks/{account}/name/{service}
    • DELETE /upgrades/{account}/upgrade/{upgradeId}

4/18/18 - Version 2.2

New and Updated Resources

  • DELETE /licenses/{account}/cancel Deletes the entire list of cancellation candidate devices.


Initial release

Initial release of the ThingSpace Software Management Services API.