Contracts

Use these APIs to manage the mapping between ICE PPE (formerly EPPS) users and Encompass users.

User Management Contracts and Attributes

The User Mapping attributes are used for managing the mapping between ICE PPE users and Encompass users.

Map External User Input Attributes

ATTRIBUTEDESCRIPTION
eppsUserName
string
ICE PPE user name required only when "action=add" in the Map ICE PPE User API.
eppsUserPassword
string
ICE PPE user password required only when "action=add" in the Map ICE PPE User API.

Mapped User Output Attributes

ATTRIBUTEDESCRIPTION
firstName
string
ICE PPE user's first name.
lastName
string
ICE PPE user's last name.
login
string
ICE PPE user's UserId in ICE PPE.
email
string
ICE PPE user's email address.
phone
string
ICE PPE user's phone number.
encLoginName
string
Encompass user's user ID.
encLoanFolder
string
Encompass user's loan folder.

Rates Contracts and Attributes

The Rates APIs retrieve loan programs based on a given criteria, return eligible rates for a specified program, and select rates. Use them to determine whether a given program for a loan is eligible for Trade and then fetch Loan-level Price Adjustments (LLPA) and Service Release Premium (SRP) details.

Loan Qualifier Attributes

The following objects and attributes make up the Loan Qualifier contract. When passing the Loan Qualifier contract, all attributes are optional unless otherwise specified.

ATTRIBUTEDESCRIPTION
ratesInput
object
Information to be used to retrieve rate information from ICE PPE.
ratesInput.requestAction
integer
This is optional but required for relock requests.
Possible values are:
1 = QuoteRequest
2 = ValidateRelock
3 = CheckEligibilityAndPricing
4 = BuyRequest
['1', '2', '3', '4']

The default value is QuoteRequest when nothing is supplied. This will represent the current pricing.
ratesInput.requestLockStatus
integer
This is optional but required for relock requests. Possible values are:
0 = NoStatus
1 = NotLocked
2 = ActiveLock
3 = Expired
4 = Cancelled
['0', '1', '2', '3', '4']
ratesInput.requestLockType
integer
This is optional but required for relock requests. Possible values are:
1 = InitialLock
2 = LockUpdate
3 = ReLock
ratesInput.sourceApplicationName
string
The source application name.
ratesInput.sourceApplicationFormName
string
The source application form name.
ratesInput.eppsUserName
string
The ICE PPE user name/id is required to validate whether the user is mapped to an Encompass user.
ratesInput.facadeUserID
string
User ID that should be considered as the caller of the API. If the user ID of the currently logged user is not passed, then facadeUserID will be used.
ratesInput.userTierId
integer
Represents the userID used for pricing. This is also known as the compUserID.
ratesInput.lockDays
array of integers
Number of days for which to lock the rate.
For example, [30,60]
ratesInput.loanType
string
Type of loan.
Possibles values are:
Heloc
NonHeloc
ratesInput.deliveryType
integer
Specifies the rate lock delivery type.
Possible values are:
1 = IndividualMandatory
2 = IndividualBestEfforts
3 = Bulk
4 = AOT
5 = LiveTrade
6 = Forward
ratesInput.buydownContributor
integer
Specifies the BuydownContributor. It is a required field if BuydownType has a non-zero value.
Possible values are:
0 = None,
1 = Lender,
2 = Seller,
3 = Builder,
4 = Borrower,
5 = Unassigned,
6 = Parent,
7 = Non_ParentRelative,
8 = UnrelatedFriend,
9 = Employer
['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
ratesInput.buydownType
integer
Specifies the BuydownType. Possible values are:
0 = None,
1 = Three_Two_One,
2 = Two_One,
3 = One_Zero,
4 = OnePointFive_PointSeventyFive,
5 = One_PointFive
['0', '1', '2', '3', '4', '5']
ratesInput.relockRequest
RatesRelockInput
General input for API.
ratesInput.loanInformation
RatesLoanInformationInput
RatesLoanInformationInput.
ratesInput.compensation
RatesCompensationInput
Loan officer compensation details.
ratesInput.agencyApprovals
integer
The previously obtained FNMA / FHLMC approval level.
ratesInput.productType
Array[integer]
Required. Specifies one or more desired Loan Product Types. You may provide multiple instances of this field in your form submission. Not all product types are available for every scenario.
ratesInput.productOptions
Array[integer]
Specifies one or more desired product options. You may provide multiple instances of this field in your form submission. Not all options are available for every scenario.

Tip: Use the Get Product Options API to get a list of products available for the user.
ratesInput.specialProducts
Array[integer]
Specifies zero or more desired Special Loan Products. Special Product selections are independent of IncConventional, IncFHA and IncVA selections.

Tip: Use the Get Special Products API to get a list of special products available for the user.
ratesInput.standardProducts
Array[integer]
Include various supported Products.

Tip: Use the Get Standard Products API to get a list of standard products available for the user.
ratesInput.documentationLevel
integer
Required. This value represents the documentation level or documentation type. Possible values are:
1 = FullDoc
2 = SIVA
3 = SISA
4 = NIVA
6 = NINA
7 = NoDoc
9 = LimitedDoc
10 = LiteDoc
['1', '2', '3', '4', '6', '7', '9', '10']
ratesInput.borrowers
Array[RatesBorrowerInput]
Borrower personal information.
ratesInput.borrowerFinancialHistory
RatesBorrowerFinancialHistoryInput
Financial information.
ratesInput.property
RatesPropertyREOInput
Subject Property and Other Real Estate Owned details.
ratesInput.lockRequestAdditionalFields
Array[RatesLockRequestAdditional
FieldsInput]
Lock Request AdditionalFields.
ratesInput.customId
string
Based on the action it should be CustomId or LoanId.
ratesInput.lockUpdateRequest
object
ratesLockUpdateInput.currentLockProgram
integer
Current program ID that is locked.
ratesLockUpdateInput.lockRequests
Array[lockRequest]
RatesLockUpdateLockInput is an array of effective dates.
ratesLockUpdateLockInput.effectiveDate
date
The effectiveDate of the Lock Update. The first effectiveDate would be initial lock date. Each subsequent should be the effectiveDate of the Lock Update. Example: "2024-11-18T18:36:24.192Z"
ratesRelockInput
object
Rate lock information.
ratesRelockInput.effectiveDate
string
The date from the previous snapshot. This field is optional but required for relock requests (RequestAction=“EllieMaeQuoteRequest”). EffectiveDate should be less than Data Retention Days configured in database(current configuration is 1 year).
ratesRelockInput.specificProgramID
integer
The previously locked program id. Optional but required for relock requests.
ratesRelockInput.
specificRateDataID

integer
The previously locked RateDataId. Optional but required for relock requests.
ratesLoanInformationInput.loanId
integer
This would be calling application loan id. This is a required field when RequestAction is ValidateRelockRequest.
ratesLoanInformationInput.lienPosition
integer
Required. The Borrower's lien position.
ratesLoanInformationInput.
loanPurpose

integer
Required. This value represents the purpose for the loan.
ratesLoanInformationInput.
firstMortgageAmount

integer
Required. The First Lien mortgage amount, in Whole Dollars.

For First Mortgage transactions, this is the loan amount for the imported loan.

For Second Mortgages, this is the balance on any existing First Lien.

For combination 1st/2nd Combo transactions, this is the First Lien portion of the total loan amount.
ratesLoanInformationInput.
secondMortgageAmount

number
The Second Lien mortgage amount, in Whole Dollars.

For First Mortgage transactions, this is the balance on any existing Second Lien.

For Second Mortgage transactions, this is the loan amount for the imported loan.

For 1st/2nd Combos, this is the Second Lien portion of the total loan amount ,
ratesLoanInformationInput.
totalMortgageAmount

number
This amount is addition of FirstMortgageAmount and SecondMortgageAmount.
ratesLoanInformationInput.
financedAmount

number
Financed or PMI amount in whole dollars. The field value is valid only in case of lien position as 1st mortgage.
ratesLoanInformationInput.
otherPayment

number
The monthly mortgage payment in Whole Dollars for any pre-existing mtgBalance or other loans that will exist concurrently with the imported loan
RatesLoanInformationInput.
cashOut

number
The desired cash out for a Cash-Out Refinance transaction in Whole Dollars.
ratesLoanInformationInput.
target

number
Required. Represents the desired price target using 100-based pricing (e.g. “100” for par, “101” for 1 point premium, etc.), Or the rate target (e.g. “6.125” for 6.125%). If this value is not supplied, target pricing of 100 is assumed
ratesLoanInformationInput.
includeClosingCost

boolean
Indicates whether Closing Cost is included in down payment
ratesLoanInformationInput.
noClosingCost

string
Optional. Indicates whether there is a closing cost.
Possible values are:
Null
0 = Closing cost
1 = No closing cost
ratesLoanInformationInput.
lenderFeeWaiver

boolean
This field can be Null, Y, or N.
ratesLoanInformationInput.
communityAffordableSecond

boolean
This field can be Null, Y, or N.
ratesLoanInformationInput.
loanChannel

integer
The Channel of the Loan.
Possible values are:
0 = Retail
1 = Wholesale
2 = Correspondent
3 = Brokered
4 = None
['0', '1', '2', '3', '4']
ratesLoanInformationInput.noLoan
boolean
Indicates whether it is new property.
ratesLoanInformationInput.
giftForDownPayment

number
Gift assets being applied towards the down payment, in whole dollars.
ratesLoanInformationInput.
sellerConsessionForDownPayment

number
Seller Consession applied towards Down Payment.
ratesLoanInformationInput.
helocInitialDraw

number
Initial draw amount for Heloc loan.
ratesLoanInformationInput.
helocCreditLimit

number
Credit limit for Heloc loan.
ratesLoanInformationInput.
totSubClosedEndMort

number
Total of subordinate closed end mortgages for Heloc loan.
ratesLoanInformationInput.
helocDrawnTotal

number
Total drawn amount for Heloc loan.
ratesLoanInformationInput.
loanAmountMaxLine

number
Loan amount max line.
ratesLoanInformationInput.
fhaCaseNumberDate

string
FHA Case Number Date.
ratesLoanInformationInput.
prepaymentPenaltyTerm

integer
Prepayment Penalty Term.
ratesLoanInformationInput.
condotel

boolean
Condotel.
ratesLoanInformationInput.
selfEmployedBorrower

boolean
SelfEmployedBorrower.
ratesLoanInformationInput.
selfEmployedCoBorrower

boolean
SelfEmployedCoBorrower.
ratesLoanInformationInput.
non_warrantable_Condo

boolean
Non_warrantable_Condo.
ratesLoanInformationInput.
usdaGuarantee

number
USDA Guarantee.
ratesLoanInformationInput.
otherHELOCDraws

number
Other HELOC Draws.
ratesLoanInformationInput.
otherHELOCLines

number
Other HELOC Lines.
ratesLoanInformationInput.
print2003Application

string
Indicates if it is URLA 2020 form or not.
ratesLoanInformationInput.
commitmentType

integer
Specifies the rate lock commitment type. Expected values are:
1 = Mandatory
2 = Best Efforts
ratesLoanInformationInput.
estimatedClosingCost

number
Estimated Closing Cost on the loan.
ratesLoanInformationInput.hedged
boolean
Indicate true if hedged. Default is false.
ratesLoanInformationInput.averageRepresentativeCreditScore
integer
The average credit score across borrowers.
ratesLoanInformationInput.mtgIns
number
The proposed mortgage insurance amount.
ratesLoanInformationInput.dtiIncomeOverride
number
For Debt to Income, the income override value, if any.
ratesLoanInformationInput.dtiDebtOverride
number
For Debt to Income, the debt override value, if any.
ratesLoanInformationInput.constructionRefinance
boolean
Indicate true if construction refinance. Default is false.
ratesLoanInformationInput.term
number
Term in years. Defaults to 30 years.
ratesPropertyREOInput.gseRefinancePurposeType
string
The GSE refinance purpose type. Possible values are:

- CashOutDebtConsolidation
- CashOutHomeImprovement
- CashOutLimited
- CashOutOther
- CashOutOriginalLender
- ChangeInRateTerm
- NoCashOutOther
- NoCashOutFHAStreamlinedRefinance
- NoCashOutFREOwnedRefinance
- NoCashOutStreamlinedRefinance
- NoCashOutOriginalLender
ratesCompensationInput
object
Loan officer compensation information.
ratesCompensationInput.
model

integer
Required. Loan officer compensation model.
Possible values are:
1 = Borrower
2 = Creditor
ratesCompensationInput.
points

number
Loan officer compensation points.
ratesCompensationInput.
pointsTotalBased

string
Loan officer compensation points.
ratesCompensationInput.
amount

number
Loan officer compensation dollar amount.
ratesCompensationInput.
minimum

number
Loan officer compensation minimum amount.
ratesCompensationInput.
maximum

number
Loan officer compensation maximum amount.
ratesBorrowerInput
object
Borrower information.
ratesBorrowerInput.firstName
string
Borrower first name.
ratesBorrowerInput.lastName
string
Borrower last name.
ratesBorrowerInput.phone
string
Contact phone number.
ratesBorrowerInput.streetAddress
string
Contact address.
ratesBorrowerInput.city
string
Contact city.
ratesBorrowerInput.state
string
Contact state as standard two character State code.
ratesBorrowerInput.zip
string
Contact ZIP code.
ratesBorrowerInput.email
string
Contact email address.
ratesBorrowerInput.
borrowerFinanancial

string
The ratesBorrowerFinancialInput object and other financial details from the borrower.
ratesBorrowerInput.citizenship
integer
Borrower Citizenship status.
Possible values are:
1 = USCitizen
2 = PermanentResidentAlien
3 = NonPermanentResidentAlien
['1', '2', '3']
ratesBorrowerFinancialHistoryInput
object
Borrower's financial history.
ratesBorrowerFinancialHistoryInput.
30DaysMortgageLatestin12Months

integer
Number of mortgage payments made 30 days late over the last 12 months.
ratesBorrowerFinancialHistoryInput.
60DaysMortgageLatestin12Months

integer
Number of mortgage payments made 60 days late over the last 12 months.
ratesBorrowerFinancialHistoryInput.
90DaysMortgageLatestin12Months

integer
Number of mortgage payments made 90 days late over the last 12 months.
ratesBorrowerFinancialHistoryInput.
30DaysMortgageLatestin24Months

integer
Number of mortgage payments made 30 days late over the last 24 months.
ratesBorrowerFinancialHistoryInput.
60DaysMortgageLatestin24Months

integer
Number of mortgage payments made 60 days late over the last 24 months.
ratesBorrowerFinancialHistoryInput.
90DaysMortgageLatestin24Months

integer
Number of mortgage payments made 90 days late over the last 12 months.
ratesBorrowerFinancialHistoryInput.
120DaysMortgageLatestin12Months

integer
Number of mortgage payments made 120 days late over the last 12 months.
ratesBorrowerFinancialHistoryInput.
noticeOfDefaultForeClosure

integer
Number of months since the Notice of Default or Foreclosure.
ratesBorrowerFinancialHistoryInput.
bankruptcyInMonths

integer
Number of months since Bankruptcy disposed/closed.
ratesBorrowerFinancialHistoryInput.
demonstrateHousingPaymentHistory

boolean
This field indicates whether the borrower(s) can demonstrate a 12-month housing payment history.
ratesBorrowerFinancialHistoryInput.
firstTimeHomeBuyers

boolean
This field indicates the First Time Home Buyer status.
ratesBorrowerFinancialHistoryInput.
noCreditScores

boolean
This field indicates No credit scores selection.
ratesBorrowerFinancialHistoryInput.
dscr

number
This field indicates DSCR.
ratesBorrowerFinancialHistoryInput.
nonQMDocLevel

integer
This field indicates Non-QM Doc Level.
Possible values are:
1 = 24 months with two or tax returns
2 = 12 months with two or tax returns
3 = 24 months personal bank statement
4 = 12 months personal bank statement
5 = 24 months business bank statements
6 = 12 months business bank statements
['1', '2', '3', '4', '5', '6']
ratesBorrowerFinancialHistoryInput.
bkType

integer
This field indicates BK Type.
Possible values are:
1 = Chapter Seven
2 = Chapter Eleven
3 = Chapter Thirteen
['1', '2', '3']
ratesBorrowerFinancialHistoryInput.
nodType

integer
This field indicates NOD Type. Possible values are:
1 = Foreclosure Default
2 = Short Sale
3 = Deed in Lieu
['1', '2', '3']
ratesPropertyREOInput
object
Rates property REO information.
ratesPropertyREOInput.value
number
Subject Property value.
ratesPropertyREOInput.type
integer
Required. Subject Property type.
ratesPropertyREOInput.use
integer
Required. Subject Property use.
ratesPropertyREOInput.zip
string
Required. Subject property ZIP code.
ratesPropertyREOInput.streetAddress
string
Subject property street address.
ratesPropertyREOInput.city
string
Subject property city.
ratesPropertyREOInput.county
string
Subject property county code (use Government/HUD County Code.
ratesPropertyREOInput.state
string
Required. Subject property State as standard two character state code.
ratesPropertyREOInput.rural
boolean
Indicates Subject Property as Rural or Architecturally Unique/Distinct.
Possible values are:
0 = (default) Property is not rural/unique
1 = Property is rural/unique
ratesPropertyREOInput.tax
number
Required. Subject property real estate taxes, in whole dollars ,
ratesPropertyREOInput.insuranceAmount
number
Required. Subject property homeowner’s insurance, in whole dollars.
ratesPropertyREOInput.associationFee
number
Required. Subject property association fees, in whole dollars.
ratesPropertyREOInput.rentalIncome
number
Required. Subject property rental income, in whole dollars.
ratesPropertyREOInput.occupancyRate
number
Property occupancy rate.
ratesPropertyREOInput.propValueUsed
integer
PropValueUsed.
ratesPropertyREOInput.otherRealEstate
Owned

array
ratesOtherRealEstateOwnedInput and Other Real Estate Owned by Borrower information.
ratesPropertyREOInput.gseRefinance
PurposeType

string
Get or set Gse Refinance Purpose Type.
ratesPropertyREOInput.stateCode
integer
State Code.
ratesPropertyREOInput.countyCode
integer
County Code.
ratesPropertyREOInput.censusTract
number
Census Tract.
ratesPropertyREOInput.msa
integer
MSA.
ratesPropertyREOInput.unitTypeId
integer
UnitType. Possible values are:
1 = Apartment
2 = Basement
3 = Building
4 = Condo
5 = Department
6 = Floor
7 = Front
8 = Hangar
9 = Key
10 = Lobby
11 = Lot
12 = Lower
13 = Office
14 = Penthouse
15 = Pier
16 = Rear
17 = Room
18 = Side
19 = Space
20 = Stop
21 = Suite
22 = Trailer
23 = Unit
24 = Upper
['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24']
ratesPropertyREOInput.unitNumber
string
Unit number.
ratesLockRequestAdditionalFieldsInput
object
Rates lock request additional fields.
ratesLockRequestAdditionalFieldsInput.
fieldId

string
Required only when lockrequest additional fields are sent for qualification.
ratesLockRequestAdditionalFieldsInput.
dataType

string
Required. The data type of custom field.
ratesLockRequestAdditionalFieldsInput.
value

string
This value of custom field in string format.
ratesLockRequestAdditionalFieldsInput.
description

string
The description of custom fields.
ratesLockRequestAdditionalFieldsInput.
options

array
ratesOptionsInput object containing borrower personal information.
ratesBorrowerFinancialInput
object
Borrower's financial information.
ratesBorrowerFinancialInput.creditScore
integer
Borrower’s representative Credit/FICO score to be used for eligibility and pricing.
ratesBorrowerFinancialInput.liquidAsset
number
Borrower’s liquid assets, in whole dollars.
ratesBorrowerFinancialInput.retirement
Asset

number
Borrower’s retirement assets, in whole dollars.
ratesBorrowerFinancialInput.income
number
Borrower’s annual income, in whole dollars.
ratesBorrowerFinancialInput.monthly
Debt

number
Borrower’s monthly debt, in whole dollars.
ratesOtherRealEstateOwnedInput
object
Real estate owned information.
ratesOtherRealEstateOwnedInput.
use

integer
Property use.
Possible values are:
1 = PrimaryResidence,
2 = SecondaryResidence,
3 = InvestmentOrRentalproperty,
4 = PrimaryPendingSale
['1', '2', '3', '4']
ratesOtherRealEstateOwnedInput.
value

number
The market value of the property.
ratesOtherRealEstateOwnedInput.
mtgBalance

number
Other property total existing mtgBalance, in whole dollars.
ratesOtherRealEstateOwnedInput.
monthlyPayment

number
Other property total monthly mortgage payments, in whole dollars.
ratesOtherRealEstateOwnedInput.
rentalIncome

number
Rental Income, in whole dollars.
ratesOtherRealEstateOwnedInput.
occupancyRate

number
Occupancy rate.
ratesOtherRealEstateOwnedInput.
isPropertyCommercial

boolean
Indicates whether the property is commercial.
ratesOptionsInput
object
Rates options.
ratesOptionsInput.key
string
Option field name.
ratesOptionsInput.value
string
Option field value.

Lock Attributes

The following attributes make up the lockInput object. When passing the lockInput object, all attributes are optional unless otherwise specified.

ATTRIBUTEDESCRIPTION
sourceApplicationName
string
Required. Name of the source application.
sourceApplicationFormName
string
Required. Name of the source application form.
requestAction
integer
This attribute is required for relock requests only. For all other requests, this parameter is optional.
Possible values are:
1 = QuoteRequest
2 = ValidateRelock,
3 = CheckEligibilityAndPricing
4 = BuyRequest
['1', '2', '3', '4']

The default value is QuoteRequest, which represents the current pricing.
requestLockStatus
integer
This is Optional Parameter but required for relock requests.
Possible values are:
0 = NoStatus
1 = NotLocked
2 = ActiveLock
3 = Expired
4 = Cancelled
['0', '1', '2', '3', '4']
eppsUserName
string
The ICE PPE User ID is required to validate whether the Encompass user is mapped to an ICE PPE user.
facadeUserID
string
User ID that should be considered as the caller of the API. If the user ID of the currently logged user is not passed, then facadeUserID will be used.
programID
integer
Required. The unique identifier of the program.
rateDataID
integer
Required. The unique identifier of the Rate.
lienPosition
integer
Required. The borrower's lien position.
effectiveDate
string
Required. The date from the previous snapshot. This field is optional. effectiveDate should be less than Data Retention Days configured in database (current configuration is 1 year).

Eligible Rates Attributes

The following attributes make up the eligibleRates contract. When passing the eligibleRates contract, all attributes are optional unless otherwise specified.

ATTRIBUTEDESCRIPTION
eligibleRatesInput
object
Rates input information.
eligibleRatesInput.requestAction
integer
Required only for relock requests. The default value is QuoteRequest when nothing is supplied. This will represent the current pricing.
eligibleRatesInput.eppsUserName
string
The ICE PPE user ID is required to validate if the Encompass User is mapped to an ICE PPE User.
eligibleRatesInput.facadeUserID
integer
User ID that should be considered as the caller of the API. If the user ID of the currently logged user is not passed, then facadeUserID will be used.
eligibleRatesInput.userTierId
integer
Represents the userID used for pricing. This is also known as the compUserID.
eligibleRatesInput.lockDays
integer
Number of days to lock the rate for.
eligibleRatesInput.loanType
string
Indicates whether the loan is a Heloc or NonHeloc loan.
eligibleRatesInput.deliveryType
integer
Specifies the rate lock delivery type.
eligibleRatesInput.buydownContributor
integer
Specifies the BuydownContributor. It is a required field if BuydownType has a non-zero value.
Possible values are:
0 = None
1 = Lender
2 = Seller
3 = Builder
4 = Borrower
5 = Unassigned
6 = Parent
7 = Non_ParentRelative
8 = UnrelatedFriend
9 = Employer
['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
eligibleRatesInput.buydownType
integer
Specifies the BuydownType. Possible values are:
0 = None
1 = Three_Two_One
2 = Two_One
3 = One_Zero
4 = OnePointFive_PointSeventyFive
5 = One_PointFive
['0', '1', '2', '3', '4', '5']
eligibleRatesInput.eligibilityRequestRequest for determining eligibility.
eligibleRatesInput.loanInformationEligibleRatesLoanInformationInput object.
eligibleRatesInput.compensationCompensation details.
eligibleRatesInput.agencyApprovals
integer
The previously obtained FNMA / FHLMC approval level.
eligibleRatesInput.productType
array[integer]
Specifies one or more desired Loan Product Types. You may provide multiple instances of this field in your form submission. Not all product types are available for every scenario.
eligibleRatesInput.productOptions
array[integer]
Specifies one or more desired Product Options. You may provide multiple instances of this field in your form submission. Not all options are available for every scenario.
Tip: Use the Get Product Options API to get a list of products available for the user.
eligibleRatesInput.specialProducts
array[integer]
Specifies zero or more desired Special Loan Products. Special Product selections are independent of IncConventional, IncFHA and IncVA selections.

Tip: Use the Get Special Products API to get a list of products available for the user.
eligibleRatesInput.documentationLevel
integer
This value represents the documentation level or documentation type.
Possible values are:
1 = FullDoc
2 = SIVA
3 = SISA
4 = NIVA
6 = NINA
7 = NoDoc
9 = LimitedDoc
10 = LiteDoc
['1', '2', '3', '4', '6', '7', '9', '10']
eligibleRatesInput.borrowers
Array[EligibleRatesBorrowerInput]
The eligibleRatesBorrowerInput object and other
personal information from the borrower.
eligibleRatesInput.borrowerFinancial
History
Includes the EligibleRatesBorrowerFinancialHistoryInput object and borrower's financial history.
eligibleRatesInput.property
EligibleRatesPropertyREOInput
Subject Property and Other Real Estate Owned details.
eligibleRatesInput.lockRequest
AdditionalFields

Array[EligibleRatesLockRequest
AdditionalFieldsInput]
Lock Request Additional Fields.
eligibleRatesEligibilityInput
object
Rates eligibility information.
eligibleRatesEligibilityInput.effectiveDate
string
The date from the previous snapshot. This field is optional. effectiveDate should be less than Data Retention Days configured in database (current configuration is 1 year).
eligibleRatesEligibilityInput.specificRateDataID
integer
The previously locked rateDataId.
eligibleRatesLoanInformationInput
object
Rates loan eligibility information.
eligibleRatesLoanInformationInput.
loanId

integer
The application loan ID. This is required field when requestAction is set to validateRelockRequest.
eligibleRatesLoanInformationInput.
lienPosition

integer
The Borrower's Lien Position.
eligibleRatesLoanInformationInput.
loanPurpose

integer
This value represents the purpose of the loan.
Possible values are:
1 = Purchase,
2 = RateOrTermRefinance,
3 = CashOutRefinance
eligibleRatesLoanInformationInput.
firstMortgageAmount

number
The 1st Lien mortgage amount, in whole dollars.

For 1st mortgage transactions, this is the loan amount for the imported loan.

For 2nd mortgages, this is the balance on any existing First Lien.

For combination 1st and 2nd combo transactions, this is the First Lien portion of the total loan amount.
eligibleRatesLoanInformationInput.
secondMortgageAmount

number
The 2nd lien mortgage amount, in whole dollars.

For 1st mortgage transactions, this is the balance on any existing Second Lien.

For 2nd mortgage transactions, this is the loan amount for the imported loan.

For 1st and 2nd combo transactions, this is the second lien portion of the total loan amount.
eligibleRatesLoanInformationInput.
totalMortgageAmount

number
The sum of FirstMortgageAmount and SecondMortgageAmount.
eligibleRatesLoanInformationInput.
financedAmount

number
Financed or PMI amount in whole dollars. The field value is valid only in case of lien position as 1st mortgage.
eligibleRatesLoanInformationInput.
otherPayment

number
The monthly mortgage payment in whole dollars for any pre-existing mtgBalance or other loans that will exist concurrently with the imported loan.
eligibleRatesLoanInformationInput.
cashOut

number
The desired cash out for a Cash-Out Refinance transaction in whole dollars.
eligibleRatesLoanInformationInput.
target

number
Represents the desired price target using 100-based pricing (for example, “100” for par, “101” for 1 point premium, and so on), Or the rate target (for example, “6.125” for 6.125%).

If this value is not supplied, target pricing of 100 is assumed.
eligibleRatesLoanInformationInput.
includeClosingCost

boolean
Indicates whether the closing cost is included in the down payment.
eligibleRatesLoanInformationInput.
noClosingCost

boolean
This field can be Null, Y, or N.
eligibleRatesLoanInformationInput.
loanChannel

integer
The Channel of the Loan.
Possible values are:
0 = Retail
1 = Wholesale
2 = Correspondent
3 = Brokered
4 = None
['0', '1', '2', '3', '4']
eligibleRatesLoanInformationInput.
noLoan

boolean
Indicates whether the subject property is new.
eligibleRatesLoanInformationInput.
giftForDownPayment

number
Gift assets being applied towards the down payment in whole dollars.
eligibleRatesLoanInformationInput.
sellerConsessionForDownPayment

number
Seller concession applied towards down payment.
eligibleRatesLoanInformationInput.
helocInitialDraw

number
Initial draw amount for Heloc loan.
eligibleRatesLoanInformationInput.
helocCreditLimit

number
Credit limit for Heloc loan.
eligibleRatesLoanInformationInput.
totSubClosedEndMort

number
Total of subordinate closed end mortgages for Heloc loan.
eligibleRatesLoanInformationInput.
helocDrawnTotal

number
Total drawn amount for Heloc loan.
eligibleRatesLoanInformationInput.
loanAmountMaxLine

number
Loan amount max line.
eligibleRatesLoanInformationInput.
prepaymentPenaltyTerm

integer
Prepayment Penalty Term.
eligibleRatesLoanInformationInput.
lenderFeeWaiver

boolean
This field can be Null, Y, or N.
eligibleRatesLoanInformationInput.
communityAffordableSecond

boolean
This field can be Null, Y, or N.
eligibleRatesLoanInformationInput.
fhaCaseNumberDate

string
FHA Case Number Date.
eligibleRatesLoanInformationInput.
condotel

boolean
Condotel.
eligibleRatesLoanInformationInput.
selfEmployedBorrower

boolean
Indicates whether the borrower is self-employed.
eligibleRatesLoanInformationInput.
selfEmployedCoBorrower

boolean
Indicates whether the coborrower is self-employed.
eligibleRatesLoanInformationInput.
non_warrantable_Condo

boolean
Non_warrantable_Condo.
eligibleRatesLoanInformationInput.
commitmentType

integer
Specifies the rate lock commitment type. Expected Values
1 = Mandatory
2 = Best Efforts
eligibleRatesLoanInformationInput.
averageRepresentativeCreditScore

integer
The average credit score across borrowers.
eligibleRatesLoanInformationInput.mtgIns
number
The proposed mortgage insurance amount.
eligbileRatesLoanInformationInput.
dtiIncomeOverride

number
For Debt to Income (DTI), the income override value, if any.
eligibleRatesLoanInformationInput.
dtiDebtOverride

number
For Debt to Income (DTI), the debt override value, if any.
eligibleRatesLoanInformationInput.
constructionRefinance

boolean
True indicates if construction refinance. Default is false.
eligibleRatesLoanInformationInput.term
number
Term in years. Defaults to 30 years.
eligibleRatesCompensationInput
object
Information for rates compensation.
eligibleRatesCompensationInput.
model

integer
Loan officer compensation model.
Possible values are:
1 = Borrower
2 = Creditor
eligibleRatesCompensationInput.
points

integer
Loan officer compensation points.
eligibleRatesCompensationInput.
pointsTotalBased

string
Loan officer compensation points
eligibleRatesCompensationInput.
amount

number
Loan officer compensation dollar amount.
eligibleRatesCompensationInput.
minimum

number
Loan officer compensation minimum amount.
eligibleRatesCompensationInput.
maximum

number
Loan officer compensation maximum amount.
eligibleRatesBorrowerInput
object
eligibleRatesBorrowerInput.firstName
string
Borrower first name.
eligibleRatesBorrowerInput.lastName
string
Borrower last name.
eligibleRatesBorrowerInput.phone
string
Borrower phone number.
eligibleRatesBorrowerInput.streetAddress
string
Borrower address.
eligibleRatesBorrowerInput.city
string
Borrower city.
eligibleRatesBorrowerInput.state
string
Borrower state as standard two character state code.
eligibleRatesBorrowerInput.zip
string
Borrower ZIP code.
eligibleRatesBorrowerInput.email
string
Borrower email address.
eligibleRatesBorrowerInput.
borrowerFinanancial
Includes the ligibleRatesBorrowerFinancialInput object and borrower financial details.
eligibleRatesBorrowerInput.citizenship
integer
Borrower Citizenship status.
Possible values are:
1 = USCitizen
2 = PermanentResidentAlien
3 = NonPermanentResidentAlien
['1', '2', '3']
EligibleRatesBorrowerFinancialHistoryInput
object
EligibleRatesBorrowerFinancialHistoryInput.
30DaysMortgageLatestin12Months

integer
Number of 30-day mortgage latest in the last 12 months.
EligibleRatesBorrowerFinancialHistoryInput.
60DaysMortgageLatestin12Months

integer
Number of 60-day mortgage latest in the last 12 months.
EligibleRatesBorrowerFinancialHistoryInput.
90DaysMortgageLatestin12Months

integer
Number of 90-day mortgage latest in the last 12 months.
EligibleRatesBorrowerFinancialHistoryInput.
30DaysMortgageLatestin24Months

integer
Number of 30-day mortgage latest in the last 24 months.
EligibleRatesBorrowerFinancialHistoryInput.
60DaysMortgageLatestin24Months

integer
Number of 60-day mortgage latest in the last 24 months.
EligibleRatesBorrowerFinancialHistoryInput.
90DaysMortgageLatestin24Months

integer
Number of 90-day mortgage latest in the last 24 months.
EligibleRatesBorrowerFinancialHistoryInput.
120DaysMortgageLatestin12Months

integer
Number of 120-day mortgage latest in the last 12 months.
EligibleRatesBorrowerFinancialHistoryInput.
noticeOfDefaultForeClosure

integer
Number of months since Notice of Default or Foreclosure.
EligibleRatesBorrowerFinancialHistoryInput.
bankruptcyInMonths

integer
Number of months since Bankruptcy disposed/closed.
EligibleRatesBorrowerFinancialHistoryInput.
demonstrateHousingPaymentHistory

boolean
This field indicates whether the borrower(s) can demonstrate a 12-month housing payment history.
EligibleRatesBorrowerFinancialHistoryInput.
firstTimeHomeBuyers

boolean
This field indicates First Time Home Buyer status.
EligibleRatesBorrowerFinancialHistoryInput.
nonQMDocLevel

integer
This field indicates Non-QM Doc Level.
Possible values are:
1 = 24 months with two or tax returns
2 = 12 months with two or tax returns
3 = 24 months personal bank statement
4 = 12 months personal bank statement
5 = 24 months business bank statements
6 = 12 months business bank statements
['1', '2', '3', '4', '5', '6']
EligibleRatesBorrowerFinancialHistoryInput.
nodType

integer
Specifies NODType.
Possible values are:
1 = Foreclosure_Default,
2 = Short_Sale,
3 = Deed_in_Lieu
['1', '2', '3']
EligibleRatesBorrowerFinancialHistoryInput.
bkType

integer
Specifies BKType.
1 = Chapter_Seven,
2 = Chapter_Eleven,
3 = Chapter_Thirteen
['1', '2', '3']
EligibleRatesBorrowerFinancialHistoryInput.
dscr

number
Specifies DSCR.
EligibleRatesBorrowerFinancialHistoryInput.
noCreditScores

boolean
Specifies NoCreditScores.
eligibleRatesPropertyREOInput
object
eligibleRatesPropertyREOInput.value
number
Subject Property value.
eligibleRatesPropertyREOInput.type
integer
Subject Property type. Possible values are:
1 = Family1
2 = Family2
3 = Family3
4 = Family4
5 = Condo1To4Story
6 = Condo5To8Story
7 = Condo9PlusStory
8 = Townhouse
9 = CoOp
10 = DoublewideMobile
11 = Manufactured
12 = CondoDetached
13 = PUD
14 = MHAdvantage
['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14'],
eligibleRatesPropertyREOInput.use
integer
Subject property use.
eligibleRatesPropertyREOInput.zip
string
Subject property ZIP code.
eligibleRatesPropertyREOInput.
streetAddress

string
Subject property street address.
eligibleRatesPropertyREOInput.city
string
Subject property city.
eligibleRatesPropertyREOInput.county
string
Subject property county code (use Government/HUD County Code).
eligibleRatesPropertyREOInput.state
string
Subject property state as standard two character state code.
eligibleRatesPropertyREOInput.rural
boolean
Indicates Subject Property as Rural or Architecturally Unique/Distinct.
Possible values are:
0 = (default) Property is not rural/unique.
1 = Property is rural/unique.
eligibleRatesPropertyREOInput.tax
number
Subject Property Real Estate Taxes, in whole dollars.
eligibleRatesPropertyREOInput.
insuranceAmount

number
Subject Property Homeowner’s Insurance, in whole dollars.
eligibleRatesPropertyREOInput.
associationFee

number
Subject Property Association Fees, in whole dollars.
eligibleRatesPropertyREOInput.
rentalIncome

number
Required. Subject Property Rental Income, in whole dollars.
eligibleRatesPropertyREOInput.
occupancyRate

number
Property Occupancy Rate.
eligibleRatesPropertyREOInput.
otherRealEstateOwned

Array[EligibleRatesOtherRealEstate
OwnedInput]
Other Real Estate Owned by Borrower.
eligibleRatesLockRequestAdditionalFieldsInput
object
eligibleRatesLockRequestAdditional
FieldsInput.fieldId

string
This is Required field when lockrequest additional fields are sent for qualification.
Min. Length: 1
eligibleRatesLockRequestAdditional
FieldsInput.dataType

string
The Data type of custom field
Min. Length: 1
eligibleRatesLockRequestAdditional
FieldsInput.value

string
This value of custom field in string format.
Min. Length: 1
eligibleRatesLockRequestAdditional
FieldsInput.description

string
The description of custom fields.
eligibleRatesLockRequestAdditional
FieldsInput.options

Array[EligibleRatesOptionsInput]
Borrower personal information.
eligibleRatesBorrowerFinancialInput
object
eligibleRatesBorrowerFinancialInput.creditScore
integer
Borrower’s representative Credit/FICO score to be used for eligibility and pricing.
eligibleRatesBorrowerFinancialInput.liquidAsset
number
Borrower’s liquid assets, in whole dollars.
eligibleRatesBorrowerFinancialInput.retirementAsset
number
Borrower’s retirement assets, in whole dollars.
eligibleRatesBorrowerFinancialInput.income
number
Borrower’s annual income, in whole dollars.
eligibleRatesBorrowerFinancialInput.monthlyDebt
number
Borrower’s monthly debt, in whole dollars.
eligibleRatesOtherRealEstateOwnedInput
object
eligibleRatesOtherRealEstateOwnedInput.
use

integer
Property use. Possible values are:
1 = PrimaryResidence
2 = SecondaryResidence
3 = InvestmentOrRentalproperty
4 = PrimaryPendingSale
['1', '2', '3', '4']
eligibleRatesOtherRealEstateOwnedInput.
value

number
The Market value of the property.
eligibleRatesOtherRealEstateOwnedInput.
mtgBalance

number
Other property total existing mtgBalance, in whole dollars.
eligibleRatesOtherRealEstateOwnedInput.
monthlyPayment

number
Other property total monthly mortgage payments, in whole dollars.
eligibleRatesOtherRealEstateOwnedInput.
rentalIncome

number
Rental Income, in whole dollars.
eligibleRatesOtherRealEstateOwnedInput.
occupancyRate

number
Occupancy Rate.
eligibleRatesOptionsInput
object
eligibleRatesOptionsInput.key
string
Option Field Name.
eligibleRatesOptionsInput.value
string
Option Field Value.

Adjustment Rates Attributes

The following objects and attributes make up the Adjustment Rates contract. When passing the Adjustment Rates contract, all attributes are optional unless otherwise specified.

ATTRIBUTESDESCRIPTION
eppsUserName
string
The ICE PPE user name/id is required to validate whether the user is mapped to an Encompass user.
facadeUserID
string
User ID that should be considered as the caller of the API. If the user ID of the currently logged user is not passed, then facadeUserID will be used.
loanId
integer
Required. The application loan ID. This is required field when requestAction is set to validateRelockRequest.
Min. Value: 1
Max. Value: 2147483647
lienPosition
integer
Required. The Borrower's Lien Position.
effectiveDate
string
The date from the previous snapshot. EffectiveDate should be less than Data Retention Days configured in database(current configuration is 1 year).
specificRateDataID
integer
Required. The previously locked RateDataId. Optional but required for relock requests.

Guidelines Contracts and Attributes

This API returns program guidelines for a specified program ID.

Guidelines Response

The following guidelinesOutput response is returned for a given program ID.

ATTRIBUTEDESCRIPTION
GuidelinesOutput
object
performanceIndicators
object
Object containing the indicators of the API performance.
performanceIndicators.entryStart time of the API
performanceIndicators.elapsedTimeTotal time taken by the API
performanceIndicators.qualification
PerformanceIndicators
Qualification Performance Indicators
allRegsUrl
string
The AllRegs URL being used internally by ICE PPE.
applicationIdentifier
string
Application Identifier. Application-level configuration set up by ICE PPE.
passKey
string
The application-level configuration set up by ICE PPE for pass key.
performanceIndicators
object
performanceIndicators.entry
string
Start time of the API.
performanceIndicators.elapsedTime
integer
Total time taken by the API.
performanceIndicators.qualification
PerformanceIndicators
qualificationPerformanceIndicators
Qualification Performance Indicators.
qualificationPerformanceIndicators
object
qualificationPerformanceIndicators.
total

integer
Total time taken.
qualificationPerformanceIndicators.
preQualification

integer
Time taken for PreQualification.
qualificationPerformanceIndicators.
ruleQualification

integer
Time taken for RuleQualification.
qualificationPerformanceIndicators.
postQualification

integer
Time taken for PostQualification.

Guideline Details Response

The following guidelinesDetailsOutput response is returned for a given program ID and qualification ID.

lUsageFlag (boolean, optional),
pTypeFlag (boolean, optional),
minCreditFlag (boolean, optional),
maxLTVFlag (boolean, optional),
maxCLTVFlag (boolean, optional),
maxHCLTVFlag (boolean, optional),
maxLoanFlag (boolean, optional),
pUsageFlag (boolean, optional),
maxLineFlag (boolean, optional),
guidelineDetailID (integer, optional),
credit (integer, optional),
ltv (number, optional),
cltv (number, optional),
maxLoan (integer, optional),
maxLine (integer, optional),
maxCash (integer, optional),
hcltv (number, optional),
guidelineVersionID (integer, optional),
pUsagesString (string, optional),
pTypesString (string, optional),
lUsageString (string, optional),
ltvString (string, optional),
cltvString (string, optional),
hcltvString (string, optional),
maxLoanString (string, optional),
maxLineString (string, optional)

Lookups Response Contracts and Attributes

The following Lookups return data in the format of key-value pairs.

  • Agency Approvals
  • Bankruptcy
  • Citizenship
  • Counties
  • Delivery Types
  • Encompass Elements
  • Foreclosure
  • Investors
  • Lien Position
  • Loan Terms
  • Loan Usage
  • Prepay Penalty Terms
  • Product Options
  • Property Types
  • Property Use
  • Special Products
  • Standard Products

Buydown Type Response

ATTRIBUTEDESCRIPTION
buydownTypeId
integer
BuydownTypeId from the BuydownType table.
descriptionText
string
BuydownType.
displayOrder
integer
DisplayOrder from BuydownType table.

Buydown Contributor Type Response

ATTRIBUTEDESCRIPTION
buydownContributorTypeId
integer
BuydownContributor ID.
descriptionText
string
BuydownContributor.
displayOrder
integer
DisplayOrder from BuydownContributor table.

Client Settings Response

ATTRIBUTEDESCRIPTION
options
object
Options as configured on the EPPS Admin tab > Settings > Options. The Options section is used to manage features on the EPPS Qualify and Summary tabs.
options.skipIncome
boolean
Indicates whether income checking rules are not considered for qualified programs and rates on the Qualify tab.
options.skipAssets
boolean
Indicates whether asset checking rules are not considered for qualified programs and rates on the Qualify tab.
options.allowLock
boolean
Indicates whether the Lock Request button displays at the bottom of the Summary tab. Authorized users may click this button to submit a rate lock request to the lock desk via ICE PPE.
options.roundCorr
boolean
Indicates whether prices are rounded down by an eighth for loans in the Correspondent channel.
options.roundBroker
boolean
Indicates whether prices are rounded down by an eighth for loans in the Broker channel.
options.noClosingCost
boolean
Indicates whether a No Closing Cost option is displayed on the General tab and ICE PPE will return the appropriate profit margin or loan level price adjustment (LLPA).
options.flagged
boolean
Indicates whether the Flagged check box on the Qualify tab is selected and flagged programs are included in Qualification results.
options.isMIQuotesEnabled
boolean
Indicates whether MI quotes are enabled.
encompassSettings
object
Encompass Settings as configured in EPPS Admin tab > Settings >Encompass Settings.
encompassSettings.changeEffective
DateOnReLock

boolean
Indicates whether changes to the Effective Date are allowed on re-lock and lock update.
encompassSettings.changeProgram
OnReLock

boolean
Indicates whether loan program changes are allowed on re-Lock and lock update.
encompassSettings.changeAdditional
LoanProg

boolean
Indicates whether selection of additional loan programs are allowed only when current loan program is no longer eligible on re-lock and lock update.
productTypes The product types included in product and pricing results (on the Qualify tab).

Commitment Types Response

ATTRIBUTEDESCRIPTION
commitmentTypeID
integer
Commitment type ID.
description
string
Description of the commitment type. For example, Best Efforts.

Custom Fields Response

ATTRIBUTEDESCRIPTION
newFieldId
integer
Unique identifier of the custom field.
originalFieldId
integer
Unique identifier of the original field.
description
string
Description of the custom field.
type
string
Data type. For example, DROPDOWNLIST.
editable
boolean
Indicates whether the custom field is editable.
hidden
boolean
Indicates whether the custom field is hidden.
masterList
array of strings
Master list of custom fields.

Documentation Types Response

ATTRIBUTEDESCRIPTION
documentationId
integer
Document ID.
documentation
string
Documentation Type. For example, Full, LimitedDocumentation, NoDocumenation, and so on.
income
number
Borrower income.
incomeLevel
string
Indicates the income level. For example, Full Income, Alternative Income, Lite Income, Stated Income, No Income, and so on.
assets
number
assetsLevel
string
Indicates the asset level.
employment
number
employmentLevel
string
Indicates the borrower's level of employment. For example, Employed or Retired, and so on.
displayOrderOrder in which a documentation type is displayed in the drop-down.

Loan Limits Response

ATTRIBUTEDESCRIPTION
limitText
string
The description for the Limit Type field.
limit1
integer
The amount for the 1 Unit field.
limit2
integer
The amount for the 2 Unit field.
limit3
integer
The amount for the 3 Unit field.
limit4
integer
The amount for the 4 Unit field.
effectiveDate
string
The date for the Effective Date field.
iOrder
integer
The order specifier for limit type. Determines the listing order of limits.

Locations Response

ATTRIBUTEDESCRIPTION
city
string
Name of the city within the given zip code.
countyID
integer
County ID.
county
string
County name.
stateID
integer
Number of the state. For example, Alaska = 1, Alabama = 2, Arkansas = 3, and so on.
state
string
Name of the state for given zip code.
abbrev
string
State abbreviation.

Lock Days Response

ATTRIBUTEDESCRIPTION
lockDays
integer
Number of lock days.
virtualLock
integer
Number of virtual lock days.

NOD Types Response

ATTRIBUTEDESCRIPTION
nodTypeID
integer
Notice of Default (NOD) Type ID.
description
string
NOD Type description. For example,
Short Sale ,Foreclosure/Default, Deed in Lieu, and so on.
displayOrder
integer
Order in which the NOD Type is displayed in the drop-down.

Non QM Doc Level Response

ATTRIBUTEDESCRIPTION
nonQMDocLevelTypeId
integer
DocLevelId from the NonQMDocLevelOutput table.
descriptionText
string
Non-QM documentation description.
For example,
24 Months W-2/Tax Returns
12 Months W-2/Tax Returns
24 Months Personal Bank Statements
12 Months Personal Bank Statements
24 Months Business Bank Statements
12 Months Business Bank Statements
displayOrder
integer
Order in which the Non-QM documentation is displayed in the drop-down.

States Response

ATTRIBUTEDESCRIPTION
stateID
integer
Number of the state. For example, Alaska = 1, Alabama = 2, Arkansas = 3, and so on.
state
string
Name of state available for the user/client.
abbreviation
string
State abbreviation.