Personal Loan Waterfall API
Submit personal loan requests and receive a single accepted lender with a redirect URL. Tiers are processed sequentially (waterfall) until a match is found.
Overview
The Waterfall API uses the same request payload as the Offers API, but instead of returning a list of offers it runs your panel's tiers in waterfall (sequential) order. The first tier that accepts the lead wins — the response contains a redirect_url that you send the consumer to immediately.
The API is versioned via the /v1/ path segment. An x-api-version header is also accepted and must match.
Authentication
Requests are authenticated with a partner access key in the x-partner-key header. Keys are issued by your account manager.
x-partner-key: <YOUR_PARTNER_KEY>
x-api-version: v1
Content-Type: application/jsonTest mode
During integration, send "testMode": true in the JSON body or set x-test-mode: 1. Test leads are stored separately and do not affect live reporting.
Endpoint
The v1 segment in the URL is the canonical version indicator. CORS is enabled (any origin).
Request example
A complete request body with all required fields. This is identical to the Offers API payload, plus the Waterfall-specific mandatory fields:
{
"amount": 10000,
"amountDebt": 5000,
"purpose": "debt_consolidation",
"term": 36,
"credit": "good",
"incomeSource": "employed_full_time",
"annualIncome": 60000,
"monthlyIncome": 5000,
"payFrequency": "biweekly",
"directDeposit": true,
"military": false,
"employerName": "Acme Corp",
"employerPhone": "5125559876",
"monthsAtEmployer": 24,
"occupation": "Software Engineer",
"nextPayDate": "2025-07-15",
"followingPayDate": "2025-07-29",
"bankName": "Chase",
"bankAccountType": "Checking",
"bankAccountNumber": "000123456789",
"bankRoutingNumber": "021000021",
"monthsAtBank": 36,
"housing": "rent",
"housingPayment": 1200,
"monthsAtAddress": 18,
"address": "123 Main St",
"city": "Austin",
"state": "TX",
"zip": "78701",
"firstName": "Jane",
"lastName": "Doe",
"email": "jane@example.com",
"phone": "5551234567",
"dob": "1990-06-15",
"ssn": "123456789",
"driverLicenseNumber": "D1234567",
"driverLicenseState": "TX",
"siteUrl": "partnerwebsite.com",
"siteIp": "192.168.1.1",
"clientIp": "203.0.113.45",
"consentTcpa": true,
"consentTerms": true,
"consentPrivacy": true,
"consentFcra": true,
"userAgent": "Mozilla/5.1...",
"testMode": false,
"minPrice": 12.50,
"maxTime": 30
}Request payload
The request payload is nearly identical to the Offers API. All fields, validation rules, and required consents are the same. Refer to the Leads API docs for the full field reference.
Waterfall-specific required fields: the following fields are mandatory for the Waterfall API (they are optional in the Offers API): nextPayDate, followingPayDate, employerPhone, monthsAtEmployer, all bank account fields (bankName, bankAccountType, bankAccountNumber, bankRoutingNumber, monthsAtBank), and all driver license fields (driverLicenseNumber, driverLicenseState).
Loan request
"debt_consolidation", "home_improvement", "auto_vehicle", "medical", "major_life_event", "large_purchase", "other"."excellent" (720+), "good" (660–719), "fair" (620–659), "poor" (less than 620), "limited" (limited / no history)."High School", "Associate", "Bachelors", "Masters", "Other Graduate Degree", "Other".0 for no floor.Income source & income
"employed_full_time", "employed_part_time", "self_employed", "retired", "unemployed_benefits", "other".annualIncome or monthlyIncome is required.annualIncome or monthlyIncome is required."weekly", "biweekly", "semimonthly", "monthly"."self" or the customer's trading name. If retired or unemployed pass "none".0. If self employed pass the number of months self employed. If on benefits pass the number of months on benefits or 0.YYYY-MM-DD format. Required for Waterfall API.YYYY-MM-DD format. Required for Waterfall API.Bank account
"Checking" or "Savings". Required for Waterfall API.Housing
"own_mortgage", "own_outright", "rent", "live_with_family", "other".Identity & contact
YYYY-MM-DD.123-45-6789 or 123456789.Submission context
websitename.com (no protocol).XXX.XXX.XXX.XXX format.XXX.XXX.XXX.XXX format.Compliance & metadata
Tracking variables
Partners can pass up to eight free-form alphanumeric variables (dv1–dv8) that are stored on the lead and surfaced in reporting.
Recommended
Additional
Response
201 CreatedUnlike the Leads API, the Waterfall API does not return an array of offers. Instead it returns either an accepted result with a redirect_url (send the consumer there immediately), or a rejection.
Accepted response example:
{
"requestId": 104201,
"redirect_url": "https://lendicity.com/r/abc123...",
"accepted": true,
"accepted_tier": 1,
"partner_payout": 100.00
}Rejected response example:
{
"requestId": 104201,
"redirect_url": null,
"accepted": false,
"accepted_tier": null,
"partner_payout": null
}Top-level fields
accepted is true, redirect the consumer's browser to this URL immediately.true if a tier accepted the lead; false if all tiers rejected or timed out.null when no tier accepted.null when accepted is false or the campaign has no CPA payout configured.accepted is true, your platform must redirect the consumer's browser to redirect_url as quickly as possible. The waterfall is optimized for speed - delays increase abandonment rates. Redirect rates must be maintained above 75% to prevent automated traffic pauses.Errors
Error responses and HTTP status codes are identical to the Offers API. Refer to that page for detailed examples.
x-api-version was supplied.x-partner-key.details object.Retry-After header.