Troubleshooting
Last updated September 17th, 2025
The Knox Deployment Program (KDP) API uses HTTP response codes to indicate the success or failure of a request. A 2XX response code indicates success, a 4XX response code indicates a client-side error due to the request inputs, and a 5XX response code indicates a server-side error.
Additionally, JSON error responses include a KDP-specific error code and supporting data.
Standard HTTP error codes
The following table lists common HTTP status codes returned by the KDP API:
Code | Name | Description |
---|---|---|
200 | Success | The request was successfully received. |
400 | Bad Request | The client has issued an invalid request. Verify your request (for example, check for validation errors in the request payload). |
401 | Unauthorized | Missing or expired authentication token. |
403 | Forbidden | The request has been authenticated, but the user or app does not have sufficient permissions to make the call. |
404 | Not Found | The requested resource does not exist. |
500 | Server Error | A server error has occured, please try again later. |
The error
object
Error responses include an error
object, which has the the following attributes:
Property | Type | Required | Description |
---|---|---|---|
errorId | String | Yes | A unique error identifier for the API call. |
code | String | Yes | The error code. Specific to KDP, and varies by API generation (Gen1 or Gen2). |
message | String | Yes | The error code title. |
data | String | Yes | A description of the error. |
KDP error codes
KDP specifies several custom error codes which provide more information than the standard HTTP error response codes. The following table lists the standard Knox Deployment Program error codes and their descriptions:
If you are a Gen1 customer, refer to this guide for a list of Gen1-specific error codes.
Code | Message | Description |
---|---|---|
40000000 | RESOURCE_INVALID_PARAM | The specified request parameters are not valid. {parameter } |
40000001 | RESOURCE_DUPLICATE_PARAM | Must provide only one of the following request parameters. {parameter } |
40000002 | PAGE_OUT_OF_BOUNDS | The requested page is not valid or is out of bounds. |
40000003 | DEVICE_COUNT_EXCEEDED | The specified list of devices exceeded the maximum count. |
40000004 | DEVICE_INVALID | The specified device is not valid. |
40000005 | DEVICE_DUPLICATE | The specified device already exists. |
40000006 | DEVICE_ID_INVALID | The specified device ID is not valid. |
40000007 | DEVICE_IMEI_INVALID | The specified IMEI is not valid. |
40000008 | DEVICE_MEID_INVALID | The specified MEID is not valid. |
40000009 | DEVICE_SERIAL_INVALID | The specified Serial Number is not valid. |
40000010 | RESELLER_ID_INVALID | The specified reseller ID is not valid. |
40000011 | CUSTOMER_ID_INVALID | The specified customer ID is not valid. |
40000012 | CUSTOMER_RESELLER_ALREADY_ASSOCIATED | The specified customer is already associated with the reseller. |
40000013 | TRANSACTION_ID_INVALID | The specified transaction ID is not valid. |
40000014 | TRANSACTION_ID_DUPLICATE | The specified transaction ID already exists. |
40000044 | RESELLER_CUSTOMER_DEVICE_NOT_FOUND | This device {parameter } does not exist for current customer and reseller. |
40100000 | AUTHORIZATION_FAIL | Authorization for the API is required, but the request has not been authenticated. |
40300000 | AUTHORIZATION_FAIL | The request has been authenticated but does not have the appropriate permissions, or the requested resource cannot be found. |
40400001 | RESELLER_NOT_FOUND | The specified reseller does not exist. |
40400002 | CUSTOMER_NOT_FOUND | The specified customer does not exist. |
40400003 | VENDOR_NOT_FOUND | The specified vendor does not exist. |
40400004 | ASSOCIATION_NOT_FOUND | The specified customer is not associated with current user. |
50000000 | INTERNAL_SERVER_ERROR | An unknown internal server error has occurred. |
Common error responses
Failure reported within device transaction status
The following example is a 200 OK
response for List device transaction status, but includes a transaction-specific error. In this particular scenario, the specified device is invalid, so you need to provide the correct IMEI and reupload it.
{
"devices": {
"totalCount": 1,
"totalPage": 1,
"pageNum": 0,
"transactions": [{
"transactionId": "246903",
"state": "Complete",
"type": "Put",
"operationType": "UPLOAD",
"devices": [{
"imei": "35182611....643",
"code": 40000004,
"message": "DEVICE_INVALID",
"data": "The specified device is not valid."
}]
}]
}
}
Customer ID is invalid
If the customer ID you provided while uploading devices is incorrect, you will get a 400 Bad Request
status with an error response resembling the following JSON. Ask the customer to provide you with their correct customer ID (which can be found by clicking on their profile icon on their Samsung Knox account), and try reuploading the device.
{
"errorId": "8B29A680442642C98D1AAF0ADD4733CF",
"code": 40000011,
"message": "CUSTOMER_ID_INVALID",
"data": "The specified customer ID is not valid."
}
Unauthorized requests
For any endpoint, if your access token has expired then you will get a 401 Unauthorized
error, along with a brief JSON message. Simply get a new access token, and use the new token as the Authorization
header value in your KDP API calls.
{
"error": "Invalid authentication token"
}
Invalid reseller ID
If the reseller ID you’ve provided is incorrect (for instance, while retrieving a list of your customers), you will get an error resembling the following. Use the correct reseller ID, which can be found from the KDP dashboard, and try again.
{
"errorId": "6C8B29A65F7845BC8ECD174F4D8B29A6",
"code": 40000010,
"message": "RESELLER_ID_INVALID",
"data": "The specified reseller ID is not valid."
}
Internal server errors
Server errors will return a 500 Internal Server Error
status, and an error message resembling the following. If you get a server error, try again later.
{
"errorId": "6C989F5B5F7845BC8ECD174F4D91D192",
"code": 50000000,
"message":"INTERNAL_SERVER_ERROR",
"data": "An unknown internal server error has occurred."
}
On this page
Is this page helpful?