Skip to main content
Workflow steps define the sequence of actions users must complete during the KYC onboarding process. Each step type has specific configuration options.

Step Types Overview

Common Step Properties

All step types share these base properties:

Document Upload Step

Collect and process documents with automatic data extraction.

Configuration

Document Requirement Properties

Use entity_role on document requirements when uploading multiple IDs for UBOs or directors. For example:
All names extracted from these documents will be tagged as ubo when auto-added to watchlists.

Document Types

Individual Documents

Company Documents

Tax certificate cardinality. A tax_certificate requirement allows one active upload by default because allow_multiple defaults to false; uploading it again replaces the previous document entry for that requirement. Set allow_multiple: true when the workflow must retain several tax certificates in the same step. A session can also contain more than one tax certificate when different steps request the same type. Consequently, consumers of GET /kyc/sessions/{session_id} should treat matching documents and extraction results as a collection keyed by doc_id, not as a session-wide singleton.

Business Documents

Generic

Example: Multiple Document Requirements


Form Fill Step

Collect structured data using custom form fields with semantic validation.

Configuration

Form Fill Properties

See the Field Types documentation for complete field type reference including semantic fields like country, name, wallet, domain, and volume.

Selfie Step

Capture a selfie photo for face matching against ID documents.

Configuration

Selfie Config Properties

For production use with higher security requirements, consider using the liveness step type instead of selfie to prevent spoofing attacks.

Liveness Step

Perform AWS Rekognition Face Liveness detection to verify the user is a real person and prevent spoofing attacks (printed photos, masks, deep fakes).

Configuration

Liveness Config Properties

Challenge Types

Frontend Integration

The frontend must integrate with AWS Rekognition Face Liveness SDK:

Example: Complete Liveness Workflow


Subsession Collection Step

Collect verification from related parties (UBOs, submerchants, directors) by creating independent subsessions that can be completed by third parties.

Configuration

Subsession Config Properties

How It Works

  1. User reaches subsession step: The frontend displays the subsession collection UI
  2. Create subsessions: User creates one or more subsessions (up to max_subsessions)
  3. Share links: Each subsession has its own public access link to share with third parties
  4. Third parties complete verification: Each third party completes their subsession independently
  5. Proceed or wait: Depending on require_completion_before_proceed, the user can proceed immediately or must wait

Completion Behavior

When require_completion_before_proceed: false

  • User can complete the step and proceed immediately after creating subsessions
  • Subsessions continue independently
  • Parent session can be approved even if subsessions are pending

When require_completion_before_proceed: true

  • User cannot proceed until all created subsessions are completed or approved
  • Frontend should show subsession status and block the “Continue” button
  • Useful for strict UBO verification requirements

Status Impact

When impact_parent_status: true:
  • If any subsession is rejected, the parent session may be flagged for manual review
  • All subsession results are aggregated in the parent session’s processing results
  • Watchlist hits or adverse media from subsessions are included in parent session

Example: UBO Workflow for Subsessions

Create a simple workflow for UBO verification:

Example: Company KYC with UBO Subsessions

Frontend Integration

The frontend receives the subsession_collection step configuration and should:
  1. Display the step instructions
  2. Show a form/button to create new subsessions
  3. List existing subsessions with their status
  4. Show copy/share buttons for subsession links
  5. Allow regenerating links if needed
  6. Block progression if require_completion_before_proceed is true and subsessions are pending
See Public Sessions API - Subsessions for the API endpoints used by the frontend.

Complete Workflow Example