Trying to log in with an expired ThingSpace token:
{
"fault": {
"code": "900901",
"message": "Invalid Credentials",
"description": "Access failure for API: /m2m/v1, version: v1. Make sure your have given the correct access token"
}
}
Expired VZ-M2M token
{
"error": "unauthorized",
"error_description": "Failure response received for UWS V1 REST accounts: [400]",
"cause": "Requested service is unauthorized for given token"
}
Bad format for ThingSpace token:
{
"error": "internal_server_error",
"error_description": "configuration on Device field failed with Error: unauthorized: Failure response received for UWS V1 REST accounts: [401], Requested service is unauthorized for given token",
"cause": "Requested service failed due to internal error"
}
Attempting to add a device without providing the billingaccountid:
{
"error": "bad_request",
"error_description": "Billing Account ID is required in resource body",
"cause": "Request is missing required body content"
}
Bad JSON, or data type mismatch. Using a string for an IMEI instead of a number:
{
"error": "request_json_unmarshal",
"error_description": "JSON structure is not correct or data type mismatch, json: cannot unmarshal string into Go struct field V1DeviceIdentifier.imei of type uint64",
"cause": "Service failed to unmarshal the request due wrong JSON format"
}
Trying to delete a device using a bogus IMEI:
{
"error": "not_found",
"error_description": "Resource(Device) is not found with identifiers provided",
"cause": "Requested service not found"
}
Trying to activate a device when it had been deleted:
{
"error": "bad_request",
"error_description": "Resource(Device) is not found with identifiers provided",
"cause": "Request is missing required body content"
}
Setting "kind" to ts.target in PUT /tags:
{
"error": "bad_request",
"error_description": "ValidationKind failed. Types do not match, Target vs Tag",
"cause": "Request is missing required body content"
}
Trying to activate a "ready" CAS device:
{
"error": "invalid_event",
"error_description": "Operation cannot be completed. Invalid event[activate] for device state:ready"
}
Setting Frequency value to"high" instead of "High"
{
"error": "internal_server_error",
"error_description": "configuration on Device field failed with Error: provider_service_error: provider: ORIGINAL_ERROR_FROM_PROVIDER, Bad Request: null\n, , Failed to forward event to channel due to error",
"cause": "Requested service failed due to internal error"
}
Setting the Frequency value to High when it was already set to that value, and not setting the Location Mode.
{
"error": "internal_server_error",
"error_description": "configuration on Device field failed with Error: provider_service_error: provider: ORIGINAL_ERROR_FROM_PROVIDER, bad_request: Neither Location Mode Nor Frequency Changed in the request, , Failed to forward event to channel due to error",
"cause": "Requested service failed due to internal error"
}
`
All ThingSpace Location Services API resources use this set of status codes in responses.
HTTP Status | Error Code | Message | Explanation and Suggested Action |
---|---|---|---|
400 | INVALID_ACCESS | The access policy denied the resource operation for this user | The UWS account that was used to get a VZ-M2M-Token does not have access to the account specified in the request. |
400 | CACHE_UNAVAILABLE | Location cache has no data for this device | Verify the device ID, or set cacheMode=1 or 2 to request current location information. |
400 | INVALID_PARAMETER | Conflicting device list | Set allDevice to true OR provide an exclusion list of devices, but not both. |
400 | INVALID_PARAMETER | Consent check failed | The requested device is excluded from location services. You can send a POST /consents request to allow the device to be located. |
400 | INVALID_PARAMETER | Device type check failed | The specified device is not an IoT device and is not eligible for location services. |
400 | INVALID_PARAMETER | Ownership or MDN validation failed | A device in the request does not belong to the specified account. Verify the device identifiers and MDNs, and then retry the request. |
400 | INVALID_PARAMETER | UWS verification failure (Could not find account {account}.) | Verify the account number that you are using and then resend the request. |
400 | INVALID_PARAMETER | UWS verification failure (The Session has expired.) | The VZ-M2M-Token has expired. Use a POST /session/login request to get a new token. |
400 | INVALID_PARAMETER | Invalid account name | The account name in the request was not found. Verify the spelling of the account name and retry the request. |
400 | INVALID_PARAMETER | Unregistered account | The account in the request is not registered for Device Location Services. |
400 | INVALID_PARAMETER | Invalid accuracy mode | 0 is the only currently supported accuracy mode. |
400 | INVALID_PARAMETER | Invalid cache mode | Specify 0, 1, or 2 for the cacheMode. |
400 | INVALID_PARAMETER | Empty device list | There were no devices in deviceList. Add devices to deviceList and resend the request. |
400 | INVALID_PARAMETER | Per request max devices exceeded | The request includes more than 10,000 devices. Reduce the number of entries in deviceList and resend the request. |
400 | INVALID_PARAMETER | Duplicate devices | A device appears twice in deviceList. Remove any duplicate entries and resend the request. |
400 | INVALID_PARAMETER | Input Binding Error | JSON format error. |
400 | INVALID_PARAMETER | Invalid device kind. Valid kinds are IMEI, MEID, or ESN. | The device kind was not recognized. Use IMEI, MEID, or ESN. |
400 | INVALID_PARAMETER | Invalid device ID format | The value of the Identifier element was not in the format required by the Kind element. Set the Identifier element to a value that is in the format required by the Kind element, and then resend the request. |
400 | INTERNAL_ERROR | Failed to get location | Failed to retrieve device location. Retry the request. |
400 | INTERNAL_ERROR | Fail to verify device | Could not verify that the device is a Verizon device. |
400 | PARAMETER_ERROR | Ownership or MDN validation failed | The device does not belong to the account, or the MDN does not belong to the specified device. |
400 | PARAMETER_ERROR | Conflicting device list | The request included both allDevice=true and an exclusion list. Specify one or the other and resend the request. |
400 | PARAMETER_ERROR | Max exclusion devices over limit | The number of devices specified for exclusion is more than the 2,000 device limit. |
400 | PARAMETER_ERROR | Invalid device ID format | The value of the Identifier element was not in the format required by the Kind element. Set the Identifier element to a value that is in the format required by the Kind element, and then resend the request. |
400 | PARAMETER_ERROR | Duplicate exclusion devices | A device is included twice in the list of devices to exclude. Remove the duplicate entry and send the request again. |
These errors may be returned in the error
element for individual devices in a POST /locations
or a GET /locationreports
response.
Error Type | Info | Explanation and Suggested Action |
---|---|---|
TS CACHE UNAVAILABLE | Location cache has no data | There is no cached location information for this device. You can set cacheMode to 1 or 2 to find the current location of the device. |
TS CONSENT CHECK FAILED | Specified device ID was excluded from using the service | The device is in the exclusion list, and cannot be located with the Device Location API. |
TS DEVICE TYPE CHECK FAILED | Specified device category is not IoT | The specified device may be a phone or tablet. Only IoT devices can be located with the Device Location API. |
TS DEVICE DATA UNAVAILABLE | Location has no device data | The device was not found in the location system |
TS DEVICE LOCATION DATA UNAVAILABLE | Location has no location data | There is no location information available for the device |
SYSTEM FAILURE | The request can not be handled because of a general problem in the location server. | |
UNSPECIFIED ERROR | An unspecified error used in case none of the other errors apply. This can also be used in case privacy issues prevent certain errors from being presented | |
UNAUTHORIZED APPLICATION | The requesting location-based application is not allowed to access the location server or a wrong password has been supplied. | |
UNKNOWN SUBSCRIBER | Unknown subscriber. The user is unknown, i.e. no such subscription exists. | |
ABSENT SUBSCRIBER | Absent subscriber. The device is currently not reachable; it may be powered off or out of range. | |
POSITION METHOD FAILURE | Position method failure. The location service failed to obtain the user’s position. | |
TIMEOUT | Timer expiry for the requested event trigger | |
CONGESTION IN LOCATION SERVER | The request can not be handled due to congestion in the location server. | |
UNSUPPORTED VERSION | The Location server does not support the indicated protocol version. | |
TOO MANY POSITION ITEMS | Too many position items have been specified in the request. | |
FORMAT ERROR | A protocol element in the request has invalid format. The invalid element is indicated in ADD_INFO. | |
SYNTAX ERROR | The position request has invalid syntax. Details may be indicated in ADD_INFO. | |
PROTOCOL ELEMENT NOT SUPPORTED | A protocol element specified in the position request is not supported by the Location Server, or the position result is not supported by the LCS Client. The element is indicated in ADD_INFO. | |
SERVICE NOT SUPPORTED | The requested service is not supported in the Location Server. The service is indicated in ADD_INFO. | |
PROTOCOL ELEMENT ATTRIBUTE NOT SUPPORTED | A protocol element attribute is not supported in the Location Server. The attribute is indicated in ADD_INFO. | |
INVALID PROTOCOL ELEMENT VALUE | A protocol element in the request has an invalid value. The element is indicated in ADD_INFO. | |
INVALID PROTOCOL ELEMENT ATTRIBUTE VALUE | A protocol element attribute in the request has a wrong value. The element is indicated in ADD_INFO. | |
PROTOCOL ELEMENT VALUE NOT SUPPORTED | A specific value of a protocol element is not supported in the Location Server. The element and value are indicated in ADD_INFO. | |
PROTOCOL ELEMENT ATTRIBUTE VALUE NOT SUPPORTED | A specific value of a protocol element attribute is not supported in the Location Server. The attribute and value are indicated in ADD_INFO. | |
CANCELLATION OF TRIGGERED LOCATION REQUEST | The requested triggered location report is cancelled | |
QOP NOT ATTAINABLE | The requested QoP cannot be provided. | |
POSITIONING NOT ALLOWED | The subscriber does not allow the application to position him/her for whatever reason (privacy settings in location server, LCS privacy class). | |
CONGESTION IN MOBILE NETWORK | The request can not be handled due to congestion in the mobile network. | |
DISALLOWED BY LOCAL REGULATIONS | The location request is disallowed by local regulatory requirements. | |
MISCONFIGURATION OF LOCATION SERVER | The location server is not completely configured to be able to calculate a position. | |
TARGET MOVED TO NEW MSC/SGSN | The triggered Location Request has been aborted due to that target has moved to another MSC/SGSN. | |
STANDARD LOCATION REPORT SERVICE NOT SUPPORTED | The MLS Client does not support the standard location report service. | |
MLS CLIENT ERROR | An error occurred in the MLS Client. | |
STANDARD LOCATION REPORT SERVICE NOT ACCEPTED | The standard location report was not accepted by the MLS Client | |
SUBSCRIBER ID IN STANDARD LOCATION REPORT SERVICE NOT VALID | The subscriber in the Standard Location Report is not valid to the MLS Client | |
INVALID SERVICE ID IN STANDARD LOCATION REPORT SERVICE | The service identity in the Standard Location Report is not valid to the MLS Client |
HTTP Status | Error Code | Message | Explanation and Suggested Action |
---|---|---|---|
400 | INVALID_PARAMETER | Acct Not Provisioned With Provided Parameters. Check service & type fields | The specified account could not be provisioned or canceled as requested. Verify that the account has been added to the primary account. |
400 | INVALID_PARAMETER | Invalid Service Name | The specified service name was not recognized. Verify the spelling and try the request again. |
400 | INVALID_PARAMETER | Primary account not registered | The primary account specified in the request does not have any managed accounts. |
400 | INVALID_PARAMETER | Txd Mismatch | The transaction ID does not match the last action take on the account. |
400 | INVALID_PARAMETER | UWS account validation failed(The contact does not have access to the account {account}.) | The UWS user is not associated with the specified account, and cannot make any changes to that account. |