{"model":"llpa_overlay","endpoint":"/api/score_llpa_overlay","method":"POST","content_type":"application/json","info_endpoint":"/api/score_llpa_overlay/info","request":{"fields":[{"name":"borrower_fico","type":"integer","required":true,"description":"300-850. Clamped to bucket: <620 / 620-639 / 640-659 / 660-679 / 680-699 / 700-719 / 720-739 / 740-759 / 760+."},{"name":"original_ltv","type":"number","required":true,"description":"1-105. Bucket: <=60 / 60.01-70 / 70.01-75 / 75.01-80 / 80.01-85 / 85.01-90 / 90.01-95 / 95.01+."},{"name":"loan_purpose","type":"string","required":true,"description":"'P' (purchase) or 'R'/'N'/'C' (refi — N=no-cash-out, C=cash-out for Freddie; all collapse to 'R')."},{"name":"property_state","type":"string","required":true,"description":"2-letter postal abbreviation (50 states + DC)."},{"name":"dti","type":"integer","required":false,"example":38,"description":"Debt-to-income ratio. Missing → dti_missing_flag=True (model uses sentinel value)."},{"name":"original_cltv","type":"number","required":false,"description":"Combined LTV. Defaults to original_ltv (no subordinate financing)."},{"name":"occupancy","type":"string","required":false,"example":"P","description":"'P' = principal residence (default). Note: 'O' = Freddie owner-occupied (legacy code; accepted)."},{"name":"property_type","type":"string","required":false,"example":"SF","description":"SF (single-family, default), CO (condo), CP (coop), PU (PUD), MH (manufactured), LH (leasehold)."},{"name":"number_of_units","type":"integer","required":false,"example":1,"description":"1-4."},{"name":"product_type","type":"string","required":false,"example":"FRM30","description":"FRM30 (default), FRM15, FRM (other fixed)."},{"name":"channel","type":"string","required":false,"example":"R","description":"R (retail, default), C (correspondent), B (broker), 9 (refi pool), ' ' (unknown)."},{"name":"original_interest_rate","type":"number","required":false,"example":6.5,"description":"Note rate at origination."},{"name":"canonical_seller_name","type":"string","required":false,"example":"OTHER","description":"Lender/seller name. Non-top-30 sellers map to OTHER."},{"name":"first_time_homebuyer","type":"string","required":false,"example":"N","description":"'Y' = first-time. Anything else → 'N'."},{"name":"number_of_borrowers","type":"integer","required":false,"example":2,"description":"1-4."},{"name":"gse","type":"string","required":false,"example":"FNM_SFP","description":"FNM_SFP or FRE — informational only; model is cross-source."},{"name":"original_upb","type":"integer","required":false,"example":350000,"description":"Original principal. Informational only — high_balance_flag derivation deferred to v2."}],"example_payload":{"borrower_fico":720,"original_ltv":80,"loan_purpose":"P","property_state":"CA","dti":38,"original_upb":500000,"original_interest_rate":6.5}},"response":{"fields":[{"name":"overlay_band","type":"string","description":"'low' (50% — grid prices correctly), 'baseline' (37% — modest overlay), 'elevated' (10% — moderate), or 'high' (3% — material)."},{"name":"overlay_decile","type":"integer","description":"0-10. 0 = no overlay (band='low'); 1-10 = decile rank within the nonzero subset."},{"name":"overlay_bps_raw","type":"number","description":"Approximate upfront overlay bps (Phase 4 NARROW verdict — informational only; use band + decile for decisions)."},{"name":"recommendation","type":"string","description":"Operating action text for the band."},{"name":"phase4_verdict","type":"string","description":"NARROW (ship as ordinal)."},{"name":"phase5_di_verdict","type":"string","description":"ACCEPTABLE (AIR clean, 1 flagged proxy)."},{"name":"caveats","type":"array","description":"Magnitude calibration + DI + within-cell-residual notes."}],"status_codes":{"200":"OK — scored.","400":"Bad payload (e.g., unknown property_state).","429":"Rate limit exceeded (10 scoring calls/day per IP for anonymous; 20/day for signed-in free tier).","503":"Model artifact missing on server."}}}