Generate Report
The Generate Report endpoint accepts data about a customer's finances and lending scenario, along with lenders to calculate the report for. The endpoint may take 5-10 seconds to generate a report which consists of 20 different loan amount cases for each of the specified lenders.
Request
- Type:
POST - Path:
/engine/generate-report
Endpoint
The Generate Report endpoint can be accessed from the following URLs:
| Environment | Endpoint URL |
| Test | https://api.mre.test.blackfin.tools/engine/generate-report |
| Production | https://api.mre.blackfin.tools/engine/generate-report |
Authentication
An API_Key is required to call this endpoint. HTTP Bearer Token authentication is used.
JSON Schema
The request payload is sent as HTTP JSON body using the following schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$defs": {
"Lender": {
"type": [
"string",
"null"
],
"description": "The [lender (bank)](https://docs.blackfin.tools/books/mortgagerecenginemycrm/page/lenders) which the existing loan is with/from - eg. 'Westpac' this field is only present if LoanType=Existing",
"enum": [
null,
"AbodeMortgagesLimited",
"AccessHomeLoansLimited",
"Accuro",
"AIA",
"AlliedDunbar",
"AMBL",
"AMPLifetrack",
"AMPRPP",
"ANZ",
"Argosy",
"ASAPFinanceLimited",
"ASB",
"AscendFinance",
"AssetFinanceSelect",
"AsteronLife",
"AvantiFinance",
"BankofChinaNewZealandLimited",
"BasecorpFinance",
"BasecorpFinance",
"Bluestone",
"BNZ",
"CBS",
"CFML",
"ChinaConstructionBankNewZealandLimited",
"Cigna",
"CommixGroupLimited",
"CressidaCapital",
"DBR",
"DBRLimited",
"EconomyHomeLoans",
"FamilyFinance",
"FidelityLife",
"FirstMortgageTrust",
"FreedomMortgages",
"FreedomMortgagesLtd",
"GEMoney",
"GemHomeLoans",
"GeneralFinance",
"GoldBandFinance",
"Greenwich",
"HeartlandBank",
"HeartlandBankONHOLD",
"HomeTrustMortgagesCentralWestLtd",
"HSBC",
"IndustrialandCommercialBankofChinaNewZealandLimited",
"Kiwibank",
"KMMHO",
"LibertyFinancial",
"LibertyFinancialLimited",
"MARAC",
"MetroMoneyLtd",
"MortgageNorth",
"MTF",
"MutualFinanceLimited",
"NationalBank",
"NBS",
"Neo",
"NIB",
"NZFinance",
"NZGuardianTrust",
"NZCUSouth",
"NZF",
"OriginANZ",
"Other",
"OtherLenders",
"OtherNonBankLenders",
"Oxford",
"PacificHomeLoans",
"PacificRetailFinance",
"PartnersLife",
"Pepper",
"PFS",
"PinnacleLife",
"Pioneer",
"Presto",
"PropertyEquityFinance",
"PropertyFinanceSecuritiesLimited",
"PROSPA",
"Provident",
"PublicTrust",
"RESIMAC",
"SBSBank",
"SCF",
"SelectHomeLoan",
"Simplify",
"SouthernCross",
"SouthernCross",
"SouthernCrossBuildingSociety",
"SouthernCrossFinanceLtd",
"Sovereign",
"SuperBank",
"TasmanMortgages",
"TheCooperativeBank",
"Tower",
"TrustUs",
"TSB",
"UDCFinance",
"UnitedHomeLoans",
"Unity",
"Westpac",
"WizardHomeloans",
"XEMoneyTransfer",
"ZipBusiness"
],
"default": null
},
"Frequency": {
"type": "string",
"enum": [
"Yearly",
"HalfYearly",
"Quarterly",
"Monthly",
"Fortnightly",
"Weekly"
]
},
"FrequencyOrNull": {
"type": [
"string",
"null"
],
"enum": [
null,
"Yearly",
"HalfYearly",
"Quarterly",
"Monthly",
"Fortnightly",
"Weekly"
]
}
},
"title": "Request JSON Payload",
"type": "object",
"properties": {
"Details": {
"type": "object",
"description": "Contains details for mortgage calculation",
"properties": {
"Loan": {
"description": "Array of Loan objects",
"type": "array",
"items": {
"type": "object",
"properties": {
"LoanId": {
"type": "integer",
"description": "Numerical identifier for the Loan, typically an incremental ID starting with 1",
"minimum": 1
},
"LoanType": {
"type": "string",
"description": "Defines whether the applicant already has this loan or if it's a new loan",
"enum": [
"Existing",
"New"
]
},
"Lender": {
"$ref": "#/$defs/Lender"
},
"LendingAction": {
"type": [
"string",
"null"
],
"description": "Defines what action the applicant wants to take on an existing loan, only set if LoanType=Existing",
"enum": [
null,
"None",
"Refinance",
"TopUp"
],
"default": null
},
"LiabilityType": {
"type": "string",
"description": "The type of loan being applied for",
"enum": [
"HomeLoan"
],
"default": "HomeLoan"
},
"LoanAmount": {
"type": [
"number"
],
"description": "The amount of the loan (in $) being requested",
"default": null
},
"TopUpAmount": {
"type": [
"number",
"null"
],
"description": "The amount of the 'proposed increase' to the loan (in $) being requested",
"default": null
},
"TotalTermMonths": {
"type": "integer",
"description": "The new loan's overall total term (expressed in months)",
"minimum": 1
},
"InterestOnlyTermMonths": {
"type": "integer",
"description": "The new loan's optional 'Interest-Only' term (expressed in months)",
"minimum": 0,
"default": 0
},
"Security": {
"type": "object",
"description": "Security for the Loan",
"properties": {
"Value": {
"type": "number",
"description": "The value of the property (in $)"
},
"IsRBNZExempt": {
"type": "boolean",
"description": "Inidicates someone who is eligible for 90% lending. Default = false. [See also](https://www.rbnz.govt.nz/regulation-and-supervision/banks/macro-prudential-policy/loan-to-valuation-ratio-restrictions#:~:text=Loans%20to%20people%20building%20a,occupiers%20and%20residential%20property%20investors.)",
"default": false
},
"Location": {
"type": [
"string",
"null"
],
"description": "Address of the property",
"default": null
},
"PropertyType": {
"type": "array",
"description": "Up to three levels of property categorisation. [0] array item is level 1, [1] is level 2, [2] is level 3. See [property type](https://docs.blackfin.tools/books/mortgagerecenginemycrm/page/loan-security-property-types) table",
"items": {
"type": [
"string",
"null"
],
"enum": [
null,
"ResidentialProperty",
"FreeHoldResidential",
"TerracedHousing",
"FeeSimpleCrossLease",
"UnitTitle",
"Townhouse",
"LifestyleBlock",
"0to10ha",
"over10ha",
"LeaseholdResidential",
"Apartments",
"FreeholdApartment",
"over50sqm",
"40to50sqm",
"38to40sqm",
"under38sqm",
"LeaseholdApartment",
"ServicedApartment",
"StudentAccommodation",
"BedsitterStudioWarehouseApartments",
"NewBuildConstruction",
"FixedPriceContracts",
"LabourOnlySelfOwnerBuild",
"Relocations",
"VacantLand",
"ServicedVacantLand",
"UnservicedVacantLand",
"LifestyleWithoutDwelling",
"Other",
"MultipleDwellingsOnOneTitle",
"3Dwellings",
"4Dwellings",
"5Dwellings",
"6Dwellings",
"7OrMoreDwellings"
]
},
"default": []
},
"SecurityType": {
"type": "string",
"description": "Defines whether the Security is already owned by the Applicant or not",
"enum": [
"Existing",
"Proposed"
]
},
"UsageType": {
"type": [
"string",
"null"
],
"description": "How the property will be used - eg. 'Owner Occupied'",
"enum": [
null,
"OwnerOccupied",
"InvestmentProperty"
],
"default": null
},
"ValuationType": {
"type": [
"string",
"null"
],
"description": "The source of the valuation of the property. (Calculation logic coming soon)",
"enum": [
null,
"CouncilValuation",
"EVal",
"FullRegisteredValuation",
"SalePurchaseAgreement"
],
"default": null
}
},
"required": [
"Value",
"SecurityType"
]
}
},
"required": [
"LoanAmount",
"LoanId",
"LoanType",
"TotalTermMonths"
]
}
},
"ApplicantParty": {
"type": "array",
"description": "One or more parties (eg. married couple) who are applying for the home loan",
"items": {
"type": "object",
"properties": {
"Applicant": {
"type": "array",
"description": "One or more individuals belonging to the Applicant Party",
"items": {
"type": "object",
"properties": {
"ApplicantId": {
"type": "integer",
"description": "Numerical identifier for the individual Applicant, typically an incremental ID starting with 1",
"minimum": 1
},
"Name": {
"type": "string",
"description": "Full name of the individual Applicant"
}
},
"required": [
"ApplicantId"
]
}
},
"NumberOfDependents": {
"type": "integer",
"description": "Number of dependents of this applicant party",
"minimum": 0,
"default": 0
},
"NumberOfVehicles": {
"type": "integer",
"description": "Number of owned vehicles by this applicant party",
"minimum": 0,
"default": 0
},
"Expense": {
"type": "array",
"description": "One or more regular expenses being declared by the applicant party",
"items": {
"type": "object",
"properties": {
"ApplicantId": {
"type": "integer",
"description": "The ID of the individual applicant who the expense belongs to",
"minimum": 1
},
"ExpenseType": {
"type": "string",
"description": "The type of expense being declared - eg. 'Groceries'",
"enum": [
"ChildCare",
"ChildMaintenance",
"HigherEducationAndVocationalTraining",
"OtherEducation",
"PrivateSchoolCosts",
"PublicSchoolCosts",
"Groceries",
"OtherGroceries",
"BuildingInsurance",
"ContentsInsurance",
"HealthInsurance",
"IncomeProtection",
"LifeInsurance",
"OtherInsurance",
"VehicleInsurance",
"BodyCorporateInvestmentProperty",
"BuildingInsuranceInvestmentProperty",
"CouncilRatesInvestmentProperty",
"ElectricityAndGasInvestmentProperty",
"OtherInvestmentPropertyExpense",
"RepairsAndMaintenanceInvestmentProperty",
"RunningCostsInvestmentProperty",
"WaterAndSewerInvestmentProperty",
"MedicalAndHealth",
"NaturalTherapies",
"OtherMedical",
"Board",
"OtherOngoingRent",
"Rent",
"Kiwisaver",
"Other",
"RegularDonations",
"VoluntarySaving",
"VoluntarySuper",
"ClothingAndFootwear",
"Cosmetics",
"DryCleaning",
"OtherPersonalCare",
"PersonalCare",
"BodyCorporatePrimaryResidence",
"CouncilRatesPrimaryResidence",
"ElectricityAndGasPrimaryResidence",
"FurnishingsAndElectrical",
"HomeOperation",
"HomeRepairs",
"OtherPrimaryResidenceExpense",
"WaterAndSewerPrimaryResidence",
"AlcoholTobacco",
"CinemaConcertsMemberships",
"DiningOut",
"Gambling",
"Gambling2",
"GiftsAndMiscellaneous",
"GymSports",
"OtherRecreationalAndEntertainment",
"Pets",
"TravelAndHolidays",
"ContentsInsuranceSecondaryResidence",
"BodyCorporateSecondaryResidence",
"BuildingInsuranceSecondaryResidence",
"CouncilRatesSecondaryResidence",
"ElectricityAndGasSecondaryResidence",
"OtherSecondaryResidenceExpense",
"RepairsAndMaintenanceSecondaryResidence",
"RunningCostsSecondaryResidence",
"WaterAndSewerSecondaryResidence",
"HomeMobilePhone",
"InternetPayTVAndMediaStreamingSubscriptions",
"OtherTelephoneAndInternet",
"Petrol",
"PublicTransport",
"Registration",
"TaxiRideSharing",
"TollsParking",
"VehicleMaintenance"
]
},
"Frequency": {
"$ref": "#/$defs/Frequency",
"description": "The frequency with which the applicant pays the expense - eg. 'Weekly'"
},
"Amount": {
"type": "number",
"description": "The amount of the expense (in $)"
}
},
"required": [
"ExpenseType",
"Amount",
"Frequency"
]
},
"default": []
},
"Income": {
"type": "array",
"description": "One or more incomes being declared by the Applicant Party",
"items": {
"type": "object",
"properties": {
"ApplicantId": {
"type": "integer",
"description": "The ID of the individual applicant who the income belongs to",
"minimum": 0
},
"IncomeType": {
"type": "string",
"description": "The type of income being declared - eg. 'Salary'",
"enum": [
"CarAllowance",
"Companycar",
"DisabilityAllowance",
"WorkAllowance",
"Bonus",
"Commission",
"CompanyProfitBeforeTax",
"ChildSupport",
"FamilyAllowance",
"Other",
"UnemployedAllowance",
"WidowAllowance",
"Annuities",
"Dividends",
"Interest",
"OtherIncome",
"OtherNetIncome",
"WorkersCompensation",
"RegularOvertime",
"BoarderIncome",
"RentalIncome",
"ForeignIncome",
"SalaryWages",
"PrivatePension",
"Superannuation"
]
},
"Frequency": {
"$ref": "#/$defs/Frequency",
"description": "The frequency with which the applicant receives the income - eg. 'Monthly'"
},
"Amount": {
"type": "number",
"description": "The amount of the income (in $)"
},
"AmountType": {
"type": "string",
"enum": [
null,
"Gross",
"Net"
],
"description": "Type of income amount - Net or Gross, defaults to Gross",
"default": "Gross"
},
"Attributes": {
"type": "array",
"description": "Additional information about the income",
"items": {
"anyOf": [
{
"title": "Kiwisaver",
"type": "object",
"description": "Kiwisaver (set on SalaryWages)",
"properties": {
"name": {
"const": "Kiwisaver"
},
"value": {
"type": "boolean",
"default": false
}
}
},
{
"title": "KiwisaverContribution",
"type": "object",
"description": "KiwisaverContribution (set on SalaryWages, if Kiwisaver=true)",
"properties": {
"name": {
"const": "KiwisaverContribution"
},
"value": {
"type": "number",
"description": "Percentage value represented as a float - 0.06 for 6% contribution"
}
}
},
{
"title": "PropertyCountry",
"type": "object",
"description": "PropertyCountry (set on RentalIncome)",
"properties": {
"name": {
"const": "PropertyCountry"
},
"value": {
"type": "string",
"enum": [
"NZ",
"Offshore"
]
}
}
},
{
"title": "PropertyBuildDate",
"type": "object",
"description": "PropertyBuildDate (set on RentalIncome)",
"properties": {
"name": {
"const": "PropertyBuildDate"
},
"value": {
"type": "string",
"format": "YYYY-MM-DD",
"description": "Date in ISO format: YYYY-MM-DD"
}
}
},
{
"title": "SalePurchaseDate",
"type": "object",
"description": "SalePurchaseDate (set on RentalIncome)",
"properties": {
"name": {
"const": "SalePurchaseDate"
},
"value": {
"type": "string",
"format": "YYYY-MM-DD",
"description": "Date in ISO format: YYYY-MM-DD"
}
}
},
{
"title": "IsTaxExempt",
"type": "object",
"description": "IsTaxExempt (set on RentalIncome)",
"properties": {
"name": {
"const": "IsTaxExempt"
},
"value": {
"type": "boolean"
}
}
},
{
"title": "BoarderIncomeType",
"type": "object",
"description": "BoarderIncomeType (set on BoarderIncome)",
"properties": {
"name": {
"const": "BoarderIncomeType"
},
"value": {
"type": "string",
"enum": [
"AllInclusive",
"RoomChargeOnly"
]
}
}
}
]
}
}
},
"required": [
"ApplicantId",
"IncomeType",
"Frequency",
"Amount"
]
},
"default": []
},
"Liability": {
"type": "array",
"description": "One or more existing liabilities (debts) being declared by the applicant party.",
"items": {
"type": "object",
"properties": {
"ApplicantId": {
"type": "integer",
"description": "The ID of the individual applicant who the liability belongs to. \n\nRequired when `LiabilityType` is StudentLoan."
},
"LoanId": {
"type": [
"integer",
"null"
],
"description": "The ID of the connected loan"
},
"LiabilityType": {
"type": "string",
"description": "The type of liability being declaired - eg. 'Mortgage' or 'CreditCard'",
"enum": [
"ATOCentrelinkDebt",
"ChargeCard",
"CommercialBill",
"ContingentLiability",
"CourtRuledChildMaintenance",
"CourtRuledOtherDebt",
"CreditCard",
"StudentLoan",
"HirePurchase",
"Lease",
"LineOfCredit",
"LoanAsGuarantor",
"Maintenance",
"Other",
"Loan",
"OutstandingTaxAU",
"Overdraft",
"PersonalLoan",
"CarLoan",
"StoreCard",
"Mortgage",
"HomeLoan",
"BusinessLoan",
"OutstandingTaxNZ",
"BuyNowPayLater"
]
},
"RepaymentAmount": {
"type": [
"number",
"null"
],
"description": "The amount (in $) which is being regularly repaid.\n\nRequired when `LiabilityType` is one of `BuyNowPayLater`, `StudentLoan`, `Overdraft`, `BusinessLoan`, `CarLoan`, `PersonalLoan`, `HomeLoan`, `LineOfCredit`, `LoanAsGuarantor`, `Mortgage`, or `Other`.",
"default": null
},
"RepaymentFrequency": {
"$ref": "#/$defs/FrequencyOrNull",
"description": "The frequency with which the applicant pays the liability - eg. 'Weekly'\n\nRequired when `LiabilityType` is one of `BuyNowPayLater`, `StudentLoan`, `Overdraft`, `BusinessLoan`, `CarLoan`, `PersonalLoan`, `HomeLoan`, `LineOfCredit`, `LoanAsGuarantor`, `Mortgage`, or `Other`."
},
"Limit": {
"type": [
"number",
"null"
],
"description": "The amount of the liability's limi (in $) - eg. the credit card limit.\n\nRequired when `LiabilityType` is one of `BuyNowPayLater` or `Overdraft`",
"default": null
},
"Balance": {
"type": [
"number",
"null"
],
"description": "The amount of the liability's balance (in $) - ie. the remaining amount owed.\n\nRequired when `LiabilityType` is one of `BuyNowPayLater`, `StudentLoan`, `BusinessLoan`, `CarLoan`, `PersonalLoan`, `HomeLoan`, `LineOfCredit`, `LoanAsGuarantor`, `Mortgage`, or `Other`.",
"default": null
},
"InterestRate": {
"type": [
"number",
"null"
],
"description": "The rate of interest being charged (in %) on the liability - eg. 0.05 (=5%).\n\nRequired when `LiabilityType` is one of `HomeLoan`, `LineOfCredit`, `LoanAsGuarantor`, or `Mortgage`.",
"default": null
},
"RepaymentType": {
"type": [
"string",
"null"
],
"enum": [null, "PrincipalInterest", "InterestOnly"],
"description": "The repayment structure - either 'Principal & Interest' (default) or 'Interest Only'",
"default": null
},
"StartDate": {
"type": [
"string",
"null"
],
"format": "YYYY-MM-DD",
"description": "Start date of the loan",
"default": null
},
"TotalTermMonths": {
"type": [
"integer",
"null"
],
"description": "The loan's total term in months.\n\nRequired when `LiabilityType` is one of `HomeLoan`, `LineOfCredit`, `LoanAsGuarantor`, or `Mortgage`. ",
"default": null
},
"InterestOnlyTermMonths": {
"type": [
"integer",
"null"
],
"description": "The loan's interest only total term in months",
"default": null
},
"Lender": {
"$ref": "#/$defs/Lender"
},
"IsRevolvingCredit": {
"type": [
"boolean",
"null"
],
"description": "Indicates whether the liability is a revolving credit",
"default": false
}
},
"required": [
"LiabilityType"
],
"allOf": [
{
"if": {
"properties": {
"LiabilityType": {
"const": "BuyNowPayLater"
}
}
},
"then": {
"required": [
"RepaymentAmount",
"RepaymentFrequency",
"Balance",
"Limit"
],
"properties": {
"RepaymentAmount": {
"type": "number"
},
"RepaymentFrequency": {
"type": "string"
},
"Balance": {
"type": "number"
},
"Limit": {
"type": "number"
}
}
}
},
{
"if": {
"properties": {
"LiabilityType": {
"const": "StudentLoan"
}
}
},
"then": {
"required": [
"ApplicantId",
"RepaymentAmount",
"RepaymentFrequency",
"Balance"
],
"properties": {
"RepaymentAmount": {
"type": "number"
},
"RepaymentFrequency": {
"type": "string"
},
"Balance": {
"type": "number"
}
}
}
},
{
"if": {
"properties": {
"LiabilityType": {
"const": "Overdraft"
}
}
},
"then": {
"required": [
"RepaymentAmount",
"RepaymentFrequency",
"Limit"
],
"properties": {
"RepaymentAmount": {
"type": "number"
},
"RepaymentFrequency": {
"type": "string"
},
"Limit": {
"type": "number"
}
}
}
},
{
"if": {
"properties": {
"LiabilityType": {
"enum": [
"BusinessLoan",
"CarLoan",
"PersonalLoan",
"Other"
]
}
}
},
"then": {
"required": [
"RepaymentAmount",
"RepaymentFrequency",
"Balance"
],
"properties": {
"RepaymentAmount": {
"type": "number"
},
"RepaymentFrequency": {
"type": "string"
},
"Balance": {
"type": "number"
}
}
}
},
{
"if": {
"properties": {
"LiabilityType": {
"enum": [
"HomeLoan",
"LineOfCredit",
"LoanAsGuarantor",
"Mortgage"
]
}
}
},
"then": {
"required": [
"RepaymentAmount",
"RepaymentFrequency",
"Balance",
"InterestRate",
"TotalTermMonths"
],
"properties": {
"RepaymentAmount": {
"type": "number"
},
"RepaymentFrequency": {
"type": "string"
},
"Balance": {
"type": "number"
},
"InterestRate": {
"type": "number"
},
"TotalTermMonths": {
"type": "integer"
}
}
}
}
]
},
"default": []
}
}
}
}
},
"required": [
"Loan",
"ApplicantParty"
]
},
"Lenders": {
"type": "array",
"description": "[Lender codes](https://docs.blackfin.tools/books/mortgagerecenginemycrm/page/lenders) to include in calculation. If no Lenders are passed (empty array), the calc will return ASB, ANZ, BNZ, AIA and Westpac by default",
"items": {
"type": "string",
"description": "",
"enum": [
"aia",
"anz",
"asb",
"bnz",
"co-op",
"kiwibank",
"liberty",
"resimac",
"sbs",
"select",
"tsb",
"westpac"
]
}
}
},
"required": [
"Details",
"Lenders"
]
}
Examples
Example request payload:
JSON Request Body
{
"Details": {
"Loan": [
{
"LoanType": "New",
"Lender": null,
"LendingAction": null,
"LiabilityType": "HomeLoan",
"LoanAmount": 250000,
"TopUpAmount": null,
"TotalTermMonths": 180,
"InterestOnlyTermMonths": 180,
"Security": {
"Value": 300000,
"IsRBNZExempt": true,
"Location": null,
"PropertyType": [
"ResidentialProperty",
"FreeHoldResidential",
null
],
"SecurityType": "Proposed",
"UsageType": "OwnerOccupied"
},
"LoanId": 1
},
{
"LoanType": "Existing",
"Lender": null,
"LendingAction": "TopUp",
"LiabilityType": "HomeLoan",
"LoanAmount": 250000,
"TopUpAmount": 50000,
"TotalTermMonths": 183,
"InterestOnlyTermMonths": 219,
"Security": {
"Value": 300000,
"isRBNZExempt": false,
"Location": null,
"PropertyType": [
"ResidentialProperty",
"FreeHoldResidential",
null
],
"SecurityType": "Existing",
"UsageType": "OwnerOccupied"
},
"LoanId": 2
},
{
"LoanType": "Existing",
"Lender": null,
"LendingAction": "Refinance",
"LiabilityType": "HomeLoan",
"LoanAmount": 260000,
"TopUpAmount": null,
"TotalTermMonths": 180,
"InterestOnlyTermMonths": 216,
"Security": {
"Value": 300000,
"isRBNZExempt": false,
"Location": null,
"PropertyType": [
"ResidentialProperty",
"FreeHoldResidential",
null
],
"SecurityType": "Proposed",
"UsageType": "OwnerOccupied"
},
"LoanId": 3
},
{
"LoanType": "Existing",
"Lender": null,
"LendingAction": "Refinance",
"LiabilityType": "HomeLoan",
"LoanAmount": 370000,
"TopUpAmount": null,
"TotalTermMonths": 144,
"InterestOnlyTermMonths": 0,
"Security": {
"Value": 410000,
"isRBNZExempt": false,
"Location": null,
"PropertyType": [
null,
null,
null
],
"SecurityType": "Proposed",
"UsageType": null
},
"LoanId": 4
},
{
"LoanType": "Existing",
"Lender": null,
"LendingAction": "TopUp",
"LiabilityType": "HomeLoan",
"LoanAmount": 200000,
"TopUpAmount": 50000,
"TotalTermMonths": 180,
"InterestOnlyTermMonths": 0,
"Security": {
"Value": 210000,
"isRBNZExempt": false,
"Location": null,
"PropertyType": [
null,
null,
null
],
"SecurityType": "Proposed",
"UsageType": null
},
"LoanId": 5
}
],
"ApplicantParty": [
{
"Applicant": [
{
"ApplicantId": 1,
"Name": "Terence"
},
{
"ApplicantId": 2,
"Name": "Eve"
}
],
"Expense": [
{
"ApplicantId": 1,
"ExpenseType": "ChildCare",
"Frequency": "Monthly",
"Amount": 300
},
{
"ApplicantId": 1,
"ExpenseType": "ChildMaintenance",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "HigherEducationAndVocationalTraining",
"Frequency": "Monthly",
"Amount": 200
},
{
"ApplicantId": 1,
"ExpenseType": "OtherEducation",
"Frequency": "Monthly",
"Amount": 100
},
{
"ApplicantId": 1,
"ExpenseType": "PrivateSchoolCosts",
"Frequency": "Monthly",
"Amount": 300
},
{
"ApplicantId": 1,
"ExpenseType": "PublicSchoolCosts",
"Frequency": "Monthly",
"Amount": 150
},
{
"ApplicantId": 1,
"ExpenseType": "Groceries",
"Frequency": "Monthly",
"Amount": 200
},
{
"ApplicantId": 1,
"ExpenseType": "OtherGroceries",
"Frequency": "Monthly",
"Amount": 150
},
{
"ApplicantId": 1,
"ExpenseType": "BodyCorporatePrimaryResidence",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "CouncilRatesPrimaryResidence",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "ElectricityAndGasPrimaryResidence",
"Frequency": "Monthly",
"Amount": 100
},
{
"ApplicantId": 1,
"ExpenseType": "FurnishingsAndElectrical",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "HomeOperation",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "HomeRepairs",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "OtherPrimaryResidenceExpense",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "WaterAndSewerPrimaryResidence",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "BuildingInsurance",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "ContentsInsurance",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "HealthInsurance",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "IncomeProtection",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "LifeInsurance",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "OtherInsurance",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "VehicleInsurance",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "BodyCorporateInvestmentProperty",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "BuildingInsuranceInvestmentProperty",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "CouncilRatesInvestmentProperty",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "ElectricityAndGasInvestmentProperty",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "OtherInvestmentPropertyExpense",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "RepairsAndMaintenanceInvestmentProperty",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "RunningCostsInvestmentProperty",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "WaterAndSewerInvestmentProperty",
"Frequency": "Monthly",
"Amount": 200
},
{
"ApplicantId": 1,
"ExpenseType": "ContentsInsuranceSecondaryResidence",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "BodyCorporateSecondaryResidence",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "BuildingInsuranceSecondaryResidence",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "CouncilRatesSecondaryResidence",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "ElectricityAndGasSecondaryResidence",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "OtherSecondaryResidenceExpense",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "RepairsAndMaintenanceSecondaryResidence",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "RunningCostsSecondaryResidence",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "WaterAndSewerSecondaryResidence",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "MedicalAndHealth",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "NaturalTherapies",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "Board",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "DryCleaning",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "AlcoholTobacco",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "CinemaConcertsMemberships",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "GymSports",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "OtherRecreationalAndEntertainment",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "Pets",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "HomeMobilePhone",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "InternetPayTVAndMediaStreamingSubscriptions",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "PublicTransport",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "Registration",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "TaxiRideSharing",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "TollsParking",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "Kiwisaver",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "RegularDonations",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "VoluntarySaving",
"Frequency": "Monthly",
"Amount": 10
},
{
"ApplicantId": 1,
"ExpenseType": "VoluntarySuper",
"Frequency": "Monthly",
"Amount": 10
}
],
"Income": [
{
"ApplicantId": 1,
"Frequency": "Yearly",
"Amount": 50000,
"AmountType": "Gross",
"IncomeType": "SalaryWages",
"Attributes": []
},
{
"ApplicantId": 1,
"Frequency": "Yearly",
"Amount": 5000,
"AmountType": "Gross",
"IncomeType": "RentalIncome",
"Attributes": [
{
"name": "PropertyBuildDate",
"value": "2018-11-06"
},
{
"name": "PropertyCountry",
"value": "NZ"
},
{
"name": "IsTaxExempt",
"value": true
},
{
"name": "SalePurchaseDate",
"value": "2019-11-11"
}
]
},
{
"ApplicantId": 2,
"Frequency": "Yearly",
"Amount": 40000,
"AmountType": "Gross",
"IncomeType": "SalaryWages",
"Attributes": []
},
{
"ApplicantId": 2,
"Frequency": "Yearly",
"Amount": 5000,
"AmountType": "Gross",
"IncomeType": "WorkAllowance",
"Attributes": []
},
{
"ApplicantId": 1,
"Frequency": "Yearly",
"Amount": 10000,
"AmountType": "Gross",
"IncomeType": "Bonus",
"Attributes": []
},
{
"ApplicantId": 1,
"Frequency": "Yearly",
"Amount": 4000,
"AmountType": "Gross",
"IncomeType": "BoarderIncome",
"Attributes": [
{
"name": "BoarderIncomeType",
"value": "AllInclusive"
}
]
},
{
"ApplicantId": 1,
"Frequency": "Yearly",
"Amount": 3000,
"AmountType": "Gross",
"IncomeType": "CarAllowance",
"Attributes": []
},
{
"ApplicantId": 1,
"Frequency": "Yearly",
"Amount": 5000,
"AmountType": "Gross",
"IncomeType": "FamilyAllowance",
"Attributes": []
}
],
"Liability": [
{
"ApplicantId": 1,
"LiabilityType": "HomeLoan",
"RepaymentAmount": 2000,
"RepaymentFrequency": "Monthly",
"Limit": 4000,
"Balance": 10000,
"InterestRate": 0.02,
"RepaymentType": "PrincipalInterest",
"StartDate": "2017-11-15",
"TotalTermMonths": 228,
"InterestOnlyTermMonths": 228,
"Lender": "Kiwibank",
"IsRevolvingCredit": true
},
{
"ApplicantId": 1,
"LiabilityType": "CreditCard",
"RepaymentAmount": null,
"RepaymentFrequency": null,
"Limit": 30000,
"Balance": null,
"InterestRate": null,
"RepaymentType": null,
"StartDate": null,
"TotalTermMonths": null,
"InterestOnlyTermMonths": null,
"Lender": null,
"IsRevolvingCredit": null
},
{
"ApplicantId": 1,
"LiabilityType": "PersonalLoan",
"RepaymentAmount": 2000,
"RepaymentFrequency": "Monthly",
"Limit": 4000,
"Balance": 30000,
"InterestRate": 0.02,
"RepaymentType": null,
"StartDate": "2019-11-07",
"TotalTermMonths": 220,
"InterestOnlyTermMonths": null,
"Lender": null,
"IsRevolvingCredit": true
},
{
"ApplicantId": 1,
"LiabilityType": "Other",
"RepaymentAmount": 200,
"RepaymentFrequency": "Monthly",
"Limit": 4000,
"Balance": 10000,
"InterestRate": 0.01,
"RepaymentType": null,
"StartDate": "2018-11-07",
"TotalTermMonths": 183,
"InterestOnlyTermMonths": null,
"Lender": "Kiwibank",
"IsRevolvingCredit": true
},
{
"ApplicantId": 1,
"LiabilityType": "HirePurchase",
"RepaymentAmount": 2000,
"RepaymentFrequency": "Monthly",
"Limit": null,
"Balance": 20000,
"InterestRate": null,
"RepaymentType": null,
"StartDate": null,
"TotalTermMonths": null,
"InterestOnlyTermMonths": null,
"Lender": null,
"IsRevolvingCredit": null
},
{
"ApplicantId": 1,
"LiabilityType": "Overdraft",
"RepaymentAmount": 2000,
"RepaymentFrequency": "Monthly",
"Limit": 4000,
"Balance": 20000,
"InterestRate": 0.02,
"RepaymentType": null,
"StartDate": null,
"TotalTermMonths": null,
"InterestOnlyTermMonths": null,
"Lender": null,
"IsRevolvingCredit": null
},
{
"LoanId": 2,
"Lender": null,
"Balance": 195000,
"Limit": 250000,
"InterestRate": 1,
"RepaymentAmount": 15000,
"RepaymentFrequency": "Monthly",
"RepaymentType": null,
"TotalTermMonths": 183,
"StartDate": null,
"IsRevolvingCredit": null,
"InterestOnlyTermMonths": 216,
"ApplicantId": 1,
"LiabilityType": "HomeLoan"
},
{
"Lender": null,
"Balance": 200000,
"Limit": 260000,
"InterestRate": 2,
"RepaymentAmount": 10000,
"RepaymentFrequency": "Monthly",
"RepaymentType": "PrincipalInterest",
"TotalTermMonths": 180,
"StartDate": null,
"IsRevolvingCredit": null,
"InterestOnlyTermMonths": 216,
"ApplicantId": 1,
"LiabilityType": "HomeLoan",
"LoanId": 3
}
],
"NumberOfDependents": 1,
"NumberOfVehicles": 1
}
]
},
"Lenders": []
}
Validation
The API performs basic validation on the structure of the request payload but does not impose strict rules based on what is required for generating a calculation. Same rules are applied as for create session endpoint, this will be fixed eventually to throw an error when there is insufficient data.
Response
Success
If the Generate Report completes successfully:
JSON Body
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Result Response Schema",
"type": "object",
"properties": {
"Result": {
"type": "object",
"description": "Contains the calculation results",
"properties": {
"Report": {
"type": "object",
"description": "Report details and results",
"properties": {
"Id": {
"type": "string",
"description": "Unique identifier for the report"
},
"Cases": {
"type": "array",
"description": "Array of case results",
"items": {
"type": "object",
"properties": {
"Id": {
"type": "integer",
"description": "Numerical identifier for the case"
},
"LoanAmount": {
"type": "number",
"description": "The total loan amount for this case"
},
"LenderResult": {
"type": "array",
"description": "Results from each lender",
"items": {
"type": "object",
"properties": {
"Lender": {
"type": "object",
"description": "Information about the lender",
"properties": {
"Id": {
"type": "integer",
"description": "Numerical identifier for the lender"
},
"Key": {
"type": "string",
"description": "Unique key code for the lender",
"enum": [
"aia",
"anz",
"asb",
"bnz",
"co-op",
"kiwibank",
"liberty",
"resimac",
"sbs",
"select",
"tsb",
"westpac"
]
},
"Name": {
"type": "string",
"description": "Display name of the lender"
},
"Logo": {
"type": "string",
"description": "URL to the lender's logo image"
}
},
"required": ["Id", "Key", "Name"]
},
"Result": {
"type": "object",
"description": "Detailed calculation results from the lender",
"properties": {
"AssessedIncome": {
"type": "array",
"description": "Income assessment details",
"items": {
"type": "object",
"properties": {
"Group": {
"type": "string",
"description": "Category group for the income"
},
"Label": {
"type": "string",
"description": "Description of the income source"
},
"Entered": {
"type": "object",
"description": "The income details as entered",
"properties": {
"Amount": {
"type": ["number", "null"],
"description": "The amount entered"
},
"Frequency": {
"type": ["string", "null"],
"description": "The frequency of the income (e.g., Monthly, Yearly)"
}
}
},
"Assessed": {
"type": "object",
"description": "The income details as assessed by the lender",
"properties": {
"Amount": {
"type": "number",
"description": "The assessed amount"
},
"Frequency": {
"type": "string",
"description": "The frequency of the assessed income"
}
},
"required": ["Amount", "Frequency"]
}
},
"required": ["Group", "Label", "Assessed"]
}
},
"AssessedExpense": {
"type": "array",
"description": "Expense assessment details",
"items": {
"type": "object",
"properties": {
"Group": {
"type": "string",
"description": "Category group for the expense"
},
"Label": {
"type": "string",
"description": "Description of the expense"
},
"Entered": {
"type": "object",
"description": "The expense details as entered",
"properties": {
"Amount": {
"type": "number",
"description": "The amount entered"
},
"Frequency": {
"type": ["string", "null"],
"description": "The frequency of the expense"
},
"InterestRate": {
"type": ["number", "null"],
"description": "Interest rate if applicable"
},
"Definition": {
"type": ["string", "null"],
"description": "Additional context for the expense amount (e.g., Limit, Balance)",
"enum": [
null,
"Limit",
"Balance"
]
}
},
"required": ["Amount"]
},
"Assessed": {
"type": "object",
"description": "The expense details as assessed by the lender",
"properties": {
"Amount": {
"type": "number",
"description": "The assessed amount"
},
"Frequency": {
"type": "string",
"description": "The frequency of the assessed expense"
}
},
"required": ["Amount", "Frequency"]
}
},
"required": ["Group", "Label", "Entered", "Assessed"]
}
},
"TotalMonthlyIncome": {
"type": "number",
"description": "Total assessed monthly income"
},
"TotalMonthlyExpense": {
"type": "number",
"description": "Total assessed monthly expenses"
},
"UMI": {
"type": "object",
"description": "Uncommitted Monthly Income assessment",
"properties": {
"Value": {
"type": "number",
"description": "Calculated UMI value"
},
"Required": {
"type": ["number", "string"],
"description": "Required minimum UMI value or indication if not applicable"
},
"Status": {
"type": "string",
"description": "Pass/Fail status of the UMI assessment",
"enum": ["Pass", "Fail", "N/A"]
},
"SecurityUsageType": {
"type": ["string", "null"],
"description": "Usage type of the security property"
},
"LvrValue": {
"type": ["number", "null"],
"description": "Loan to Value Ratio value"
}
},
"required": ["Value", "Required", "Status"]
},
"Servicing": {
"type": "object",
"description": "Servicing assessment",
"properties": {
"Type": {
"type": "string",
"description": "Type of servicing assessment"
},
"Value": {
"type": "number",
"description": "Calculated servicing value"
},
"Required": {
"type": "number",
"description": "Required minimum servicing value"
},
"Status": {
"type": "string",
"description": "Pass/Fail status of the servicing assessment",
"enum": ["Pass", "Fail", "N/A"]
}
},
"required": ["Type", "Value", "Required", "Status"]
},
"LVR": {
"type": "array",
"description": "Loan to Value Ratio assessments",
"items": {
"type": "object",
"properties": {
"Reference": {
"type": "string",
"description": "Reference identifier for the LVR assessment"
},
"LoanId": {
"type": ["integer", "null"],
"description": "ID of the loan being assessed"
},
"LVRLimit": {
"type": "array",
"description": "LVR limit factors",
"items": {
"type": "object",
"properties": {
"Label": {
"type": "string",
"description": "Label for the limit factor"
},
"Description": {
"type": "string",
"description": "Description of the limit factor"
},
"MaxLVR": {
"type": "number",
"description": "Maximum LVR value allowed"
}
},
"required": ["Label", "Description", "MaxLVR"]
}
},
"Value": {
"type": "number",
"description": "Calculated LVR value"
},
"RequiredMaxLVR": {
"type": "number",
"description": "Maximum allowed LVR value"
},
"Status": {
"type": "string",
"description": "Pass/Fail status of the LVR assessment",
"enum": ["Pass", "Fail", "N/A"]
}
},
"required": ["Reference", "Value", "RequiredMaxLVR", "Status"]
}
},
"LEM": {
"type": "array",
"description": "Lenders Equity Margin assessments",
"items": {
"type": "object",
"properties": {
"Label": {
"type": "string",
"description": "Label for the LEM assessment"
},
"LoanId": {
"type": ["integer", "null"],
"description": "ID of the loan being assessed"
},
"Assessed": {
"type": "number",
"description": "Assessed LVR value"
},
"Margin": {
"type": "number",
"description": "Margin percentage"
},
"Amount": {
"type": "number",
"description": "Calculated LEM amount"
}
},
"required": ["Label", "Assessed", "Margin", "Amount"]
}
},
"DTI": {
"type": "object",
"description": "Debt to Income assessment",
"properties": {
"TotalIncome": {
"type": "number",
"description": "Total income used for DTI calculation"
},
"TotalDebt": {
"type": "number",
"description": "Total debt used for DTI calculation"
},
"Value": {
"type": "number",
"description": "Calculated DTI value"
},
"RequiredMaxDTI": {
"type": ["number", "string"],
"description": "Maximum allowed DTI value or indication if not applicable"
},
"Status": {
"type": "string",
"description": "Pass/Fail status of the DTI assessment",
"enum": ["Pass", "Fail", "N/A"]
}
},
"required": ["Value", "Status"]
},
"Deposit": {
"type": "object",
"description": "Deposit details",
"properties": {
"Amount": {
"type": "number",
"description": "Deposit amount"
}
},
"required": ["Amount"]
}
},
"required": ["AssessedIncome", "AssessedExpense", "TotalMonthlyIncome", "TotalMonthlyExpense", "UMI", "Servicing"]
},
"Warnings": {
"type": "array",
"description": "Warning messages from the lender's assessment",
"items": {
"type": "object",
"properties": {
"Message": {
"type": "string",
"description": "Warning message text"
},
"ReferenceObjectType": {
"type": ["string", "null"],
"description": "Type of object the warning refers to"
},
"ReferenceObjectId": {
"type": ["string", "integer", "null"],
"description": "ID of the object the warning refers to"
},
"Reference": {
"type": "string",
"description": "Reference path for the warning"
}
},
"required": ["Message", "Reference"]
}
},
"Errors": {
"type": "array",
"description": "Error messages from the lender's assessment",
"items": {
"type": "object",
"properties": {
"Message": {
"type": "string",
"description": "Error message text"
},
"ReferenceObjectType": {
"type": ["string", "null"],
"description": "Type of object the error refers to"
},
"ReferenceObjectId": {
"type": ["string", "integer", "null"],
"description": "ID of the object the error refers to"
},
"Reference": {
"type": "string",
"description": "Reference path for the error"
}
},
"required": ["Message", "Reference"]
}
},
"Resources": {
"type": "array",
"description": "Additional resources related to the assessment",
"items": {
"type": "object",
"properties": {
"Type": {
"type": "string",
"description": "Type of resource",
"enum": ["Image", "Document", "Link"]
},
"Reference": {
"type": "string",
"description": "Reference path the resource relates to"
},
"URL": {
"type": "string",
"description": "URL to the resource"
}
},
"required": ["Type", "Reference", "URL"]
}
},
"Accuracy": {
"type": "number",
"description": "Accuracy score of the assessment (0-1)",
"minimum": 0,
"maximum": 1
},
"Version": {
"type": "object",
"description": "Version information for the lender's assessment model",
"properties": {
"VersionNumber": {
"type": "string",
"description": "Version number"
},
"ReleaseDate": {
"type": "string",
"description": "Release date of the version",
"format": "date"
},
"VersionReleaseNote": {
"type": "string",
"description": "Release notes for the version"
}
},
"required": ["VersionNumber", "ReleaseDate"]
}
},
"required": ["Lender", "Result", "Accuracy"]
}
}
},
"required": ["Id", "LenderResult"]
}
},
"Accuracy": {
"type": "number",
"description": "Overall accuracy score of the report (0-1)",
"minimum": 0,
"maximum": 1
}
},
"required": ["Id", "Cases"]
}
},
"required": ["Report"]
},
"ReportId": {
"type": "string",
"description": "Unique identifier for the report"
}
},
"required": ["Result", "ReportId"]
}
Examples
200: Success
Success Response
{
"ReportURL"Result": {
"Report": {
"Id": "TmmzF9VG",
"Cases": [
{
"Id": 1,
"LoanAmount": 0,
"LenderResult": [
{
"Lender": {
"Id": 1,
"Key": "aia",
"Name": "AIA",
"Logo": "https://mre.test.blackfin.tools/reports/BYWSw2DTUBuHVMW4ZdhK.pdf"storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-logos/aia.png"
},
"Result": {
"AssessedIncome": [
{
"Group": "Applicant Income",
"Label": "Total Income (Terence) - including Salary, Rental Income, Boarder Income",
"Entered": {
"Amount": null,
"Frequency": null
},
"Assessed": {
"Amount": 5585,
"Frequency": "Monthly"
}
},
{
"Group": "Applicant Income",
"Label": "Total Income (Eve) - including Salary",
"Entered": {
"Amount": null,
"Frequency": null
},
"Assessed": {
"Amount": 3248,
"Frequency": "Monthly"
}
}
],
"AssessedExpense": [
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 1430000,
"InterestRate": 0.071
},
"Assessed": {
"Amount": 12814.5,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "Home Loan",
"Entered": {
"Amount": 10000,
"Definition": "Balance"
},
"Assessed": {
"Amount": 2000,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "Credit Card",
"Entered": {
"Amount": 30000,
"Definition": "Limit"
},
"Assessed": {
"Amount": 900,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "Personal Loan",
"Entered": {
"Amount": 30000,
"Definition": "Balance"
},
"Assessed": {
"Amount": 2000,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "Personal Loan",
"Entered": {
"Amount": 10000,
"Definition": "Balance"
},
"Assessed": {
"Amount": 200,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Financial Commitments",
"Label": "Body Corporate Fee",
"Entered": {
"Amount": 30,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 30,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Financial Commitments",
"Label": "Rent",
"Entered": {
"Amount": 10,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 10,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Financial Commitments",
"Label": "Hire Purchase",
"Entered": {
"Amount": 2000,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 2000,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Financial Commitments",
"Label": "Overdraft(s)",
"Entered": {
"Amount": 20000,
"Definition": "Limit"
},
"Assessed": {
"Amount": 1000,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Food",
"Entered": {
"Amount": 350,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Utilities",
"Entered": {
"Amount": 150,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Rates",
"Entered": {
"Amount": 30,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Transport",
"Entered": {
"Amount": 40,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Ongoing Household Expenses",
"Entered": {
"Amount": 40,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "ChildCare",
"Entered": {
"Amount": 310,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "HealthCare/Medical Care",
"Entered": {
"Amount": 20,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Personal Care and Clothing",
"Entered": {
"Amount": 10,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Public Education",
"Entered": {
"Amount": 250,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Private Education",
"Entered": {
"Amount": 500,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "House and Contents Insurance",
"Entered": {
"Amount": 40,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Vehicle Insurance",
"Entered": {
"Amount": 10,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Health/Medical/Funeral/Pet Insurance",
"Entered": {
"Amount": 20,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Life and Disability Insurance",
"Entered": {
"Amount": 20,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Other Necessary Expenses",
"Entered": {
"Amount": 90,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": " Living Expenses",
"Label": "Minimum Living Expenses",
"Entered": {
"Amount": 1880,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 3600,
"Frequency": "Monthly"
}
}
],
"TotalMonthlyIncome": 8833,
"TotalMonthlyExpense": 24554.5,
"UMI": {
"Value": -15721.5,
"Required": 500,
"Status": "Fail",
"SecurityUsageType": "OwnerOccupied",
"LvrValue": 0.94
},
"Servicing": {
"Type": "N/A",
"Value": 0,
"Required": 0,
"Status": "Fail"
},
"LVR": [
{
"Reference": "Result.LVR.LVRLimit[0]",
"LoanId": 1,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Residential Property, Freehold Residential",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Owner Occupied",
"MaxLVR": 0.9
}
],
"Value": 0.8333,
"RequiredMaxLVR": 0.9,
"Status": "Pass"
},
{
"Reference": "Result.LVR.LVRLimit[1]",
"LoanId": 2,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Residential Property, Freehold Residential",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Owner Occupied",
"MaxLVR": 0.9
}
],
"Value": 1,
"RequiredMaxLVR": 0.9,
"Status": "Fail"
},
{
"Reference": "Result.LVR.LVRLimit[2]",
"LoanId": 3,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Residential Property, Freehold Residential",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Owner Occupied",
"MaxLVR": 0.9
}
],
"Value": 0.8667,
"RequiredMaxLVR": 0.9,
"Status": "Pass"
},
{
"Reference": "Result.LVR.LVRLimit[3]",
"LoanId": 4,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Unknown",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Unknown",
"MaxLVR": 0.9
}
],
"Value": 0.9024,
"RequiredMaxLVR": 0.9,
"Status": "Fail"
},
{
"Reference": "Result.LVR.LVRLimit[4]",
"LoanId": 5,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Unknown",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Unknown",
"MaxLVR": 0.9
}
],
"Value": 1.1905,
"RequiredMaxLVR": 0.9,
"Status": "Fail"
}
],
"LEM": [
{
"Label": "Security 1",
"LoanId": 1,
"Assessed": 0.8333,
"Margin": 0.003,
"Amount": 750
},
{
"Label": "Security 2",
"LoanId": 2,
"Assessed": 1,
"Margin": 0.015,
"Amount": 4500
},
{
"Label": "Security 3",
"LoanId": 3,
"Assessed": 0.8667,
"Margin": 0.0075,
"Amount": 1950
},
{
"Label": "Security 4",
"LoanId": 4,
"Assessed": 0.9024,
"Margin": 0.013,
"Amount": 4810
},
{
"Label": "Security 5",
"LoanId": 5,
"Assessed": 1.1905,
"Margin": 0.015,
"Amount": 3750
}
],
"DTI": {
"TotalIncome": 119949.96,
"TotalDebt": 1442900,
"Value": 12.03,
"RequiredMaxDTI": 7,
"Status": "Fail"
},
"Deposit": {
"Amount": 0
}
},
"Warnings": [
{
"Message": "ASB’s spreadsheet does not support multiple new loans with different Term lengths. The greatest Term of 15.25 years was used.",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": "1,4",
"Reference": "Result.Expenses"
},
{
"Message": "$5000 income excluded from Applicant 1. AIA’s spreadsheet only supports 4 types of gross income.",
"Reference": "Result.Income"
},
{
"Message": "Entered Living Expenses of $1880 is below minimum expected ($3600)",
"Reference": "Result.Expenses"
},
{
"Message": "The requiredUMI is $500 for New Customers with >80% LVR that do not meet the RBNZ LVR exemption criteria.",
"Reference": "Result.Servicing"
}
],
"Errors": [
{
"Message": "UMI must be greater than $500",
"Reference": "Result.Servicing"
},
{
"Message": "LVR exceeds 90%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 2,
"Reference": "Result.LVR"
},
{
"Message": "LVR exceeds 90%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 4,
"Reference": "Result.LVR"
},
{
"Message": "LVR exceeds 90%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 5,
"Reference": "Result.LVR"
},
{
"Message": "DTI exceeds 7 times.",
"Reference": "Result.DTI"
}
],
"Resources": [
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/aia_UsageType.png"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/aia_UsageType.png"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/aia_UsageType.png"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/aia_UsageType.png"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/aia_UsageType.png"
}
],
"Accuracy": 0.84,
"Version": {
"VersionNumber": "v2.60",
"ReleaseDate": "2024-07-31",
"VersionReleaseNote": ""
}
},
{
"Lender": {
"Id": 2,
"Key": "anz",
"Name": "ANZ",
"Logo": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-logos/anz.png"
},
"Result": {
"AssessedIncome": [
{
"Group": "Customer Income",
"Label": "Customer Income (Terence)",
"Entered": {
"Amount": 50000,
"Frequency": "Yearly"
},
"Assessed": {
"Amount": 3458.92,
"Frequency": "Monthly"
}
},
{
"Group": "Customer Income",
"Label": "Customer Income (Eve)",
"Entered": {
"Amount": 40000,
"Frequency": "Yearly"
},
"Assessed": {
"Amount": 2785.33,
"Frequency": "Monthly"
}
},
{
"Group": "Customer Income",
"Label": "Other Income",
"Entered": {
"Amount": 442.31,
"Frequency": "Weekly"
},
"Assessed": {
"Amount": 1916.68,
"Frequency": "Monthly"
}
},
{
"Group": "Property Income",
"Label": "Residential Investment Income",
"Entered": {
"Amount": 96.15,
"Frequency": "Weekly"
},
"Assessed": {
"Amount": 312.49,
"Frequency": "Monthly"
}
},
{
"Group": "Property Income",
"Label": "Boarder/Tenant Income - All Inclusive",
"Entered": {
"Amount": 76.92,
"Frequency": "Weekly"
},
"Assessed": {
"Amount": 166.66,
"Frequency": "Monthly"
}
}
],
"AssessedExpense": [
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 250000,
"InterestRate": 0.071
},
"Assessed": {
"Amount": 1680.08,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 300000,
"InterestRate": 0.071
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 260000,
"InterestRate": 0.071
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 370000,
"InterestRate": 0.071
},
"Assessed": {
"Amount": 3824.76,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 250000,
"InterestRate": 0.071
},
"Assessed": {
"Amount": 2261.07,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "Existing Home Loans (Non ANZ)",
"Entered": {
"Amount": 2000,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 2000,
"Frequency": "Monthly"
}
},
{
"Group": "Other Liabilities",
"Label": "Overdrafts",
"Entered": {
"Amount": 4000,
"Definition": "Limit"
},
"Assessed": {
"Amount": 103.54223324890995,
"Frequency": "Monthly"
}
},
{
"Group": "Other Liabilities",
"Label": "Credit Cards",
"Entered": {
"Amount": 30000,
"Definition": "Limit"
},
"Assessed": {
"Amount": 1200,
"Frequency": "Monthly"
}
},
{
"Group": "Other Liabilities",
"Label": "Hire Purchase / Other Loans",
"Entered": {
"Amount": 4200,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 4200,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "All Living Expenses",
"Entered": {
"Amount": 910,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 1868,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Other Significant Expenses",
"Entered": {
"Amount": 850,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 850,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Board Paid",
"Entered": {
"Amount": 2.31,
"Frequency": "Weekly"
},
"Assessed": {
"Amount": 10.01,
"Frequency": "Monthly"
}
}
],
"TotalMonthlyIncome": 8640.07,
"TotalMonthlyExpense": 17997.46,
"UMI": {
"Value": -9357.39,
"Required": 100,
"Status": "Fail"
},
"Servicing": {
"Type": "N/A",
"Value": 0,
"Required": 0,
"Status": "Fail"
},
"LVR": [
{
"Reference": "Result.LVR.LVRLimit[0]",
"LoanId": 1,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Residential Property, Freehold Residential",
"MaxLVR": 0.8
},
{
"Label": "Usage Type",
"Description": "Owner Occupied",
"MaxLVR": 0.9
}
],
"Value": 0.8333,
"RequiredMaxLVR": 0.8,
"Status": "Fail"
},
{
"Reference": "Result.LVR.LVRLimit[1]",
"LoanId": 2,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Residential Property, Freehold Residential",
"MaxLVR": 0.8
},
{
"Label": "Usage Type",
"Description": "Owner Occupied",
"MaxLVR": 0.9
}
],
"Value": 1,
"RequiredMaxLVR": 0.8,
"Status": "Fail"
},
{
"Reference": "Result.LVR.LVRLimit[2]",
"LoanId": 3,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Residential Property, Freehold Residential",
"MaxLVR": 0.8
},
{
"Label": "Usage Type",
"Description": "Owner Occupied",
"MaxLVR": 0.9
}
],
"Value": 0.8667,
"RequiredMaxLVR": 0.8,
"Status": "Fail"
},
{
"Reference": "Result.LVR.LVRLimit[3]",
"LoanId": 4,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Unknown",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Unknown",
"MaxLVR": 0.7
}
],
"Value": 0.9024,
"RequiredMaxLVR": 0.7,
"Status": "Fail"
},
{
"Reference": "Result.LVR.LVRLimit[4]",
"LoanId": 5,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Unknown",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Unknown",
"MaxLVR": 0.7
}
],
"Value": 1.1905,
"RequiredMaxLVR": 0.7,
"Status": "Fail"
}
],
"LEM": [],
"DTI": {
"TotalIncome": 0,
"TotalDebt": 0,
"Value": 0,
"RequiredMaxDTI": "N/A",
"Status": "N/A"
},
"Deposit": {
"Amount": 0
}
},
"Warnings": [
{
"Message": "For LVR>80%, ANZ will only accept income from one boarder.",
"Reference": "Result.Income"
},
{
"Message": "Kiwisaver contribution was entered via both Income and Expense. The amounts have been totalled.",
"Reference": "Result.Expenses"
},
{
"Message": "UMI must be greater than $100",
"Reference": "Result.Servicing"
}
],
"Errors": [
{
"Message": "LVR exceeds 80%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 1,
"Reference": "Result.LVR"
},
{
"Message": "LVR exceeds 80%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 2,
"Reference": "Result.LVR"
},
{
"Message": "LVR exceeds 80%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 3,
"Reference": "Result.LVR"
},
{
"Message": "LVR exceeds 70%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 4,
"Reference": "Result.LVR"
},
{
"Message": "LVR exceeds 70%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 5,
"Reference": "Result.LVR"
}
],
"Resources": [
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/anz_PropertyType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/anz_UsageType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/anz_PropertyType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/anz_UsageType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/anz_PropertyType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/anz_UsageType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/anz_PropertyType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/anz_UsageType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/anz_PropertyType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/anz_UsageType.jpg"
}
],
"Accuracy": 0.84,
"Version": {
"VersionNumber": "v10.6",
"ReleaseDate": "2025-05-05",
"VersionReleaseNote": ""
}
},
{
"Lender": {
"Id": 3,
"Key": "asb",
"Name": "ASB",
"Logo": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-logos/asb.png"
},
"Result": {
"AssessedIncome": [
{
"Group": "Applicant Income",
"Label": "Total Income (Terence) - including Salary, Rental Income, Boarder Income",
"Entered": {
"Amount": null,
"Frequency": null
},
"Assessed": {
"Amount": 5585,
"Frequency": "Monthly"
}
},
{
"Group": "Applicant Income",
"Label": "Total Income (Eve) - including Salary",
"Entered": {
"Amount": null,
"Frequency": null
},
"Assessed": {
"Amount": 3248,
"Frequency": "Monthly"
}
}
],
"AssessedExpense": [
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 1430000,
"InterestRate": 0.071
},
"Assessed": {
"Amount": 12814.5,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "Home Loan",
"Entered": {
"Amount": 10000,
"Definition": "Balance"
},
"Assessed": {
"Amount": 2000,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "Credit Card",
"Entered": {
"Amount": 30000,
"Definition": "Limit"
},
"Assessed": {
"Amount": 900,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "Personal Loan",
"Entered": {
"Amount": 30000,
"Definition": "Balance"
},
"Assessed": {
"Amount": 2000,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "Personal Loan",
"Entered": {
"Amount": 10000,
"Definition": "Balance"
},
"Assessed": {
"Amount": 200,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Financial Commitments",
"Label": "Body Corporate Fee",
"Entered": {
"Amount": 30,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 30,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Financial Commitments",
"Label": "Rent",
"Entered": {
"Amount": 10,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 10,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Financial Commitments",
"Label": "Hire Purchase",
"Entered": {
"Amount": 2000,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 2000,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Financial Commitments",
"Label": "Overdraft(s)",
"Entered": {
"Amount": 20000,
"Definition": "Limit"
},
"Assessed": {
"Amount": 1000,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Food",
"Entered": {
"Amount": 350,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Utilities",
"Entered": {
"Amount": 150,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Rates",
"Entered": {
"Amount": 30,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Transport",
"Entered": {
"Amount": 40,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Ongoing Household Expenses",
"Entered": {
"Amount": 40,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "ChildCare",
"Entered": {
"Amount": 310,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "HealthCare/Medical Care",
"Entered": {
"Amount": 20,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Personal Care and Clothing",
"Entered": {
"Amount": 10,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Public Education",
"Entered": {
"Amount": 250,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Private Education",
"Entered": {
"Amount": 500,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "House and Contents Insurance",
"Entered": {
"Amount": 40,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Vehicle Insurance",
"Entered": {
"Amount": 10,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Health/Medical/Funeral/Pet Insurance",
"Entered": {
"Amount": 20,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Life and Disability Insurance",
"Entered": {
"Amount": 20,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Other Necessary Expenses",
"Entered": {
"Amount": 90,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": " Living Expenses",
"Label": "Minimum Living Expenses",
"Entered": {
"Amount": 1880,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 3600,
"Frequency": "Monthly"
}
}
],
"TotalMonthlyIncome": 8833,
"TotalMonthlyExpense": 24554.5,
"UMI": {
"Value": -15721.5,
"Required": 500,
"Status": "Fail",
"SecurityUsageType": "OwnerOccupied",
"LvrValue": 0.94
},
"Servicing": {
"Type": "N/A",
"Value": 0,
"Required": 0,
"Status": "Fail"
},
"LVR": [
{
"Reference": "Result.LVR.LVRLimit[0]",
"LoanId": 1,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Residential Property, Freehold Residential",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Owner Occupied",
"MaxLVR": 0.9
}
],
"Value": 0.8333,
"RequiredMaxLVR": 0.9,
"Status": "Pass"
},
{
"Reference": "Result.LVR.LVRLimit[1]",
"LoanId": 2,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Residential Property, Freehold Residential",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Owner Occupied",
"MaxLVR": 0.9
}
],
"Value": 1,
"RequiredMaxLVR": 0.9,
"Status": "Fail"
},
{
"Reference": "Result.LVR.LVRLimit[2]",
"LoanId": 3,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Residential Property, Freehold Residential",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Owner Occupied",
"MaxLVR": 0.9
}
],
"Value": 0.8667,
"RequiredMaxLVR": 0.9,
"Status": "Pass"
},
{
"Reference": "Result.LVR.LVRLimit[3]",
"LoanId": 4,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Unknown",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Unknown",
"MaxLVR": 0.9
}
],
"Value": 0.9024,
"RequiredMaxLVR": 0.9,
"Status": "Fail"
},
{
"Reference": "Result.LVR.LVRLimit[4]",
"LoanId": 5,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Unknown",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Unknown",
"MaxLVR": 0.9
}
],
"Value": 1.1905,
"RequiredMaxLVR": 0.9,
"Status": "Fail"
}
],
"LEM": [
{
"Label": "Security 1",
"LoanId": 1,
"Assessed": 0.8333,
"Margin": 0.003,
"Amount": 750
},
{
"Label": "Security 2",
"LoanId": 2,
"Assessed": 1,
"Margin": 0.015,
"Amount": 4500
},
{
"Label": "Security 3",
"LoanId": 3,
"Assessed": 0.8667,
"Margin": 0.0075,
"Amount": 1950
},
{
"Label": "Security 4",
"LoanId": 4,
"Assessed": 0.9024,
"Margin": 0.013,
"Amount": 4810
},
{
"Label": "Security 5",
"LoanId": 5,
"Assessed": 1.1905,
"Margin": 0.015,
"Amount": 3750
}
],
"DTI": {
"TotalIncome": 119949.96,
"TotalDebt": 1442900,
"Value": 12.03,
"RequiredMaxDTI": 7,
"Status": "Fail"
},
"Deposit": {
"Amount": 0
}
},
"Warnings": [
{
"Message": "ASB’s spreadsheet does not support multiple new loans with different Term lengths. The greatest Term of 15.25 years was used.",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": "1,4",
"Reference": "Result.Expenses"
},
{
"Message": "$5000 income excluded from Applicant 1. ASB’s spreadsheet only supports 4 types of gross income.",
"Reference": "Result.Income"
},
{
"Message": "Entered Living Expenses of $1880 is below minimum expected ($3600)",
"Reference": "Result.Expenses"
},
{
"Message": "The requiredUMI is $500 for New Customers with >80% LVR that do not meet the RBNZ LVR exemption criteria.",
"Reference": "Result.Servicing"
}
],
"Errors": [
{
"Message": "UMI must be greater than $500",
"Reference": "Result.Servicing"
},
{
"Message": "LVR exceeds 90%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 2,
"Reference": "Result.LVR"
},
{
"Message": "LVR exceeds 90%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 4,
"Reference": "Result.LVR"
},
{
"Message": "LVR exceeds 90%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 5,
"Reference": "Result.LVR"
},
{
"Message": "DTI exceeds 7 times.",
"Reference": "Result.DTI"
}
],
"Resources": [
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/asb_UsageType.png"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/asb_UsageType.png"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/asb_UsageType.png"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/asb_UsageType.png"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/asb_UsageType.png"
},
{
"Type": "Image",
"Reference": "Result.DTI",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/asb_DTI.png"
}
],
"Accuracy": 0.84,
"Version": {
"VersionNumber": "v2.60",
"ReleaseDate": "2024-07-31",
"VersionReleaseNote": ""
}
},
{
"Lender": {
"Id": 4,
"Key": "bnz",
"Name": "BNZ",
"Logo": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-logos/bnz.png"
},
"Result": {
"AssessedIncome": [
{
"Group": "Customer Income",
"Label": "Customer Income (Terence)",
"Entered": {
"Amount": 68000,
"Frequency": "Yearly"
},
"Assessed": {
"Amount": 54243.9,
"Frequency": "Monthly"
}
},
{
"Group": "Customer Income",
"Label": "Customer Income (Eve)",
"Entered": {
"Amount": 45000,
"Frequency": "Yearly"
},
"Assessed": {
"Amount": 37465.5,
"Frequency": "Monthly"
}
},
{
"Group": "Accommodation Income",
"Label": "Rental Income ",
"Entered": {
"Amount": 5000,
"Frequency": "y"
},
"Assessed": {
"Amount": 312.5,
"Frequency": "Monthly"
}
}
],
"AssessedExpense": [
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 250000,
"InterestRate": 0.075
},
"Assessed": {
"Amount": 1847.48,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 300000,
"InterestRate": 0.075
},
"Assessed": {
"Amount": 2216.97,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 260000,
"InterestRate": 0.075
},
"Assessed": {
"Amount": 1921.38,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "Existing Home Loan",
"Entered": {
"Amount": 4000,
"InterestRate": 0.02
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Other Financial Commitments",
"Label": "Family support payments",
"Entered": {
"Amount": 10,
"Frequency": "m"
},
"Assessed": {
"Amount": 10,
"Frequency": "Monthly"
}
},
{
"Group": "Other Financial Commitments",
"Label": "Body corporate fees",
"Entered": {
"Amount": 30,
"Frequency": "m"
},
"Assessed": {
"Amount": 30,
"Frequency": "Monthly"
}
},
{
"Group": "Other Financial Commitments",
"Label": "Rent / Board",
"Entered": {
"Amount": 10,
"Frequency": "m"
},
"Assessed": {
"Amount": 10,
"Frequency": "Monthly"
}
},
{
"Group": "Other Financial Commitments",
"Label": "Other",
"Entered": {
"Amount": 2200,
"Frequency": "m"
},
"Assessed": {
"Amount": 2200,
"Frequency": "Monthly"
}
},
{
"Group": "Other Financial Commitments",
"Label": "Personal Loan",
"Entered": {
"Amount": 2000,
"Frequency": "m"
},
"Assessed": {
"Amount": 2000,
"Frequency": "Monthly"
}
},
{
"Group": "Other Financial Commitments",
"Label": "Overdrafts",
"Entered": {
"Amount": 4000,
"Definition": "Limit"
},
"Assessed": {
"Amount": 152,
"Frequency": "Monthly"
}
},
{
"Group": "Other Financial Commitments",
"Label": "Credit Cards",
"Entered": {
"Amount": 30000,
"Definition": "Limit"
},
"Assessed": {
"Amount": 1140,
"Frequency": "Monthly"
}
},
{
"Group": "Declared Living Expenses",
"Label": "Childcare & Education",
"Entered": {
"Amount": 1050,
"Frequency": "m"
},
"Assessed": {
"Amount": 1050,
"Frequency": "Monthly"
}
},
{
"Group": "Declared Living Expenses",
"Label": "Sports, Activities & Hobbies",
"Entered": {
"Amount": 30,
"Frequency": "m"
},
"Assessed": {
"Amount": 30,
"Frequency": "Monthly"
}
},
{
"Group": "Declared Living Expenses",
"Label": "Superannuation (e.g. Kiwisaver)",
"Entered": {
"Amount": 30,
"Frequency": "m"
},
"Assessed": {
"Amount": 30,
"Frequency": "Monthly"
}
},
{
"Group": "Declared Living Expenses",
"Label": "Rates",
"Entered": {
"Amount": 20,
"Frequency": "m"
},
"Assessed": {
"Amount": 20,
"Frequency": "Monthly"
}
},
{
"Group": "Declared Living Expenses",
"Label": "Motor Vehicle & Transport Expenses",
"Entered": {
"Amount": 40,
"Frequency": "m"
},
"Assessed": {
"Amount": 40,
"Frequency": "Monthly"
}
},
{
"Group": "Declared Living Expenses",
"Label": "Utilities",
"Entered": {
"Amount": 150,
"Frequency": "m"
},
"Assessed": {
"Amount": 150,
"Frequency": "Monthly"
}
},
{
"Group": "Declared Living Expenses",
"Label": "Food & Groceries",
"Entered": {
"Amount": 360,
"Frequency": "m"
},
"Assessed": {
"Amount": 360,
"Frequency": "Monthly"
}
},
{
"Group": "Declared Living Expenses",
"Label": "Insurances",
"Entered": {
"Amount": 90,
"Frequency": "m"
},
"Assessed": {
"Amount": 90,
"Frequency": "Monthly"
}
},
{
"Group": "Declared Living Expenses",
"Label": "Clothing & Personal Care",
"Entered": {
"Amount": 10,
"Frequency": "m"
},
"Assessed": {
"Amount": 10,
"Frequency": "Monthly"
}
},
{
"Group": "Declared Living Expenses",
"Label": "Other regular expenses",
"Entered": {
"Amount": 110,
"Frequency": "m"
},
"Assessed": {
"Amount": 110,
"Frequency": "Monthly"
}
}
],
"TotalMonthlyIncome": 7954.95,
"TotalMonthlyExpense": 20292.19,
"UMI": {
"Value": -12337.24,
"Required": "N/A",
"Status": "Fail"
},
"Servicing": {
"Type": "N/A",
"Value": 0,
"Required": 0,
"Status": "Fail"
},
"LVR": [
{
"Reference": "Result.LVR.LVRLimit[0]",
"LoanId": 1,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Residential Property, Freehold Residential (Owner Occupied)",
"MaxLVR": 0.8
}
],
"Value": 0.8333,
"RequiredMaxLVR": 0.8,
"Status": "Fail"
},
{
"Reference": "Result.LVR.LVRLimit[1]",
"LoanId": 2,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Residential Property, Freehold Residential (Owner Occupied)",
"MaxLVR": 0.8
}
],
"Value": 1,
"RequiredMaxLVR": 0.8,
"Status": "Fail"
},
{
"Reference": "Result.LVR.LVRLimit[2]",
"LoanId": 3,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Residential Property, Freehold Residential (Owner Occupied)",
"MaxLVR": 0.8
}
],
"Value": 0.8667,
"RequiredMaxLVR": 0.8,
"Status": "Fail"
},
{
"Reference": "Result.LVR.LVRLimit[3]",
"LoanId": 4,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Unknown",
"MaxLVR": 0.8
}
],
"Value": 0.9024,
"RequiredMaxLVR": 0.8,
"Status": "Fail"
},
{
"Reference": "Result.LVR.LVRLimit[4]",
"LoanId": 5,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Unknown",
"MaxLVR": 0.8
}
],
"Value": 1.1905,
"RequiredMaxLVR": 0.8,
"Status": "Fail"
}
],
"LEM": [
{
"Label": "Security 1",
"LoanId": 1,
"Assessed": 0.8333,
"Margin": 0.0035,
"Amount": 875
},
{
"Label": "Security 2",
"LoanId": 2,
"Assessed": 1,
"Margin": 0.012,
"Amount": 3600
},
{
"Label": "Security 3",
"LoanId": 3,
"Assessed": 0.8667,
"Margin": 0.0075,
"Amount": 1950
},
{
"Label": "Security 4",
"LoanId": 4,
"Assessed": 0.9024,
"Margin": 0.012,
"Amount": 4440
},
{
"Label": "Security 5",
"LoanId": 5,
"Assessed": 1.1905,
"Margin": 0.012,
"Amount": 3000
}
],
"DTI": {
"TotalIncome": 118000,
"TotalDebt": 1448000,
"Value": 12.27,
"RequiredMaxDTI": "N/A",
"Status": "N/A"
},
"Deposit": {
"Amount": 0
}
},
"Warnings": [
{
"Message": "BNZ does not accept Boarder/Flatmate Income on loans with >80% LVR.",
"Reference": "Result.Income"
},
{
"Message": "Declared Living Expenses of $1890 is below minimum expected ($3006)",
"Reference": "Result.Expenses"
}
],
"Errors": [
{
"Message": "Servicing Index is outside criteria. Please check your inputs. Unlikely to be considered without additional income sources",
"Reference": "Result.Servicing"
},
{
"Message": "LVR exceeds 80%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 1,
"Reference": "Result.LVR"
},
{
"Message": "LVR exceeds 80%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 2,
"Reference": "Result.LVR"
},
{
"Message": "LVR exceeds 80%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 3,
"Reference": "Result.LVR"
},
{
"Message": "LVR exceeds 80%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 4,
"Reference": "Result.LVR"
},
{
"Message": "LVR exceeds 80%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 5,
"Reference": "Result.LVR"
}
],
"Resources": [
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/bnz_PropertyType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/bnz_PropertyType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/bnz_PropertyType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/bnz_PropertyType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/bnz_PropertyType.jpg"
}
],
"Accuracy": 0.84,
"Version": {
"VersionNumber": "v12.26",
"ReleaseDate": "2025-04-01",
"VersionReleaseNote": ""
}
},
{
"Lender": {
"Id": 5,
"Key": "westpac",
"Name": "Westpac",
"Logo": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-logos/westpac.png"
},
"Result": {
"AssessedIncome": [
{
"Group": "Applicant Income",
"Label": "Applicant Income (Terence)",
"Entered": {
"Amount": 4528.38,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 4355.24,
"Frequency": "Monthly"
}
},
{
"Group": "Applicant Income",
"Label": "Applicant Income (Eve)",
"Entered": {
"Amount": 3126.01,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 3056.54,
"Frequency": "Monthly"
}
},
{
"Group": "Property Income",
"Label": "Rent (NZ)",
"Entered": {
"Amount": 5000,
"Frequency": "Annually"
},
"Assessed": {
"Amount": 312.5,
"Frequency": "Monthly"
}
},
{
"Group": "Property Income",
"Label": "Boarders / Flatmates",
"Entered": {
"Amount": 4000,
"Frequency": "Annually"
},
"Assessed": {
"Amount": 266.6666666666667,
"Frequency": "Monthly"
}
}
],
"AssessedExpense": [
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 250000,
"InterestRate": 0
},
"Assessed": {
"Amount": 2461.85,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 300000,
"InterestRate": 0
},
"Assessed": {
"Amount": -7345.26,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 260000,
"InterestRate": null
},
"Assessed": {
"Amount": -6365.89,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 370000,
"InterestRate": 0
},
"Assessed": {
"Amount": 4107.21,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 250000,
"InterestRate": 0
},
"Assessed": {
"Amount": 2461.85,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "Existing Home Loan",
"Entered": {
"Amount": 10000,
"InterestRate": 0.02
},
"Assessed": {
"Amount": 79.42,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "Existing Personal Loan",
"Entered": {
"Amount": 30000,
"InterestRate": 0.02
},
"Assessed": {
"Amount": 409.79,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "Existing Other Loan",
"Entered": {
"Amount": 10000,
"InterestRate": 0.01
},
"Assessed": {
"Amount": 89.05,
"Frequency": "Monthly"
}
},
{
"Group": "Other Liabilities",
"Label": "Hire Purchase(s)",
"Entered": {
"Amount": 2000,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 2000,
"Frequency": "Monthly"
}
},
{
"Group": "Other Liabilities",
"Label": "Credit Card(s)",
"Entered": {
"Amount": 30000,
"Definition": "Limit"
},
"Assessed": {
"Amount": 1140,
"Frequency": "Monthly"
}
},
{
"Group": "Other Liabilities",
"Label": "Overdraft(s)",
"Entered": {
"Amount": 20000,
"Definition": "Limit"
},
"Assessed": {
"Amount": 760,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Commitments",
"Label": "Rent/Board",
"Entered": {
"Amount": 10,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 10,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Commitments",
"Label": "Child support / maintenance",
"Entered": {
"Amount": 10,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 10,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Commitments",
"Label": "Rates / Property insurance / Body Corp - owner-occupied",
"Entered": {
"Amount": 60,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 60,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Commitments",
"Label": "Superannuation contributions",
"Entered": {
"Amount": 30,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 30,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Commitments",
"Label": "Private School / Education",
"Entered": {
"Amount": 500,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 500,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Commitments",
"Label": "Personal Insurances",
"Entered": {
"Amount": 60,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 60,
"Frequency": "Monthly"
}
},
{
"Group": "Essential Living Costs",
"Label": "Essential Living Costs",
"Entered": {
"Amount": 1130,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 2087,
"Frequency": "Monthly"
}
},
{
"Group": "Discretionary Living Costs",
"Label": "Regular donations ",
"Entered": {
"Amount": 10,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 10,
"Frequency": "Monthly"
}
}
],
"TotalMonthlyIncome": 7990.95,
"TotalMonthlyExpense": 2565.02,
"UMI": {
"Value": 5425.94,
"Required": 150,
"Status": "Pass"
},
"Servicing": {
"Type": "N/A",
"Value": 0,
"Required": 0,
"Status": "Fail"
},
"LVR": [
{
"Reference": "Result.LVR.LVRLimit[0]",
"LoanId": 1,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Residential Property, Freehold Residential",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Owner Occupied",
"MaxLVR": 0.9
}
],
"Value": 0.8333,
"RequiredMaxLVR": 0.9,
"Status": "Pass"
},
{
"Reference": "Result.LVR.LVRLimit[1]",
"LoanId": 2,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Residential Property, Freehold Residential",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Owner Occupied",
"MaxLVR": 0.9
}
],
"Value": 1,
"RequiredMaxLVR": 0.9,
"Status": "Fail"
},
{
"Reference": "Result.LVR.LVRLimit[2]",
"LoanId": 3,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Residential Property, Freehold Residential",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Owner Occupied",
"MaxLVR": 0.9
}
],
"Value": 0.8667,
"RequiredMaxLVR": 0.9,
"Status": "Pass"
},
{
"Reference": "Result.LVR.LVRLimit[3]",
"LoanId": 4,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Unknown",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Unknown",
"MaxLVR": 0.9
}
],
"Value": 0.9024,
"RequiredMaxLVR": 0.9,
"Status": "Fail"
},
{
"Reference": "Result.LVR.LVRLimit[4]",
"LoanId": 5,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Unknown",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Unknown",
"MaxLVR": 0.9
}
],
"Value": 1.1905,
"RequiredMaxLVR": 0.9,
"Status": "Fail"
}
],
"LEM": [
{
"Label": "Total Lending",
"LoanId": null,
"Assessed": 0.9408,
"Margin": 0.015,
"Amount": 21450
}
],
"DTI": {
"TotalIncome": 122000,
"TotalDebt": 1550000,
"Value": 12.7,
"RequiredMaxDTI": 6,
"Status": "Fail"
},
"Deposit": {
"Amount": 0
}
},
"Warnings": [
{
"Message": "Kiwisaver contribution was entered via both Income and Expense. The amounts have been totalled.",
"Reference": "Result.Expenses"
}
],
"Errors": [
{
"Message": "LVR exceeds 90%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 2,
"Reference": "Result.LVR"
},
{
"Message": "LVR exceeds 90%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 4,
"Reference": "Result.LVR"
},
{
"Message": "LVR exceeds 90%",
"ReferenceObjectType": "Loan",
"ReferenceObjectId": 5,
"Reference": "Result.LVR"
},
{
"Message": "DTI exceeds 6 times.",
"Reference": "Result.DTI"
}
],
"Resources": [
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/westpac_PropertyType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/westpac_UsageType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/westpac_PropertyType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/westpac_UsageType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/westpac_PropertyType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/westpac_UsageType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/westpac_PropertyType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/westpac_UsageType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/westpac_PropertyType.jpg"
},
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[1]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/westpac_UsageType.jpg"
},
{
"Type": "Image",
"Reference": "Result.DTI",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/westpac_DTI.jpg"
}
],
"Accuracy": 0.84,
"Version": {
"VersionNumber": "v14Apr2025",
"ReleaseDate": "2025-04-14",
"VersionReleaseNote": ""
}
}
]
}
],
"Accuracy": 0.84
}
},
"ReportId": "TmmzF9VG"
}
Error
If errors are encountered during the Generate Report operation:
JSON Body
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"error": {
"type": "object",
"description": "Error information",
"properties": {
"message": {
"type": "string",
"description": "Human readable error message"
},
"status": {
"type": "string",
"description": "Error code in uppercase letters and _ as space",
"enum": ["INVALID_ARGUMENT","DEADLINE_EXCEEDED","NOT_FOUND","ALREADY_EXISTS","PERMISSION_DENIED","RESOURCE_EXHAUSTED","FAILED_PRECONDITION","ABORTED","OUT_OF_RANGE","UNIMPLEMENTED","INTERNAL","UNAVAILABLE","DATA_LOSS","UNAUTHENTICATED"]
},
"details": {
"type": "object",
"description": "Additional error details",
"properties": {
"validation_errors": {
"type": "array",
"description": "Errors thrown when validating input data",
"items": {
"type": "object",
"properties": {
"path": {
"type": "array",
"description": "An array of property keys or array offsets, indicating where inside objects or arrays the instance was found.",
"items": {
"type": "string"
}
},
"property": {
"type": "string",
"description": "Describes the property path. Starts with `instance`, and is delimited with a dot (.)."
},
"message": {
"type": "string",
"description": "A human-readable message for debugging use. Provided in English and subject to change."
},
"schema": {
"type": "object",
"description": "The schema containing the keyword that failed",
"properties": {
"type": {
"type": "string"
},
"description": {
"type": "string"
}
},
"required": ["type"]
},
"instance": {
"description": "The instance (value) that failed",
"type": ["null", "object"]
},
"name": {
"type": "string",
"description": "The keyword within the schema that failed."
},
"argument": {
"type": "array",
"description": "Provides information about the keyword that failed.",
"items": {
"type": "string"
}
},
"stack": {
"type": "string"
}
}
}
}
}
}
}
}
},
"required": ["path", "property", "message", "schema", "instance", "name", "argument", "stack"]
}
Examples
401: Missing API Key
Missing API Key
{
"error": {
"message": "Missing API Key",
"status": "UNAUTHENTICATED"
}
}
401: Invalid API Key
Invalid API Key
{
"error": {
"message": "Invalid API Key",
"status": "UNAUTHENTICATED"
}
}
400: Invalid data
Invalid data
{
"error": {
"message": "Invalid data",
"status": "INVALID_ARGUMENT",
"details": {
"validation_errors": [
{
"path": [
"Details",
"Loan",
0,
"LoanType"
],
"property": "instance.Details.Loan[0].LoanType",
"message": "is not one of enum values: Existing,Proposed",
"schema": {
"type": "string",
"description": "Defines whether the applicant already has this loan or if it's a new loan",
"enum": [
"Existing",
"New"
]
},
"instance": "Proposed",
"name": "enum",
"argument": [
"Existing",
"Proposed"
],
"stack": "instance.Details.Loan[0].LoanType is not one of enum values: Existing,Proposed"
}
]
}
}
}
Invalid data: Invalid LoanId on Liability
Thrown when loan id specified on liability does not match a loan.
{
"error": {
"message": "Invalid data: Invalid LoanId specified on Liability",
"status": "INVALID_ARGUMENT",
"details": {
}
}
}