Verify password reset

Reset password using OTP code. CONDITIONAL ID GATE: when the target AppUser has a ficaEntity linked (i.e. has been through wallet-FICA), the request MUST also supply idNumber matching the stored entity ID. Pre-FICA accounts fall back to phone-OTP alone. Errors: 400 ID_VERIFICATION_REQUIRED when ID is missing on a FICA-bound account; 401 ID_VERIFICATION_FAILED when ID is supplied but does not match. The FE should branch on the error code to render the right prompt — never on the human message.

Access: Public endpoint.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
string
required

Account username

string
required
length between 6 and 6
^\d{6}$

6-digit OTP code

string
required
length ≥ 8

New password (min 8 chars, must contain uppercase, lowercase, and number)

string
length ≤ 50

ID number (SA ID / passport / refugee doc) used during FICA. REQUIRED when the target account has a ficaEntity linked — without it the endpoint returns 400 ID_VERIFICATION_REQUIRED. IGNORED for pre-FICA accounts. SA IDs are compared as digit strings; passport and refugee documents are compared case-insensitively with whitespace removed.

Responses
200

Password reset successfully

400

ID_VERIFICATION_REQUIRED — account is FICA-bound and idNumber was omitted from the request body. The FE should prompt the user to enter their FICA-time ID number and resubmit.

401

Invalid or expired OTP, OR ID_VERIFICATION_FAILED — supplied idNumber does not match the stored FICA entity ID. Errors are returned generically so timing cannot distinguish "wrong OTP" from "wrong ID"; the FE routes off the error code.

Language
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here!