Overview

The mortgage application flow is a thorough verification process designed to assess an applicant’s eligibility for a mortgage. This flow combines multiple verification steps to evaluate creditworthiness, verify income sources, and assess financial stability.

Flow Steps

1. Identity Verification (ID_VERIFICATION)

Verifies the applicant’s identity using Persona:

  • Selfie verification with liveness detection
  • Government-issued ID verification (front side required)
  • Background check including watchlist and sanctions
  • Automatic validation with conditional routing

View IDV Step Details

2. Personal Information (PERSONAL_INFO)

Collects essential personal information:

  • Email address (required)
  • Citizenship status (required)
  • Marital status (required)
  • Social Insurance Number (required)

View Personal Info Step Details

3. Employment Verification (EMPLOYMENT)

Validates employment through Atomic or Argyle:

  • Pay slips verification (required)
  • Employer confirmation (required)
  • Employment status verification
  • Three-year employment history verification (required)
  • Advisor verification (required)
  • Automatic routing based on verification status

View Employment Step Details

4. Bank Connection (BANK_CONNECT)

Verifies financial stability through Plaid or Flinks:

  • Account ownership verification
  • Transaction analysis
  • Minimum balance verification (>$500)
  • Automatic routing based on balance

View Bank Connect Step Details

5. Residence History (RESIDENCE_HISTORY)

Documents residence history:

  • Previous addresses
  • Residence verification status
  • Three-year residence history verification (required)
  • Advisor verification (required)
  • Automatic routing based on verification

View Residence History Step Details

6. Assets (PERSONAL_ASSETS)

Evaluates financial assets:

  • Asset verification status
  • Net worth verification (required)
  • Property ownership verification (required)
  • Closing costs validation (required)
  • Automatic routing based on verification

View Assets Step Details

Flow Configuration

{
    "steps": [
        {
            "id": "6797df4ca4c4910bc0f1d48f",
            "name": "ID_VERIFICATION",
            "options": {
                "require_selfie": true,
                "enable_liveness_detection": true,
                "require_id_back_side": false,
                "run_background_check": {
                    "watchlist_check": true,
                    "sanctions_check": true
                }
            },
            "control_flow": {
                "condition": {
                    "condition_operator": "==",
                    "condition_field": "id_valid",
                    "condition_value": true
                },
                "if_goto": "6797dfe7a4c4910bc0f1d492",
                "else_goto": "6797fd5e683fb54e8abe7d852"
            },
            "provider": ["Persona"]
        },
        {
            "id": "6797e086a4c4910bc0f1d495",
            "name": "PERSONAL_INFO",
            "options": {
                "require_email": true,
                "require_citizenship": true,
                "require_marital_status": true,
                "require_social_insurance_number": true
            },
            "control_flow": {
                "condition": {
                    "condition_operator": "==",
                    "condition_field": "form",
                    "condition_value": true
                },
                "if_goto": "6797fd5e683fb1e8abe7d852",
                "else_goto": "6797fd5e683fb54e8abe7d852"
            },
            "provider": []
        },
        {
            "id": "6797e02da4c4910bc0f1d493",
            "name": "EMPLOYMENT",
            "options": {
                "require_pay_slips": true,
                "employer_confirmation": true,
                "length_required": 3,
                "require_advisor_verification": true
            },
            "control_flow": {
                "condition": {
                    "condition_operator": "==",
                    "condition_field": "employment_status",
                    "condition_value": "verified"
                },
                "if_goto": "6798015e683fb1e8abe7d855",
                "else_goto": "6797fd5e683fb54e8abe7d852"
            },
            "provider": ["Atomic", "Argyle"]
        },
        {
            "id": "6797fe5e683fb1e8abe7d853",
            "name": "BANK_CONNECT",
            "options": {
                "analyze_transactions": true,
                "verify_account_ownership": true
            },
            "control_flow": {
                "condition": {
                    "condition_operator": ">",
                    "condition_field": "account_balance",
                    "condition_value": 500
                },
                "if_goto": "6798015e683fb1e8abe7d855",
                "else_goto": "6797fd5e683fb54e8abe7d852"
            },
            "provider": ["Plaid", "Flinks"]
        },
        {
            "id": "6797dfb4a4c4910bc0f1d491",
            "name": "RESIDENCE_HISTORY",
            "options": {
                "length_required": 3,
                "require_advisor_verification": true
            },
            "control_flow": {
                "condition": {
                    "condition_operator": "==",
                    "condition_field": "residence_verified",
                    "condition_value": true
                },
                "if_goto": "6797dfe7a4c4910bc0f1d492",
                "else_goto": "6797fd5e683fb54e8abe7d852"
            },
            "provider": []
        },
        {
            "id": "6797fd5e683fb1e8abe7d852",
            "name": "PERSONAL_ASSETS",
            "options": {
                "verify_net_worth": true,
                "verify_property_ownership": true,
                "validate_closing_costs": true
            },
            "control_flow": {
                "condition": {
                    "condition_operator": "==",
                    "condition_field": "assets_verified",
                    "condition_value": true
                },
                "if_goto": "6798005e683fb1e8abe7d854",
                "else_goto": "6797fd5e683fb54e8abe7d852"
            },
            "provider": []
        }
    ],
    "options": {
        "send_emails": true,
        "run_credit_check": {
            "fetch_debt_data": true,
            "fetch_payment_history": true,
            "fetch_bankruptcies": true,
            "fetch_consumer_proposals": true,
            "provider": ["Equifax", "TransUnion"]
        }
    }
}

Response

Endpoint

GET /v1/screening/data/{userId}

Description

Retrieves the mortgage screening data for a specific user.

Headers

  • Authorization: <API Key>
  • Content-Type: application/json
  • Accept: application/json

Response

Success Response (200)

{
  "user": {
    "id": "usr_6797df4ca4c4910bc0f1d48f",
    "name": {
      "first": "John",
      "last": "Doe"
    },
    "phone": "+14165550123",
    "email": "john.doe@example.com"
  },
  "identity": {
    "source": "Persona",
    "verifications": {
      "liveness": true,
      "faceMatch": true,
      "nameMatch": true,
      "watchlist": "clear",
      "sanctions": "clear"
    },
    "idNumber": "XXXXXXXXX",
    "at": "2025-02-03T20:10:37-05:00"
  },
  "employment": {
    "provider": "Atomic",
    "annualIncome": 120000,
    "incomeType": "EMPLOYMENT",
    "payCycle": "BI_WEEKLY",
    "nextExpectedPayDate": "2025-02-15T00:00:00Z",
    "history": {
      "length": 3,
      "verified": true,
      "advisor_verified": true
    }
  },
  "residences": [
    {
      "address": {
        "street": "123 Main St",
        "city": "Toronto",
        "provinceState": "ON",
        "postalCode": "M5V 2T6"
      },
      "start": "2022-02-01",
      "end": "2023-02-01",
      "verified": true,
      "advisor_verified": true
    }
  ],
  "assets": {
    "provider": "Plaid",
    "verified": true,
    "net_worth": 500000,
    "down_payment": 100000,
    "properties": [{
      "address": "456 Oak St, Toronto, ON",
      "value": 800000,
      "heloc": null
    }],
    "closing_costs_covered": true
  },
  "credit": {
    "provider": "Equifax",
    "score": 750,
    "payment_history": "good",
    "bankruptcies": [],
    "consumer_proposals": [],
    "debt": {
      "total": 15000,
      "monthly": 500
    },
    "mortgages": [{
      "type": "PRIMARY",
      "balance": 600000,
      "property": "456 Oak St, Toronto, ON"
    }]
  }
}

The response contains comprehensive mortgage application data including user identification, identity verification through Persona, employment details from Atomic, residence history, asset information from Plaid, and credit report from Equifax with associated mortgage details.