RightThumb in Kotlin/C#, .rightThumb in Swift, right_thumb/9 on the wire). Method signatures per language live in each SDK guide and the API overview.
Config
Passed tocreate() / init(). Fields match 1:1 across languages.
| Field | Type | Required | Notes |
|---|---|---|---|
baseUrl | string | yes | Your proxy / Validation Gateway endpoint. |
apiKeyId | string | yes | The non-secret API key ID. |
tokenSigner | callback | yes | Signs request inputs; the API secret never enters the SDK. See Authentication. |
logConfig | LogConfig | yes | Where and how to write diagnostic logs. |
timeoutMs | number | no | Backend request timeout. Default 30000. |
extraHeaders | map | no | Added to every backend request. Max 5 entries. |
context | Android Context | Android only | Required on Android; not present elsewhere. |
LogConfig
| Field | Type | Notes |
|---|---|---|
logDir | path | Directory for log files. |
maxFileSizeBytes | number | Rotation size per file (e.g. 10 * 1024 * 1024). |
maxFiles | number | How many rotated files to keep. |
Validation requests
The singlevalidate call takes one of these. Attaching a Fingerprint turns on biometric matching. See Validation methods.
| Field | Notes |
|---|---|
readerId | A reader ID from listSmartcardReaders(). |
cardDipTimeoutMs | Optional. How long to wait for a card to be presented. Default 5000. |
nfcTimeoutMs | Optional. NFC read timeout (Android). Default 30000. |
idNumber | Emirates ID, e.g. 784-XXXX-XXXXXXX-X (hyphens optional). |
nationality | ISO country code, e.g. ARE. |
dateOfBirth / issueDate / expiryDate | YYYY-MM-DD. Optional. |
clientReferenceId | Optional UUID for correlation — a non-UUID is ignored. See Client reference ID. |
Fingerprint
The biometric sub-object attached to an Emirates ID request.| Field | Notes |
|---|---|
readerId | A reader ID from listFingerprintReaders(). |
recommendationHandler | Your callback; the SDK invokes it with the ranked finger list. See Biometrics. |
captureTimeoutMs | Optional capture timeout. Default 10000. |
VerificationResult
Returned byvalidate.
| Field | Type | Notes |
|---|---|---|
success | boolean | Whether the verification passed. |
message | string | Human-readable status. |
data | object? | The resident’s verified details — every field is catalogued in Verification response. |
clientReferenceId | string | Echoes your request value, or the server-assigned UUID. |
ReaderInfo
Returned bylistSmartcardReaders() / listFingerprintReaders().
| Field | Type | Notes |
|---|---|---|
id | string | Pass to a request’s readerId. Vendor-prefixed (ccid:…, nfc:…, morpho:…). |
name | string | Human-readable reader name. |
vendor | string | Vendor identifier. |
RegistrationStatus
Returned bycheckRegistration(). One of:
| Value | Meaning |
|---|---|
active | Device is registered and can validate. |
inactive | Device is registered but disabled. |
not_found | Device is not registered. |
RegistrationStatus also carries an optional deviceName.)
Finger
Finger indices follow ISO/IEC 7816-11 — the numeric value is what travels on the wire.| Name | Index | Name | Index |
|---|---|---|---|
NoMeaning | 3 | LeftThumb | 6 |
RightThumb | 5 | LeftIndex | 10 |
RightIndex | 9 | LeftMiddle | 14 |
RightMiddle | 13 | LeftRing | 18 |
RightRing | 17 | LeftLittle | 22 |
RightLittle | 15 |
FingerSelection
What your recommendation handler returns.| Variant | Meaning |
|---|---|
Recommended(finger) | Capture a finger chosen from the backend’s ranked list. |
Custom(finger) | Capture a specific finger you chose (e.g. when the list is empty). |
Cancel | Abort the biometric capture. |

