Documentation menu
SDK result
What the SDK gives your app when the capture ends, how to follow progress, and the errors it can raise. Every platform uses the same names.
The device outcome
run() resolves with the verdict the device saw:
| Field | Values |
|---|---|
result | VERIFIED · REJECTED · REVIEW |
detail | A neutral, human-readable reason. Never a score or method. |
Use the device outcome for your UI only. A modified app or page could fake it. Before you open an account or change anything, your backend must read the authoritative result with the Result API.
Progress events
Subscribe with onProgress (Android, iOS, Flutter, React Native) or on('progress')
(Web) to tell the customer what is happening.
| step | Suggested message |
|---|---|
session:status | Loading your verification… |
document:challenge | Preparing the document step… |
document:capture | Capturing your document… |
document:submit | Uploading your document… |
document:processing | Checking your document… |
liveness:challenge | Preparing the liveness check… |
liveness:capture | Follow the on-screen actions… |
liveness:submit | Checking your selfie… |
finalize | Completing verification… |
done | Done |
A progress event may carry a detail with diagnostics. It never contains document text or
personal data, but don't show it to customers.
Errors
The SDK raises two error types. Switch on code, never on the message.
| Type | When | Fields |
|---|---|---|
BlinkStepError | A step ran and did not pass, e.g. DOCUMENT_UNREADABLE, LIVENESS_FAILED. | code, step |
BlinkError | Session, network, configuration or camera problem. | code, httpStatus (0 for client-side) |
The codes and what to do about each are listed in Errors.
Retrying
- Sessions are single-use. After
REJECTED, a step error or an expired session, create a new session on your backend and start again. BLINK_CAPTURE_CANCELLEDmeans the customer closed the camera — offer to resume, don't report an error.- If the app is closed mid-journey, your backend can still read the result later; see Polling.