HELOC Inquiries
Manage the full HELOC inquiry lifecycle — start an inquiry, add borrower SSN, income and property estimates, verify liens, select matching property and offer, fetch borrower costs, and list/download documents.
Manage the full HELOC inquiry lifecycle — start an inquiry, add borrower SSN, income and property estimates, verify liens, select matching property and offer, fetch borrower costs, and list/download documents.
openapi: 3.1.0
info:
title: HELOC Inquiries
version: v1
servers:
- url: https://api.test.figure.com
description: Test environment
- url: https://api.figure.com
description: Production environment
security:
- apikey: []
paths:
/products/heloc/v1/inquiry/{appUuid}/verify-liens:
put:
tags:
- HELOC application requests
summary: Verify liens for a HELOC inquiry
operationId: verifyInquiryLiens
parameters:
- name: appUuid
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/VerifyLiensRequest"
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/VerifyLiensResponse"
/products/heloc/v1/inquiry/{appUuid}/select-property:
put:
tags:
- HELOC application requests
summary: Select matching property on HELOC inquiry where multiple properties were returned for a single address
operationId: selectProperty
parameters:
- name: appUuid
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/SelectMatchingPropertyRequest"
required: true
responses:
"200":
description: OK
content:
'*/*':
schema:
$ref: "#/components/schemas/SelectingMatchingPropertyResponse"
/products/heloc/v1/inquiry/{appUuid}/select-offer:
put:
tags:
- HELOC application requests
summary: Select an offer for a HELOC inquiry
operationId: selectInquiryOffer
parameters:
- name: appUuid
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/SelectOfferRequest"
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/SelectOfferResponse"
/products/heloc/v1/inquiry/{appUuid}/cancel:
put:
tags:
- HELOC application requests
summary: Cancel HELOC inquiry
operationId: cancelInquiry
parameters:
- name: appUuid
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/CancelInquiryRequest"
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/CancelInquiryResponse"
/products/heloc/v1/inquiry/{appUuid}/asset-depletion:
put:
tags:
- HELOC application requests
summary: Add income and liability payoff to a HELOC inquiry
operationId: assetDepletion
parameters:
- name: appUuid
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/AddIncomeAndLiabilityRequest"
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/AddIncomeResponse"
/products/heloc/v1/inquiry/{appUuid}/add-ssn:
put:
tags:
- HELOC application requests
summary: Add a borrower SSN to a HELOC inquiry
operationId: addInquirySsn
parameters:
- name: appUuid
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/AddSsnRequest"
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/AddSsnResponse"
/products/heloc/v1/inquiry/{appUuid}/add-property-estimate:
put:
tags:
- HELOC application requests
summary: Add borrower property estimate to a HELOC inquiry
operationId: addInquiryPropertyEstimate
parameters:
- name: appUuid
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/AddPropertyEstimateRequest"
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/AddPropertyEstimateResponse"
/products/heloc/v1/inquiry/{appUuid}/add-income:
put:
tags:
- HELOC application requests
summary: Add income to a HELOC inquiry
operationId: addInquiryIncome
parameters:
- name: appUuid
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/AddIncomeRequest"
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/AddIncomeResponse"
/products/heloc/v1/inquiry/{appUuid}/repull-credit:
post:
tags:
- HELOC application requests
summary: Repull Credit for Inquiry
operationId: repullCredit
parameters:
- name: appUuid
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/RepullCreditForHelocInquiryRequest"
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/RepullCreditForInquiryResponse"
/products/heloc/v1/inquiry/start:
post:
tags:
- HELOC application requests
summary: Starts a new inquiry for a HELOC application
operationId: startInquiry
parameters:
- name: User-Agent
in: header
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/StartInquiryRequest"
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/StartInquiryResponse"
/encryption/v1/encrypt:
post:
tags:
- Encryption
summary: Encrypt a JSON payload using Figure's public key
operationId: encryptPayload
parameters: []
requestBody:
content:
application/json:
schema:
type: string
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/EncryptPayloadResponse"
/products/heloc/v1/lead/{appUuid}/reassign:
patch:
tags:
- HELOC application requests
summary: Reassign a HELOC lead to a different loan originator
operationId: reassignLead
parameters:
- name: appUuid
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/ReassignLeadRequest"
required: true
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/ReassignLeadResponse"
/products/heloc/v1/inquiry/{appUuid}/attributions:
patch:
tags:
- HELOC application requests
summary: Update Attributions to a HELOC inquiry
operationId: updateInquiryAttributions
parameters:
- name: appUuid
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/UpdateHelocInquiryAttributionsRequest"
required: true
responses:
"200":
description: OK
content: {}
/products/heloc/v1/inquiry/{appUuid}/properties:
get:
tags:
- HELOC application requests
summary: Fetch matching properties on HELOC inquiry where multiple properties were returned for a single address
operationId: fetchMatchingProperties
parameters:
- name: appUuid
in: path
required: true
schema:
type: string
responses:
"200":
description: OK
content:
'*/*':
schema:
$ref: "#/components/schemas/MatchingPropertiesResponse"
/products/heloc/v1/inquiry/{appUuid}/direct-debt-payoff-offers:
get:
tags:
- HELOC application requests
summary: Fetch direct debt payoff details on HELOC inquiry if applicable
operationId: fetchDirectDebtPayoffDetails
parameters:
- name: appUuid
in: path
required: true
schema:
type: string
- name: accountId
in: query
required: false
schema:
type: array
items:
type: string
responses:
"200":
description: OK
content:
'*/*':
schema:
$ref: "#/components/schemas/FetchDirectDebtPayoffDetailsResponse"
/products/heloc/v1/inquiry/{appUuid}/borrower-costs:
get:
tags:
- HELOC application requests
summary: Get borrower costs for an application
operationId: getBorrowerCosts
parameters:
- name: appUuid
in: path
required: true
schema:
type: string
- name: offerUuid
in: query
required: true
schema:
type: string
- name: selectedOfferAmount
in: query
required: true
schema:
type: number
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/BorrowerCostsResponse"
/products/heloc/v1/document/{appUuid}/list:
get:
tags:
- HELOC application requests
summary: List documents for an application
operationId: listDocuments
parameters:
- name: appUuid
in: path
required: true
schema:
type: string
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/DocumentListResponse"
/products/heloc/v1/document/{appUuid}/download:
get:
tags:
- HELOC application requests
summary: Download all documents for an application
operationId: downloadAllDocuments
parameters:
- name: appUuid
in: path
required: true
schema:
type: string
responses:
"200":
description: OK
content:
'*/*':
schema:
type: string
format: binary
/products/heloc/v1/document/{appUuid}/download/{documentUuid}:
get:
tags:
- HELOC application requests
summary: Download a document for an application
operationId: downloadDocument
parameters:
- name: appUuid
in: path
required: true
schema:
type: string
- name: documentUuid
in: path
required: true
schema:
type: string
responses:
"200":
description: OK
content:
'*/*':
schema:
type: string
format: binary
/products/heloc/v1/details/{appUuid}:
get:
tags:
- HELOC application requests
summary: Fetch details about an application
operationId: fetchAppDetails
parameters:
- name: appUuid
in: path
required: true
schema:
type: string
- name: include
in: query
required: false
schema:
type: string
enum:
- CONDITIONS
- FUNDING_REPORT
- BORROWER_DETAILS
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/FetchHelocDetailsResponse"
/management/v1/loan-originator:
get:
tags:
- Loan Originator requests
summary: Fetch loan originators by email or with pagination
operationId: fetchLoanOriginators
parameters:
- name: email
in: query
required: false
schema:
type: array
items:
type: string
- name: offset
in: query
required: false
schema:
type: integer
format: int32
- name: limit
in: query
required: false
schema:
type: integer
format: int32
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/FetchLoanOriginatorsResponse"
components:
schemas:
CommonHelocPayloadRequest:
properties:
loanOriginatorUuid:
type: string
async:
type: boolean
deprecated: true
description: Will be removed from all requests in a future release. This is no longer an option on some requests. Async will be the only option.
required:
- async
- loanOriginatorUuid
LienRequest:
properties:
lienUuid:
type: string
originationDate:
type: string
format: date
lenderName:
type: string
pattern: "^[a-zA-Z0-9\\s\\-']+$"
originalBalance:
type: number
currentBalance:
type: number
monthlyPayment:
type: number
required:
- lenderName
- lienUuid
- originalBalance
- originationDate
VerifyLiensRequest:
properties:
request:
$ref: "#/components/schemas/CommonHelocPayloadRequest"
liens:
type: array
items:
$ref: "#/components/schemas/LienRequest"
required:
- liens
- request
MessageResponse:
properties:
level:
type: string
message:
type: string
required:
- level
- message
VerifyLiensResponse:
properties:
messages:
type: array
items:
$ref: "#/components/schemas/MessageResponse"
MatchingPropertyRequest:
properties:
propertyId:
type: string
required:
- propertyId
SelectMatchingPropertyRequest:
properties:
request:
$ref: "#/components/schemas/CommonHelocPayloadRequest"
property:
$ref: "#/components/schemas/MatchingPropertyRequest"
required:
- property
- request
SelectingMatchingPropertyResponse:
properties:
messages:
type: array
items:
$ref: "#/components/schemas/MessageResponse"
OfferRequest:
properties:
offerUuid:
type: string
selectedOfferAmount:
type: number
selectedDiscounts:
type: array
items:
type: string
selectedAccountsToPayoff:
type: array
items:
type: string
required:
- offerUuid
- selectedAccountsToPayoff
- selectedDiscounts
- selectedOfferAmount
SelectOfferRequest:
properties:
request:
$ref: "#/components/schemas/CommonHelocPayloadRequest"
offer:
$ref: "#/components/schemas/OfferRequest"
required:
- offer
- request
AppDataResponse:
properties:
isInquiry:
type: boolean
isBridgeLoan:
type: boolean
startedAsInquiry:
type: boolean
autopay:
type: boolean
status:
type: string
overallStatus:
type: string
nextInquiryStep:
type: string
enum:
- UNKNOWN
- NO_OFFERS
- REFINANCE_OFFER
- OFFERS_AVAILABLE
- BORROWER_AUTH_REQUIRED
- BROKER_DOC_SIGNING_REQUIRED
- INQUIRY_COMPLETE
- INQUIRY_CLOSED
- INQUIRY_WITHDRAWN
- CREDIT_MATCH_REQUIRED
- MORE_ASSETS_REQUIRED
- LIEN_MATCHING_REQUIRED
- PROPERTY_VALUE_REQUIRED
- PAYOFF_REQUIRED
- UNFREEZE_CREDIT
- SELECT_PROPERTY
keyDates:
$ref: "#/components/schemas/KeyDatesResponse"
propertyAddress:
$ref: "#/components/schemas/USAddress"
statusReasons:
type: array
items:
type: string
ownershipType:
type: string
enum:
- UNKNOWN
- SOLE
- JOINT
- TRUST
- LLC
- OTHER
financingPurpose:
type: string
enum:
- UNKNOWN
- DEBT_CONSOLIDATION
- HOME_IMPROVEMENT
- MAJOR_PURCHASE
- TRAVEL
- EDUCATION
- HEALTH_MEDICAL
- CARING_FOR_FAMILY
- RETIREMENT
- SMALL_BUSINESS
- HOME_IMPROVEMENT_SMALL_BUSINESS
- SOLAR_ENERGY_EFFICIENT_INSTALLATION
- OTHER
propertyLiens:
type: array
items:
$ref: "#/components/schemas/PropertyLienResponse"
underwriting:
$ref: "#/components/schemas/UnderwritingResponse"
propertyValue:
$ref: "#/components/schemas/PropertyValueResponse"
manualNotary:
$ref: "#/components/schemas/ManualNotaryResponse"
deprecated: true
description: use notary instead
notary:
$ref: "#/components/schemas/NotaryResponse"
costs:
$ref: "#/components/schemas/CostsResponse"
ddpDetails:
$ref: "#/components/schemas/DdpDetails"
utmParameters:
$ref: "#/components/schemas/UtmParametersResponse"
statusHistory:
type: array
items:
$ref: "#/components/schemas/StatusHistoryResponse"
propertyDetails:
$ref: "#/components/schemas/PropertyDetailsResponse"
borrowerDetails:
$ref: "#/components/schemas/BorrowerDetailsResponse"
assignedUsers:
type: array
items:
$ref: "#/components/schemas/AssignedUserResponse"
conditions:
type: array
items:
$ref: "#/components/schemas/ConditionResponse"
demographics:
$ref: "#/components/schemas/DemographicsResponse"
thirdPartyIntegrations:
$ref: "#/components/schemas/ThirdPartyIntegrationsResponse"
fundingTransactionReport:
$ref: "#/components/schemas/FundingTransactionReportResponse"
businessInfo:
$ref: "#/components/schemas/BusinessInfoResponse"
required:
- autopay
- isBridgeLoan
- isInquiry
- overallStatus
- startedAsInquiry
- status
AssignedUserResponse:
properties:
userUuid:
type: string
format: uuid
required:
- userUuid
BorrowerDetailsResponse:
properties:
primary:
$ref: "#/components/schemas/BorrowerResponse"
additionalSigners:
type: array
items:
$ref: "#/components/schemas/BorrowerResponse"
required:
- primary
BorrowerResponse:
properties:
identityUuid:
type: string
format: uuid
email:
type: string
firstName:
type: string
middleName:
type: string
lastName:
type: string
suffix:
type: string
prefix:
type: string
dob:
type: string
format: date
address:
$ref: "#/components/schemas/USAddress"
phoneNumber:
type: string
BusinessInfoResponse:
properties:
entityName:
type: string
entityType:
type: string
enum:
- SOLE_PROPRIETORSHIP
- SINGLE_OWNER_LLC
- PARTNERSHIP
- MULTI_OWNER_LLC
- S_CORP
- PARTNERSHIP_OR_LLC
ownershipPercentage:
type: number
totalMonthlyRevenue:
type: number
ein:
type: string
stateOfIncorporation:
type: string
address:
$ref: "#/components/schemas/USAddress"
required:
- entityName
- entityType
ConditionResponse:
properties:
active:
type: boolean
name:
type: string
createdDate:
type: string
format: date-time
lastUpdateDate:
type: string
format: date-time
required:
- active
- name
CostResponse:
properties:
type:
type: string
enum:
- NOTARY_FEE
- RECORDING_TAX
- RECORDING_FEE
- TITLE_FEE
- BPO_FEE
- DRIVE_BY_VALUATION_FEE
- ONSITE_APPRAISAL_FEE
borrowerPaidAmount:
type: number
required:
- type
CostsResponse:
properties:
fixedCosts:
type: array
items:
$ref: "#/components/schemas/CostResponse"
dynamicCosts:
type: array
items:
$ref: "#/components/schemas/CostResponse"
totalPaidByBorrower:
type: number
DdpDetails:
properties:
paidLiabilityPayoffAmount:
type: number
totalLiabilityPayoffAmount:
type: number
liabilityPayoffAllocatedAmountDtiImpacting:
type: number
liabilityPayoffAllocatedAmountNonDtiImpacting:
type: number
lienPositionAfterPayoff:
type: integer
format: int32
existingLiabilities:
$ref: "#/components/schemas/ExistingLiabilitiesResponse"
DemographicsResponse:
properties:
hispanicOrLatinoEthnicityType:
type: boolean
ethnicityRefusal:
type: boolean
otherEthnicityDescription:
type: string
genderRefusal:
type: boolean
raceRefusal:
type: boolean
raceAsianAdditionalDescription:
type: string
racePacificIslanderAdditionalDescription:
type: string
ethnicityCollectedBasedOnVisualObservationOrSurname:
type: boolean
genderCollectedBasedOnVisualObservationOrName:
type: boolean
raceCollectedBasedOnVisualObservationOrSurname:
type: boolean
tribeName:
type: string
notHispanicOrLatino:
type: boolean
ethnicityOriginTypes:
type: array
items:
type: string
enum:
- CUBAN
- MEXICAN
- PUERTO_RICAN
- OTHER
genderTypes:
type: array
items:
type: string
enum:
- BOTH_MALE_AND_FEMALE
- FEMALE
- MALE
raceTypes:
type: array
items:
type: string
enum:
- AMERICAN_INDIAN_OR_ALASKA_NATIVE
- ASIAN
- BLACK_OR_AFRICAN_AMERICAN
- NATIVE_HAWAIIAN_OR_OTHER_ISLANDER
- WHITE
raceDesignationTypes:
type: array
items:
type: string
enum:
- ASIAN_INDIAN
- CHINESE
- FILIPINO
- GUAMANIAN_OR_CHAMORRO
- JAPANESE
- KOREAN
- NATIVE_HAWAIIAN
- OTHER_ASIAN
- OTHER_PACIFIC_ISLANDER
- SAMOAN
- VIETNAMESE
ExistingLiabilitiesResponse:
properties:
eligible:
type: array
items:
$ref: "#/components/schemas/LiabilityResponse"
ineligible:
type: array
items:
$ref: "#/components/schemas/LiabilityResponse"
required:
- eligible
- ineligible
FundingTransactionReportResponse:
properties:
transactions:
type: array
items:
$ref: "#/components/schemas/FundingTransactionResponse"
FundingTransactionResponse:
properties:
id:
type: string
amount:
type: number
initiatedAt:
type: string
format: date-time
effectiveDate:
type: string
paymentRail:
type: string
enum:
- ACH
- WIRE
status:
type: string
enum:
- PENDING
- SENT
- COMPLETE
- CANCELLED
- EXCEPTION
- RETURNED
- NOC
- REQUIRES_APPROVAL
- REJECTED
messageUuid:
type: string
format: uuid
sentAt:
type: string
format: date-time
batchingCategory:
type: string
HelocDetailsResponseData:
properties:
organization:
type: string
appUuid:
type: string
format: uuid
appShortId:
type: string
borrowerAppLink:
type: string
appData:
$ref: "#/components/schemas/AppDataResponse"
loanOriginatorData:
$ref: "#/components/schemas/LoanOriginatorDataResponse"
testVariants:
$ref: "#/components/schemas/TestVariantsResponse"
required:
- appData
- appUuid
- organization
- testVariants
KeyDatesResponse:
properties:
createdDate:
type: string
format: date-time
expirationDate:
type: string
format: date-time
rescissionEndDate:
type: string
format: date-time
signingDate:
type: string
format: date-time
completedDate:
type: string
format: date-time
canceledDate:
type: string
format: date-time
declinedDate:
type: string
format: date-time
summaryDisclosureDate:
type: string
format: date-time
productAgreementESignedTimestamp:
type: string
format: date-time
firstPaymentDueDate:
type: string
format: date-time
expectedPayoffDate:
type: string
format: date-time
lastStatusUpdateDate:
type: string
format: date-time
LiabilityResponse:
properties:
id:
type: string
rateType:
type: string
enum:
- VARIABLE
- FIXED
liabilitySubType:
type: string
enum:
- LEASE
- LOAN_SUB_TYPE
- FEDERAL
- PRIVATE
- HELOC
- LINE_OF_CREDIT
- FLEXIBLE_SPENDING
- CHARGE
- SECURED
- UNSECURED
- PURCHASE
- BUSINESS
lastDigitsOfAccountNumber:
type: string
monetaryBalance:
type: number
interestRatePercentage:
type: number
interestRatePercentageMax:
type: number
interestRatePercentageMin:
type: number
payOffStatus:
type: string
enum:
- MARKED_FOR_PAYOFF
- PAID_OFF
- PAYOFF_REQUESTED
- PAYOFF_FAILED
- PAYOFF_REVERSAL
- PAYOFF_REVERSAL_PROCESSING
creditorName:
type: string
liabilityType:
type: string
enum:
- AUTO
- PERSONAL
- FIGURE_SERVICING_HELOC
- HOME_IMPROVEMENT
- CREDIT_CARD
- MORTGAGE
- HELOC
reasons:
type: array
items:
$ref: "#/components/schemas/ReasonResponse"
providesDtiCredit:
type: boolean
providesCltvCredit:
type: boolean
providesLienPositionCredit:
type: boolean
required:
- creditorName
- id
- monetaryBalance
- providesCltvCredit
- providesDtiCredit
- providesLienPositionCredit
LicenseHolderResponse:
properties:
type:
type: string
enum:
- UNKNOWN
- LENDER
- BROKER
- LOAN_OFFICER
uuid:
type: string
format: uuid
name:
type: string
nmls:
type: string
required:
- type
- uuid
LicenseResponse:
properties:
licenseHolder:
$ref: "#/components/schemas/LicenseHolderResponse"
stateLicense:
$ref: "#/components/schemas/LicenseStateResponse"
LicenseStateResponse:
properties:
type:
type: string
enum:
- UNKNOWN
- UNSPECIFIED
- FEDERAL_LICENSE
- CA_RMLA_STATE_LICENSE
- CA_CFL_STATE_LICENSE
- CA_DRE_STATE_LICENSE
uuid:
type: string
format: uuid
licenseNumber:
type: string
licenseName:
type: string
state:
type: string
required:
- type
- uuid
LicensesResponse:
properties:
lenderLicense:
$ref: "#/components/schemas/LicenseResponse"
loanOriginatorLicense:
$ref: "#/components/schemas/LicenseResponse"
brokerLicense:
$ref: "#/components/schemas/LicenseResponse"
LoanOriginatorDataResponse:
properties:
loanOriginatorUuid:
type: string
format: uuid
brokerUuid:
type: string
format: uuid
externalId:
type: string
nmls:
type: string
companyNmls:
type: string
licenses:
$ref: "#/components/schemas/LicensesResponse"
companyDbaName:
type: string
email:
type: string
ManualNotaryResponse:
properties:
manualNotaryDate:
type: string
format: date-time
manualNotaryFee:
type: number
NotaryResponse:
properties:
type:
type: string
enum:
- NOT_APPLICABLE
- ELECTRONIC
- MANUAL
fee:
type: number
appointmentDate:
type: string
format: date-time
completedDate:
type: string
format: date-time
OfferDiscountResponse:
properties:
type:
type:
# --- truncated at 32 KB (53 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/figure/refs/heads/main/openapi/figure-heloc-inquiries-openapi-original.yml