Back to top

Error codes

Last updated February 13th, 2024

The Knox E-FOTA API uses the conventional HTTP response code to indicate the success or failure of a request. A 2XX response code indicates success, a 4XX response code indicates an error given the inputs of the request, and a 5XX response code indicates a failure with the Knox E-FOTA platform.

Standard HTTP error codes

The following table lists the most common HTTP error responses:

Code Name Description
200 Success The request was successfully received.
400 Bad request The client has issued an invalid request. Verify your request (ex. check validation errors in your request load).
401 Unauthorized Authorization for the API is required, but the request has not been authenticated.
403 Forbidden The request has been authenticated but does not have the appropriate permissions, or the requested resource not be found.
404 Not found The requested path or the specified user does not exist.
409 Conflict The request could not be completed due to a conflict with the current state of the target resource.
500 Server error An error has occurred on the server. Please try again later.

Knox E-FOTA error codes

Knox E-FOTA specifies custom error codes for each endpoint.

Campaign error codes

Create campaign

Code Message errorKey errorMessage Description
00006 INTERNAL_SERVER_ERROR

"Campaign could not be saved to database"

"Unable to create campaign"

Error with Knox E-FOTA servers.
03001 CAMPAIGN_NAME_DUPLICATE_FOUND name "Campaign name already exists" Campaign name already exists, pick another campaign name.
03002 CAMPAIGN_INVALID_REQUEST_DATA name "Campaign name is not defined" Campaign name must be defined for campaign creation.
startDate "Campaign startDate is not defined" startDate parameter must be defined.
startDate "Campaign startDate should be equal or greater than today" startDate parameter must be set to today or a future day.
startDate "Campaign startDate is invalid" startDate parameter is invalid.
endDate "Campaign endDate is invalid" endDate parameter is invalid.
endDate "Campaign endDate should be greater than startDate" endDate must be after startDate.
timezone "Campaign timezone is not defined" timezone parameter must be defined.
timezone "Campaign timezone is invalid" timezone parameter entered is invalid.
from "Campaign firmware install from time is not defined" Firmware install from time must be defined so install can start at the given time.
from "Campaign firmware install from time is invalid" Firmware install from time must be valid so firmware can install at a valid time.
to "Campaign firmware install to time is not defined" Firmware install to time must be defined so install can end at the given time.
to "Campaign firmware install to time is invalid" Firmware install to time must be valid so install can end at a valid time.
to "Campaign firmware install to time should have gap from time more than 3 hours" The gap between firmware install from time and to time must be more than 3 hours to allow firmware to install.
downloadTime "Campaign download time is not defined" Campaign download time must be defined so firmware download can start at the given time.
downloadTime "Campaign download time is invalid" Campaign download time must be valid so firmware download can start.
postponeInstallation "Campaign postpone installation is invalid" Campaign postpone installation time should be valid or left empty for default value of 0.
postponeDuration "Campaign postpone installation is 0 so postpone duration should be 0" If postponeInstallation is set to 0 then postponeDuration should also be 0 to indicate that the firmware installation can not be postponed.
autoInstallTime "Campaign postpone installation is 0 so auto install time should be 0" If postponeInstallation is set to 0 then autoInstallTime should also be 0 to indicate that firmware will instantly automatically install.
downloadNetwork "Campaign download network is not defined" downloadNetwork must be defined so firmware can be downlaoded with the desired networks.
downloadNetwork "Campaign download network is invalid" downloadNetwork must be valid so firmware can be downlaoded with the desired networks.
downloadAvailable DuringRoamingNetwork "Campaign downloadNetwork is not ANY so download allowed while roaming when the network is Mobile should be false" If downloadNetwork does not allow mobile network then download using roaming must be false.
switchtoWifi "Campaign downloadNetwork is not ANY so switch to wifi when firmware size is over should be zero" switchtoWifi must be 0 if WIFIONLY network is chosen for downloadNetwork.
downloadSpeed "Campaign download speed is invalid" Download speed limit entered is invalid.
batteryLevel "Campaign battery level is invalid" Minimum battery level allowed for installation should be between 20% and 80%.
emailAddress "Campaign email address is not defined" Campaign email address must be defined so it can be used as contact information
phoneNumber "Campaign phone number is not defined" Campaign phone number must be defined so it can be used as contact information

Delete campaign

Code Message errorKey errorMessage Description
00006 INTERNAL_SERVER_ERROR

"Campaign is not converted to save to database"

"Unable to create campaign"

Error with Knox E-FOTA servers.
03001 CAMPAIGN_NAME_DUPLICATE_FOUND name "Campaign name already exists" Campaign name already exists, pick another campaign name.
03002 CAMPAIGN_INVALID_REQUEST_DATA campaignId "Campaign id is not defined" Campaign ID parameter must be defined.
campaignId "Campaign is invalid with tenantId" This campaign is not valid with the provided tenant.
campaignId "EmmDevice or EmmGroup assigned to this campaign" This campaign can't be deleted because an EMM device or EMM group is assigned to this campaign.
campaignId "Campaign is used for reseller's autoSync" This campaign can't be deleted because it is being used by a reseller's autoSync.

Cancel campaign

Code Message errorKey errorMessage Description
00001 RESOURCE_INVALID_PARAM "Tenant information is empty" Tenant information must be provided.
03002 CAMPAIGN_INVALID_REQUEST_DATA campaignId "Campaign ID is not defined" Campaign ID must be defined.
campaignId "Campaign is invalid with tenantId" This campaign is not valid with provided tenant.

Get campaign

Code Message errorKey errorMessage Description
03003 CAMPAIGN_NOT_FOUND campaignId "Tenant information is empty" Tenant information must be provided.
03002 CAMPAIGN_INVALID_REQUEST_DATA "Tenant information is empty" Tenant information could not be found.
campaignId "Campaign ID is not defined" Campaign ID must be defined.

List campaign

Code Message errorKey errorMessage Description
00001 RESOURCE_INVALID_PARAM "Campaign not found" Campaigns could not be found.
03002 CAMPAIGN_INVALID_REQUEST_DATA "Tenant Id is null" Tenant information could not be found.
"Search parameter is empty" Search parameter is empty.

Update campaign

Code Message errorKey errorMessage Description
03001 CAMPAIGN_NAME_DUPLICATE_FOUND name "Campaign name already exists" Campaign name already exists, pick another campaign name.
03002 CAMPAIGN_INVALID_REQUEST_DATA name "Campaign name is not defined" Campaign name must be defined for campaign creation.
startDate "Campaign startDate is not defined" startDate parameter must be defined.
startDate "Campaign startDate should be equal or greater than today" startDate parameter must be set to today or a future day.
startDate "Campaign startDate is invalid" startDate parameter is invalid.
endDate "Campaign endDate is invalid" endDate parameter is invalid.
endDate "Campaign endDate should be greater than startDate" endDate must be after startDate.
timezone "Campaign timezone is not defined" timezone parameter must be defined.
timezone "Campaign timezone is invalid" timezone parameter entered is invalid.
from "Campaign firmware install from time is not defined" Firmware install from time must be defined so install can start at the given time.
from "Campaign firmware install from time is invalid" Firmware install from time must be valid so firmware can install at a valid time.
to "Campaign firmware install to time is not defined" Firmware install to time must be defined so install can end at the given time.
to "Campaign firmware install to time is invalid" Firmware install to time must be valid so install can end at a valid time.
to "Campaign firmware install to time should have gap from time more than 3 hours" The gap between firmware install from time and to time must be more than 3 hours to allow firmware to install.
downloadTime "Campaign download time is not defined" Campaign download time must be defined so firmware download can start at the given time.
downloadTime "Campaign download time is invalid" Campaign download time must be valid so firmware download can start.
postponeInstallation "Campaign postpone installation is invalid" Campaign postpone installation time should be valid or left empty for default value of 0.
postponeDuration "Campaign postpone installation is 0 so postpone duration should be 0" If postponeInstallation is set to 0 then postponeDuration should also be 0 to indicate that the firmware installation can not be postponed.
autoInstallTime "Campaign postpone installation is 0 so auto install time should be 0" If postponeInstallation is set to 0 then autoInstallTime should also be 0 to indicate that firmware will instantly automatically install.
downloadNetwork "Campaign download network is not defined" downloadNetwork must be defined so firmware can be downlaoded with the desired networks.
downloadNetwork "Campaign download network is invalid" downloadNetwork must be valid so firmware can be downlaoded with the desired networks.
downloadAvailable DuringRoamingNetwork "Campaign downloadNetwork is not ANY so download allowed while roaming when the network is Mobile should be false" If downloadNetwork does not allow mobile network then download using roaming must be false.
switchtoWifi "Campaign downloadNetwork is not ANY so switch to wifi when firmware size is over should be zero" switchtoWifi must be 0 if WIFIONLY network is chosen for downloadNetwork.
downloadSpeed "Campaign download speed is invalid" Download speed limit entered is invalid.
batteryLevel "Campaign battery level is invalid" Minimum battery level allowed for installation should be between 20% and 80%.
emailAddress "Campaign email address is not defined" Campaign email address must be defined so it can be used as contact information
phoneNumber "Campaign phone number is not defined" Campaign phone number must be defined so it can be used as contact information

Assign error codes

Assign campaign

Code Message errorMessage Description
00001 RESOURCE_INVALID_PARAM

"campaignId must not be empty"

"deviceIds must not be empty"

"deviceIds must be greater than or equal to 1"

"deviceIds must be less than or equal to 1000"

Invalid parameter(s) in the request. Check your parameters in your request according to the error message.
03003 CAMPAIGN_NOT_FOUND "CAMPAIGN_NOT_FOUND" Campaign could not be found.
03004 RESOURCE_INVALID_PARAM "RESOURCE_INVALID_PARAM" Invalid parameter(s) in the request. Check your parameters in your request according to the error message.

Unassign campaign

Code Message errorMessage Description
00001 RESOURCE_INVALID_PARAM

"deviceIds must not be empty"

"deviceIds must be greater than or equal to 1"

"deviceIds must be less than or equal to 1000"

Invalid parameter(s) in the request. Check your parameters in your request according to the error message.
00005 RESOURCE_CONFLICT "RESOURCE_CONFLICT" Resource conflict has occured.

Firmware Policy error codes

Create Firmware Policy

Code Message errorMessage Description
00001 RESOURCE_INVALID_PARAM

"firmwareList must not be empty"

"firmwareList must not be null"

"firmwareList[n].model must not be blank"

"firmwareList[n].carrierCode must not be blank"

"firmwareList[n].isManual must not be blank"

"firmwareList[n].deviceCount must not be blank"

*n is the index of firmwareList

Invalid parameter(s) in the request. Check your parameters in your request according to the error message.

Get Firmware Policy

Code Message errorMessage Description
4030001 WRONG_ACCESS "No entry found" No entries could be found for this request.

Update Firmware Policy

Code Message errorMessage Description
00001 RESOURCE_INVALID_PARAM

"firmwareList must not be empty"

"firmwareList must not be null"

Invalid parameter(s) in the request. Check your parameters in your request according to the error message.

Delete Firmware Policy

Code Message errorMessage Description
00001 RESOURCE_INVALID_PARAM

"model must not be empty"

"carrierCode must not be null"

Invalid parameter(s) in the request. Check your parameters in your request according to the error message.
03005 CAMPAIGN_FIRMWARE_INVALID "Firmware does not match with existing firmware list" Provided firmware does not match with any existing firmware.

Device error codes

Upload devices

Code Message errorMessage Description
00001 RESOURCE_INVALID_PARAM

"imeiOrSns must not be empty"

Invalid parameter(s) in the request. Check your parameters in your request according to the error message.
02016 DEVICE_LIST_OVER_MAX_SIZE "DEVICE_LIST_OVER_MAX_SIZE" List of devices exceeds maximum size of 10,000.

Delete devices

Code Message errorMessage Description
00001 RESOURCE_INVALID_PARAM

"imeiOrSns must not be empty"

Invalid parameter(s) in the request. Check your parameters in your request according to the error message.
02016 DEVICE_LIST_OVER_MAX_SIZE "DEVICE_LIST_OVER_MAX_SIZE" List of devices exceeds maximum size of 10,000.

List devices

Code Message errorMessage Description
00001 RESOURCE_INVALID_PARAM

"pageNum must be greater than or equal to 0"

"pageSize must be greater than or equal to 1"

"pageSize must be less than or equal to 100"

Invalid parameter(s) in the request. Check your parameters in your request according to the error message.

Get models

Code Message errorMessage Description
4030001 WRONG_ACCESS

"No entry found"

Invalid parameter(s) in the request. Check your parameters in your request according to the error message.

Get carrier codes

Code Message errorMessage Description
4030001 WRONG_ACCESS

"No entry found"

Invalid parameter(s) in the request. Check your parameters in your request according to the error message.

Get device details

Code Message errorMessage Description
02001 DEVICE_NOT_FOUND

"DEVICE_NOT_FOUND"

Device could not be found

Get status count

Code Message errorMessage Description
4030001 WRONG_ACCESS

"No entry found"

No entries found

Force client refresh

Code Message errorMessage Description
00001 RESOURCE_INVALID_PARAM

"deviceIds must not be empty"

"deviceIds must be greater than or equal to 1"

"deviceIds must be less than or equal to 1000"

Invalid parameter(s) in the request. Check your parameters in your request according to the error message.

Get model CSC

Code Message errorMessage Description
00001 RESOURCE_INVALID_PARAM

"Parameter should not be null"

"Required String parameter 'model' is not present"

"Required String parameter 'carrierCode' is not present"

Invalid parameter(s) in the request. Check your parameters in your request according to the error message.

License error codes

Get license list

Code Message errorMessage Description
4032251 ACCESS_TOKEN_EXPIRED "ACCESS_TOKEN_EXPIRED" Your access token has expired, you must create a new one to continue making requests.
00001 RESOURCE_INVALID_PARAM

"sortBy must match "status|startDate|endDate|modified|deviceCount|achievedRate""

sortBy parameter only accepts these inputs: status, startDate, endDate, modified, deviceCount, archievedRate.

Register license

Code Message errorMessage Description
00001 RESOURCE_INVALID_PARAM

"licenseName must not be empty"

"licenseKey must not be empty"

"Required request body is missing"

Invalid parameter(s) in the request. Check your parameters in your request according to the error message.
18004 LICENSE_NOT_ACTIVE "The state of the license to register is Terminated." The license you are trying to register has been terminated.
18003 LICENSE_ALREADY_EXPIRED "The state of the license to register is Expired." The license you are trying to register is expired.
18023 LICENSE_NAME_ALREADY_EXISTS "Duplicate license name already exists." A license with this name already exists, please pick a different license name.
18012 LICENSE_INVALID "Failed to validate the license key. Please check the license key." The provided license key is invalid. Please check your license key.
18010 LICENSE_FAILED_TO_REGISTER "Failed to register license." This license could not be registered. Please use a different license key.
18026 LICENSE_KEY_ALREADY_EXISTS_IN_OTHER_REGION "The license key already exists in the other region." This license key already exists in another region. Please use a different license key.
18027 LICENSE_KEY_ALREADY_USED "The license key is already used." This license key has already been registered.
08002 TENANT_NOT_FOUND "Tenant not found." Tenant for this license could not be found.
00006 INTERNAL_SERVER_ERROR "INTERNAL_SERVER_ERROR" The server has encountered an internal error. Please try again later.

Generate trial license

Code Message errorMessage Description
00001 RESOURCE_INVALID_PARAM "Required LicenseType parameter 'licenseType' is not present" Invalid parameter(s) in the request. Check your parameters in your request according to the error message.
00006 INTERNAL_SERVER_ERROR "INTERNAL_SERVER_ERROR" The server has encountered an internal error. Please try again later.
18002 LICENSE_LMS_INTERNAL_ERROR "Generating trial license failed" Trial license generation failed. Please try again later.
18024 LICENSE_INVALID_TYPE "Received invalid trial license type request" Invalid license type. Please check the licenseType parameter.
18009 LICENSE_MAX_KFM_TRIAL_LICENSE_COUNT_REACHED "Trial License already exists." A trial license already exists. You can only have 1 trial license at a time.

Delete license

Code Message errorMessage Description
00001 RESOURCE_INVALID_PARAM "This license is assigned to device(s)" Invalid parameter(s) in the request. This license is already assigned to devices.
00006 INTERNAL_SERVER_ERROR "INTERNAL_SERVER_ERROR" The server has encountered an internal error. Please try again later.
18002 LICENSE_LMS_INTERNAL_ERROR "Generating trial license failed" Internal error occured when deleting license. Please try again later.
18006 LICENSE_FAILED_DELETE_LICENSE "LICENSE_FAILED_DELETE_LICENSE" License deletion failed. Please try again later.
18016 LICENSE_DOES_NOT_EXIST "Requested licenseId does not exist." This license could not be found, please check the licenseId parameter and ensure that this license exists.

FOTA error codes

Get firmware list

Code Message errorMessage Description
00001 RESOURCE_INVALID_PARAM

"modelName must not be blank"

"carrierCode must not be blank"

"csc must not be blank"

"status must not be null"

"openedDate pattern is invalid"

Invalid parameter(s) in the request. Check your parameters in your request according to the error message.

Troubleshooting

If your request returns a 400 level error

Check the specific error code and refer to the error codes section of this reference.

If your request returns a 500 level error

Please try the request again at a later time.

Limits and quotas on API requests

API call limits have been implemented to maintain stable service operations.

For each IP

Each customer will be able to call the API up to 25 times every second with the same IP address. If you cloud system is using a public IP when calling the Knox E-FOTA API, please ensure that your API calls do not surpass the limit.

For each user

The super admin of each tenant will receive tokens through Knox Cloud API key generation. Once the API key is generated, all users under this tenant will be able to call the Knox E-FOTA API using the token. Each admin under the same tenant will be able to make API requests at a maximum of 25 calls every second.

For each API key

The API key is the x-knox-apitoken value used in the API request header when calling the Knox E-FOTA API. The token can be used up to a maximum of 25 API calls every second.

Is this page helpful?