Install SettlePlace App

Get quick access, offline support, and instant notifications

SettlePlace — Buy & Sell with Confidence

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/false
Create Verification Session

Function

createVerificationSession(email, options)

Parameters

ParameterTypeRequiredDescription
emailstring
Required
User's email address
options.requiredPointsnumberOptionalPoints required (default: 70)
options.requireSelfiebooleanOptionalRequire selfie verification (default: true)
options.allowedDocumentTypesstring[]OptionalAllowed 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