POST /licenses/{account}/remove
Remove unused licenses from device. A license is unused if the device has not had a firmware upgrade since the license was assigned, and if no firmware upgrade is in progress for the device.
Note: This request is only needed for accounts that have a monthly recurring billing (MRC) subscription. Accounts with event-based billing do not need to assign or remove licenses.
See also:
Assign licenses to devices
Get a list of devices
If a firmware upgrade has been scheduled for a device but has not started when a license is removed, the upgrade is canceled.
After a license has been removed from a device, it goes back into the pool of total licenses for the account and can be assigned to a different device.
POST https://thingspace.verizon.com/api/fota/v1//licenses/{account}/remove
You must include the account name in the path.
Parameter Name | Data Type | Description |
---|---|---|
account required |
string | The name of the account for which you want to remove licenses. An account name is usually numeric, and must include any leading zeros. |
The request header must contain a current ThingSpace authorization token and a current VZ-M2M session token, and must set the Content-Type to JSON.
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 . |
The request body identifies the devices to remove licenses from.
Parameter Name | Data Type | Description |
---|---|---|
deviceList required |
array of IMEI strings | The IMEIs of the devices that you want to remove licenses from. |
Remove licenses from three devices:
curl https://thingspace.verizon.com/api/fota/v1/licenses/$ACCOUNT/remove -H 'Authorization: Bearer $AUTH_TOKEN' -H 'VZ-M2M-Token: $M2M_TOKEN' -H 'Content-Type: application/json' -d
{
"deviceList": [
"900000000000001",
"900000000000998",
"900000000000999"
]
}
Status 200
A successful request returns this information:
Parameter Name | Data Type | Description |
---|---|---|
accountName | string | The name (number) of the billing account. |
licCount | integer | The total number of monthly licenses in the MRC subscription. |
licUsedCount | integer | The number of licenses assigned to devices after the completion of the remove request. |
deviceList | array of objects | A JSON object for each device that was in the request |
deviceId
|
string | The IMEI of the device. |
status
|
string | “LicenseRemoveSuccess” or “LicenseRemoveFailed. |
Reason
|
string | More information about the status, such as “Success” or a reason for a failure, such as “No license attached to device.” |
{
"accountName": "0242078689-00001",
"licCount": 9000,
"licUsedCount": 998,
"deviceList": [
{
"deviceId": "900000000000001",
"status": "LicenseRemoveSuccess",
"Reason": "Success"
},
{
"deviceId": "900000000000998",
"status": "LicenseRemoveSuccess",
"Reason": "Success"
},
{
"deviceId": "900000000000999",
"status": "LicenseRemoveFailed",
"Reason": "No license attached to device"
}
]
}
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.