Integration pattern: Embedded Orders | Products: VOIE, VOE, VOA | Demo: Application
If you use a supported POS platform (nCino, Floify, BeSmartee, LenderLogix, TidalWave, Lodasoft), see POS Integrations instead.
Get started
Run the demo
Clone and run the Application demo to see the full borrower verification flow working locally.Open
http://localhost:5173, select Mortgage > POS Application, and walk through a verification using sandbox credentials (goodlogin / goodpassword).See full setup instructions for ngrok and environment configuration.Understand the API flow
The demo follows this sequence:
- Search for employer — Your server calls GET /v1/company-mappings-search/ to find the borrower’s employer by name. For asset verification, search financial institutions with GET /v1/providers/.
- Create an order — Your server sends borrower PII and selected products to POST /v1/orders/. The response includes a
bridge_tokenanduser_id. - Initialize Bridge — Your frontend opens Truv Bridge with the
bridge_token. SetisOrder: trueand optionally passcompanyMappingIdto deeplink directly to the employer. - Receive webhooks — Truv sends an
order-status-updatedwebhook when verification completes. Verify the signature using theX-Webhook-Signheader with HMAC-SHA256. - Retrieve reports — Fetch the VOIE report with
POST /v1/users/{user_id}/reports/or the assets report withPOST /v1/users/{user_id}/assets/reports/.
Review the code
Each step maps to a specific file in the demo. Use these as reference when building your integration.
| Step | Demo file | API reference |
|---|---|---|
| Employer search | src/components/CompanySearch.jsx | Company Search |
| Order creation | server/routes/orders.js | POST /v1/orders/ |
| Bridge initialization | src/demos/Application.jsx | Bridge SDK |
| Webhook verification | server/webhooks.js | Webhook events |
| Report retrieval | server/routes/user-reports.js | Income reports |
Mortgage-specific configuration
Products
Request both income and assets for mortgage verification by passingproducts: ["income", "assets"] in the order. The income product includes employment data automatically — you don’t need to pass employment separately.
SSN for GSE matching
Include the borrower’s SSN in the order to enable GSE report matching for Fannie Mae D1C and Freddie Mac AIM:External user ID
Useexternal_user_id to link multiple orders to the same borrower across your system. This enables follow-up verifications and data continuity.
Next steps
Deeplinking
Skip the employer search screen when you already know the borrower’s employer
Co-borrowers
Handle multiple borrowers and employers in a single loan file
GSE Testing
Validate Fannie Mae D1C and Freddie Mac AIM eligibility
Embedded Orders Guide
Full implementation guide for order creation, Bridge, callbacks, and data retrieval