Biometric Enrollment
Register a user's face template once they're already trusted upstream.
Before integrating, install the SDK in Getting Started → Install the SDK →
/api/kyc/enroll Flow
Environment validation
The SDK runs RASP checks (device, network, location) before starting the capture.
Face capture
The capture component runs liveness (active or passive) and generates the biometric template.
Encrypted payload
The SDK returns the encrypted template + payload to your banking app.
Register request
Your backend forwards template + payload to /api/kyc/enroll.
SDK call
// Just before submitting enrollment
SmartId
.getInstance()
.captureBiometric(getApplicationContext())
.onSuccess { template, payload ->
// template: encrypted face template
// payload: SDK metadata
// forward both to your backend
}
.onFailure { message, errorCode ->
// capture failed — surface a retry to the user
}
.start() SID.shared.startLocation()
SID.shared
.captureBiometric()
.onSuccess(success: { template, payload in
// template: encrypted face template
// payload: SDK metadata
})
.onFailure(failure: { message, errorCode in
// capture failed — surface a retry to the user
})
.start() Backend call
curl -X POST https://<api-url>/api/kyc/enroll \\
-H "Content-Type: application/json" \\
-H "X-Api-Key: <your-api-key>" \\
-d '{
"User": "[email protected]",
"Template": "<template from SDK>",
"PayLoad": "<payload from SDK>",
"OverWrite": "true"
}' Request body
| Field | Type | Required | Description |
|---|---|---|---|
User | string | Required | Unique user identifier |
Template | string | Required | Encrypted biometric template from the SDK |
PayLoad | string | Required | Additional metadata from the SDK |
OverWrite | string | Optional | "true" to replace an existing enrollment for the user |
Response codes
| Code | Meaning |
|---|---|
200 | Enrollment successful |
403 | User cannot be null or empty |
407 | Template validation failed |
408 | User already enrolled (send OverWrite=true to replace) |
412 | Template format invalid |
425/426 | Timestamp invalid / template expired |
500/701 | Internal error / service call error |
Un-enroll
Removes a user's biometric enrollment so they can re-enroll from scratch. Useful for customer-requested resets or after a device change.
/api/kyc/unenroll curl -X POST https://<api-url>/api/kyc/unenroll \\
-H "Content-Type: application/json" \\
-H "X-Api-Key: <your-api-key>" \\
-d '{ "User": "[email protected]" }' Response codes
| Code | Meaning |
|---|---|
200 | Un-enroll successful |
403 | User cannot be null or empty |
406 | User not found |
410 | User channel not found |
500/701 | Internal error / service call error |