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

FieldTypeRequiredDescription
affiliateIdstringNoIdentifier for the lead in the partner's system
buildingTypeenumYesType of property
propertyUnitsnumberConditionalNumber of units (1-4), defaults to 1
loanPurposeenumYesPurpose of the loan
propertyUsageenumYesHow the property will be used
listedForSaleIn6MonthsbooleanYesProperty listed for sale in last 6 months
purchasedOrSubjectToMortgageIn6MonthsbooleanYesProperty purchased or mortgaged in last 6 months
liabilitiesIn4YearsbooleanYesAny liabilities in last 4 years

contactInfo Object

FieldTypeRequiredDescription
firstNamestringYesContact's first name
lastNamestringYesContact's last name
emailstringYesValid email address
phonestringYesPhone number

address Object (Property Address)

FieldTypeRequiredDescription
streetstringYesStreet address
citystringYesCity
statestringYesState (2-letter code)
zipstringYesZIP code
countystringNoCounty name
unitNumbernumberConditionalUnit number (required for condos)

residentialAddress Object (Borrower's Address)

FieldTypeRequiredDescription
streetstringYesStreet address
citystringYesCity
statestringYesState (2-letter code)
zipstringYesZIP code
countystringNoCounty name
unitNumbernumberNoUnit number

statedInformation Object

FieldTypeRequiredDescription
monthlyRentalIncomenumberConditionalMonthly rental income (required for non-vacant investment)
rentalOccupancyenumConditionalOccupancy type (required for investment properties)

Enum Values

buildingType

  • singleFamily
  • multiUnit
  • condo
  • townhouse
  • other

loanPurpose

  • debtConsolidation
  • homeImprovement
  • investment
  • education
  • other

propertyUsage

  • primaryResidence
  • secondHome
  • investment

rentalOccupancy

  • longTerm
  • shortTerm
  • vacant

Validation Rules

Conditional Requirements

1. Condo Properties

When buildingType === "condo":

  • address.unitNumber is required

2. Multi-Unit Properties

When buildingType === "multiUnit":

  • propertyUnits is required
  • propertyUnits 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 required
    • monthlyRentalIncome must be greater than 0

Email Validation

  • Must be a valid email format
  • Must not already exist in the system (quotes or users)