Skip to content

Error Codes ​

Error code reference for the eID. Covers codes returned by the API and by the CICReader Mobile SDK.

How to Read an Error ​

Every endpoint returns HTTP 200 once the request is processed, even when the business check fails. Always read in this order:

text
1. success        → false means the request failed
2. code           → numeric error code (0 = success)
3. data.status    → "success" or "failure"
4. errors[].code  → string error code describing the cause
json
{
  "success": false,
  "code": 4001000,
  "message": "Input parameter violates a constraint.",
  "data": { "request_id": "f48085e4-3ae4-40bb-b0e1-9b2c72575bc1" },
  "errors": [
    {
      "code": "invalid_parameter_exception",
      "message": "Input parameter violates a constraint.",
      "detail": { "field": "card_type" }
    }
  ]
}

Always include request_id when reporting an error to CAKE Support — it is the key for looking up the server-side log.

Numeric Error Codes ​

Shared across CAKE's identity platform.

CodeMessage
401100Unauthorized action. You do not have permission to perform this action.
2001000Face data constraint violation.
2001001Embedding data violates a constraint.
2001002Unexpected error occurred while processing the external request.
2001003No faces detected in the selfie or original image.
2001005Unexpected error occurred while processing the request.
2001006Selfie and front NID do not match.
2001007Client not found in the system.
2001008Face is already registered in the system.
2001009Multiple faces detected in the selfie or original image.
2001010Access ID not found in the system.
2001011Liveness check failed.
2001012Sanity check failed.
2001014Registration rate limit exceeded. Too many registration attempts.
2001015Registration brute force limit exceeded.
2001016Face authentication rate limit exceeded. Too many attempts.
2001017Face authentication brute force limit exceeded.
2001019Transaction not found in the system.
2001020Transaction lock failed.
2001021Invalid transaction request.
2001022Transaction has already been verified.
2001023Invalid transaction key.
2001024Authentication lock failed.
2001025Invalid selfie image provided.
2001026Duplicated image detected.
2001027Invalid token provided.
2001031Upload rate limit exceeded.
2002100Transaction already expired.
2002101Transaction challenge invalid.
2002200Selfie image has expired.
2002202Invalid selfie image provided.
2002203User profile is already locked.
2002204User profile is not active.
4001000Input parameter violates a constraint.
4001001The X-TV-Timestamp header is expired. Please provide a newer timestamp.
4001002Selfie or original image contains more than one face.
4001005Ref ID is invalid.
4041000The image ID is not found in DB.
4041001The face of user not found.
4041002The profile of user not found.
4041003The request ID is not found when polling result by id.
4041004The file ID is not found in DB.
4041005The collection is not found in DB.
4091000The cus_user_id has been registered.
4131000The input image size exceeds the allowed limit (15MB).
4131001The input file size exceeds the allowed limit (15MB).
4151000The provided image format is not supported (JPG/PNG).
4151001The provided file format is not supported (PDF).
4291000The number of requests exceeded your throughput limit.
5001000Some unexpected error occurs while processing the request.

eID-Specific Codes ​

CodeMessage
2001029NFC info not found.
2001030Invalid document id.

String Error Codes ​

Returned in the errors[].code array.

CodeDescription
access_id_not_foundAccess ID not found.
access_denied_exceptionYou are not authorized to perform the action.
invalid_parameter_exceptionInput parameter violates a constraint.
request_time_too_skewedThe X-TV-Timestamp header is expired, need a newer one.
image_not_found_exceptionThe image ID is not found in DB.
image_too_large_exceptionThe input image size exceeds the allowed limit (15MB).
invalid_image_format_exceptionThe provided image format is not supported (JPG/PNG).
duplicated_imageImages sent to server are duplicated.
image_has_no_facesImage sent to the server has no faces.
image_has_multiple_facesImage sent to the server has multiple faces.
request_not_found_exceptionThe request ID is not found when polling result by id.
request_timeout_exceptionRequest takes too long to process.
rate_limit_exceptionThe number of requests exceeded your throughput limit.
internal_server_errorSome unexpected error occurs while processing the request.
transaction_lock_failedTransaction lock failed.
transaction_invalid_requestInvalid transaction request.
user_profile_not_found_exceptionThe profile of user not found.
user_profile_lockedUser profile has been locked.
user_not_found_exceptionUser not found.

HTTP Status Codes ​

CodeDescription
401You are not authorized to perform the action.
500Some unexpected error occurs while processing the request.

CICReader SDK — Android ​

Raised by the Android SDK as CICException. Separate from the API error codes above.

CodeMessage
600032NfcNotAvailableException — NFC is not available.
600316IllegalMRZException — Illegal MRZ information detected.
600317IllegalCanException — Illegal CAN information detected.
600333EstablishMessageChannelFailedException — Establishing the PACE message channel failed.
600396InvalidCardType — The scanned card is not an NID.
600503UnexpectedException — An unexpected exception occurred.
600666ReadingDataFailedException — Reading data from the NID failed.
601400NetworkError — A network error occurred.
601401ApiError — An error came back from the API.
601404UnauthorizedError — The user is unauthorized.
601408NotFoundError — The requested resource was not found.
601503ServerError — A server error occurred.

CICReader SDK — iOS and JavaScript ​

Raised by the iOS SDK as CESNfcError, and by the JavaScript bridge as {code, message}.

CodeMessage
-1Unspecified — An unexpected error. JavaScript bridge only.
3UserCancelled — The user cancelled. JavaScript bridge only.
600001ResponseError — An error occurred while processing the NFC response.
600002InvalidResponse — Some data on the card is invalid.
600032NFCNotSupported — NFC is not supported on this device.
600101SessionOnGoing — Another reading session is in progress.
600102SystemResourceUnavailable — The NFC system is busy.
600103NfcNotAvailable — The device does not support NFC. JavaScript bridge only.
600301InvalidResponseChecksum — The response checksum was invalid.
600302MissingMandatoryFields — Required fields were missing from the response.
600304CannotDecodeASN1Length — The ASN.1 length could not be decoded.
600308InvalidASN1Value — An invalid ASN.1 value was encountered.
600316InvalidMRZKey / InvalidFullMRZKey — The MRZ key is invalid.
600317InvalidCANKey — The Card Access Number key is invalid.
600332MoreThanOneTagFound — More than one NFC tag was found.
600333EstablishMessageChannelFailedException — PACE channel setup failed. JavaScript bridge only.
600364InvalidHashAlgorithmSpecified — An invalid hash algorithm was specified.
600365InvalidDataPassed — Invalid data was passed to the function.
600366InvalidRequestUrl — An invalid request URL was specified. iOS only.
600396InvalidCardType — The scanned card is not an NID.
600400NoConnectedTag — No connected NFC tag was found.
600401D087Malformed — The D087 command was malformed.
600404NotImplemented — The feature or operation is not implemented.
600408TagNotValid — The NFC tag is not valid.
600416ConnectionError — A connection error occurred with the NFC tag.
600432UserCanceled — The operation was cancelled by the user.
600464Uninitialized — The library was not initialized before use.
600503UnexpectedError — An unexpected error occurred.
600601UnableToProtectAPDU — Unable to protect APDU.
600602UnableToUnprotectAPDU — Unable to unprotect APDU.
600604UnsupportedDataGroup — The requested data group is not supported.
600605NotYetSupported — The feature or operation is not yet supported.
600608DataGroupNotRead — The requested data group was not read.
600616UnknownTag — An unknown tag was encountered.
600632UnknownImageFormat — An unknown image format was encountered.
600666ReadingDataFailedException — Reading data from the NID failed. JavaScript bridge only.
600700UIError — An error occurred in the UI.
601400NetworkError — A network error occurred.
601401ApiError — An API error occurred.
601404ApiAccessDenied — Access to the API was denied.
601405ApiParseError — An error occurred while parsing the API response.
601503ServerError — A server error occurred.

CICReader SDK — Flutter ​

The Flutter plugin shares three codes across both platforms, then surfaces the underlying platform's code.

CodeMessage
-1Unspecified — An unexpected error. The message carries the detail.
3UserCancelled — The user cancelled the operation.
4SessionOnGoing — Another reading session is in progress.

INFO

SDK codes (600xxx, 601xxx) and API codes (2001xxx, 4001xxx) are independent ranges. The same network failure can surface as 601400 from the SDK or 5001000 from the API, depending on where it occurred.

Next Steps ​

  • Read NFC — where most chip-read errors originate
  • Verify NFC — errors raised when cross-checking against C06

Developers