All synchronous error messages are returned in this format:
{
"errorCode": "error code string",
"errorMessage": "error message string"
}
The error code string is composed of a service name, a period, and one of the error codes listed in the tables on this page. For example:
UnifiedWebService.REQUEST_FAILED.AccountNotFound
DeviceService.INPUT_INVALID.CustomField.InvalidName
The service names are not shown on this page. The best practice is to write your code to look for the error codes as shown on this page (without the leading service names). Do not code based on the error messages.
List of WS02 Error Messages used in oAuth V1 Portal
HTML CODE | ERROR CAUSE | Error Description |
---|---|---|
400 | Bad Context | {"fault": {"code": "900906","message": "No matching resource found in the API for the given request", "description": "Access failure for API: /m2m/v1, version: v1. Check the API documentation and add a proper REST resource path to the invocation URL" }} |
400 | Wrong grant_type |
|
401 | Missing Basic Token | {"fault": {"code": "900902","message": "Missing Credentials","description": "Required OAuth credentials not provided. Make sure your API invocation call has a header: \"Authorization: Basic ACCESS_TOKEN\"" }} |
401 | Wrong oAuth Bearer Token | {"fault": {"code": "900901","message": "Invalid Credentials","description": "Access failure for API: ` + XSSOheader + `, version: v1. Make sure you have given the correct access token" }} |
401 | Missing oAuth Bearer Token |
|
401 | Expired Bearer Token | {"fault": {"code": "900901","message": "Invalid Credentials","description": "Access failure for API: ` + XSSOheader + `, version: v1. Make sure you have given the correct access token" }} |
403 | Wrong Authentication | <am:fault xmlns:am="http://wso2.org/apimanager"><am:code>404</am:code><am:type>Status report</am:type><am:message>Not Found</am:message><am:description>The requested resource is not available.</am:description></am:fault> |
404 | Wrong Endpoint or Missing Path | <am:fault xmlns:am="http://wso2.org/apimanager"><am:code>404</am:code><am:type>Status report</am:type><am:message>Not Found</am:message><am:description>The requested resource is not available.</am:description></am:fault> |
Error Code | Error Message | Occurs When | Resolution |
---|---|---|---|
INPUT_INVALID.Request.InvalidCharacter | There was an invalid character (’ or < or ) in your input. | One of the fields in the request had an illegal character. | Do not use the apostrophe, less than sign, or backslash in your input. |
INPUT_INVALID.RequestUndefined | Request cannot be blank. Please provide request details. | The incoming request message is empty. | Verify your code to be sure that you are sending a complete SOAP request for the specific API. |
REQUEST_FAILED.UnexpectedError | Unexpected error occurred. Could not complete request. | The request was missing required elements, had invalid parameter values, or an unknown problem occurred. | Verify all required and optional field values and then retry the request. If you receive this error a second time, contact Customer Support at 1-800-525-0481 for assistance. |
DeserializationFailed | The formatter threw an exception while trying to deserialze… Expecting element ‘ element name ‘. | The required element element name was not included in the request | Verify all required and optional field values and then retry the request. If you receive this error a second time, contact Customer Support at 1-800-525-0481 for assistance. |
Error Code | Error Message | Occurs When | Resolution |
---|---|---|---|
REQUEST_FAILED.SessionToken.Expired | The Session has expired. | An API request was sent with an expired VZ-M2M-Token session token in the header. (Session tokens expire after 20 minutes of inactivity.) | Log in again to obtain a new session token, and then retry the request with the new token. |
REQUEST_FAILED.SessionToken.Format | The token is not passed in the correct format. | The session token was not in the header. | Verify that your application is including the session token in the header. |
INPUT_INVALID.SessionToken.Invalid | The session token was not a valid GUID. | The VZ-M2M-Token in the request header was not a valid session token. | Verify that your application is storing the session token returned by the POST /session/login API method and including it in the header. |
Error Code | Error Message | Occurs When | Resolution |
---|---|---|---|
INPUT_INVALID.Account.NotDefined | Account name is a required field. | The request did not include an account name. | Include an account name and send the request again. |
REQUEST_FAILED.AccountName | The specified contact is not associated with the specified account or the account name cannot be found. | The web services username that you signed in with is not associated with the account name given in the request. | Verify that you are using the correct login credentials for the account that you want to work with. |
REQUEST_FAILED.AccountNotFound | Could not find account “{account name}”. | The account name given in the request does not exist in the ThingSpace Platform. | Verify the spelling of the account name and retry the request. |
REQUEST_FAILED.NoAccounts | The contact has no associated accounts. | The web services username that you signed in with is not associated with any accounts. | Verify that you are using the correct login credentials for the account that you want to work with. |
REQUEST_FAILED.MultipleAccounts | The Contact is associated with multiple accounts. Please supply account name. | The web services username that you signed in with has access to more than one account, and you did not include an account name in the request. AccountName is a required field when you have access to multiple accounts. | Specify the account that you want to use in the API request. |
The APIs that accept device identifiers check for validity of those identifiers according to the rules described here.
The Kind element specifies the ‘type’ of identifier, such as MEID, ESN, or MDN. The Identifier element specifies the ‘value’ of the identifier. Depending on the Kind of the device identifier, the Identifier element text string could contain:
Kind | Type | Max Length | Example |
---|---|---|---|
MDN | dec | 10 digits | 8587546063 |
MSISDN | dec | 11 digits | 18587546063 |
ESN | dec | 11 digits | 02613669299 |
MEID | hex | 14 digits | A1000000BF912C |
IMEI | dec | 16 digits | 990003425730535 |
IMSI | dec | 16 digits | 311421408008479 |
ICCID | dec | 20 digits | 89148000000842590078 |
You do not need to prepend identifier values with the “0x” or “0h” prefix to indicate that a value is decimal or hexadecimal. The ThingSpace Platform sends an INPUT_INVALID.Device.Identifier.Invalid error if the identifier is not in the format required by the Kind element.
Error Code | Error Message | Occurs When | Resolution |
---|---|---|---|
INPUT_INVALID.Nolist of devicesOrDeviceFilters | The request must have either a non-empty device list or device input filter criteria (group, custom fields, service plan) defined. | Your request did not include a list of devices or a groupName, servicePlan, or customFields. | Create the request with either a list of devices, or one or more of the filters. |
INPUT_INVALID.Bothlist of devicesAndDeviceFiltersDefined | Only one of a non-empty device list or device input filter criteria (group, custom fields, service plan) may be defined in the request, but not both. | Your request included a list of devices and a groupName, servicePlan, or customFields. You cannot use filters if you use a list of devices. | Retry the request with just a list of devices, or with one or more of the filters. |
INPUT_INVALID.Device.Kind.Invalid | The device kind was not recognized as valid. Valid ones are ICCID, MEID, IMSI, MDN, IMEI, MSISDN, or ESN. | The kind field did not contain a recognized value. | Retry the request with kind set to one of the valid values. |
INPUT_INVALID.Device.Kind.NotDefined | The Kind value of Device must contain a value. | The kind field was empty. | Retry the request with kind set to one of the valid values. |
INPUT_INVALID.NoDeviceIdentifierInCollection | A device identifier collection must have at least one device identifier. | The devices element in the request did not contain any deviceIds elements. | Include at least one deviceIds element in the devices element. |
INPUT_INVALID.Device.Identifier.NotDefined | The Identifier value of Device must contain a value. | An id child element within a deviceIds element did not have a value. | Set the id element to a value that is in the format required by the kind element, and then resend the request. |
INPUT_INVALID.Device.Identifier.Invalid | The device’s {device identifier kind} was not in a valid format. | The value of the id element within a deviceIds element was not in the format required by the kind element. | Set the id element to a value that is in the format required by the kind element, and then resend the request. |
INPUT_INVALID.DuplicateDeviceKindInCollection | Two device identifiers in the collection cannot have the same kind. | Two device identifiers in a deviceIds element had the same value for kind. | Most requests only need one device identifier per device. If you need to provide two, they must be different kinds. |
REQUEST_FAILED.DeviceNotFound | Could not find device “{kind} {identifier}”. | The device identifier in the request did not match any devices in the account. | Verify the device identifier and retry the request. |
INPUT_INVALID.list of devicesAccountNameAndDeviceGroupDefined | Account, device list, and device group are not a valid combination. Please provide one or a valid combination (device list + account or device group + account) | The request included both devices and groupName parameters, which is not a valid combination. | Remove the devices or groupName parameter and then retry the request. |
INPUT_INVALID.Nolist of devicesAccountNameOrGroup | Account, device list, and device group are empty. Please provide a valid combination. | The request did not include any parameters to identify the devices to work with. | Add a list of devices, or groupName and accountName, and then retry the request. |
INPUT_INVALID.Device.Identifier.Null | A device identifier in the collection cannot be null. | The request included a null id in the devices parameter. | Verify that you are setting at least one kind and id for each deviceIds element within the devices element, and then retry the request. |
Error Code | Error Message | Occurs When | Resolution |
---|---|---|---|
INPUT_INVALID.CustomField.InvalidName | Only the values CustomField1, CustomField2, CustomField3, CustomField4, and CustomField5 are permitted. | The request included a key value for a custom field that was not one of the five allowed values. | Set the custom field key element to one of the allowed values. |
INPUT_INVALID.CustomField.NotDefined | A custom field cannot be null. | The request included a null value element for a custom field. | Use a string value for the custom field. |
INPUT_INVALID.CustomField.TooLong | A custom field value cannot be more than 50 characters long. | The value element in a custom field was too long. | Retry the request with a custom field value that is no more than 50 characters long. |
INPUT_INVALID.CustomFieldValue.InvalidCharacter | The value of custom field {custom field name} contains invalid character(s). | The value element in a custom field included one or more characters that are not allowed. | Only use alphanumeric characters in custom field values, plus a few punctuation marks (no question marks). |
Error Code | Error Message | Occurs When | Resolution |
---|---|---|---|
INVALID_INPUT.OldPassword.Null | The Old Password may not be null. | The PUT /session/password/actions/reset request did not include the old (current) password. | Retry the request, being sure to include the old password. |
INVALID_INPUT.OldPassword.Invalid | The Old Password is invalid. | ||
INVALID_INPUT.CurrentPassword.Invalid | The Current Password is invalid. |
Error Code | Error Message | Occurs When | Resolution |
---|---|---|---|
INPUT_INVALID.ServiceName.NotAlphanumeric | The service name must contain only alphanumeric characters. | The service name in the request contained punctuation or some other non-alphanumeric characters. | Resend the request with one of the allowed service names. |
INPUT_INVALID.ServiceName.Invalid | An invalid service name was provided. Valid service names are “EnhancedConnectivityService”, “PromoChanges”, “ExternalProvisioningChanges”,“DeviceUsage”, “CarrierService”, “ResumeTrackingNotification” ,“DevicePRLInformation”, “SMSDeliveryConfirmation” and “DeviceSuspensionStatus”. | The service name in the request was not one of the allowed service names. | Resend the request with one of the allowed service names. |
INPUT_INVALID.ServiceName.IsEmpty | The service name cannot be empty. | The service name field in the request was empty. | Resend the request with one of the allowed service names. |
INPUT_INVALID.Url.Invalid | Please specify a properly formatted Url. | The URL in the request did not include all required elements. | Resend the request with the URL in the form protocol://path-to-your-callback-listening-service such as http://mycompany.com/CallbackListener |
REQUEST_FAILED.CallbackExists | A callback service is already registered for this service. | The account already has a URL registered for the service name included in the request. | Use GET /callbacks/{accountname} to see a list of existing registrations for the account. To replace an existing registration, use DELETE /callbacks/{accountname}/name/{sname} and then POST /callbacks/{accountname}. |
REQUEST_FAILED.Callback.NotRegistered | No callback was registered for the account and service you specified. | You attempted to deregister a callback service, but the specified account does not have a URL registered for that service. | Use GET /callbacks/{accountname} to see a list of existing registrations for the account. |
Error Code | Error Message | Occurs When | Resolution |
---|---|---|---|
INPUT_INVALID.ReachabilityReqType.NotDefined | Reachability request type is a required field. | The request did not include a value for requestType. | Set requestType to one of the following values: REACHABLE_FOR_DATA, REACHABLE_FOR_SMS, REACHABLE_FOR_DATA_SMS, LOSS_OF_CONNECTIVITY, REACHABLE_FOR_DATA_AND_LOSS, REACHABLE_FOR_SMS_AND_LOSS, REACHABLE_FOR_DATA_SMS_AND_LOSS |
INPUT_INVALID.ReachabilityReqType.Invalid | The reachability request type was not recognized as valid. Valid values are REACHABLE_FOR_DATA, REACHABLE_FOR_SMS, REACHABLE_FOR_DATA_SMS, LOSS_OF_CONNECTIVITY, REACHABLE_FOR_DATA_AND_LOSS, REACHABLE_FOR_SMS_AND_LOSS, REACHABLE_FOR_DATA_SMS_AND_LOSS | The request did not contain one of the recognized requestType values. | Retry the request with a valid requestType. |
INPUT_INVALID.MonitorType.Invalid | The monitor type was not recognized as valid. Valid values are REACHABLE_FOR_DATA,REACHABLE_FOR_SMS, LOSS_OF_CONNECTIVITY | The request did not contain one of the recognized MonitorType values. | Retry the request with a valid MonitorType. |
INPUT_INVALID.MonitorExpirationTime.NotDefined | Monitor expiration time is a required field. | The request did not include a value for MonitorExpirationTime. | Set MonitorExpirationTime value as: Absolute time in UTC passed as string (example: “2017-12-19T16:39:57-08:00”), upto 10 years max in future from current time. |
INPUT_INVALID.MonitorExpirationTime.Invalid | Monitor expiration time was not in a valid format. | The request did not contain the MonitorExpirationTime in a valid format. | Set MonitorExpirationTime value as: Absolute time in UTC passed as string (example: “2017-12-19T16:39:57-08:00”), upto 10 years max in future from current time. |
INPUT_INVALID.MonitorExpirationTime.Invalid | Monitor expiration time can not be in past. | The request contains the MonitorExpirationTime that occurred in past. | Set MonitorExpirationTime value as: Absolute time in UTC passed as string (example: “2017-12-19T16:39:57-08:00”), upto 10 years max in future from current time. |
INPUT_INVALID.MonitorExpirationTime.Invalid | Monitor expiration time cannot be more than 10 years in the future. | The request contains the MonitorExpirationTime that is more than 10 years from current time in future. | Set MonitorExpirationTime value as: Absolute time in UTC passed as string (example: “2017-12-19T16:39:57-08:00”), upto 10 years max from current time. |
Error Code | Error Message | Occurs When | Resolution |
---|---|---|---|
INPUT_INVALID.AccountName | An account name was not specified but is required for this action. | The request did not include an account name. | Specify an account name and retry the request. |
INPUT_INVALID.AccountNotUnderSameCustomerProfile | Both the current and new accounts must be under the same Customer profile | The account that you are logged into and the account in the accountName parameter are not in the same profile. | Verify that the account in the accountName parameter is in your customer profile, and then resend the request. |
INPUT_INVALID.Activate.VodafoneservicePlan | A service plan may not be specified when activating a Vodafone device. | The request to activate a Vodafone device contained a servicePlan value. | Do not set a servicePlan value when activating a Vodafone device. |
INPUT_INVALID.AddressIncomplete | AddressLine1, City, State, Zip, and Country are required when providing address for primaryPlaceOfUse. | One or more of the following required values is missing:
|
Resubmit the request with all of the required values. |
INPUT_INVALID.BothLeadIdandPrimaryPlaceofUseProvided | Include either the LeadId or primaryPlaceOfUse; not both. | The Activate request contained values for both the leadId and primaryPlaceOfUse parameters. | For VPP partner accounts, resubmit the activation request with a leadId. For non-VPP customers, resubmit the request with primaryPlaceOfUse values. |
INPUT_INVALID.CarrierIpPoolNotFoundInNewAccount | The carrier IP pool was not found in the new account. | The new account does not have an IP Pool with the name specified in the carrierIpPoolName parameter. | Verify the name of the IP Pool, or leave carrierIpPoolName blank to have the device IP address come from the default pool in the new account. |
INPUT_INVALID.Change4GOption.Invalid | An invalid Change4GOption was provided. Valid Change4GOptions are “ChangeIMEI”, “ChangeICCID”, “ChangeIMEIANDICCID”, “ChangeMSISDN”, “3GTo4G”, and “4GTo3G”. | The request did not contain one of the recognized change4GOption values. | Retry the request with a valid change4GOption. |
INPUT_INVALID.ChangeDeviceIdentifierToESNOrMEIDMissing | An ESN or MEID was not specified for ChangeDeviceIdentiferTo but is required for this request. | The 4Gto3G option requires either an ESN or an MEID value in the deviceIdsTo parameter. The request did not contain either of those device identifier types. | Retry the request with a valid ESN or MEID. |
INPUT_INVALID.ChangeDeviceIdentifierToICCIDMissing | An ICCID was not specified for ChangeDeviceIdentiferTo but is required for this request. | The ChangeICCID and ChangeICCIDandIMEI options require a new ICCID value in the deviceIdsTo parameter. | Retry the request with a valid ICCID value. |
INPUT_INVALID.ChangeDeviceIdentifierToIMEIMissing | An IMEI was not specified for ChangeDeviceIdentiferTo but is required for this request. | The ChangeIMEI and ChangeICCIDandIMEI options require a new IMEI value in the deviceIdsTo parameter. | Retry the request with a valid IMEI value. |
INPUT_INVALID.ChangeDeviceIdentifierToMDNInfoMissing | AssignNonGeoMDN, NPA-NXX, or Zip Code must be provided. | The ChangeMSISDN request did not include parameters from which to derive a new MSISDN/MDN. | Retry the request with a valid combination of values for assignNonGeoMDN, zipCode, and npaNxx. |
INPUT_INVALID.ChangeDeviceIdentifierToMissing | ChangeDeviceIdentifierTo was not specified but is required for this request. | The request did not contain the deviceIdsTo parameter, or the value was null. | Retry the request with a valid deviceIdsTo value. |
INPUT_INVALID.Country | Country can be either US or USA. | The country parameter does not contain US or USA. | Resubmit the request with a valid country parameter. |
INPUT_INVALID.Device.EtfWaiver.NotDefined | ETF waiver is required for deactivating retail devices. | The request did not include a value for etfWaiver. | Set etfWaiver to true or false. |
INPUT_INVALID.Device.InvalidChangeDeviceIdentifierKind | Cannot provide ChangeDeviceIdentifier Kind as IMEI, ICCID, IMSI or MSISDN or MDN. Valid values are ESN, MEID | The request included an invalid value for the kind parameter. | Set the kind value to either ESN or MEID. |
INPUT_INVALID.Device.InvalidChangeDeviceIdentifierKind | Cannot provide IMSI when IMEI and ICCID are provided, or vice versa, for activation request. | The request included incompatible device identifiers. | In the list of device identifiers in the deviceIds element, provide either an IMSI or an IMEI and ICCID, but not all three. |
INPUT_INVALID.Device.Kind.InvalidWithSkuNumber | Cannot provide SKU when specifying device type . | The request contained a skuNumber value and a device type other than ICCID. At this time, the skuNumber parameter can only be used with ICCID identifiers. | Remove the skuNumber and then resend the request, or keep the skuNumber and only include ICCID identifiers. |
INPUT_INVALID.Device.Not3G | The device is not a 3G device. | The 3Gto4G option requires a 3G device in the deviceIds parameter. The device specified is not a 3G device. | Verify the current device ID and then resend the request. |
INPUT_INVALID.Device.Not4G | The device is not a 4G device. | The device specified in the request is not a 4G device. | Verify the current device ID and then resend the request. |
INPUT_INVALID.Device.OnlyOneProvidedOfImeiOrIccid | Cannot provide IMEI without ICCID, or vice versa, for activation request. | An Activate request for a 4G device did not contain both the IMEI and ICCID identifiers. | Resend the request with both the IMEI and the ICCID of the device, in that order. |
INPUT_INVALID.Device.ReasonCode.NotDefined | ReasonCode is required for deactivating retail devices. | The Deactivate request was for a retail device that requires a reasonCode for the deactivation. | Set a value for reasonCode and retry the request. |
INPUT_INVALID.DeviceGroupNotFoundInNewAccount | The Device Group was not found in the new account | The new account does not have a device group with the name specified in the groupName parameter. | Verify the name of the device group, or leave groupName blank to put the devices into the default device group in the new account. |
INPUT_INVALID.DeviceState.Invalid | The given device state is invalid, valid State values are Active, Active.Ready and Active.Test | A Deactivate or Suspend request specified a device that is not in an Active state. | Follow the best practice to determine a device’s current state before sending a deactivate or suspend request. Only Active devices can be deactivated or suspended. |
INPUT_INVALID.InvalidAccountTypeForNpaNxxOrZip | Telematics customer cannot select Mdn by Zip or Npa-Nxx | ||
INPUT_INVALID.LargestDeviceIdSeen.MaxValue | The LargestDeviceIdSeen cannot be more than 2147483647. | The largestDeviceIdSeen value is too large. | Provide a value less than 2,147,483,647. See the response from the previous request for a suggested value. |
INPUT_INVALID.LeadIdSent | The LeadId is not applicable to your account. | The request included a value for leadId, but the account does not use leads. | Resubmit the request without the leadId. |
INPUT_INVALID.MaxRequestsExceeded | Request contains more devices than the maximum allowable of 10000. | A request was sent that included more than 10,000 devices. | Send several requests instead of one request, each containing no more than 10,000 devices. |
INPUT_INVALID.npaNxx.Invalid | The Mdn Npa-Nxx provided was not in a valid format; it must be exactly 6 numeric digits. | The npaNxx field did not contain the right number of digits, or contained other characters. | Set the npaNxx value to a 6-digit value and retry the request. |
INPUT_INVALID.mdnZipCode | The Mdn Zip Code provided was not in a valid format. | The mdnZipCode field did not contain the right number of digits, or contained other characters. | Set the mdnZipCode value to a 5-digit value and retry the request. |
INPUT_INVALID.*mdnZipCode*Missing | An MDN Zip code must be provided. | The request did not include a value for the mdnZipCode field. | Set the mdnZipCode field to the ZIP code from which the MDN will be derived, and retry the request. |
INPUT_INVALID.*mdnZipCode*RequiredForB2BNonGeo | MDNZipCode is required to assign Non-Geo MDN for B2B carriers. | The request did not include the required mdnZipCode value for a non-geo MDN change. | Retry the request with an mdnZipCode value. |
INPUT_INVALID.MissingCustomerName | Both FirstName and LastName are required when providing primaryPlaceOfUse. | One or more of the following required values is missing:
|
Resubmit the request with all required name values. |
INPUT_INVALID.MoreThan2Deviceidentifiers | ChangeDeviceIdentifierTo contained more than 2 device identifiers. Please provide only 2 device identifiers. | The ChangeICCIDandIMEI option requires two new device identifier values in the deviceIdsTo parameter, one for ICCID and one for IMEI. The request included more than those two identifiers. | Provide one deviceIdsTo parameter that contains a new ICCID and a new IMEI. |
INPUT_INVALID.MultipleChangeDeviceidentifierTo | ChangeDeviceIdentifierTo was specified more than once. Please provide a single device identifier. | The request included more than one deviceIdsTo parameter. | Provide one and only one deviceIdsTo parameter. |
INPUT_INVALID.MultipleICCIDPresent | ChangeDeviceIdentifierTo contains more than one ICCID. Please provide a single ICCID. | The request included more than one ICCID in the deviceIdsTo parameter. | Retry the request with one and only one ICCID value in the deviceIdsTo parameter. |
INPUT_INVALID.MultipleIMEIPresent | ChangeDeviceIdentifierTo contains more than one IMEI. Please provide a single IMEI. | The request included more than one IMEI in the deviceIdsTo parameter. | Retry the request with one and only one IMEI value in the deviceIdsTo parameter. |
INPUT_INVALID.MultipleStateChanges | {# actions} change state actions were specified. One and only one is expected. | The request included more than one state. | Provide one and only one change state action element (e.g. cannot activate and suspend in the same request). Set all other change state action elements to null. |
INPUT_INVALID.NoCarrierSpecified | Specified Account has multiple carriers associated with it, carrier field may not be null. | The Activate request did include a carrierName value. | If you have access to multiple carriers, you must specify which carrier a device will have service with when activating it. |
INPUT_INVALID.NoStateChanges | No change state actions were specified. One and only one is expected. | The request did not include a device state. | Set a non-null value for one of the change state action elements (e.g. activate, deactivate, etc…). |
INPUT_INVALID.NpaNxxAndZipCodeProvided | Cannot provide both MDN Npa-Nxx and Zip Code. | The request included values for both the npaNxx and mdnZipCode fields. | Set a value for either the npaNxx or the mdnZipCode and retry the request. |
INVALID_INPUT.NPANXXRequiredForB2B | NPANXX is Required to perform Change MDN for B2B carriers. | ChangeDeviceIdentifier request for a device on a B2B carrier did not include a value for npaNxx. | Set a value for the npaNxx parameter and retry the request. |
INPUT_INVALID.PrimaryPlaceOfUse.NotDefined | PrimaryPlaceOfUse is required for this state change. | The goToState request did not include primaryPlaceOfUse values. | Some state changes required values for the Primary Place of Use for the line of service, for taxation purposes and/or to know how to contact the customer, if needed. Provide values for the primaryPlaceOfUse object and retry the request. |
INPUT_INVALID.PublicIPRestriction.Invalid | An invalid PublicIPRestriction was provided. Valid service names are “Restricted”, “Unrestricted”. | A value other than “restricted” or “unrestricted” was used for the publicIPRestriction parameter. | For devices on the public network, use one of the allowed values or leave it empty to use the account default value. |
INPUT_INVALID.ReasonCodes.ActionInvalid | Action for getting reason codes is invalid. Only valid one is: Deactivate. | The request included a reasonCode in a request that was not a deactivate request. | Retry the request without the reasonCode. |
INPUT_INVALID.*servicePlan*Missing | A service plan needs to be sent along with the request. | The request did not specify a value for the servicePlan field. | Set the servicePlan field to the service plan code that you want to assign to all specified devices, and then resend the request. |
INPUT_INVALID.*servicePlan*NotFoundInNewAccount | The service plan was not found in the new account. | The new account does not have a service plan with the code specified in the servicePlan parameter, or no plan code was specified and the new account does not have a plan with the same code as the service plan in the current account. | Put an existing service plan code from the new account in the servicePlan parameter and resend the request. |
INPUT_INVALID.SkuNumber.Invalid | Invalid SKU provided. A valid SKU is an alphanumeric string with up to 20 characters | The skuNumber field contained unrecognized characters, or the value was too long. | Use a SKU that is no more than 20 characters long and that only contains letters and numbers, and then resend the request. |
INPUT_INVALID.UpdateDeviceInformation.DeviceId | A new ESN, MEID, MDN, NPA-NXX, or Zip Code must be given. | The request did not include the required fields for changing the device identifier. | The request must include a new ESN, MEID, or MDN, or an npaNxx or mdnZipCode from which to derive the new identifier. |
INPUT_INVALID.UpdateDeviceInformation. MdnInfoProvidedWithOtherDeviceIdentifier |
Cannot provide new ESN or MEID to update if MDN, Zip Code or NPA-NXX are also provided. | The request included some mutually-exclusive values. | Do not include a value for ESN or MEID if you are setting values for MDN, mdnZipCode, or npaNxx. |
REQUEST_FAILED.CarrierNotOnAccount | The requested carrier is not a part of this account. | The carrierName given in the request is not associated with the account. | Verify the name of the carrier and retry the request. Note that if the account only has one carrier, you do not need to include the carrierName field in the request. |
REQUEST_FAILED.ReasonCodeNotFound | Could not find reason code “{reason code}”. | The request contained an unrecognized value for reasonCode. | Provide a valid reason code that your organization has access to. |
REQUEST_FAILED.servicePlan.NotFound | No Service Plan was found matching the code {service plan code}. | The service plan specified in the request does not exist in the specified account. | Verify the account name and service plan code, and retry the request. |
INPUT_INVALID.DeviceStateFilter | Invalid device state. Valid one is Preactive. | You did not set the state element to “Preactive” in the request. | Set the value of the state element to “Preactive” and retry the request. |
INPUT_INVALID.DeviceStateFilter | Invalid device state filter | The request included an invalid value for currentState. | Use one of the recognized device states for the currentState, such as “active” or “suspend.” |
INPUT_INVALID.NumberofDevices | Only 200 or less devices are allowed at one time | The request included more than 200 devices. | Resend the request as multiple requests, each with no more than 200 devices. |
INPUT_INVALID.AddDevices.Device.Kind.Invalid | Device kind is not recognized as valid. Valid ones for adding a device are MEID, ESN, ICCID, or IMEI. | The request contained an MDN or MSISDN. | Resend the request using the MEID or ESN for 3G devices, and both the IMEI and ICCID for 4G devices. |
INPUT_INVALID.Device.OnlyOneProvidedOfImeiOrIccid | Cannot provide IMEI without ICCID, or vice versa, for adding a device. | An Add Devices request for a 4G device did not contain both the IMEI and ICCID identifiers. | Resend the request with both the IMEI and the ICCID of the device, in that order. |
INPUT_INVALID.Device.AssignToMultipleGroups | Cannot assign a device to multiple groups. | The Add Devices request contained more than one string in the groupName element. | Specify only one groupName and retry the request. |
REQUEST_FAILED.CallbackNotExists | No DeviceUsage callback was registered for the Account | You sent a POST /devices/usage/actions/list/aggregate request before registering for DeviceUsage callback messages. Device usage information is only returned in callback messages. | Create a callback listener for DeviceUsage messages and then use POST /callbacks/{accountname} to tell the ThingSpace Platform where to send those messages. |
INPUT_INVALID.DateTime.InvalidRange | The start date must come before the end date. | The earliest date is not earlier than the latest date. | Set correct values and retry the request. |
INPUT_INVALID.DateTime.InvalidRange | Difference between Start Date and End Date cannot be more than one month. | The reporting period in the request was more than one month. | Set the earliest and latest to be no more than one month apart, and then retry the request. |
INPUT_INVALID.DeviceInformationRequired | Device Information is required. | The Add Devices request did not include a devicesToAdd element. | Provide a non-null input for devicesToAdd element. |
INPUT_INVALID.Device.OnlyOneProvidedOfImeiOrEidOrSmsrOId_Code | Cannot provide EID without IMEI and SMSROID, or vice versa, for adding a device. | The request did not include all values required to add an eUICC device. | Verify that the request includes an IMEI, EID, and SmsrOid and retry the request. |
Error Code | Error Message | Occurs When | Resolution |
---|---|---|---|
INPUT_INVALID.DeviceGroup.MaxDevicesExceeded | Request contained more devices than the allowed maximum 200 devices per request. | The request included too many devices for the API method. | Send multiple requests, each one containing no more than 200 devices. |
INPUT_INVALID.DeviceGroup.DeleteDefault | Cannot delete the default device group. | You attempted to delete the default device group, which is not allowed. | The default device group automatically contains all devices. You can change the group name, but you cannot delete the group. |
REQUEST_FAILED.DeviceGroup.Exists | That group name already exists for this account. | You attempted to add or update a device group and give it the same name as an existing device group. | Retry your request using a different value for groupName. |
INPUT_INVALID.DeviceGroup.RepeatDeviceIdentifier | A request may not contain the same device to both add and remove. | The request included the same device in both the devicesToAdd and devicesToRemove fields. | Determine whether you want to add or remove the device from the group, and then retry the request. |
INPUT_INVALID.DeviceGroup.InvalidFormat | Device group name can only contain alphabet, number, space, underscore, or colon, and must start with an alphabet. | The groupName contained an illegal character. | Verify that the groupName only contains letter, numbers, underscores and colons, and that it starts with a letter. |
INPUT_INVALID.DeviceGroup.TooLong | Device group name cannot be more than 100 characters long. | The groupName was too long. | Use a shorter name and retry the request. |
REQUEST_FAILED.InvalidDeviceIdentifier | Invalid device identifier(s) present in {devicesToAdd/devicesToRemove}. Device was not found for following DeviceIdentifier(s):- [{list of device identifiers}], in account {account name} | The request included some device identifiers that don’t belong to the account. | Verify the list of device identifiers that you want to add or remove from the group, and then retry the request. |
INPUT_INVALID.*groupName*Required | Device Group Name cannot be blank. | There was no value for the groupName field. | Set a value for the groupName field and retry the request. |
REQUEST_FAILED.DeviceGroupNotFound | Could not find device group “{device group name}”. | The device group given in the request does not exist in the account. | Verify the account name and device group name, and then retry the request. |
Error Code | Error Message | Occurs When | Resolution |
---|---|---|---|
INPUT_INVALID.SmsMessage.Null | SmsMessage cannot be null. | The Send SMS Message request did not include a value for smsMessage. | Set the smsMessage value to the string that you want to send to the devices, and then retry the request. |
INPUT_INVALID.SmsMessage.TooLong | An 8-bit SMS message cannot be more than 140 characters long. | The SMS message was too long. | Shorten the SMS message text to less than 140 characters (8-bit) and resend the request. |
INPUT_INVALID.SmsMessage.TooLong | A 7-bit SMS message cannot be more than 160 characters long. | The SMS message was too long. | Shorten the SMS message text to less than 160 characters (7-bit) and resend the request. |
INPUT_INVALID.SmsMessage.AdjacentNullCharacters | SmsMessage cannot contain two adjacent null characters. | The SMS message contained two or more null characters next to each other. | Remove adjacent null characters from your SMS message and retry the request. |
INPUT_INVALID.SmsMessage.InvalidEncoding | Please specify valid encoding. Valid Encoding types are 7-bit, 8-bit-ASCII, 8-bit-UTF-8 or 8-bit-DATA encoding. | The value of the dataEncoding field was not recognized. | Set the dataEncoding value to one of the allowed strings and then retry the request. |
INPUT_INVALID.SmsMessage.InvalidEncodingStringPassed | Please specify base64 encoded string for 8-bit SMS. | The SmsMessage in the request was not encoded in base64. | Convert messages that do not use the universal ASCII character set to base64 before sending them as SMS messages. |
INPUT_INVALID.PreviousToken.InvalidFormat | The PreviousToken was not a valid GUID. | The PreviousToken value in the request was not in the correct format. | Leave the PreviousToken element empty in the first request, and then use the Token value from the response in the next request. |
Error Code | Error Message | Occurs When | Resolution |
---|---|---|---|
INPUT_INVALID.Message.Null | Message cannot be null. | The NIDD Message request did not include a value for message. | Set the message value to the string that you want to send to the devices, and then retry the request. |
INPUT_INVALID.DeviceNotProvided | deviceIds cannot be null. | The NIDD message request did not include a value for deviceIds. | Set the deviceIds value to the device that you want to send to, and then retry the request. |
INPUT_INVALID. DeliveryTimeout.InvalidFormat | maximumDeliveryTime can only be Integer | The NIDD message request did not include valid value for maximumDeliveryTime. | Set the maximumDeliveryTime value in Integer format only, and then retry the request. |