Lead partners
Send borrower leads to FundShift AI with one authenticated JSON request. Each lead is scored by AI and routed to licensed loan officers who match its state and loan type, usually within seconds. Your leads are tracked as their own source, so quality is measured on outcomes, not volume.
POST https://fundshiftai.com/api/leads/vendor
Content-Type: application/json
x-vendor-key: fsv_… — your partner key. One lead per request.
Keys are issued by FundShift and shown once; we store only a hash, so a lost key can't be recovered — ask us to rotate it and the old key stops working immediately. Keep the key on your server; never put it in a browser, app or public repository.
Send a flat JSON object. Field names are matched case-sensitively, and any listed alias works, so you can usually post your existing payload unchanged. Unknown fields are ignored.
| Field | Accepted names | Notes |
|---|---|---|
| borrower_nameRequired | borrower_namefull_namenamefullName | Borrower's full name. |
| emailRequired | emailborrower_emailemailAddress | Borrower's email. Also the 24-hour duplicate key. |
| stateRequired | statestproperty_state | Property state, two-letter code (e.g. MO). Drives lender matching. |
| phoneOptional | phoneborrower_phonephoneNumberphone_number | Borrower's phone. With consent, enables SMS + call outreach. |
| cityOptional | cityproperty_city | Property city. |
| loan_typeOptional | loan_typeloanTypeproductprogram | Purchase, Refinance, Cash-Out, FHA, VA, DSCR, … Defaults to Purchase. |
| loan_amountOptional | loan_amountloanAmountamount | Requested loan amount in dollars (number, no symbols). |
| purchase_priceOptional | purchase_pricepurchasePricehome_valueproperty_value | Purchase price or current value; used for LTV in scoring. |
| credit_tierOptional | credit_tiercreditficocreditScore | Send a tier label: "Excellent (740+)", "Good (700-739)", "Fair (660-699)" or "Below 660". |
| notesOptional | notescommentsmessage | Free-text context from the borrower or your form. |
| ai_scoreOptional | ai_scorescorequality | Your own 1–100 quality score. If omitted (or 0), FundShift AI scores the lead. |
| consentRequired by policy | consenttcpa_consent | JSON boolean true (not the string "true"). See consent below. |
"consent": true (or "tcpa_consent": true) with every lead that consented. We then record a consent entry for the lead with the time, source IP and user agent of your request, against this disclosure:“I agree to be contacted by a FundShift-matched loan officer about my loan request at the phone number and email I provided — including by autodialed or prerecorded calls and text messages. Consent is not a condition of any purchase. Message and data rates may apply; reply STOP to opt out. I have read the Privacy Policy.”curl -X POST https://fundshiftai.com/api/leads/vendor \
-H "Content-Type: application/json" \
-H "x-vendor-key: fsv_YOUR_KEY_HERE" \
-d '{"borrower_name":"Jane Sample","email":"jane@example.com","phone":"816-555-0100","state":"MO","city":"Kansas City","loan_type":"Purchase","loan_amount":350000,"purchase_price":420000,"credit_tier":"Excellent (740+)","consent":true}'Replace fsv_YOUR_KEY_HERE with the key we issued you.
200Lead created, scored and routed
{"ok":true,"lead_id":"<uuid>","score":87,"matched":3,"notified":3}200Same email already has an open lead from the last 24 hours — no new lead, re-routed
{"ok":true,"lead_id":"<uuid>","deduped":true}400Body is not valid JSON
{"error":"Invalid JSON"}400A required field is missing
{"error":"borrower_name, email, and state are required"}401Missing, wrong, rotated or deactivated key
{"error":"Unauthorized"}429Rate limit reached (per sending IP, and per vendor) — back off and retry later
{"error":"Too many requests"}500We could not store the lead — safe to retry
{"error":"Failed to create lead"}score is the 0–100 quality score the lead was stored with; matched counts the loan officers it was matched to and notified how many of them were alerted right away. A lead with zero matches is still stored and stays available in the loan-officer marketplace.
To get a key, rotate one, or ask about pricing and volume, email t.allman@allshiftai.com.