Start User Verification
User
Start User Verification
Generates a verification session URL for identity verification
GET
Start User Verification
Overview
This endpoint generates a time-limited, single-use verification session URL that you direct your users to for completing identity verification. The verification process is handled by Baanx’s integrated identity verification provider. Use this endpoint when:- A user registers and needs to complete identity verification
- A user’s verification was rejected and they need to retry
- You want to upgrade an unverified user to verified status
How It Works
User Completes Verification
User uploads documents and completes identity checks on the verification provider’s page
Verification Complete
Check the user’s verification status via GET /v1/user
Authentication
This endpoint requires both client authentication and user authentication:Your client public key for API authentication
Bearer token obtained from OAuth flow or login endpoint
Set to
true to route requests to the US backend environment (if available for your client). Defaults to international environment.Response
Time-limited verification session URL. Direct the user to this URL to complete identity verification. The URL typically expires after 24 hours and is single-use only.
Examples
Response Example
Error Responses
Error Response Details
Error Response Details
401 Unauthorized
The access token is missing, invalid, or expired. You need to:- Ensure the Authorization header is present and properly formatted
- Verify the access token hasn’t expired (6-hour lifetime)
- Obtain a new access token using the refresh token if expired
403 Forbidden
The access token is valid but doesn’t have permission to access this resource. This may occur if:- The token doesn’t belong to a valid user
- The client key doesn’t match the user’s associated client
- The user account has been suspended or disabled
500 Internal Server Error
An unexpected error occurred on the server. If this persists:- Check the API status page
- Contact support with the request timestamp
- Implement retry logic with exponential backoff
Implementation Examples
Web Application Flow
Mobile Application Flow (React Native)
In-App Browser Flow
For better UX, open the verification URL in an in-app browser:Polling for Verification Completion
After redirecting the user, implement polling to detect when verification is complete:Important Notes
Single Use: Each session URL is single-use. Once the user completes (or abandons) the verification session, the URL becomes invalid. Generate a new URL for retry attempts.
Verification Process Details
Required Documents
Users will typically need to provide:Government-Issued ID
Government-Issued ID
One of the following:
- Passport
- Driver’s license
- National ID card
- Residence permit
- Must be valid (not expired)
- Clear, readable photo of the document
- All corners visible in the image
Selfie Verification
Selfie Verification
- Live selfie or video recording
- Used for biometric matching with ID photo
- Ensures the person presenting the ID is the actual holder
Proof of Address (Region Dependent)
Proof of Address (Region Dependent)
Document showing current residential address (dated within last 3 months):
- Utility bill (electricity, water, gas)
- Bank statement
- Government correspondence
- Rental agreement
Verification Timeline
Immediate (0-2 minutes)
Automated checks: Document authenticity, facial recognition, data extraction
Manual Review (15-30 minutes)
If automated checks are inconclusive, manual review by compliance team
Edge Cases & Limitations
Already Verified Users
If a user is already verified and calls this endpoint:- A new verification session is still generated
- The existing verification status remains until the new session completes
- This allows users to update their verification documents if needed
Verification Rejection
If verification is rejected, the user’sverificationState becomes REJECTED. Common rejection reasons:
Document Issues
Document Issues
- Expired documents
- Poor image quality (blurry, dark, cut-off)
- Documents not accepted in user’s region
- Mismatched document information
Identity Mismatch
Identity Mismatch
- Selfie doesn’t match ID photo
- Name on documents doesn’t match registration
- Age doesn’t meet minimum requirements (typically 18+)
Fraud Detection
Fraud Detection
- Document appears altered or fake
- User on sanctions or watchlist
- Previous account with same credentials
- Suspicious behavior patterns
Address Verification
Address Verification
- Proof of address doesn’t match registered address
- Document too old (must be within 3 months)
- Address in restricted region
Retry After Rejection
When a user is rejected:- Check rejection reason (contact support if not clear)
- Wait 24 hours before retry (cooldown period)
- Generate new verification session
- Ensure documents meet all requirements
- Submit with corrected/additional documents
Regional Differences
International Environment:- Standard KYC requirements
- Typical processing: 5-30 minutes
- Document requirements vary by country
- Enhanced KYC requirements
- SSN verification
- Additional compliance checks
- May require proof of address
- Typical processing: 15-60 minutes
Session Abandonment
If a user starts verification but doesn’t complete it:- The session URL remains valid until expiry (24 hours)
- User’s
verificationStatestays at current value - No partial progress is saved
- User can restart by generating a new session URL
Rate Limiting
- Maximum 10 verification sessions per user per day
- Maximum 3 concurrent active sessions per user
- Cooldown period of 1 hour after 3 consecutive failures
Webhook Notifications
While this endpoint doesn’t directly support webhooks, you can configure verification status webhooks in your client dashboard to receive real-time notifications when a user’s verification status changes.
Testing
Sandbox Environment
In sandbox/test environments, you can use test documents to simulate different verification outcomes:Related Endpoints
- Get User Details - Check current verification status
- Order Card - Requires VERIFIED status
- Register User - Initial user registration
- Get External Wallets - View wallet balances (some features require verification)
Best Practices
User Guidance
User Guidance
Before redirecting users to verification:
- Explain why verification is required
- List required documents
- Estimate processing time
- Provide preparation tips (good lighting, clear images)
Error Handling
Error Handling
Implement robust error handling:
- Network failures during session generation
- User closing verification window prematurely
- Session expiry
- Verification rejection
Status Monitoring
Status Monitoring
After verification:
- Poll user status periodically
- Show loading state while verification processes
- Display clear success/failure messages
- Provide next steps based on outcome
Security
Security
- Never store or log verification session URLs
- Implement CSRF protection on your redirect endpoints
- Validate the user’s session before generating verification URL
- Use HTTPS for all communications