E + the number, e.g. E1003). Codes are grouped into modules, each owning a numeric range.
How errors surface per platform
| Platform | Type | Accessor |
|---|---|---|
| Kotlin / Java | MBKYCError (via MBKYCResult.Err) | error.code |
| Swift | MBKYCError: Error | err.code.rawValue |
| C# | MBKYCException | (int)ex.ErrorCode |
| C | MBKYC_Error* | mbkyc_error_code(error) |
| TypeScript | MBKYCError | error.numericCode / error.code |
Match on the symbolic name rather than hard-coding numbers — names are stable across releases. Every SDK exports the names (e.g. the typed
ErrorCode enum, or per-module buckets like vendor.EXTENSION_NOT_FOUND).Module map
| Module | Range | Area |
|---|---|---|
bindings | 1400–1599 | SDK API-surface errors (arguments, cancellation, lifecycle) |
backend | 1000–1199 | Backend, network, and authentication errors |
crypto | 1200–1399 | Encryption, keys, and signing errors |
smartcard | 600–799 | Smart card reader and session errors |
fingerprint | 800–999 | Fingerprint reader and capture errors |
card | 0–199 | Card protocol and APDU errors |
transport | 400–599 | IPC, connection, and messaging errors |
service | 1600–1799 | Service verification errors |
schema | 200–399 | Schema lookup and parsing errors |
vendor | 9000–9999 | Vendor-specific errors |
io | 1800–1999 | Standard I/O errors (std::io::ErrorKind) |
usb | 2000–2199 | USB errors (rusb::Error) |
pcsc | 2200–2399 | PC/SC smart card errors |
ccid | 2400–2599 | CCID protocol errors |
nfc | 2600–2799 | NFC/IsoDep errors |
serial | 2800–2999 | Serial port errors |
device | 3000–3199 | Device fingerprinting errors |
aidl | 3200–3399 | Android AIDL service errors |
jni | 3400–3599 | JNI (Java Native Interface) errors |
logging | 3600–3799 | Logging and log export errors |
wasm | 3800–3999 | WASM protocol-runtime errors (host + module side) |
Integration errors
These are the modules you are most likely to handle in application code.bindings
Errors from the SDK API surface (your code): bad arguments, cancellation, lifecycle.
| Code | Name | Message |
|---|---|---|
| 1400 | INVALID_ARGUMENT | invalid argument |
| 1401 | INITIALIZATION_FAILED | initialization failed |
| 1402 | BINDING_CONNECTION_FAILED | connection failed |
| 1403 | DISCONNECT_FAILED | disconnect failed |
| 1404 | READ_FAILED | read failed |
| 1405 | WRITE_FAILED | write failed |
| 1406 | CANCELLED | cancelled |
| 1407 | BINDING_TIMEOUT | timeout |
| 1408 | NO_READER | no reader |
| 1409 | NO_CARD | no card |
| 1410 | AUTHENTICATION_FAILED | authentication failed |
| 1411 | OUT_OF_MEMORY | out of memory |
| 1412 | NOT_INITIALIZED | not initialized |
| 1413 | INTERNAL_ERROR | internal error |
| 1414 | UNKNOWN_REQUEST_TYPE | unknown request type |
| 1415 | INVALID_READER_ID | invalid reader ID format |
| 1416 | ALREADY_INITIALIZED | already initialized |
| 1417 | BUSY | host is busy with another lifecycle transition |
backend
Backend — authentication, API key, device registration, and network errors from the Validation Gateway.
| Code | Name | Message |
|---|---|---|
| 1000 | NETWORK_ERROR | network error |
| 1001 | BACKEND_UNREACHABLE | backend unreachable |
| 1002 | REQUEST_TIMEOUT | request timeout |
| 1003 | INVALID_JWT | invalid JWT |
| 1004 | API_KEY_REVOKED | API key revoked |
| 1005 | SESSION_NOT_FOUND | session not found |
| 1006 | SESSION_EXPIRED | session expired |
| 1007 | DEVICE_NOT_REGISTERED | device not registered |
| 1008 | DEVICE_ALREADY_REGISTERED | device already registered |
| 1009 | FINGERPRINTING_FAILED | fingerprinting failed |
| 1010 | INVALID_REQUEST | invalid request |
| 1011 | METHOD_NOT_ALLOWED | method not allowed |
| 1012 | VALIDATION_FAILED | validation failed |
| 1013 | BACKEND_ERROR | backend error |
| 1014 | JSON_ERROR | json error |
| 1015 | ENCODING_ERROR | encoding error |
| 1016 | DEVICE_FINGERPRINT_ERROR | device fingerprint error |
| 1017 | JWT_ERROR | JWT error |
| 1018 | SESSION_ERROR | session error |
| 1019 | NO_READER_CONNECTED | no reader connected |
| 1020 | NOT_IMPLEMENTED | not implemented |
| 1021 | INVALID_HEADER | invalid header |
| 1022 | INVALID_CLIENT_REFERENCE_ID | invalid client reference ID |
| 1023 | MISSING_CLIENT_REFERENCE_ID | missing client reference ID in response |
| 1024 | SIGNER_ERROR | token signing failed |
| 1025 | SIGNER_TIMEOUT | token signing timed out |
crypto
Crypto — session encryption, key exchange, and signing errors.
| Code | Name | Message |
|---|---|---|
| 1200 | ENCRYPTION_FAILED | encryption failed |
| 1201 | DECRYPTION_FAILED | decryption failed |
| 1202 | KEY_DERIVATION_FAILED | key derivation failed |
| 1203 | SIGNATURE_VERIFICATION_FAILED | signature verification failed |
| 1204 | SIGNATURE_NOT_FOUND | signature not found |
| 1205 | INVALID_SIGNATURE_FORMAT | invalid signature format |
| 1206 | BINARY_NOT_FOUND | binary not found |
| 1207 | INVALID_TEAM_ID | invalid team ID |
| 1208 | EPHEMERAL_KEY_GEN_FAILED | failed to generate ephemeral key pair |
| 1209 | PUBKEY_COMPUTE_FAILED | failed to compute public key |
| 1210 | INVALID_PEER_PUBKEY | invalid peer public key |
| 1211 | ECDH_AGREEMENT_FAILED | ECDH agreement failed |
| 1212 | NONCE_GEN_FAILED | failed to generate nonce |
| 1213 | INVALID_ENCRYPTED_DATA | invalid encrypted data format |
| 1214 | INVALID_NONCE | invalid nonce length |
| 1215 | INVALID_TAG | invalid authentication tag length |
| 1216 | AGE_KEY_PARSE_FAILED | failed to parse age identity key |
| 1217 | AGE_DECRYPTION_FAILED | age decryption failed |
| 1218 | INVALID_KEY_LENGTH | invalid key length |
smartcard
Smart card — reader connection and session errors.
| Code | Name | Message |
|---|---|---|
| 600 | NOT_CONNECTED | not connected |
| 601 | CONNECTOR_ERROR | connector error |
| 602 | READER_ERROR | reader error |
| 603 | INVALID_CARD_PARAMETERS | invalid card parameters |
| 604 | BAC_PARAMETERS_NOT_SET | BAC parameters not set |
| 605 | UNSUPPORTED_INTERFACE | unsupported interface |
| 606 | UNSUPPORTED_CARD_VERSION | unsupported card version |
| 607 | INVALID_ATTRIBUTE_DATA | invalid attribute data |
| 608 | UNSUPPORTED_ENCODING | unsupported encoding |
| 609 | INVALID_CARD_VERSION | invalid card version |
| 610 | NO_EID_READER_AVAILABLE | no EID reader available |
| 611 | SCP_PATTERN_NOT_FOUND | SCP pattern not found |
| 612 | INVALID_SCP | invalid SCP |
| 613 | UNKNOWN_SMARTCARD | unknown smartcard |
| 614 | INVALID_OBJECT_LENGTH | invalid object length |
| 615 | NO_DATA_READ | no data read |
| 616 | SHORT_REMAINING_LENGTH | short remaining length |
| 617 | NO_SMARTCARD_READERS | no smart card readers available |
| 618 | SMARTCARD_READER_NOT_FOUND | smart card reader not found |
| 619 | SMARTCARD_CONNECT_FAILED | failed to connect to smart card |
| 620 | SMARTCARD_TRANSMIT_FAILED | failed to transmit APDU to smart card |
| 621 | SMARTCARD_INVALID_SESSION | invalid smart card session |
| 622 | SMARTCARD_REMOVED | smart card was removed |
| 623 | SMARTCARD_DIP_TIMEOUT | timed out waiting for card insertion |
| 624 | INCOMPLETE_CARD_DATA | required field missing from card data |
fingerprint
Fingerprint — sensor and capture errors.
| Code | Name | Message |
|---|---|---|
| 800 | NO_FINGERPRINT_READER_AVAILABLE | no fingerprint reader available |
| 801 | FINGERPRINT_READER_ERROR | fingerprint reader error |
| 802 | FINGERPRINT_READER_NOT_FOUND | fingerprint reader not found |
| 803 | FINGERPRINT_CONNECT_FAILED | fingerprint connect failed |
| 804 | FINGERPRINT_CAPTURE_FAILED | fingerprint capture failed |
| 805 | FINGERPRINT_CAPTURE_TIMEOUT | fingerprint capture timeout |
| 806 | INVALID_FINGERPRINT_SESSION | invalid fingerprint session |
| 807 | LOW_FINGERPRINT_QUALITY | low fingerprint quality |
| 808 | IMAGE_ENCODE_ERROR | failed to encode fingerprint image |
card
Card — Emirates ID chip protocol (APDU / status-word) errors.
| Code | Name | Message |
|---|---|---|
| 0 | INVALID_RESPONSE_LEN | Response length does not match expected value |
| 1 | INVALID_COMMAND_HEADER | Command APDU header is malformed or invalid |
| 2 | MORE_DATA_AVAILABLE | Card indicates additional data is available for retrieval |
| 3 | MUTUAL_AUTH_FAILED | Mutual authentication between terminal and card failed |
| 4 | APPLICATION_BLOCKED | Application on card is blocked and cannot be accessed |
| 5 | CARD_ERROR | General card error occurred during operation |
| 6 | INVALID_HOST_DATA | Data provided by host is invalid or malformed |
| 7 | APPLICATION_NOT_FOUND | Requested application not found on card |
| 8 | OBJECT_NOT_FOUND | Requested object not found on card |
| 9 | OBJECT_APPLICATION_NOT_FOUND | Object’s parent application not found on card |
| 10 | TAG_OBJECT_NOT_FOUND | Object with specified tag not found |
| 11 | ATTRIBUTE_NOT_FOUND | Requested attribute not found |
| 12 | INSUFFICIENT_BUFFER_LEN | Buffer size is insufficient for the operation |
| 13 | OBJECT_ATTRIBUTE_NOT_FOUND | Attribute not found within the specified object |
| 14 | TRANSCEIVE_ERR | Error occurred during APDU transmission |
| 15 | INVALID_CARD_PARAMS | Card parameters are invalid or misconfigured |
| 16 | BAC_PARAMS_NOT_SET | Basic Access Control parameters have not been set |
| 17 | BODY_TOO_LARGE | Request body exceeds maximum allowed size |
| 18 | EMPTY_BODY | Request body is empty when data was expected |
| 19 | UNSUPPORTED_INTERFACE | Card interface type is not supported |
| 20 | UNSUPPORTED_CARD_VERSION | Card version is not supported |
| 21 | INVALID_ATTR_DATA | Attribute data is invalid or corrupted |
| 22 | UNSUPPORTED_ENCODING | Data encoding format is not supported |
| 23 | ATTR_NOT_FOUND | Attribute not found in data structure |
| 24 | INVALID_CARD_VERSION | Card version format is invalid |
| 25 | NO_EID_READER_AVAILABLE | No eID card reader is available |
| 26 | SCP_PATTERN_NOT_FOUND | Secure Channel Protocol pattern not found |
| 27 | INVALID_SCP | Secure Channel Protocol configuration is invalid |
| 28 | UNKNOWN_EID | eID card type is not recognized |
| 29 | INVALID_OBJECT_LENGTH | Object length field is invalid |
| 30 | NO_DATA_READ | No data was read from the card |
| 31 | SHORT_REMAINING_LENGTH | Remaining data length is shorter than expected |
| 32 | SW_FILE_NOT_FOUND | card returned SW 6A82 (file not found) |
| 33 | SW_RECORD_NOT_FOUND | card returned SW 6A83 (record not found) |
| 34 | SW_SECURITY_STATUS_NOT_SATISFIED | card returned SW 6982 (security status not satisfied; PIN or secure messaging required) |
| 35 | SW_AUTH_METHOD_BLOCKED | card returned SW 6983 (authentication method blocked) |
| 36 | SW_CONDITIONS_OF_USE_NOT_SATISFIED | card returned SW 6985 (conditions of use not satisfied) |
| 37 | SW_INCORRECT_P1_P2 | card returned SW 6A86 (incorrect P1 P2) |
| 38 | SW_INS_NOT_SUPPORTED | card returned SW 6D00 (INS not supported) |
| 39 | SW_CLA_NOT_SUPPORTED | card returned SW 6E00 (CLA not supported) |
| 40 | SW_UNCLASSIFIED | card returned a non-success status word not mapped to a specific code; see logs |
| 41 | SW_OFFSET_OUT_OF_RANGE | card returned SW 6B00 (wrong P1 P2; usually offset past end of file) |
transport
Transport — connection, timeout, and messaging errors to local services.
| Code | Name | Message |
|---|---|---|
| 400 | INVALID_MESSAGE_FORMAT | invalid message format |
| 401 | INVALID_PAYLOAD_DATA | invalid payload data |
| 402 | UNKNOWN_MESSAGE_TYPE | unknown message type |
| 403 | CONNECTION_FAILED | connection failed |
| 404 | CONNECTION_LOST | connection lost |
| 405 | TIMEOUT | timeout |
| 406 | SERVICE_BUSY | service busy |
| 407 | SERIALIZATION_ERROR | serialization error |
| 408 | VALIDATION_ERROR | validation error |
| 409 | MESSAGE_TOO_LARGE | message too large |
| 410 | CONNECTION_CLOSED | connection closed |
| 411 | PROTOCOL_ERROR | protocol error |
| 412 | INVALID_SOCKET_NAME | invalid socket name |
service
Service — signed-service verification errors.
| Code | Name | Message |
|---|---|---|
| 1600 | SERVICE_NOT_ALLOWED | Service vendor/type not in allowed list |
| 1601 | SERVICE_VERSION_MISMATCH | Service version outside supported range |
| 1602 | SERVICE_DEPRECATED | service has been deprecated |
| 1603 | SERVICE_INVALID_SIGNATURE | service signature verification failed |
| 1604 | SERVICE_NOT_FOUND | service not found |
| 1605 | SERVICE_BIND_FAILED | failed to bind to service |
| 1606 | SERVICE_VERSION_UNAVAILABLE | failed to get service version |
| 1607 | SERVICE_INIT_FAILED | service initialization failed |
| 1608 | SERVICE_RUNTIME_ERROR | service runtime error |
| 1609 | SERVICE_SIGNAL_HANDLER_FAILED | signal handler setup failed |
schema
Schema — card data schema lookup and parsing errors.
| Code | Name | Message |
|---|---|---|
| 200 | APPLICATION_NOT_FOUND | application not found |
| 201 | OBJECT_NOT_FOUND | object not found |
| 202 | OBJECT_APPLICATION_NOT_FOUND | object application not found |
| 203 | TAG_OBJECT_NOT_FOUND | tag object not found |
| 204 | ATTRIBUTE_NOT_FOUND | attribute not found |
| 205 | INSUFFICIENT_BUFFER_LENGTH | insufficient buffer length |
| 206 | OBJECT_ATTRIBUTE_NOT_FOUND | object attribute not found |
vendor
Vendor — vendor-specific and extension errors (e.g. browser extension not found).
| Code | Name | Message |
|---|---|---|
| 9000 | VENDOR_ERROR | vendor error |
| 9001 | MORPHO_RESPONSE_TOO_SHORT | Morpho response too short |
| 9002 | MORPHO_INVALID_MAGIC | Morpho invalid sync magic |
| 9003 | MORPHO_DEVICE_NOT_FOUND | Morpho device not found |
| 9004 | MORPHO_CAPTURE_TIMEOUT | Morpho capture timeout |
| 9005 | MORPHO_USB_ERROR | Morpho USB error |
| 9006 | MORPHO_PERMISSION_DENIED | Morpho USB permission denied |
| 9007 | MORPHO_SERIAL_ERROR | Morpho serial port error |
| 9008 | MORPHO_IMAGE_TOO_SHORT | Morpho image data too short |
| 9009 | MORPHO_JNI_ERROR | Morpho JNI error |
| 9010 | MORPHO_OPEN_FAILED | Morpho SDK device open failed |
| 9011 | MORPHO_CAPTURE_FAILED | Morpho capture failed |
| 9012 | MORPHO_INVALID_DEVICE_PATH | Morpho invalid device path |
| 9100 | SUPREMA_DEVICE_NOT_FOUND | Suprema device not found |
| 9101 | SUPREMA_BAD_HANDSHAKE | Suprema device handshake failed |
| 9102 | SUPREMA_BULK_READ_INCOMPLETE | Suprema bulk read incomplete |
| 9103 | SUPREMA_CAPTURE_TIMEOUT | Suprema capture timeout |
| 9104 | SUPREMA_CAPTURE_FAILED | Suprema capture failed |
| 9105 | SUPREMA_USB_ERROR | Suprema USB error |
| 9106 | SUPREMA_PERMISSION_DENIED | Suprema USB permission denied |
| 9107 | SUPREMA_INVALID_LUT | Suprema embedded LUT is malformed |
| 9108 | SUPREMA_NO_FINGER | Suprema sensor saw no finger within timeout |
| 9200 | ZHIANG_DEVICE_NOT_FOUND | Zhiang device not found |
| 9201 | ZHIANG_BAD_AB_BLOCK | Zhiang AB calibration block is malformed |
| 9202 | ZHIANG_USB_ERROR | Zhiang USB error |
| 9203 | ZHIANG_CAPTURE_TIMEOUT | Zhiang capture timeout |
| 9204 | ZHIANG_CAPTURE_FAILED | Zhiang capture failed |
| 9205 | ZHIANG_LOW_QUALITY | Zhiang quality streak threshold not reached |
| 9206 | ZHIANG_PERMISSION_DENIED | Zhiang USB permission denied |
| 9207 | ZHIANG_JPEG_DECODE_ERROR | Zhiang MJPEG frame decode failed |
| 9208 | ZHIANG_NO_FINGER | Zhiang sensor saw no finger within timeout |
| 9900 | EXTENSION_NOT_FOUND | browser extension not found |
| 9999 | UNKNOWN_ERROR | unknown error |
Lower-level errors
These modules cover the hardware, transport, and platform layers. You won’t usually branch on them directly, but they appear in logs and bug reports. Expand a module for its full list.io (1800–1999) — Standard I/O errors (std::io::ErrorKind)
io (1800–1999) — Standard I/O errors (std::io::ErrorKind)
| Code | Name | Message |
|---|---|---|
| 1800 | NOT_FOUND | entity not found |
| 1801 | PERMISSION_DENIED | permission denied |
| 1802 | CONNECTION_REFUSED | connection refused |
| 1803 | CONNECTION_RESET | connection reset |
| 1804 | HOST_UNREACHABLE | host unreachable |
| 1805 | NETWORK_UNREACHABLE | network unreachable |
| 1806 | CONNECTION_ABORTED | connection aborted |
| 1807 | NOT_CONNECTED | not connected |
| 1808 | ADDR_IN_USE | address in use |
| 1809 | ADDR_NOT_AVAILABLE | address not available |
| 1810 | NETWORK_DOWN | network down |
| 1811 | BROKEN_PIPE | broken pipe |
| 1812 | ALREADY_EXISTS | entity already exists |
| 1813 | WOULD_BLOCK | operation would block |
| 1814 | NOT_A_DIRECTORY | not a directory |
| 1815 | IS_A_DIRECTORY | is a directory |
| 1816 | DIRECTORY_NOT_EMPTY | directory not empty |
| 1817 | READ_ONLY_FILESYSTEM | read-only filesystem |
| 1818 | FILESYSTEM_LOOP | filesystem loop |
| 1819 | STALE_NETWORK_FILE_HANDLE | stale network file handle |
| 1820 | INVALID_INPUT | invalid input |
| 1821 | INVALID_DATA | invalid data |
| 1822 | TIMED_OUT | operation timed out |
| 1823 | WRITE_ZERO | write zero |
| 1824 | STORAGE_FULL | storage full |
| 1825 | NOT_SEEKABLE | not seekable |
| 1826 | QUOTA_EXCEEDED | quota exceeded |
| 1827 | FILE_TOO_LARGE | file too large |
| 1828 | RESOURCE_BUSY | resource busy |
| 1829 | EXECUTABLE_FILE_BUSY | executable file busy |
| 1830 | DEADLOCK | deadlock |
| 1831 | CROSSES_DEVICES | crosses devices |
| 1832 | TOO_MANY_LINKS | too many links |
| 1833 | INVALID_FILENAME | invalid filename |
| 1834 | ARGUMENT_LIST_TOO_LONG | argument list too long |
| 1835 | INTERRUPTED | operation interrupted |
| 1836 | UNSUPPORTED | unsupported |
| 1837 | UNEXPECTED_EOF | unexpected end of file |
| 1838 | OUT_OF_MEMORY | out of memory |
| 1839 | IN_PROGRESS | operation in progress |
| 1899 | OTHER | other I/O error |
usb (2000–2199) — USB errors (rusb::Error)
usb (2000–2199) — USB errors (rusb::Error)
| Code | Name | Message |
|---|---|---|
| 2000 | IO | USB I/O error |
| 2001 | INVALID_PARAM | invalid USB parameter |
| 2002 | ACCESS | USB access denied |
| 2003 | NO_DEVICE | USB device not found |
| 2004 | NOT_FOUND | USB entity not found |
| 2005 | BUSY | USB resource busy |
| 2006 | TIMEOUT | USB operation timed out |
| 2007 | OVERFLOW | USB overflow |
| 2008 | PIPE | USB pipe error |
| 2009 | INTERRUPTED | USB operation interrupted |
| 2010 | NO_MEM | USB insufficient memory |
| 2011 | NOT_SUPPORTED | USB operation not supported |
| 2012 | BAD_DESCRIPTOR | USB malformed descriptor |
| 2099 | OTHER | other USB error |
pcsc (2200–2399) — PC/SC smart card errors
pcsc (2200–2399) — PC/SC smart card errors
| Code | Name | Message |
|---|---|---|
| 2200 | INTERNAL_ERROR | PC/SC internal error |
| 2201 | CANCELLED | PC/SC operation cancelled |
| 2202 | INVALID_HANDLE | PC/SC invalid handle |
| 2203 | INVALID_PARAMETER | PC/SC invalid parameter |
| 2204 | INVALID_TARGET | PC/SC invalid target |
| 2205 | NO_MEMORY | PC/SC no memory |
| 2206 | WAITED_TOO_LONG | PC/SC waited too long |
| 2207 | INSUFFICIENT_BUFFER | PC/SC insufficient buffer |
| 2208 | UNKNOWN_READER | PC/SC unknown reader |
| 2209 | TIMEOUT | PC/SC timeout |
| 2210 | SHARING_VIOLATION | PC/SC sharing violation |
| 2211 | NO_SMARTCARD | PC/SC no smartcard |
| 2212 | UNKNOWN_CARD | PC/SC unknown card |
| 2213 | CANT_DISPOSE | PC/SC can’t dispose |
| 2214 | PROTO_MISMATCH | PC/SC protocol mismatch |
| 2215 | NOT_READY | PC/SC not ready |
| 2216 | INVALID_VALUE | PC/SC invalid value |
| 2217 | SYSTEM_CANCELLED | PC/SC system cancelled |
| 2218 | COMM_ERROR | PC/SC communication error |
| 2219 | UNKNOWN_ERROR | PC/SC unknown error |
| 2220 | INVALID_ATR | PC/SC invalid ATR |
| 2221 | NOT_TRANSACTED | PC/SC not transacted |
| 2222 | READER_UNAVAILABLE | PC/SC reader unavailable |
| 2223 | SHUTDOWN | PC/SC shutdown |
| 2224 | PCI_TOO_SMALL | PC/SC PCI too small |
| 2225 | READER_UNSUPPORTED | PC/SC reader unsupported |
| 2226 | DUPLICATE_READER | PC/SC duplicate reader |
| 2227 | CARD_UNSUPPORTED | PC/SC card unsupported |
| 2228 | NO_SERVICE | PC/SC no service |
| 2229 | SERVICE_STOPPED | PC/SC service stopped |
| 2230 | ICC_INSTALLATION | PC/SC ICC installation error |
| 2231 | ICC_CREATE_ORDER | PC/SC ICC create order error |
| 2232 | UNSUPPORTED_FEATURE | PC/SC unsupported feature |
| 2233 | DIR_NOT_FOUND | PC/SC directory not found |
| 2234 | FILE_NOT_FOUND | PC/SC file not found |
| 2235 | NO_DIR | PC/SC no directory |
| 2236 | NO_FILE | PC/SC no file |
| 2237 | NO_ACCESS | PC/SC no access |
| 2238 | WRITE_TOO_MANY | PC/SC write too many |
| 2239 | BAD_SEEK | PC/SC bad seek |
| 2240 | INVALID_CHV | PC/SC invalid CHV |
| 2241 | UNKNOWN_RES_MNG | PC/SC unknown resource manager |
| 2242 | NO_SUCH_CERTIFICATE | PC/SC no such certificate |
| 2243 | CERTIFICATE_UNAVAILABLE | PC/SC certificate unavailable |
| 2244 | NO_READERS_AVAILABLE | PC/SC no readers available |
| 2245 | COMM_DATA_LOST | PC/SC communication data lost |
| 2246 | NO_KEY_CONTAINER | PC/SC no key container |
| 2247 | SERVER_TOO_BUSY | PC/SC server too busy |
| 2248 | PIN_CACHE_EXPIRED | PC/SC PIN cache expired |
| 2249 | NO_PIN_CACHE | PC/SC no PIN cache |
| 2250 | READ_ONLY_CARD | PC/SC read-only card |
| 2251 | SECURITY_VIOLATION | PC/SC security violation |
| 2252 | WRONG_CHV | PC/SC wrong CHV |
| 2253 | CHV_BLOCKED | PC/SC CHV blocked |
| 2254 | EOF | PC/SC end of file |
| 2255 | CANCELLED_BY_USER | PC/SC cancelled by user |
| 2256 | CARD_NOT_AUTHENTICATED | PC/SC card not authenticated |
| 2257 | CACHE_ITEM_NOT_FOUND | PC/SC cache item not found |
| 2258 | CACHE_ITEM_STALE | PC/SC cache item stale |
| 2259 | CACHE_ITEM_TOO_BIG | PC/SC cache item too big |
| 2260 | UNSUPPORTED_CARD | PC/SC unsupported card |
| 2261 | UNRESPONSIVE_CARD | PC/SC unresponsive card |
| 2262 | UNPOWERED_CARD | PC/SC unpowered card |
| 2263 | RESET_CARD | PC/SC reset card |
| 2264 | REMOVED_CARD | PC/SC removed card |
ccid (2400–2599) — CCID protocol errors
ccid (2400–2599) — CCID protocol errors
| Code | Name | Message |
|---|---|---|
| 2400 | NO_CARD | no card present in reader |
| 2401 | PROTOCOL_ERROR | CCID protocol error |
| 2402 | RESPONSE_TOO_SHORT | CCID response too short |
| 2403 | TIMEOUT | CCID timeout waiting for response |
| 2404 | SLOT_ERROR | CCID slot error |
| 2405 | POWER_ON_FAILED | failed to power on card |
| 2406 | POWER_OFF_FAILED | failed to power off card |
| 2407 | SET_PARAMETERS_FAILED | failed to set card parameters |
| 2408 | UNEXPECTED_DATA_BLOCK | expected DataBlock response |
| 2409 | UNEXPECTED_PARAMETERS | expected Parameters response |
| 2410 | UNEXPECTED_SLOT_STATUS | expected SlotStatus response |
| 2411 | T1_BLOCK_TOO_SHORT | T=1 block too short |
| 2412 | T1_LENGTH_MISMATCH | T=1 block data length mismatch |
| 2413 | T1_UNEXPECTED_R_BLOCK | unexpected T=1 R-block |
nfc (2600–2799) — NFC/IsoDep errors
nfc (2600–2799) — NFC/IsoDep errors
| Code | Name | Message |
|---|---|---|
| 2600 | JNI_ERROR | NFC JNI operation failed |
| 2601 | NOT_CONNECTED | IsoDep not connected |
| 2602 | NULL_RESPONSE | NFC APDU response is null |
| 2603 | NULL_ATR | NFC ATR response is null |
| 2604 | TRANSCEIVE_FAILED | NFC transceive operation failed |
| 2605 | TAG_LOST | NFC tag was lost |
serial (2800–2999) — Serial port errors
serial (2800–2999) — Serial port errors
| Code | Name | Message |
|---|---|---|
| 2800 | NO_DEVICE | serial device not found |
| 2801 | INVALID_PORT | invalid serial port |
| 2802 | OPEN_FAILED | failed to open serial port |
| 2803 | CONFIGURATION_FAILED | serial port configuration failed |
| 2804 | READ_FAILED | serial read failed |
| 2805 | WRITE_FAILED | serial write failed |
| 2806 | TIMEOUT | serial operation timed out |
| 2807 | PARITY_ERROR | serial parity error |
| 2808 | FRAMING_ERROR | serial framing error |
| 2809 | BREAK_CONDITION | serial break condition |
| 2810 | BUFFER_OVERFLOW | serial buffer overflow |
device (3000–3199) — Device fingerprinting errors
device (3000–3199) — Device fingerprinting errors
| Code | Name | Message |
|---|---|---|
| 3000 | COLLECTION_FAILED | failed to collect hardware identifiers |
| 3001 | SERIALIZATION_FAILED | failed to serialize fingerprint data |
| 3002 | JNI_ERROR | JNI error during device fingerprinting |
| 3003 | PLATFORM_UNSUPPORTED | platform not supported for fingerprinting |
aidl (3200–3399) — Android AIDL service errors
aidl (3200–3399) — Android AIDL service errors
| Code | Name | Message |
|---|---|---|
| 3200 | JNI_ERROR | AIDL JNI operation failed |
| 3201 | METHOD_FAILED | AIDL method call failed |
| 3202 | CARD_NOT_PRESENT | card not present |
| 3203 | SENSOR_ENABLE_FAILED | failed to enable sensor |
| 3204 | SENSOR_DISABLE_FAILED | failed to disable sensor |
| 3205 | USB_MODE_FAILED | failed to set USB host mode |
jni (3400–3599) — JNI (Java Native Interface) errors
jni (3400–3599) — JNI (Java Native Interface) errors
| Code | Name | Message |
|---|---|---|
| 3400 | UNINITIALIZED_VM | JavaVM singleton uninitialized |
| 3401 | WRONG_VALUE_TYPE | invalid JValue type cast |
| 3402 | WRONG_OBJECT_TYPE | invalid object type |
| 3403 | INVALID_CTOR_RETURN | invalid constructor return type |
| 3404 | INVALID_ARG_LIST | invalid arguments passed to Java method |
| 3405 | OBJECT_FREED | object behind weak reference freed |
| 3406 | CLASS_NOT_FOUND | Java class not found |
| 3407 | METHOD_NOT_FOUND | Java method not found |
| 3408 | FIELD_NOT_FOUND | Java field not found |
| 3409 | JAVA_EXCEPTION | Java exception was thrown |
| 3410 | ENV_METHOD_NOT_FOUND | JNI Env method pointer is null |
| 3411 | NULL_PTR | null pointer in JNI operation |
| 3412 | TRY_LOCK | mutex already locked |
| 3413 | FIELD_ALREADY_SET | JNI field already set |
| 3414 | THROW_FAILED | JNI throw failed |
| 3415 | PARSE_FAILED | JNI signature parse failed |
| 3416 | INVALID_UTF16 | invalid UTF-16 surrogate pair |
| 3417 | INVALID_UTF32 | invalid UTF-32 unit |
| 3418 | UNSUPPORTED_VERSION | unsupported JNI version |
| 3419 | THREAD_ATTACHMENT_GUARDED | thread can’t be detached while AttachGuards exist |
| 3420 | CAUGHT_EXCEPTION | caught Java exception |
| 3421 | UNKNOWN | unknown JNI error |
| 3422 | THREAD_DETACHED | thread not attached to Java VM |
| 3423 | WRONG_VERSION | JNI version error |
| 3424 | NO_MEMORY | JNI out of memory |
| 3425 | VM_ALREADY_CREATED | Java VM already created |
| 3426 | INVALID_ARGUMENTS | invalid JNI arguments |
| 3427 | OTHER | other JNI error |
logging (3600–3799) — Logging and log export errors
logging (3600–3799) — Logging and log export errors
| Code | Name | Message |
|---|---|---|
| 3600 | LOG_DIR_NOT_SET | log directory not configured |
| 3601 | LOG_DIR_NOT_FOUND | log directory does not exist |
| 3602 | LOG_DIR_NOT_A_DIR | log path is not a directory |
| 3603 | LOG_APPENDER_INIT_FAILED | failed to create rolling file appender |
| 3604 | LOG_SUBSCRIBER_INIT_FAILED | failed to initialize tracing subscriber |
| 3610 | EXPORT_OUTPUT_DIR_NOT_FOUND | export output parent directory does not exist |
| 3611 | EXPORT_FILE_CREATE_FAILED | failed to create export archive file |
| 3612 | EXPORT_DIR_READ_FAILED | failed to read log directory |
| 3613 | EXPORT_FILE_OPEN_FAILED | failed to open log file for reading |
| 3614 | EXPORT_FILE_APPEND_FAILED | failed to append file to archive |
| 3615 | EXPORT_TAR_FINALIZE_FAILED | failed to finalize tar archive |
| 3616 | EXPORT_COMPRESSION_FAILED | failed to finalize zstd compression |
wasm (3800–3999) — WASM protocol-runtime errors (host + module side)
wasm (3800–3999) — WASM protocol-runtime errors (host + module side)
| Code | Name | Message |
|---|---|---|
| 3800 | MODULE_LOAD_FAILED | WASM module bytes failed to load |
| 3801 | MODULE_INSTANTIATE_FAILED | WASM module instantiation failed |
| 3802 | MODULE_OP_NOT_EXPORTED | WASM module does not export the requested card-action |
| 3803 | MODULE_TRAP | WASM module trapped during execution |
| 3804 | MODULE_UNKNOWN_NAMESPACE | requested namespace is not known to the WASM module |
| 3805 | MODULE_UNKNOWN_PARAMETER | requested parameter is not known to the WASM module |
| 3806 | MODULE_INVALID_CONTEXT | WASM module failed to decode the per-invocation context |
| 3807 | MODULE_INVALID_RESULT | host failed to decode the WASM module’s emitted result |
| 3808 | MODULE_FUEL_EXHAUSTED | WASM module exceeded its compute budget |
| 3809 | MODULE_TIMEOUT | WASM module execution exceeded its deadline |
| 3810 | HOST_TRANSPORT | host_transmit_apdu failed at the transport layer |
| 3811 | HOST_BUF_TOO_SMALL | host output buffer too small; module should retry with a larger buffer |
| 3812 | HOST_MEMORY_FAULT | WASM module passed an invalid pointer or length to a host import |
| 3813 | HOST_INVALID_UTF8 | path string passed to host_backend_call was not valid UTF-8 |
| 3814 | MODULE_SERIALIZE_FAILED | WASM module failed to msgpack-encode its emitted result |
| 3815 | HOST_SIGNATURE_INVALID | WASM module signature did not verify against the trusted key |
| 3816 | HOST_NO_MEMORY_EXPORT | WASM module did not export linear memory |
| 3817 | HOST_CONTEXT_TOO_LARGE | per-invocation context exceeded the host’s staging capacity |
| 3818 | BACKEND_NETWORK | host_backend_call failed at the network/IO layer |

