Lead Ingestion
POST
/api/leads/ingest/automatic
Ingest lead with TruVision soft pull report text. Parses tradelines, calculates unsecured debt, assigns bracket.
POST
/api/leads/ingest/gma
Ingest lead with GMA 700 Credit soft pull data. Accepts structured tradelines or raw report text.
POST
/api/leads/ingest/crif
Ingest lead with CRIF 700 Credit TransUnion hard pull. Accepts raw TruVision text (report_text) or structured tradelines.
🤖 CRIF Scraper
POST
/api/scraper/run
Trigger a manual scraper run. Logs into CRIF SelectLink, scrapes declined deals, fetches credit reports, parses and qualifies leads. Add ?wait=true to wait for completion.
GET
/api/scraper/status
Current scraper status: running/idle, last run info, totals, schedule.
GET
/api/scraper/runs
List past scraper runs with stats (deals found, qualified, errors).
GET
/api/scraper/deals
List scraped deals. Filter: ?qualified=true/false. Paginated.
GET
/api/scraper/stats
Aggregate scraper stats: qualification rates, bracket breakdown, avg debt/score.
POST
/api/scraper/deals/:appId/reprocess
Re-fetch and re-parse a specific deal's credit report.
Schedule: 3x daily — 7 AM, 12 PM, 6 PM ET | Source: CRIF SelectLink (Anchored Finance)
💰 Run Economics
GET
/api/admin/costs
Aggregate cost summary: total report costs, compute costs, cost per qualified lead.
PATCH
/api/admin/costs/config
Update cost configuration (report_cost_cents, compute_rate_cents_hr).
GET
/api/admin/costs/runs
Per-run cost breakdown with report costs, compute costs, and cost per qualified lead.
POST
/api/admin/costs/recalculate
Recalculate costs for all completed runs based on current config.
Dashboard & Testing
GET
/api/dashboard/stats
Aggregate stats: total leads, routing rate, bracket distribution, avg debt.
GET
/dashboard
Admin dashboard UI (login required).
POST
/api/test/parse-sample
Parse a TruVision report and return all extracted tradelines + bracket assignment without saving.