Once an ID Check session is complete, use the Verisoul API to complete the workflow

Verify

First, verify the authenticity of the session and document by calling the verify-document endpoint. The endpoint provides three decisions to help interpret the risk of the user and their document:

  1. Decision -> an overall decision; Real, Suspicious, or Fake
  2. Risk Score -> a 0-100 number score representing the overall risk of the user
  3. Risk Flags -> an array of string flags that summarize the risky aspects of the user’s session

See here for the full set of risk flags

For more nuanced decisioning you can also interpret the other risk signals captured in the session.

Device and Network Signals

Device and network Signals are information about the user’s exact device and connecting network.

NameTypeDescription
ip_document_country_mismatchbooleanCurrent IP geolocation country does not match document geolocation
device_riskbooleanDevice likely emulator, VM
proxybooleanID Check on a proxy IP
vpnbooleanID Check on a VPN IP
datacenterbooleanID Check on a datacenter
torbooleanID Check on a TOR IP
recent_fraud_ipbooleanID Check on an IP reported as fraud
device_network_mismatchbooleanDevice user agent is inconsistent with connecting network fingerprint

Document Signals

Document Signals refers to the authenticity of the identity document.

NameValue SetDescription
id_age
  • [0, infinity]
Age of user calculated by the date of birth on ID
face_age_estimate
  • under8
  • over8
  • over13
  • over16
  • over18
  • over21
  • over25
  • over30
Age of user estimated by the face scan
id_face_match_score
  • [0, 100]
Match level of face on ID and face scanned. 100 is highest match
id_barcode_status
  • no_barcode_specificed_by_template
  • barcode_requested_but_not_found
  • barcode_requested_but_error_reading
  • success
  • barcode_requested_and_read_but_could_not_parse
Status of the barcode on the identity document
id_face_status
  • not_available
  • likely_original_face
  • cannot_confirm_id_is_authentic
  • ocr_template_does_not_support_detection
Status of the face on the identity document
id_text_status
  • not_available
  • likely_original_text
  • cannot_confirm_id_is_authentic
Status of the text information on the identity document
is_id_digital_spoof
  • likely_physical_id
  • could_not_confidently_determine_physical_id_user_needs_to_retry
Whether the identity document has been digitally spoofed
is_full_id_captured
  • full_id_detected
  • could_not_confidently_determine_full_id_user_needs_to_retry
Whether ID Check was able to capture the full document
id_validity
  • likely_authentic_id
  • likely_fake_id
  • cannot_confirm_id_is_authentic
Whether identity document presented is authentic or fake

Referring Session Signals

Referring Session Signals will only be present if you initialized the session with a referring_session_id parameter.

NameTypeDescription
impossible_travelbooleanReferring session geolocation is far from ID Check geolocation relative to timespan
ip_mismatchbooleanReferring session IP different than ID Check session IP
user_agent_mismatchbooleanReferring session user agent different than ID Check session user agent

Multi Accounting

ID Check will calculate any potential matches based on four identifiers captured during all sessions.

Match TypeDescription
browserID Check session was completed on the same browser session
faceID Check session shares the same face
document_nameID Check session shares the same name and date of birth
document_numberID Check session shares the same document type and number

Enroll

Use Enroll to tie the session to your account identifier. You must do this to detect multi-accounting. By enrolling an account, Verisoul will know to match future sessions against enrolled accounts to help you prevent repeat devices, repeat faces, and repeat IDs from signing up.

API Reference

For complete details on all available endpoints and parameters, see the ID Check API Reference.