Get Device Status in a Campaign

GET /reports/{accountName}/campaigns/{campaignId}/devices

Returns a list of all devices in a campaign and the status of each device.

Uses and Requirements

Each response includes a maximum of 1,000 devices. If the report contains more than 1,000 devices (indicated by the hasMoreData parameter in each response), you must send additional requests to retrieve the remaining devices. Use the lastSeenDeviceId parameter to return a different set of devices in each response.

Request Components

HTTP Request

GET https://thingspace.verizon.com/api/fota/v3/reports/{accountName}/campaigns/{campaignId}/devices

Resource Path and Query Parameters

You must include the account name in the path and campaignId in the resource path.

Parameter Name Data Type Description
accountName
required
string The billing name of the account. An account name is usually numeric, and must include any leading zeros.
campaignId
required
string Software upgrade identifier, returned in the “id” value of the POST /{campaigns}/acc response when the upgrade was scheduled..
lastSeenDeviceId
(query)
string Only return devices with IMEIs larger than this value. Use 0 for the first request. If hasMoreData=true in the response, use the lastSeenDeviceId value from the response in the next request.

Header Parameters

The request header must contain a current ThingSpace authorization token, set the content to "JSON" and a current VZ-M2M-session token.

Parameter Name Data Type Description
Authorization
required
string HTTP Authorization request header containing a valid Bearer token.
VZ-M2M-Token
required
string A valid session token returned by a Connectivity Management POST /session/login request.
Content-Type
required
string Must be application/json.

Request Body

None.

Example Request

Request the list of devices for an account:

curl GET https://thingspace.verizon.com/api/fota/v3/reports/{accountName}/campaigns/{campaignId}/devices -H 'VZ-M2M-Token: {M2M token}' \

-H 'Content-Type: application/json' \

-H 'Authorization: Bearer {bearer token}' \

Success Responses

Status 200

A success response contains the account name and an array of device objects.

Parameter Name Data Type Description
totalDevice string The total number of devices in the campaign.
hasMoreData Boolean True if there are more devices to retrieve.
lastSeenDeviceId string If hasMoreData=true, use this value for the next request. 0 if hasMoreData=false.
maxPageSize integer Maximum number of results included in the response.
deviceList array  
   deviceId string The IMEI of the device.
   status string The upgrade status of the device, either UpgradeSuccess or upgradeFailure.
   resultReason string The reason for the upgrade status.
   updatedTime string($date-time) The system timestamp associated with this status.
   recentAttemptTime string($date-time) The timestamp of when the upgrade was attempted.
   nextAttemptTime string($date-time) The timestamp of when the upgrade will be attempted again if it did not succeed.

 

Example Success Response

{
"totalDevice":"2689",
"hasMoreData":true,
"lastSeenDeviceId":"15-digit IMEI",
"maxPageSize":1000,
"deviceList":[
    {
        "deviceId":"15-digit IMEI",
        "status":"UpgradePending",
        "resultReason":"Upgrade pending, the device upgrade is estimated to be scheduled for 06 Oct 22 18:05 UTC",
        "statusTime":"2022-10-05T21:05:27.129Z",
        "recentAttemptTime":"2022-10-05T21:05:01.19Z",
        "nextAttemptTime":"2022-10-06T18:35:00Z"
    },
    {
        "deviceId":"15-digit IMEI",
        "status":"UpgradePending",
        "resultReason":"Upgrade pending, the device upgrade is estimated to be scheduled for 06 Oct 22 18:05 UTC",
        "statusTime":"2022-10-05T21:05:27.129Z",
        "recentAttemptTime":"2022-10-05T21:05:01.19Z",
        "nextAttemptTime":"2022-10-06T18:35:00Z"
    }
}'

hasMoreData = true means there is more than the first 1000. lastSeenDeviceId should be used for pagination. So, to get devices beyond the first 1000, run a follow up API request such as:

curl --location --request GET 'https://thingspace.verizon.com/api/fota/v2/reports/{accountName}}/campaigns/{capaignId}/devices?lastSeenDeviceId= 15-digit IMEI' \

Failure Responses

Status 400

All error messages are returned in this format:

 {
   "errorCode": "error code string",
   "errorMessage": "error message string"
}

Error codes and messages are listed on the Error Messages page, along with explanations and suggestions for corrective actions.