POST /devices/actions/uploadactivate
Uploads and activates device identifiers and SKUs for new devices from OEMs to Verizon.
NOTE: To use this API method, your company must be registered on the Open Development portal with the ability to upload devices to Verizon.
Use this API method as an alternative to uploading devices using a CSV file. The request returns a synchronous response that indicates that the data has been received, and returns any errors in the request format. Information regarding the status of the upload and activation is returned in one or more callback responses, so you must register a URL endpoint to receive callback messages using POST /callbacks
.
Verizon sends one upload callback containing the list of devices in the request with a status for each. The status identifies whether the device was successfully uploaded or returns an error indicating why the upload failed. Verizon also sends individual activate callbacks for each device that was uploaded successfully with a status of whether the activation was successful or not.
To receive the upload callback, you must register for DeviceService in the Callback Registration Service. To receive the activate callback, you must register for CarrierService in the Callback Registration Service.
POST https://thingspace.verizon.com/api/m2m/v1/devices/actions/uploadactivate
None.
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 Name | Data Type | Description |
---|---|---|
Authorization required |
string | HTTP Authorization bearer token. |
VZ-M2M-Token required |
string | A valid session token returned by POST /session/login. |
Content-Type required |
string | Must be application/json . |
The request body identifies the devices to upload.
Parameter Name | Data Type | Description |
---|---|---|
accountName required |
string | The billing account that is being used to upload and activate the devices. |
emailAddress required |
string | The email address that the report should be sent to when the upload is complete. This email address must be registered as part of the account profile in the Open Development portal before devices are uploaded and activated. |
deviceSku required |
string | The stock keeping unit that identifies the type of devices in the upload and activation. 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 |
string | The format of the device identifiers in the upload and activation. The only supported value is:
|
servicePlan required |
string | The service plan code that you want to assign to all specified devices. Set this parameter to one of the code values returned by GET /plans/{accountname}. Verizon Wireless provides service plan codes at the time of on-boarding and subsequently whenever there are any changes to the service plan. NOTE: Any devices in the request that are not supported by the service plan do not activate. For example, if the service plan is only for 4G devices, any 3G devices included in the activation request will fail. |
carrierIpPoolName optional |
string | The pool from which your device IP addresses is derived. If you do not include this element, the default pool is used. |
mdnZipCode required |
string | The Zip code of the location where the line of service is primarily used, or a Zip code that you have been told to use with these devices. For accounts that are configured for geographic numbering, this is the Zip code from which the MDN is derived. NOTE: If you include leadId in an activation request, you should set the mdnZipCode value to match the AddressZipCode value defined for the lead. |
devices required |
array of deviceIds objects | The devices to upload, specified by device IDs in a format matching uploadType . |
kind,
id required for devices |
strings | The type and value of the device identifier.
|
ipAddress
optional |
string | The IP address to assign to the device in the following format: 1-255.0-255.0-255.0-255. |
Upload devices by IMEI ICCID Pair set IP Address:
{
"accountName":"1223334444-00001",
"emailAddress":"bob@mycompany.com",
"deviceSku":"VZW123456",
"uploadType":"IMEI ICCID Pair",
"servicePlan":"15MBShr",
"carrierIpPoolName":"",
"mdnZipCode":"92222",
"devices":[
{
"deviceIds":[
{
"kind":"IMEI",
"id":"990013907835573"
},
{
"kind":"ICCID",
"id":"89141390780800784259"
}
]
},
{
"deviceIds":[
{
"kind":"IMEI",
"id":"990013907833575"
},
{
"kind":"ICCID",
"id":"42598914139078080078"
}
]
},
{
"deviceIds":[
{
"kind":"IMEI",
"id":"990013907837353"
},
{
"kind":"ICCID",
"id":"780889141390780800"
},
{
"ipAddress" : "100.127.22.33"
}
]
}
]
}
Status 200
Parameter Name | Data Type | Description |
---|---|---|
requestId | string | A 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. |
{"requestId": "595f5c44-c31c-4552-8670-020a1545a84d"}
The upload process callback response 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 uplaod failed.
{
"username": "lc_uat",
"password": "Password",
"requestId": "631a0039-8c50-4729-9e07-ea825507d275",
"deviceResponse": {
"deviceUploadResponse": {
"accountName": "LegacyCPN_OS_StaticAcct1",
"deviceSku": "AutoTestSku1",
"totalLineCount": "1",
"failedLineCount": "0",
"successLineCount": "1",
"devices": [
{
"deviceIds": [
{
"id": "03267887253626812246",
"kind": "ICCID"
},
{
"id": "032678873484266",
"kind": "IMEI"
}
],
"lineStatus": "Line has been uploaded successfully"
}
]
}
},
"callbackCount": 1,
"maxCallbackThreshold": 4
}
A separate activate process callback response is returned for each device that describes whether the activation was successful or the error indicating why the device activation failed.
{
"username": "lc_uat",
"password": "Password",
"requestId": "631a0039-8c50-4729-9e07-ea825507d275",
"deviceIds": [
{
"id": "03267887253626812246",
"kind": "ICCID"
},
{
"id": "032678873484266",
"kind": "IMEI"
}
],
"deviceResponse": {
"activateResponse": {
"deviceIds": [
{
"id": "3858581221",
"kind": "MDN"
},
{
"id": "311480359624703",
"kind": "IMSI"
},
{
"id": "032678873484266",
"kind": "IMEI"
},
{
"id": "13858581221",
"kind": "MSIDSN"
},
{
"id": "03267887253626812246",
"kind": "ICCID"
},
{
"id": "3858581221",
"kind": "MIN"
}
],
"ipAddress": "255.0.35.198",
"state": "Active",
"servicePlan": "LegacyCPNStaticRP1",
"featureCodes": [],
"deviceCredential": {
"username": "3858581221@vzw3g.com",
"password": "3858581221"
}
}
},
"status": "Success",
"callbackCount": 1,
"maxCallbackThreshold": 4
}
Error Level | Error Text | Notes |
---|---|---|
Package | Device SKU is not present in ODI | The SKU is not recognized. |
Package | Device SKU is not present in DMD | The SKU is not recognized. The SKU is case-sensitive; verify that your SKU is upper case. |
Package | Device SKU is not Certified | The SKU is for a device that is not yet certified for use on the Verizon network. |
Package | Device SKU is CDMA Type and only exception request is supported | The SKU is for CDMA devices, which can no longer be activated on the Verizon network. |
Package | Device SKU is missing status in DMD | The SKU is for a device type that is not fully configured in Verizon systems. |
Package | Device SKU is certified but not present in DMD | The SKU is for a device type that is not fully configured in Verizon systems. |
Package | No Profile found for email address (odiPortalEmailAddress) | The email address is not registered to an Open Development account. |
Package | There are no active/approved devices | The request did not contain a list of devices. |
Package | Device SKU (deviceSku) not provided | The request did not contain a deviceSku value. |
Package | Upload Type (uploadType) not provided | The request did not contain an uploadType value. |
Package | Upload 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. |
Package | Email Address (odiPortalEmailAddress) not provided | The request did not contain an emailAddress value. |
Package | Email Address (odiPortalEmailAddress) is invalid | The emailAddress value is not in a valid format. |
Package | Number of upload lines exceeds threshold of 10000 | The request contains more than 10,0000 devices. |
Package | Processing failed due to an unknown error | |
Line | Device upload request submitted | The device has been accepted for processing. The email report indicates whether the device was added to the Verizon database. |
Line | Duplicate Device ID (deviceId) found in the request | The upload contained more than one entry with the specified IMEI. |
Line | Duplicate EID (eid) found in the request | The upload contained more than one entry with the specified EID. |
Line | Duplicate ICCID (iccid) found in the request | The upload contained more than one entry with the specified ICCID. |
Line | EID (eId) is invalid | The EID provided is not valid. |
Line | EID (eId) not provided | The request did not include an EID for this device. |
Line | IMEI (deviceId) is invalid | The IMEI provided is not valid. |
Line | IMEI (deviceId) not provided | The request did not include an IMEI for this device. |
Line | SIM Id (iccId) is invalid | The ICCID provided is not valid. |
Line | SIM Id (iccId) not provided | The request did not include an ICCID for this device. |