Skip to content

Verifications

A verification represents a single identity verification request. It captures the expected person details, address, and document information, tracks the document upload and processing pipeline, and records the final decision.

Lifecycle Overview

Loading diagram...

Creating a Verification

A verification is created with expected data — the information you believe to be true about the person being verified. This includes:

  • Person details — first name, last name, date of birth
  • Address details — street, city, state, postal code, country
  • Document expectations — expected document types, numbers, and issuing countries
  • Vendor metadata — optional vendor_reference and vendor_state for your internal tracking

Once created, the verification is in Started status. The response includes a url and qr_code that can be used to direct the end user to the verification widget.

Expected Data vs Extracted Data

ConceptDescription
Expected dataWhat you submit when creating the verification — the information the system should validate against
Extracted dataWhat OCR technology reads from the uploaded document images

The validation rules compare extracted data against expected data to determine matches and discrepancies.

Uploading Documents

Before a verification can be submitted, the required documents must be uploaded. Documents can be uploaded:

  1. Via the API — Direct upload using base64-encoded images
  2. Via the end-user widget — The embeddable SPA flow guides the user through document capture

Each document type (photo ID, proof of address, selfie) can have at most one document per verification. Documents are uploaded in Uploaded status and progress through the pipeline.

See the Documents section for detailed information.

Submitting a Verification

Once all required documents are uploaded, the verification must be submitted to trigger the processing pipeline:

  1. Documents are processed by the extraction pipeline
  2. Extracted data is compared against expected data using validation rules
  3. The system makes an automated decision (approved, rejected, or double-check)

Automated Processing Pipeline

Loading diagram...

Verification Actions

Once a verification is created, the following actions are available depending on its current status:

Approve

Manually approve a verification. Typically used when a verification is in Double Check status and a reviewer has confirmed the identity.

Available statuses: Submitted, Double Check

Reject

Manually reject a verification. Requires a reason or comment explaining the rejection.

Available statuses: Submitted, Double Check

Hold

Pause a verification. Useful when waiting for additional information.

Available statuses: Started, Submitted, Double Check

Resume

Resume a verification that was placed on hold. The verification returns to its previous status.

Available statuses: Hold

Cancel

Cancel a verification. Once canceled, a verification cannot be resumed or resubmitted.

Available statuses: Started, Submitted, Hold, Double Check

Resubmit

Resubmit a verification for processing. Used when the end user needs to provide new documents after a rejection.

Available statuses: Rejected

History

Every status change is recorded in the verification history. Each history entry includes:

  • Previous status
  • New status
  • User who triggered the change
  • Optional comment
  • Timestamp

Common Scenarios

Standard Flow

  1. Create verification with expected data
  2. Upload photo ID and proof of address documents
  3. Submit verification
  4. Wait for automated processing
  5. Retrieve results

Double Check Flow

  1. Follow standard flow steps 1-3
  2. Automated processing flags documents for manual review
  3. Reviewer examines documents and extracted data
  4. Reviewer approves or rejects the verification

Best Practices

  • Set vendor references to correlate verifications with your internal records
  • Upload high-quality images for best OCR results
  • Monitor webhook events to track verification state changes asynchronously
  • Use the sandbox environment for integration testing before going live

Built for virtual address providers requiring USPS 1583 compliance.