Consumer-Owned Accounts (HSA) Quick Start

This guide covers everything you need to enroll members into Health Savings Accounts (HSA) — Lynx's member-owned account product.


What Makes HSA Different

  • The member owns the account (real financial account in their name)
  • KYC (identity verification) is required before the account can be opened
  • SSN is required for KYC and IRS reporting
  • In lieu of SSN, member can provide passport number
  • Members can:
    • Contribute their own funds
    • Receive employer contributions
    • Invest funds
  • Account is portable (member keeps it if they leave employer)
  • IRS contribution limits apply (Individual vs Family coverage)

Understand KYC Flow

HSA enrollment triggers identity verification. Members may:

  • Be approved instantly
  • Require document upload
  • Be denied

Your integration should handle all three outcomes.


Required Fields

FieldTypeDescription
clientMemberIdstringYour unique identifier for this member
clientOrg.namestringThe Client Org to enroll into
firstNamestringLegal first name
lastNamestringLegal last name
ssnstringSocial Security Number (XXX-XX-XXXX or XXXXXXXXX)
dateOfBirthstringDate of birth (YYYY-MM-DD)
addressesarrayAt least one residential address (no PO boxes)
phonesarrayAt least one primary phone
emailsarrayAt least one primary email
healthPlanCoverageTypestringIndividual or Family
memberProductsarrayMust include HSA product
memberCardPreferences.planNamestringFrom plan summary
memberCardPreferences.cardPackageNamestringFrom plan summary
idempotencyKeystringUnique request identifier

Enroll a Member

Submit enrollment request with required fields.


What Happens Next

  1. Lynx validates request:

    • Required fields
    • Product configuration
    • Duplicate SSN
  2. Member created:

    • Status: NEW
    • KYC begins
  3. KYC runs:

    • Submitted to banking partner

KYC Outcomes

OutcomeMember Product StatusAction
PassAccount_ActiveNothing — account opens
PendingReviewAccount_ActiveNothing
Needs DocumentsAwaiting DocumentsCollect and upload documents
FailDeniedNotify member, retry if needed

Monitor Enrollment Status

Webhooks

EventMeaning
lynx.enrollment.submittedEnrollment received, KYC starting
lynx.enrollment.approvedKYC passed, account created
lynx.enrollment.awaitingDocumentsKYC needs documentation
lynx.enrollment.deniedKYC failed
lynx.card.issuedCard generated

Handle KYC Fallout

When KYC requires documents:

{
  "memberProduct": {
    "status": "Awaiting Documents",
    "verificationFailures": [
      {
        "type": "IDENTITY",
        "message": "Unable to verify identity"
      }
    ]
  }
}

Acceptable Documents

TypeAcceptable Documents
IDENTITYDriver’s License, State ID, Passport, Military ID, US Visa
ADDRESSDriver’s License, Lease, Bank Statement (60 days), Utility Bill (60 days)
SSNSocial Security Card, W-2, 1099, Tax Return (within 2 years)

After Enrollment

Once active:

  • Display card details → Viewing Card Details with VGS
  • Link external bank → Plaid integration
  • Process money movement (contributions/reimbursements → Payment APIs
  • Enable investments → Investments integration (coming soon)

Combined Enrollments (HSA + LPFSA example)

You can enroll both in a single request. HSA drives requirements (SSN, DOB, etc.).

{
  "clientMemberId": "EMP-001",
  "ssn": "111-11-1111",
  "dateOfBirth": "1985-06-15",
  "healthPlanCoverageType": "Family",
  "memberProducts": [
    {
      "product": { "name": "HSA" },
      "effectiveDate": "2026-01-01"
    },
    {
      "product": { "name": "LPFSA" },
      "effectiveDate": "2026-01-01"
    }
  ],
  "memberAccounts": [
    {
      "product": { "name": "LPFSA" },
      "electionAmount": 2850.00
    }
  ]
}

  • HSA → goes through KYC
  • LPFSA → auto-approved (no KYC)

See Plan-Owned Programs Quick Start for more details.