Request Format
Payload Schema
{
affiliateId?: string,
buildingType: "singleFamily" | "multiUnit" | "condo" | "townhouse" | "other",
propertyUnits?: 1 | 2 | 3 | 4,
loanPurpose: "debtConsolidation" | "homeImprovement" | "investment" | "education" | "other",
propertyUsage: "primaryResidence" | "secondHome" | "investment",
contactInfo: {
firstName: string,
lastName: string,
email: string,
phone: string
},
address: {
city: string,
state: string,
zip: string,
street: string,
county?: string,
unitNumber?: number
},
statedInformation?: {
monthlyRentalIncome?: number,
rentalOccupancy?: "longTerm" | "shortTerm" | "vacant"
},
residentialAddress: {
city: string,
state: string,
zip: string,
street: string,
county?: string,
unitNumber?: number
},
listedForSaleIn6Months: boolean,
purchasedOrSubjectToMortgageIn6Months: boolean,
liabilitiesIn4Years: boolean
}
Field Descriptions
Root Fields
| Field | Type | Required | Description |
|---|
affiliateId | string | No | Identifier for the lead in the partner's system |
buildingType | enum | Yes | Type of property |
propertyUnits | number | Conditional | Number of units (1-4), defaults to 1 |
loanPurpose | enum | Yes | Purpose of the loan |
propertyUsage | enum | Yes | How the property will be used |
listedForSaleIn6Months | boolean | Yes | Property listed for sale in last 6 months |
purchasedOrSubjectToMortgageIn6Months | boolean | Yes | Property purchased or mortgaged in last 6 months |
liabilitiesIn4Years | boolean | Yes | Any liabilities in last 4 years |
contactInfo Object
| Field | Type | Required | Description |
|---|
firstName | string | Yes | Contact's first name |
lastName | string | Yes | Contact's last name |
email | string | Yes | Valid email address |
phone | string | Yes | Phone number |
address Object (Property Address)
| Field | Type | Required | Description |
|---|
street | string | Yes | Street address |
city | string | Yes | City |
state | string | Yes | State (2-letter code) |
zip | string | Yes | ZIP code |
county | string | No | County name |
unitNumber | number | Conditional | Unit number (required for condos) |
residentialAddress Object (Borrower's Address)
| Field | Type | Required | Description |
|---|
street | string | Yes | Street address |
city | string | Yes | City |
state | string | Yes | State (2-letter code) |
zip | string | Yes | ZIP code |
county | string | No | County name |
unitNumber | number | No | Unit number |
statedInformation Object
| Field | Type | Required | Description |
|---|
monthlyRentalIncome | number | Conditional | Monthly rental income (required for non-vacant investment) |
rentalOccupancy | enum | Conditional | Occupancy type (required for investment properties) |
Enum Values
buildingType
singleFamilymultiUnitcondotownhouseother
loanPurpose
debtConsolidationhomeImprovementinvestmenteducationother
propertyUsage
primaryResidencesecondHomeinvestment
rentalOccupancy
Validation Rules
Conditional Requirements
1. Condo Properties
When buildingType === "condo":
address.unitNumber is required
2. Multi-Unit Properties
When buildingType === "multiUnit":
propertyUnits is requiredpropertyUnits must be between 2 and 4
3. Investment Properties
When propertyUsage === "investment":
statedInformation.rentalOccupancy is required- If
rentalOccupancy is NOT "vacant", then:statedInformation.monthlyRentalIncome is requiredmonthlyRentalIncome must be greater than 0
Email Validation
- Must be a valid email format
- Must not already exist in the system (quotes or users)