Menu

Troubleshooting for Knox Deployment Program

The KDP Reseller 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 a client-side error due to the request inputs, and a 5XX response code indicates a server-side error. It also includes custom error codes that are specific to KDP. In addition, errors will contain a JSON response body with more information about the error:

HTTP/1.1 200 OK

Content-Type: application/json

		{
			"totalCount": 0,
			"pageNum": 0,
			"customers": []
		}

Async result: GET /kcs/v1/rp/devices/status

HTTP/1.1 200: OK

Content-Type: application/json

		{
			"transactionId": "string",
			"state": "Complete",
			"type": "Delete",
			"orderNo": "string",
			"devices": [
				{
					"imei": "string",
					"code": 40000004,
					"message": "DEVICE_INVALID",
					"data": "The specified device is not valid."
				}
			],
			"operationType": "DELETE"
		}

HTTP/1.1 400: Bad Request

Content-Type: application/json

		{
			"errorId": "string",
			"code": 40000011,
			"message": "CUSTOMER_ID_INVALID",
			"data": "The specified customer ID is not valid."
		}

HTTP/1.1 401: Unauthorized

Content-Type: application/json

		{
			"code": 4012250,
			"message": "ACCESS_TOKEN_BAD_REQUEST",
			"data": "ACCESS_TOKEN_BAD_REQUEST"
		}

HTTP/1.1 403: Forbidden

Content-Type: application/json

		{
			"errorId": "string",
			"code": 40300000,
			"message": "AUTHORIZATION_FAIL",
			"data": "The current user is unauthorized to use this service."
		}

HTTP/1.1 404: Not Found

Content-Type: application/json

		{
			"errorId": "string",
			"code": 40400001,
			"message": "RESELLER_NOT_FOUND",
			"data": "The specified reseller does not exist."
		}

HHTTP/1.1 500: Internal Server Error

Content-Type: application/json

		{
			"errorId" : "string",
			"code" : 50000000,
			"message":"INTERNAL_SERVER_ERROR",
			"data": "An unknown internal server error has occurred."
		}

Error object

The error objects contain the following attributes:

Property Type Required Description
errorId String Yes A unique error identifier.
code String Yes The error code number. If it is unique to KDP, it is a more specific indicator of the error than the HTTP response code.
message String Yes The name of the error code.
data String Yes A description of the error, intended to help developers to debug the error response.

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 payload).
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 cannot be found.
404 Not Found The requested path or the specified user does not exist.
500 Server Error An error has occurred on the server. Please try again later.

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 KDP error codes and their descriptions:

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.
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.

Knox Guard error codes

Knox Guard specifies several custom error codes which provide more information than the standard HTTP error response codes. The following table lists the standard Knox Guard error codes and their descriptions:

Code Message Description
4010000 AUTHORIZATION_FAIL The API key is not valid or the restriction data does not match.
4002102 API_KEY_RESTRICTION_INVALID The IP address or http referer format is incorrect.
4042101 API_KEY_RESTRICTION_NOT_FOUND The IP address or http referer are empty.
4040100 USER_NOT_FOUND There is no user linked to the API key.
4040900 TENANT_NOT_FOUND There is no tenant linked to the API key.
4000000 RESOURCE_INVALID_PARAM Argument is invalid.
4001809 LICENSE_IS_LACK There are no additional licenses that can be activated.
4040300 DEVICE_NOT_FOUND A device was not found with the specified condition.
4000310 DEVICE_STATE_INVALID The operation is not permitted, in the current state.
4000316 DEVICE_BULK_OPERATION_LIMIT_EXCEEDED The bulk operation limit has been exceeded.
4040400 PROFILE_NOT_FOUND Internal profile not found.
4001805 LICENSE_NAME_ALREADY_EXISTS License name already exists.
5001804 LICENSE_INTERNAL_SERVER_FAILED Error communication with the license server.
4001813 LICENSE_KEY_ALREADY_EXISTS_IN_OTHER_REGION This license key is already registered to another region (EU/US).
4001802 LICENSE_MAX_TRIAL_LICENSE_COUNT_REACHED Max trial license count reached.
4041800 LICENSE_NOT_FOUND License not found.
4001806 LICENSE_DEVICE_MAPPING_FOUND This device is already registered with a license.
4001812 LICENSE_ALREADY_DELETED License already deleted.
4030102 USER_IN_INVALID_STATE User state is invalid.
4030107 USER_REJECTED_STATE User is rejected by Samsung Admin.
4030104 USER_BLOCKED_STATE User is blocked by Samsung Admin.
4030106 USER_PENDING_STATE User is not approved yet.

Troubleshooting

If your request returns a 400 level error

Check the specific error code and refer to the error codes section of this reference. To further debug, check the response payload and the Activity Log on the Reseller Portal.

If your request returns a 500 level error

Please try the request again at a later time.