Verify a user's identity so they can withdraw INR, gift assets or take physical delivery. All capability `kyc`.
KYC is required before a user can withdraw, gift or take physical delivery. Buying, selling and *receiving* gifts do not require it.
KYC is global, not per-partner: a user verified anywhere on OroPocket is verified everywhere. See sub-wallets.
The flow
Four ordered stages. Always start by reading the status — it tells you the exact next step, so the flow is resumable if a user drops off.
Stage
What it means
email_verification
Confirm the user's email with a 6-digit code. Always first.
personal_details
Identity data — either instantly via PAN + Aadhaar, or manually.
document_upload
Manual path only: PAN and Aadhaar images.
admin_review
Manual path only: a human reviews within 24–48h.
There are two routes through it. Instant KYC (PAN + Aadhaar OTP) auto-approves in seconds and is the recommended path when automatedKyc.enabled is true. Manual upload is the fallback.
Check status
GET/partner/users/:user_code/kyc/statuskyc
Field
Type
Description
status
string
not_started | under_review | approved | rejected.
nextStep
string | null
What to do next: email_verification, personal_details, document_upload, awaiting_review, resubmit_documents, or null when done. Drive your UI off this.