
Verification API
Integrate identity verification into your application
v1.0
REST API
AI-Powered
Quick Start
import {
createVerificationSession,
submitDocument,
submitSelfie,
completeVerification
} from '@/components/api/VerificationAPIService';
// 1. Create a verification session
const session = await createVerificationSession('user@example.com', {
requiredPoints: 70,
requireSelfie: true
});
// 2. Submit documents
const docResult = await submitDocument(
session.sessionId,
documentFile, // File object or URL
'drivers_license', // Document type
{ userEmail: 'user@example.com' }
);
// 3. Submit selfie for face verification
const selfieResult = await submitSelfie(
session.sessionId,
selfieFile,
[docResult.documentUrl] // Document URLs for comparison
);
// 4. Complete verification
const result = await completeVerification(session.sessionId, {
userEmail: 'user@example.com',
documents: [docResult],
selfieResult,
requiredPoints: 70
});
console.log(result.verified); // true/falseCreate Verification Session
Function
createVerificationSession(email, options)Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
email | string | Required | User's email address |
options.requiredPoints | number | Optional | Points required (default: 70) |
options.requireSelfie | boolean | Optional | Require selfie verification (default: true) |
options.allowedDocumentTypes | string[] | Optional | Allowed document types |
Response
{
"success": true,
"sessionId": "vs_1700000000000_abc123def",
"expiresAt": "2024-11-27T12:00:00.000Z",
"requirements": {
"requiredPoints": 70,
"allowedDocumentTypes": ["passport", "drivers_license", "birth_certificate", "medicare_card"],
"requireSelfie": true,
"requireLivenessCheck": true
}
}Complete Verification Flow
import {
createVerificationSession,
submitDocument,
submitSelfie,
completeVerification,
getVerificationStatus
} from '@/components/api/VerificationAPIService';
async function verifyUser(userEmail, documents, selfie) {
// Step 1: Create session
const session = await createVerificationSession(userEmail, {
requiredPoints: 70,
requireSelfie: true
});
// Step 2: Submit all documents
const documentResults = [];
for (const doc of documents) {
const result = await submitDocument(
session.sessionId,
doc.file,
doc.type,
{ userEmail }
);
documentResults.push(result);
}
// Step 3: Submit selfie (with document URLs for comparison)
const documentUrls = documentResults
.filter(d => d.hasPhoto)
.map(d => d.documentUrl);
const selfieResult = await submitSelfie(
session.sessionId,
selfie,
documentUrls,
{ userEmail }
);
// Step 4: Complete verification
const result = await completeVerification(session.sessionId, {
userEmail,
documents: documentResults,
selfieResult,
requiredPoints: 70
});
return {
verified: result.verified,
confidence: result.confidence,
identity: result.extractedIdentity,
flags: result.flags
};
}
// Usage
const result = await verifyUser(
'user@example.com',
[
{ file: passportFile, type: 'passport' },
{ file: licenseFile, type: 'drivers_license' }
],
selfieFile
);
if (result.verified) {
console.log('User verified:', result.identity.name);
} else {
console.log('Verification failed:', result.flags);
}Error Handling
try {
const result = await submitDocument(sessionId, file, type);
if (!result.success) {
// Handle API-level failure
console.error('API Error:', result.error);
}
if (!result.isValid) {
// Document was processed but failed validation
console.warn('Document invalid:', result.warnings);
}
} catch (error) {
// Handle network or unexpected errors
console.error('Request failed:', error.message);
}SettlePlace Verification API v1.0
For support, contact the platform administrator