API SuiteEPF & OTP Verification
Login and Get OTP
Start the EPF UAN journey from your backend. Returns session details to pass to verify-otp.
API reference
Try itLoading playground…
Loading…
AuthorizationBearer <token>
JWT Bearer token authentication. Obtain a token from the KwikID dashboard.
In: header
usernameinteger
EPF UAN (unique account number) for the member.
passwordstring
Password for the EPF portal account linked to the UAN.
Response Body
curl -X POST "https://__mock__/verification/v2/epf/login" \ -H "Content-Type: application/json" \ -d '{ "username": 0, "password": "string" }'{
"session_details": {}
}{
"detail": {
"<location>": {
"<field_name>": [
"string"
]
}
},
"message": "string"
}{
"detail": {},
"message": "string"
}Overview
Call POST /verification/v2/epf/login from your backend with Authorization: Bearer <token> and JSON username (UAN) and password. On 200 OK, the body includes session_details (object) containing values you must pass to Verify OTP and Get Details together with the OTP the user receives on their registered mobile.
Key features
- Two-step EPF flow: Login first, then OTP verification.
- Server-side credentials: UAN password never belongs in a public SPA bundle.
Implementation
Step 1: Call from your backend
POST /verification/v2/epf/login HTTP/1.1
Host: <verification-api-base-url>
Authorization: Bearer <token>
Content-Type: application/json
{
"username": 123456789012,
"password": "<epf-portal-password>"
}Step 2: Call verify-otp
Forward session_details fields per OpenAPI into Verify OTP and Get Details with the SMS OTP.
Error handling
| HTTP status | When |
|---|---|
| 400 | Validation error (see response body). |
| 200 with error shape | Follow detail or message in body if present. |
Security notes
- Never log UAN passwords or OTPs in plain text.
Benefits
- Automates EPF passbook-style verification for employment checks.