requestId generated by the Create API, performs the silent network handshake, and reports progress through callbacks. Your backend confirms the final result via the Status Check API.
Requirements
| Requirement | Version |
|---|---|
| React Native | 0.64+ |
| Android Minimum SDK | 21 |
| iOS | 13.0+ |
Step 1: Add SDK dependency
Install the OTPLESS Headless SDK at the root of your React Native project:Check the latest version of the SDK on npm.
Step 2: Smart Authentication (SNA) setup
- Android
- iOS
Add the network security config inside
android/app/src/main/AndroidManifest.xml, in your <application> tag:AndroidManifest.xml
Step 3: Initialize the SDK
Create aOtplessHeadlessModule instance, initialize it with your App ID, and register the response callback:
Replace
YOUR_APP_ID with your actual App ID from the OTPLESS dashboard.Step 4: Start SNA with the requestId
Pass therequestId returned by the Create API to start():
Start polling the Status Check API from your backend immediately after calling
start(). The SDK callback and the server status run in parallel.Step 5: Handle callbacks
Callback reference
The SDK works in two steps — initialization andstart() — and each step has its own set of callbacks.
Step 1: Initialization callbacks
Emitted when you initialize the SDK (Step 3).| Callback | Meaning |
|---|---|
SDK_READY | SDK initialization completed. |
FAILED | SDK failed to initialize (e.g. statusCode 5003). |
Step 2: Start callbacks
Emitted after you invokestart() (Step 4).
| Callback | State | Meaning |
|---|---|---|
INITIATE | Non-terminal | SNA is being attempted after pre-checks pass. authType is SILENT_AUTH. |
VERIFY | Non-terminal | Verification failed for the attempted authType (e.g. statusCode 9106 for SILENT_AUTH). |
ONETAP | Success — terminal | SNA completed successfully (Silent Mobile Verification). Returns token / idToken. |
AUTH_TERMINATED | Failed — terminal | Emitted in two cases: (1) pre-checks failed → terminated directly; (2) SNA was initiated and then failed. |
For the
errorCode / statusCode values surfaced in SDK callbacks, see SDK Error Codes.Next step
Status Check API
Confirm the authoritative auth status from your server.