Standard APIsConnectivity ManagementAPI EndpointsDevice ManagementUpload Device Identifier

API Reference

Upload Device Identifiers to Verizon

As an alternative to uploading a CSV file, device manufacturers can use this endpoint to upload the identifiers and SKUs of newly manufactured devices to Verizon. The request returns a synchronous response that indicates that the data has been received, and returns any errors in the request format. When the request has been fully processed, Verizon sends a report to the email address provided in the request body. Users can submit up to 10,000 device IDs per request.

All devices in an upload must be of the same type and have the same SKU.

Please wait at least 5 minutes after receiving an Upload response to submit an Activation request.

Uploads new device identifiers from OEMs to Verizon. The devices can then be added to accounts and activated for service. The information is returned in a callback response, so you must register a URL endpoint to receive DeviceService callback messages using POST /callbacks.

NOTE: To use this API method, your company must be registered on the Open Development portal with the ability to upload devices to Verizon. Additionally, users can submit up to 10,000 device IDs per request. SKUs are case-sensitive and must be upper case.

HTTP Request

POST https://thingspace.verizon.com/api/m2m/v1/devices/actions/upload

Header Parameters

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

Parameter NameData TypeDescription
Authorization requiredstringHTTP Authorization bearer token.
VZ-M2M-Token requiredstringA valid session token returned by POST /session/login.
Content-Type requiredstringMust be application/json.

Request Body

The request body identifies the devices to upload.

Parameter NameData TypeDescription
accountName (optional but recommended)stringThe billing account that is being used to upload the devices. *If contact has access to only one account, accountName is not required. If contact has access to multiple accounts, accountName is required. By coding for the accountName today, you may prevent future code from breaking if you ever add a new sub-account.
emailAddress (required)stringEmail address that the report should be sent to after the uploaded device list is processed. This email address must be registered as part of the account profile in the Open Development portal before devices are uploaded.
deviceSku (required)stringThe stock keeping unit that identifies the type of devices in the upload. NOTE Use upper case only because lower case letters within the SKU may result in the "Device SKU is not present in DMD" error.
uploadType (required)stringThe format of the device identifiers in the upload. Use one of these values:
IMEI ,
IMEI/ICCID Pair ,
IMEI/ICCID Embedded SIM Pair ,
IMEI/EID pair
devices (required)arrayThe devices to upload, specified by deviceIds using a kind and id.

Example Request Body

Upload devices by IMEI:

{
  "accountName":"1223334444-00001",
  "emailAddress":"bob@mycompany.com",
  "deviceSku":"VZW123456",
  "uploadType":"IMEI",
  "devices":[
    {
      "deviceIds":[  
        {
          "kind":"IMEI",
          "id":"15-digit IMEI"
        }
      ]
    },
    {
      "deviceIds":[  
        {
          "kind":"IMEI",
          "id":"15-digit IMEI"
        }
      ]
    },
    {
      "deviceIds":[  
        {
          "kind":"IMEI",
          "id":"15-digit IMEI"
        }
      ]
    }
  ]
}

Upload devices by IMEI/ICCID Pair:

{
  "accountName":"1223334444-00001",
  "emailAddress":"bob@mycompany.com",
  "deviceSku":"VZW123456",
  "uploadType":"IMEI ICCID Pair",
  "devices":[
    {
      "deviceIds":[  
        {
          "kind":"IMEI",
          "id":"15-digit IMEI"
        },
        {  
          "kind":"ICCID",
          "id":"20-digit ICCID"
        }
      ]
    },
    {
      "deviceIds":[  
        {
          "kind":"IMEI",
          "id":"15-digit IMEI"
        },
        {  
          "kind":"ICCID",
          "id":"20-digit ICCID"
        }
      ]
    },
    {
      "deviceIds":[  
        {
          "kind":"IMEI",
          "id":"15-digit IMEI"
        },
        {  
          "kind":"ICCID",
          "id":"20-digit ICCID"
        }
      ]
    }
  ]
}

Success Response

Status 200

Parameter NameData TypeDescription
requestIdstringA unique string that associates the request with the results that are sent via a callback message. ThingSpace sends a separate callback message for each device that was in the request indicating whether the operation succeeded for that device. All of the callback messages have the same requestId.

Example Success Response Body

{
  "requestId":"595f5c44-eeee-ffff-gggg-020a1545a84d"
}

Callback Response

The callback contains an array of devices objects, one for each device in the request and a lineStatus that describes whether the upload was successful or the error indicating why the device upload failed. Example Callback Response

{
   "username":"",
   "password":"",
   "requestId":"595f5c44-eeee-ffff-gggg-020a1545a84d",
   "deviceResponse":{
      "deviceUploadResponse":{
         "devices":[
            {
               "deviceIds":[
                  {
                     "id":"20-digit ICCID",
                     "kind":"ICCID"
                  },
                  {
                     "id":"15-digit IMEI",
                     "kind":"IMEI"
                  }
               ],
               "lineStatus":"Device upload successful."
            },
            {
               "deviceIds":[
                  {
                     "id":"20-digit ICCID",
                     "kind":"ICCID"
                  },
                  {
                     "id":"15-digit IMEI",
                     "kind":"IMEI"
                  }
               ],
               "lineStatus":"Device upload successful"
            },
            {
               "deviceIds":[
                  {
                     "id":"20-digit ICCID",
                     "kind":"ICCID"
                  },
                  {
                     "id":"15-digit IMEI",
                     "kind":"IMEI"
                  }
               ],
               "lineStatus":"SIM Id is invalid"
            }
         ],
         "accountName":"1223334444-00001",
         "deviceSku":"VZW123456",
         "totalLineCount":"3",
         "failedLineCount":"1",
         "successLineCount":"2"
      }
   },
   "status":"null",
   "callbackCount":1,
   "maxCallbackThreshold":4
}

Error Messages and Status Messages

Error LevelError TextNotes
PackageDevice SKU is not present in ODIThe SKU is not recognized.
PackageDevice SKU is not present in DMDThe SKU is not recognized. The SKU is case-sensitive, verify that your SKU is upper case.
PackageDevice SKU is not CertifiedThe SKU is for a device that is not yet certified for use on the Verizon network.
PackageDevice SKU is CDMA Type and only exception request is supportedThe SKU is for CDMA devices, which can no longer be activated on the Verizon network.
PackageDevice SKU is missing status in DMDThe SKU is for a device type that is not fully configured in Verizon systems.
PackageDevice SKU is certified but not present in DMDThe SKU is for a device type that is not fully configured in Verizon systems.
PackageNo Profile found for email address (odiPortalEmailAddress)The email address is not registered to an Open Development account.
PackageThere are no active/approved devicesThe request did not contain a list of devices.
PackageDevice SKU (deviceSku) not providedThe request did not contain a deviceSku value.
PackageUpload Type (uploadType) not providedThe request did not contain an uploadType value.
PackageUpload Type (uploadType) is invalid. (Must be one of ESN HEX, MEID, IMEI, IMEI ICCID Pair, IMEI ICCID Embedded SIM Pair or IMEI EID Pair)The UploadType value was not recognized. You must use one of the valid values.
PackageEmail Address (odiPortalEmailAddress) not providedThe request did not contain an emailAddress value.
PackageEmail Address (odiPortalEmailAddress) is invalidThe emailAddress value is not in a valid format.
PackageNumber of upload lines exceeds threshold of 10000The request contains more than 10,000 devices.
PackageProcessing failed due to an unknown error
LineDevice upload request submittedThe device has been accepted for processing. The email report indicates whether the device was added to the Verizon database.
LineDuplicate Device ID (deviceId) found in the requestThe upload contained more than one entry with the specified IMEI.
LineDuplicate EID (eid) found in the requestThe upload contained more than one entry with the specified EID.
LineDuplicate ICCID (iccid) found in the requestThe upload contained more than one entry with the specified ICCID.
LineEID (eId) is invalidThe EID provided is not valid.
LineEID (eId) not providedThe request did not include an EID for this device.
LineIMEI (deviceId) is invalidThe IMEI provided is not valid.
LineIMEI (deviceId) not providedThe request did not include an IMEI for this device.
LineSIM Id (iccId) is invalidThe ICCID provided is not valid.
LineSIM Id (iccId) not providedThe request did not include an ICCID for this device.

On this page