Get a List of Devices in an Account

GET /devices/{accountName}

Returns an array of all devices in the specified account. Each device object includes information needed for managing firmware, including the device make and model, MDN, FOTA eligibility, distribution type, and firmware installed on the 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/devices/{accountName}?protocol=LWM2M

Resource Path and Query Parameters

You must include the account name in the path.

Parameter Name Data Type Description
Parameter NameaccountName
required
Data Typestring DescriptionThe billing name of the account. An account name is usually numeric and must include any leading zeros
Parameter NamelastSeenDeviceId
(query)
Data Typestring DescriptionOnly 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
Parameter Nameprotocol
(query)
Data Typestring DescriptionFilter by the specified protocol of the distribution. Valid values include:
  • LWM2M
  • OMADM
  • HTTP

Header Parameters

The request header must contain a current ThingSpace authorization token and a current VZ-M2M-session token.

Parameter Name Data Type Description
Parameter NameAuthorization
required
Data Typestring DescriptionHTTP Authorization request header containing a valid Bearer token.
Parameter NameVZ-M2M-Token
required
Data Typestring DescriptionA valid session token returned by a Connectivity Management POST /session/login request.
Parameter NameContent-Type
required
Data Typestring DescriptionMust 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/devices/(accountName}\

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

-H 'VZ-M2M-Token: {M2M token}'\

Success Responses

Status 200

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

Parameter Name Data Type Description
Parameter NameaccountName Data Typestring DescriptionThe name (number) of the billing account
Parameter NamehasMoreData Data Typeboolean DescriptionValue="true" if there are more devices to retrieve
Parameter NamelastSeenDeviceId Data Typestring DescriptionIf hasMoreData="true", use this value for the next request. 0 if hasMoreData=false
Parameter NamemaxPageSize Data Typeinteger DescriptionMaximum number of results included in the response
Parameter NamedeviceList Data Typearray  Description 
Parameter Name   deviceId Data Typestring DescriptionThe IMEI of the device
Parameter Name   mdn Data Typestring DescriptionThe MDN (phone number) of the device
Parameter Name   model Data Typestring DescriptionFOTA model of the device
Parameter Name   make Data Typestring DescriptionFOTA make of the device
Parameter Name   firmware Data Typestring DescriptionThe current firmware on the device
Parameter Name   fotaEligible Data Typeboolean DescriptionValue="true" if the device software can be upgraded over the air using the Software Management Services API
Parameter Name   licenseAssigned Data Typeboolean DescriptionValue="true" if an MRC license has been assigned to this device
Parameter Name   status Data Typestring Description

Indicates if a device is active or not. Valid values include:

  • active
  • suspended
  • pending
Parameter Name   protocol Data Typestring DescriptionThe device management protocol supported by the device. Valid values include:
  • LWM2M
  • OMD-DM
  • HTTP
Parameter Name   softwareList Data Typearray Description 
Parameter Name      name Data Typestring DescriptionThe name of the software
Parameter Name      version Data Typestring DescriptionSoftware version
Parameter Name      upgradeTime Data Typestring($date-time) DescriptionThe timestamp of the last upgrade
Parameter Name   filesList Data Typearray Description 
Parameter Name      name Data Typestring DescriptionThe name of the files
Parameter NamecreateTime Data Typestring($date-time) DescriptionThe date and time when the device is created
Parameter NameupgradeTime Data Typestring($date-time) DescriptionThe date and time when the device firmware or software was last upgraded
Parameter NamestatusTime Data Typestring($date-time) DescriptionThe system timestamp associated with this status
Parameter NamerefreshTime Data Typestring($date-time) DescriptionThe date and time when the device is refreshed
Parameter NamelastConnectionTime Data Typestring($date-time) or N/A DescriptionThe last known time the device connected to the network

Example Success Response

This example response has been shortened to only show three devices, although there were over 1,000 devices in the original response, as indicated by hasMoreData = true.

{
    "accountName": "0000123456-00001",
    "maxPageSize": 1000,
    "hasMoreData": true,
    "lastSeenDeviceId": "15-digit IMEI",
    "deviceList": [
        {
            "deviceId": "15-digit device ID",
            "mdn": "10-digit MDN",
            "model": "NRF9160",
            "make": "NORDIC SEMICONDUCTOR ASA",
            "firmware": "fcb82d0b-2da7-4610-9107-49b0043983a8",
            "fotaEligible": false,
            "licenseAssigned": true,
            "status": "Active",
            "protocol": "LWM2M",
            "softwareList": [],
            "filesList": [],
            "createTime": "2020-06-15 05:29:25.352 +0000 UTC",
            "upgradeTime": "2021-07-30 06:10:01.33 +0000 UTC",
            "statusTime": "2021-09-24 07:10:19.396 +0000 UTC",
            "refreshTime": "2021-09-29 07:43:08.181 +0000 UTC",
            "lastConnectTime": "2021-09-29 07:43:08.181 +0000 UTC"
        },
        {
            "deviceId": "15-digit device ID",
            "mdn": "10-digit MDN",
            "model": "NRF9160",
            "make": "NORDIC SEMICONDUCTOR ASA",
            "firmware": "e7f4d5d4-f607-43a6-b383-cfdb6d725c82",
            "fotaEligible": true,
            "licenseAssigned": true,
            "status": "Active",
            "protocol": "HTTP,LWM2M",
            "softwareList": [
                {
                    "name": "Sample OEM App",
                    "version": "nRF9160-2021-07-15-1.0",
                    "upgradeTime": "2021-07-15 16:47:52.43 +0000 UTC"
                },
                {
                    "name": "Sample OEM Application",
                    "version": "nRF9160-2021-08-13-1.0",
                    "upgradeTime": "2021-08-17 15:50:53.137 +0000 UTC"
                },
                {
                    "name": "Verizon MDM IoT Nordic nRF9160",
                    "version": "1.0.0.11",
                    "upgradeTime": "2021-07-15 14:28:08.138 +0000 UTC"
                }
            ],
            "filesList": [],
            "createTime": "2020-08-21 07:44:28.762 +0000 UTC",
            "upgradeTime": "2021-02-15 23:25:00.844 +0000 UTC",
            "statusTime": "2021-09-16 07:15:30.745 +0000 UTC",
            "refreshTime": "2021-09-29 07:43:08.276 +0000 UTC",
            "lastConnectTime": "2021-09-29 07:43:08.181 +0000 UTC"
        },
        {
            "deviceId": "15-digit device ID",
            "mdn": "10-digit MDN",
            "model": "GM01Q",
            "make": "SEQUANS COMMUNICATIONS",
            "firmware": "SR1.2.0.0-10512",
            "fotaEligible": true,
            "licenseAssigned": false,
            "status": "Active",
            "protocol": "LWM2M",
            "softwareList": [],
            "filesList": [],
            "createTime": "2020-11-10 15:35:00.122 +0000 UTC",
            "upgradeTime": "1900-01-01 00:00:00 +0000 UTC",
            "statusTime": "2021-08-11 17:19:42.892 +0000 UTC",
            "refreshTime": "2021-09-29 07:43:08.27 +0000 UTC",
            "lastConnectTime": "2021-09-29 07:43:08.181 +0000 UTC"
        },
        {
            "deviceId": "15-digit device ID",
            "mdn": "10-digit MDN",
            "model": "BG96",
            "make": "QUECTEL",
            "firmware": "BG96MAR04A04M1G",
            "fotaEligible": true,
            "licenseAssigned": true,
            "status": "Active",
            "protocol": "HTTP,LWM2M",
            "softwareList": [
                {
                    "name": "VZ_MDM_IOT",
                    "version": "0.14",
                    "upgradeTime": "2021-08-11 17:16:29.617 +0000 UTC"
                },
                {
                    "name": "configfile-Quectel_QUECTEL BG96_hello-world.txt",
                    "version": "1.0",
                    "upgradeTime": "2021-07-12 14:49:18.123 +0000 UTC"
                },
                {
                    "name": "configfile-Quectel_QUECTEL BG96_imei-mdn.txt",
                    "version": "1.0",
                    "upgradeTime": "2021-05-18 18:19:17.954 +0000 UTC"
                }
            ],
            "filesList": [],
            "createTime": "2020-09-16 23:26:39.542 +0000 UTC",
            "upgradeTime": "1900-01-01 00:00:00 +0000 UTC",
            "statusTime": "2021-09-08 07:56:50.251 +0000 UTC",
            "refreshTime": "2021-09-29 07:43:08.3 +0000 UTC",
            "lastConnectTime": "2021-09-29 07:43:08.181 +0000 UTC"
        },
        {
            "deviceId": "15-digit device ID",
            "mdn": "10-digit MDN",
            "model": "BG96",
            "make": "QUECTEL",
            "firmware": "BG96MAR04A04M1G",
            "fotaEligible": true,
            "licenseAssigned": false,
            "status": "Active",
            "protocol": "HTTP,LWM2M",
            "softwareList": [
                {
                    "name": "VZ_MDM_IOT",
                    "version": "0.14",
                    "upgradeTime": "2021-08-11 17:16:29.603 +0000 UTC"
                }
            ],
            "filesList": [],
            "createTime": "2021-03-24 15:06:56.813 +0000 UTC",
            "upgradeTime": "1900-01-01 00:00:00 +0000 UTC",
            "statusTime": "2021-08-11 17:19:42.767 +0000 UTC",
            "refreshTime": "2021-09-29 07:43:08.218 +0000 UTC",
            "lastConnectTime": "2021-09-29 07:43:08.181 +0000 UTC"
        },
        {
            "deviceId": "15-digit device ID",
            "mdn": "10-digit MDN",
            "model": "BG96",
            "make": "QUECTEL",
            "firmware": "BG96MAR02A10M1G",
            "fotaEligible": true,
            "licenseAssigned": false,
            "status": "Active",
            "protocol": "LWM2M",
            "softwareList": [],
            "filesList": [],
            "createTime": "0001-01-01 00:00:00 +0000 UTC",
            "upgradeTime": "1900-01-01 00:00:00 +0000 UTC",
            "statusTime": "2021-08-11 17:19:42.603 +0000 UTC",
            "refreshTime": "2021-09-29 07:43:08.158 +0000 UTC",
            "lastConnectTime": "2021-09-29 07:43:08.181 +0000 UTC"
        },
        {
            "deviceId": "15-digit device ID",
            "mdn": "10-digit MDN",
            "model": "BG96-NA",
            "make": "QUECTEL",
            "firmware": "BG96NAMAR02A09M1G_O_BETA0423A",
            "fotaEligible": false,
            "licenseAssigned": true,
            "status": "Active",
            "protocol": "LWM2M",
            "softwareList": [],
            "filesList": [],
            "createTime": "0001-01-01 00:00:00 +0000 UTC",
            "upgradeTime": "1900-01-01 00:00:00 +0000 UTC",
            "statusTime": "2021-08-11 17:19:43.056 +0000 UTC",
            "refreshTime": "2021-09-29 07:43:08.314 +0000 UTC",
            "lastConnectTime": "2021-09-29 07:43:08.181 +0000 UTC"
        }
    ]
}

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.