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 a few seconds to generate a report which consists of a single loan amount case 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#",
"title": "Request JSON Payload",
"type": "object",
"properties": {
"Details": {
"type": "object",
"description": "Main calculation details for mortgage calculation, see [CalculationDetails](https://docs.blackfin.tools/books/mortgagerecenginebackend/page/calculationdetails) schema"
},
"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",
"sbs",
"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. See [this schema](https://docs.blackfin.tools/books/mortgagerecenginebackend/page/report) for more information."
}
},
"required": ["Report"]
},
"ReportId": {
"type": "string",
"description": "Unique identifier for the report"
}
},
"required": ["Result", "ReportId"]
}
Examples
200: Success
Success Response
{
"Result": {
"Report": {
"Id": "7Z0nc3ZJ",
"Cases": [
{
"Id": 1,
"LoanAmount": 350000,
"LenderResult": [
{
"Lender": {
"Id": 1,
"Key": "aia",
"Name": "AIA",
"Logo": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-logos/aia.png"
},
"Result": {
"AssessedIncome": [
{
"Group": "Applicant Income",
"Label": "Total Income (Gary) - including Salary",
"Entered": {
"Amount": null,
"Frequency": null
},
"Assessed": {
"Amount": 5472,
"Frequency": "Monthly"
}
},
{
"Group": "Applicant Income",
"Label": "Total Income (Lynne) - including Salary",
"Entered": {
"Amount": null,
"Frequency": null
},
"Assessed": {
"Amount": 3368,
"Frequency": "Monthly"
}
}
],
"AssessedExpense": [
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 350000,
"InterestRate": 0.067
},
"Assessed": {
"Amount": 2258.47,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "Credit Card",
"Entered": {
"Amount": 10000,
"Definition": "Limit"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Food",
"Entered": {
"Amount": 700,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Utilities",
"Entered": {
"Amount": 400,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Ongoing Household Expenses",
"Entered": {
"Amount": 100,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "ChildCare",
"Entered": {
"Amount": 250,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Health/Medical/Funeral/Pet Insurance",
"Entered": {
"Amount": 480,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": " Living Expenses",
"Label": "Minimum Living Expenses",
"Entered": {
"Amount": 1930,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 2876,
"Frequency": "Monthly"
}
}
],
"TotalMonthlyIncome": 8840,
"TotalMonthlyExpense": 2558.47,
"UMI": {
"Value": 3405.53,
"Required": 120,
"Status": "Pass",
"SecurityUsageType": "OwnerOccupied",
"LvrValue": 0.7
},
"Servicing": {
"Type": "N/A",
"Value": 0,
"Required": 0,
"Status": "Fail"
},
"LVR": [
{
"Reference": "Result.LVR.LVRLimit[0]",
"LoanId": 1,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Unknown",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Unknown",
"MaxLVR": 0.9
}
],
"Value": 0.7,
"RequiredMaxLVR": 0.9,
"Status": "Pass"
}
],
"LEM": [],
"DTI": {
"TotalIncome": 133000,
"TotalDebt": 360000,
"Value": 2.71,
"RequiredMaxDTI": 7,
"Status": "Pass"
},
"Deposit": {
"Amount": 0
},
"MaxLoanAmount": 859100
},
"Warnings": [
{
"Message": "Entered Living Expenses of $1930 is below minimum expected ($2876)",
"Reference": "Result.Expenses"
}
],
"Errors": [],
"Resources": [
{
"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.69,
"Version": {
"VersionNumber": "v2.80",
"ReleaseDate": "2025-11-26",
"VersionReleaseNote": ""
},
"SpreadsheetFileURL": "https://api.mre.test.blackfin.tools/engine/download-spreadsheet?report_id=7Z0nc3ZJ&case_id=1&lender=aia"
},
{
"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 (Gary)",
"Entered": {
"Amount": 85000,
"Frequency": "Yearly"
},
"Assessed": {
"Amount": 5471.08,
"Frequency": "Monthly"
}
},
{
"Group": "Customer Income",
"Label": "Customer Income (Lynne)",
"Entered": {
"Amount": 4000,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 3324.2,
"Frequency": "Monthly"
}
}
],
"AssessedExpense": [
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 350000,
"InterestRate": 0.067
},
"Assessed": {
"Amount": 2258.47,
"Frequency": "Monthly"
}
},
{
"Group": "Other Liabilities",
"Label": "Credit Cards",
"Entered": {
"Amount": 10000,
"Definition": "Limit"
},
"Assessed": {
"Amount": 400,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "All Living Expenses",
"Entered": {
"Amount": 1100,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 2198,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Other Significant Expenses",
"Entered": {
"Amount": 730,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 730,
"Frequency": "Monthly"
}
}
],
"TotalMonthlyIncome": 8795.28,
"TotalMonthlyExpense": 5586.47,
"UMI": {
"Value": 3208.81,
"Required": 100,
"Status": "Pass"
},
"Servicing": {
"Type": "N/A",
"Value": 0,
"Required": 0,
"Status": "Fail"
},
"LVR": [
{
"Reference": "Result.LVR.LVRLimit[0]",
"SecurityId": 1,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Unknown",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Unknown",
"MaxLVR": 0.9
}
],
"Value": 0.7,
"RequiredMaxLVR": 0.9,
"Status": "Pass"
}
],
"LEM": [],
"DTI": {
"TotalIncome": 0,
"TotalDebt": 0,
"Value": 0,
"RequiredMaxDTI": "N/A",
"Status": "N/A"
},
"Deposit": {
"Amount": 0
},
"MaxLoanAmount": 831700
},
"Warnings": [],
"Errors": [],
"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"
}
],
"Accuracy": 0.69,
"Version": {
"VersionNumber": "v10.9",
"ReleaseDate": "2025-10-23",
"VersionReleaseNote": ""
},
"SpreadsheetFileURL": "https://api.mre.test.blackfin.tools/engine/download-spreadsheet?report_id=7Z0nc3ZJ&case_id=1&lender=anz"
},
{
"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 (Gary) - including Salary",
"Entered": {
"Amount": null,
"Frequency": null
},
"Assessed": {
"Amount": 5472,
"Frequency": "Monthly"
}
},
{
"Group": "Applicant Income",
"Label": "Total Income (Lynne) - including Salary",
"Entered": {
"Amount": null,
"Frequency": null
},
"Assessed": {
"Amount": 3368,
"Frequency": "Monthly"
}
}
],
"AssessedExpense": [
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 350000,
"InterestRate": 0.067
},
"Assessed": {
"Amount": 2258.47,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "Credit Card",
"Entered": {
"Amount": 10000,
"Definition": "Limit"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Food",
"Entered": {
"Amount": 700,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Utilities",
"Entered": {
"Amount": 400,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Ongoing Household Expenses",
"Entered": {
"Amount": 100,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "ChildCare",
"Entered": {
"Amount": 250,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Health/Medical/Funeral/Pet Insurance",
"Entered": {
"Amount": 480,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": " Living Expenses",
"Label": "Minimum Living Expenses",
"Entered": {
"Amount": 1930,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 2876,
"Frequency": "Monthly"
}
}
],
"TotalMonthlyIncome": 8840,
"TotalMonthlyExpense": 2558.47,
"UMI": {
"Value": 3405.53,
"Required": 120,
"Status": "Pass",
"SecurityUsageType": "OwnerOccupied",
"LvrValue": 0.7
},
"Servicing": {
"Type": "N/A",
"Value": 0,
"Required": 0,
"Status": "Fail"
},
"LVR": [
{
"Reference": "Result.LVR.LVRLimit[0]",
"LoanId": 1,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Unknown",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Unknown",
"MaxLVR": 0.9
}
],
"Value": 0.7,
"RequiredMaxLVR": 0.9,
"Status": "Pass"
}
],
"LEM": [],
"DTI": {
"TotalIncome": 133000,
"TotalDebt": 360000,
"Value": 2.71,
"RequiredMaxDTI": 7,
"Status": "Pass"
},
"Deposit": {
"Amount": 0
},
"MaxLoanAmount": 859100
},
"Warnings": [
{
"Message": "Entered Living Expenses of $1930 is below minimum expected ($2876)",
"Reference": "Result.Expenses"
}
],
"Errors": [],
"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.DTI",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/asb_DTI.png"
}
],
"Accuracy": 0.69,
"Version": {
"VersionNumber": "v2.80",
"ReleaseDate": "2025-11-26",
"VersionReleaseNote": ""
},
"SpreadsheetFileURL": "https://api.mre.test.blackfin.tools/engine/download-spreadsheet?report_id=7Z0nc3ZJ&case_id=1&lender=asb"
},
{
"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 (Gary)",
"Entered": {
"Amount": 85000,
"Frequency": "Yearly"
},
"Assessed": {
"Amount": 65653,
"Frequency": "Monthly"
}
},
{
"Group": "Customer Income",
"Label": "Customer Income (Lynne)",
"Entered": {
"Amount": 48000,
"Frequency": "Yearly"
},
"Assessed": {
"Amount": 39890.4,
"Frequency": "Monthly"
}
}
],
"AssessedExpense": [
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 350000,
"InterestRate": 0.0685
},
"Assessed": {
"Amount": 2293.41,
"Frequency": "Monthly"
}
},
{
"Group": "Other Financial Commitments",
"Label": "Credit Cards",
"Entered": {
"Amount": 10000,
"Definition": "Limit"
},
"Assessed": {
"Amount": 380,
"Frequency": "Monthly"
}
},
{
"Group": "Declared Living Expenses",
"Label": "Childcare & Education",
"Entered": {
"Amount": 250,
"Frequency": "m"
},
"Assessed": {
"Amount": 250,
"Frequency": "Monthly"
}
},
{
"Group": "Declared Living Expenses",
"Label": "Utilities",
"Entered": {
"Amount": 400,
"Frequency": "m"
},
"Assessed": {
"Amount": 400,
"Frequency": "Monthly"
}
},
{
"Group": "Declared Living Expenses",
"Label": "Food & Groceries",
"Entered": {
"Amount": 700,
"Frequency": "m"
},
"Assessed": {
"Amount": 700,
"Frequency": "Monthly"
}
},
{
"Group": "Declared Living Expenses",
"Label": "Insurances",
"Entered": {
"Amount": 480,
"Frequency": "m"
},
"Assessed": {
"Amount": 480,
"Frequency": "Monthly"
}
},
{
"Group": "Declared Living Expenses",
"Label": "Other regular expenses",
"Entered": {
"Amount": 100,
"Frequency": "m"
},
"Assessed": {
"Amount": 100,
"Frequency": "Monthly"
}
}
],
"TotalMonthlyIncome": 8795.28,
"TotalMonthlyExpense": 5839.41,
"UMI": {
"Value": 2955.88,
"Required": "N/A",
"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": "Unknown",
"MaxLVR": 0.8
}
],
"Value": 0.7,
"RequiredMaxLVR": 0.8,
"Status": "Pass"
}
],
"LEM": [],
"DTI": {
"TotalIncome": 133000,
"TotalDebt": 360000,
"Value": 2.71,
"RequiredMaxDTI": "N/A",
"Status": "N/A"
},
"Deposit": {
"Amount": 0
},
"MaxLoanAmount": 762900
},
"Warnings": [
{
"Message": "Declared Living Expenses of $1930 is below minimum expected ($3166)",
"Reference": "Result.Expenses"
}
],
"Errors": [],
"Resources": [
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/bnz_PropertyType.png"
}
],
"Accuracy": 0.69,
"Version": {
"VersionNumber": "v12.29",
"ReleaseDate": "2025-10-23",
"VersionReleaseNote": ""
},
"SpreadsheetFileURL": "https://api.mre.test.blackfin.tools/engine/download-spreadsheet?report_id=7Z0nc3ZJ&case_id=1&lender=bnz"
},
{
"Lender": {
"Id": 5,
"Key": "co-op",
"Name": "CO-OP",
"Logo": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-logos/coop.png"
},
"Result": {
"AssessedIncome": [
{
"Group": "Gross Income",
"Label": "Applicant 1",
"Entered": {
"Amount": 85000,
"Frequency": "Annual"
},
"Assessed": {
"Amount": 5476.04,
"Frequency": "Monthly"
}
},
{
"Group": "Gross Income",
"Label": "Applicant 2",
"Entered": {
"Amount": 4000,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 3327,
"Frequency": "Monthly"
}
}
],
"AssessedExpense": [
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 350000,
"InterestRate": 0.065
},
"Assessed": {
"Amount": 2212.24,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Commitments",
"Label": "Life & Medical Insurance ",
"Entered": {
"Amount": 480,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 480,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Commitments",
"Label": "Child Care",
"Entered": {
"Amount": 250,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 250,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Commitments",
"Label": "Insurance Default",
"Entered": {
"Amount": 0,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 152.19,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Benchmark Expenses",
"Entered": {
"Amount": 1200,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 2728.5,
"Frequency": "Monthly"
}
}
],
"TotalMonthlyIncome": 8803.04,
"TotalMonthlyExpense": 6202.93,
"UMI": {
"Value": 1195.94,
"Required": 108.33,
"Status": "Pass"
},
"Servicing": {
"Type": "N/A",
"Value": 0,
"Required": 0,
"Status": "Fail"
},
"LVR": [
{
"Reference": "Result.LVR.LVRLimit[0]",
"LoanId": null,
"SecurityId": 1,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Unknown",
"MaxLVR": 0.9
}
],
"Value": 0.7,
"RequiredMaxLVR": 0.9,
"Status": "Pass"
}
],
"LEM": [
{
"Label": "Total Lending",
"LoanId": null,
"Assessed": 0.7,
"Margin": null,
"Amount": null
}
],
"DTI": {
"TotalIncome": 133000,
"TotalDebt": 360000,
"Value": 2.71,
"RequiredMaxDTI": "N/A",
"Status": "N/A"
},
"Deposit": {
"Amount": 0
},
"MaxLoanAmount": 744200
},
"Warnings": [
{
"Message": "Entered Living Expenses are below minimum expected (2728.5). Benchmark values have been used.",
"Reference": "Result.Expenses"
}
],
"Errors": [],
"Resources": [
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/co-op_PropertyType.png"
}
],
"Accuracy": 0.69,
"Version": {
"VersionNumber": "v6.9",
"ReleaseDate": "2025-08-26",
"VersionReleaseNote": ""
},
"SpreadsheetFileURL": "https://api.mre.test.blackfin.tools/engine/download-spreadsheet?report_id=7Z0nc3ZJ&case_id=1&lender=co-op"
},
{
"Lender": {
"Id": 6,
"Key": "kiwibank",
"Name": "Kiwibank",
"Logo": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-logos/kiwibank.png"
},
"Result": {
"AssessedIncome": [
{
"Group": "Customer Income",
"Label": "Total Income (Gary) - including Salary ",
"Entered": {
"Amount": null,
"Frequency": null
},
"Assessed": {
"Amount": 5471.08,
"Frequency": "Monthly"
}
},
{
"Group": "Customer Income",
"Label": "Total Income (Lynne) - including Salary ",
"Entered": {
"Amount": null,
"Frequency": null
},
"Assessed": {
"Amount": 3324.2,
"Frequency": "Monthly"
}
}
],
"AssessedExpense": [
{
"Group": "Proposed Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 350000,
"InterestRate": 0.068
},
"Assessed": {
"Amount": 2281.74,
"Frequency": "Monthly"
}
},
{
"Group": "Existing Debt Commitments",
"Label": "Card 1",
"Entered": {
"Amount": 10000,
"Definition": "Limit"
},
"Assessed": {
"Amount": 500,
"Frequency": "Monthly"
}
},
{
"Group": "Benchmarkable Expenses",
"Label": "Groceries and Food",
"Entered": {
"Amount": 700,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Benchmarkable Expenses",
"Label": "Electricity, Gas and Heating",
"Entered": {
"Amount": 400,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Benchmarkable Expenses",
"Label": "Housing Repairs and Maintenance",
"Entered": {
"Amount": 100,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 0,
"Frequency": "Monthly"
}
},
{
"Group": "Benchmarkable Expenses",
"Label": "Minimum Household Expenditure Benchmark (HEB)",
"Entered": {
"Amount": 1200,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 2384.47,
"Frequency": "Monthly"
}
},
{
"Group": "Non Benchmarkable Expenses",
"Label": "Insurance - Life, Health & Income",
"Entered": {
"Amount": 480,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 480,
"Frequency": "Monthly"
}
},
{
"Group": "Non Benchmarkable Expenses",
"Label": "Child Care",
"Entered": {
"Amount": 250,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 250,
"Frequency": "Monthly"
}
}
],
"TotalMonthlyIncome": 8795.28,
"TotalMonthlyExpense": 5896.21,
"UMI": {
"Value": 0,
"Required": 0,
"Status": "Fail"
},
"Servicing": {
"Type": "NSR",
"Value": 0.67,
"Required": 1,
"Status": "Pass"
},
"LVR": [
{
"Reference": "Result.LVR.LVRLimit[0]",
"LoanId": null,
"SecurityId": 1,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Unknown ",
"MaxLVR": 0.9
}
],
"Value": 0.7,
"RequiredMaxLVR": 0.9,
"Status": "Pass"
}
],
"LEM": [
{
"Label": "Total Lending",
"LoanId": null,
"Assessed": 0.7,
"Margin": 0,
"Amount": null
}
],
"DTI": {
"TotalIncome": 133000,
"TotalDebt": 360000,
"Value": 2.71,
"RequiredMaxDTI": 6,
"Status": "Pass"
},
"Deposit": {
"Amount": 0
},
"MaxLoanAmount": 794600
},
"Warnings": [
{
"Message": "Entered Benchmarkable Expenses of $1200 is below minimum expected ($2384.47)",
"Reference": "Result.Expenses"
}
],
"Errors": [],
"Resources": [
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/kiwibank_PropertyType.png"
}
],
"Accuracy": 0.69,
"Version": {
"VersionNumber": "v67.1",
"ReleaseDate": "2025-11-24",
"VersionReleaseNote": ""
},
"SpreadsheetFileURL": "https://api.mre.test.blackfin.tools/engine/download-spreadsheet?report_id=7Z0nc3ZJ&case_id=1&lender=kiwibank"
},
{
"Lender": {
"Id": 7,
"Key": "liberty",
"Name": "Liberty",
"Logo": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-logos/liberty.png"
},
"Result": {
"AssessedIncome": [
{
"Group": "Gross Income",
"Label": "Gross Income (Gary)",
"Entered": {
"Amount": 85000,
"Frequency": "Yearly"
},
"Assessed": {
"Amount": 5476.04,
"Frequency": "Monthly"
}
},
{
"Group": "Gross Income",
"Label": "Gross Income (Lynne)",
"Entered": {
"Amount": 48000,
"Frequency": "Yearly"
},
"Assessed": {
"Amount": 3327,
"Frequency": "Monthly"
}
}
],
"AssessedExpense": [
{
"Group": "Living Expenses",
"Label": "Declared living expenses",
"Entered": {
"Amount": 1930,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 3309,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 350000,
"InterestRate": 0.1
},
"Assessed": {
"Amount": 2966,
"Frequency": "Monthly"
}
},
{
"Group": "Other Liabilities",
"Label": "Credit Card",
"Entered": {
"Amount": 10000,
"Definition": "Limit"
},
"Assessed": {
"Amount": 380,
"Frequency": "Monthly"
}
}
],
"TotalMonthlyIncome": 8803.04,
"TotalMonthlyExpense": 6655,
"UMI": {
"Value": 2148.04,
"Required": 0,
"Status": "Pass"
},
"Servicing": {
"Type": "N/A",
"Value": 0,
"Required": 0,
"Status": "Fail"
},
"LVR": [
{
"Reference": "Result.LVR.LVRLimit[0]",
"LoanId": null,
"SecurityId": 1,
"LVRLimit": [
{
"Label": "Usage Type",
"Description": "Unknown",
"MaxLVR": 0.9
}
],
"Value": 0.7,
"RequiredMaxLVR": 0.9,
"Status": "Pass"
}
],
"LEM": [],
"DTI": {
"TotalIncome": 0,
"TotalDebt": 0,
"Value": 0,
"RequiredMaxDTI": "N/A",
"Status": "N/A"
},
"Deposit": {
"Amount": 0
},
"MaxLoanAmount": 603400
},
"Warnings": [
{
"Message": "Declared Living Expenses are below minimum expected ($3309). Benchmark values have been used.",
"Reference": "Result.Expenses"
},
{
"Message": "This Max LVR includes a 10% Boost Loan. Property types are assessed on a case-by-case basis.",
"ReferenceObjectType": "Security",
"ReferenceObjectId": 1,
"Reference": "Result.LVR"
}
],
"Errors": [],
"Resources": [
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/liberty_LVR.png"
}
],
"Accuracy": 0.69,
"Version": {
"VersionNumber": "",
"ReleaseDate": "",
"VersionReleaseNote": ""
},
"SpreadsheetFileURL": "https://api.mre.test.blackfin.tools/engine/download-spreadsheet?report_id=7Z0nc3ZJ&case_id=1&lender=liberty"
},
{
"Lender": {
"Id": 8,
"Key": "sbs",
"Name": "SBS",
"Logo": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-logos/sbs.png"
},
"Result": {
"AssessedIncome": [
{
"Group": "Applicant Income",
"Label": "Gary",
"Entered": {
"Amount": 85000,
"Frequency": "Yearly"
},
"Assessed": {
"Amount": 5471.08,
"Frequency": "Monthly"
}
},
{
"Group": "Applicant Income",
"Label": "Lynne",
"Entered": {
"Amount": 48000,
"Frequency": "Yearly"
},
"Assessed": {
"Amount": 3324.2,
"Frequency": "Monthly"
}
}
],
"AssessedExpense": [
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 350000,
"InterestRate": 0.065
},
"Assessed": {
"Amount": 2212.24,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "Total Credit/Store Card Limits",
"Entered": {
"Amount": 10000,
"Definition": "Limit"
},
"Assessed": {
"Amount": 380,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Living & Other Expenses",
"Entered": {
"Amount": 1930,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 3525,
"Frequency": "Monthly"
}
}
],
"TotalMonthlyIncome": 8795.28,
"TotalMonthlyExpense": 6117.24,
"UMI": {
"Value": 0,
"Required": 0,
"Status": "Fail"
},
"Servicing": {
"Type": "NSR",
"Value": 0.7,
"Required": 0.95,
"Status": "Pass"
},
"LVR": [
{
"Reference": "Result.LVR.LVRLimit[0]",
"SecurityId": 1,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Unknown ",
"MaxLVR": 0.8
}
],
"Value": 0.7,
"RequiredMaxLVR": 0.8,
"Status": "Pass"
}
],
"LEM": [],
"DTI": {
"TotalIncome": 133000,
"TotalDebt": 360000,
"Value": 2.71,
"RequiredMaxDTI": 6,
"Status": "Pass"
},
"Deposit": {
"Amount": 0
},
"MaxLoanAmount": 738900
},
"Warnings": [
{
"Message": "Entered Living Expenses are below minimum expected ($3525). Benchmark values have been used.",
"Reference": "Result.Expenses"
}
],
"Errors": [],
"Resources": [
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/sbs_PropertyType.jpg"
}
],
"Accuracy": 0.69,
"Version": {
"VersionNumber": "v16.5",
"ReleaseDate": "2025-10-23",
"VersionReleaseNote": ""
},
"SpreadsheetFileURL": "https://api.mre.test.blackfin.tools/engine/download-spreadsheet?report_id=7Z0nc3ZJ&case_id=1&lender=sbs"
},
{
"Lender": {
"Id": 9,
"Key": "tsb",
"Name": "TSB",
"Logo": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-logos/tsb.png"
},
"Result": {
"AssessedIncome": [
{
"Group": "Applicant Income",
"Label": "Salary and Wage (Gary)",
"Entered": {
"Amount": 85000,
"Frequency": "Annually"
},
"Assessed": {
"Amount": 5471.08,
"Frequency": "Monthly"
}
},
{
"Group": "Applicant Income",
"Label": "Salary and Wage (Lynne)",
"Entered": {
"Amount": 48000,
"Frequency": "Annually"
},
"Assessed": {
"Amount": 3324.2,
"Frequency": "Monthly"
}
}
],
"AssessedExpense": [
{
"Group": "Lending",
"Label": "Proposed Mortgage",
"Entered": {
"Amount": 350000,
"InterestRate": 0.0649
},
"Assessed": {
"Amount": 2209.94,
"Frequency": "Monthly"
}
},
{
"Group": "Lending",
"Label": "Credit Cards",
"Entered": {
"Amount": 10000,
"Definition": "Limit"
},
"Assessed": {
"Amount": 380,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Insurances (House, Contents, Vehicle, Life, Health)",
"Entered": {
"Amount": 480,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 480,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Rates & Water Rates",
"Entered": {
"Amount": 0,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 230,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Childcare & Day-Care",
"Entered": {
"Amount": 250,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 250,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Food - Groceries",
"Entered": {
"Amount": 700,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 1236,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Utilities (Electricity, Gas, Water)",
"Entered": {
"Amount": 400,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 400,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Transport (Fuel, WOF, Rego, Public Transport)",
"Entered": {
"Amount": 0,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 396,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Personal Expenses (Clothing, Footwear, Personal Care, Spend on Dependants)",
"Entered": {
"Amount": 0,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 274.5,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Telecommunications (Landline, Mobile, Internet)",
"Entered": {
"Amount": 0,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 50,
"Frequency": "Monthly"
}
},
{
"Group": "Living Expenses",
"Label": "Discretionary Living Expenses (Home Improvements, Entertainment, Flights, Pet Care, Subscription TV)",
"Entered": {
"Amount": 100,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 100,
"Frequency": "Monthly"
}
}
],
"TotalMonthlyIncome": 8795.28,
"TotalMonthlyExpense": 6006.44,
"UMI": {
"Value": 2788.84,
"Required": 0,
"Status": "Pass"
},
"Servicing": {
"Type": "N/A",
"Value": 0,
"Required": 0,
"Status": "Fail"
},
"LVR": [
{
"Reference": "Result.LVR.LVRLimit[0]",
"SecurityId": 1,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Unknown ",
"MaxLVR": 0.95
}
],
"Value": 0.7,
"RequiredMaxLVR": 0.95,
"Status": "Pass"
}
],
"LEM": [],
"DTI": {
"TotalIncome": 133000,
"TotalDebt": 360000,
"Value": 2.71,
"RequiredMaxDTI": 6,
"Status": "Pass"
},
"Deposit": {
"Amount": 0
},
"MaxLoanAmount": 791600
},
"Warnings": [],
"Errors": [],
"Resources": [
{
"Type": "Image",
"Reference": "Result.LVR.LVRLimit[0]",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/tsb_PropertyType.jpg"
},
{
"Type": "Image",
"Reference": "Result.DTI",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/tsb_DTI.jpg"
}
],
"Accuracy": 0.69,
"Version": {
"VersionNumber": "v.6.8",
"ReleaseDate": "2025-10-13",
"VersionReleaseNote": ""
},
"SpreadsheetFileURL": "https://api.mre.test.blackfin.tools/engine/download-spreadsheet?report_id=7Z0nc3ZJ&case_id=1&lender=tsb"
},
{
"Lender": {
"Id": 10,
"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 (Gary)",
"Entered": {
"Amount": 5479.28,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 5479.28,
"Frequency": "Monthly"
}
},
{
"Group": "Applicant Income",
"Label": "Applicant Income (Lynne)",
"Entered": {
"Amount": 3328,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 3328,
"Frequency": "Monthly"
}
}
],
"AssessedExpense": [
{
"Group": "Lending",
"Label": "New Home Loan",
"Entered": {
"Amount": 350000,
"InterestRate": 0
},
"Assessed": {
"Amount": 2223.76,
"Frequency": "Monthly"
}
},
{
"Group": "Other Liabilities",
"Label": "Credit Card(s)",
"Entered": {
"Amount": 10000,
"Definition": "Limit"
},
"Assessed": {
"Amount": 380,
"Frequency": "Monthly"
}
},
{
"Group": "Fixed Commitments",
"Label": "Personal Insurances",
"Entered": {
"Amount": 480,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 480,
"Frequency": "Monthly"
}
},
{
"Group": "Essential Living Costs",
"Label": "Essential Living Costs",
"Entered": {
"Amount": 1350,
"Frequency": "Monthly"
},
"Assessed": {
"Amount": 2230,
"Frequency": "Monthly"
}
}
],
"TotalMonthlyIncome": 8807.28,
"TotalMonthlyExpense": 5313.76,
"UMI": {
"Value": 3493.52,
"Required": 150,
"Status": "Pass"
},
"Servicing": {
"Type": "N/A",
"Value": 0,
"Required": 0,
"Status": "Fail"
},
"LVR": [
{
"Reference": "Result.LVR.LVRLimit[0]",
"SecurityId": 1,
"LVRLimit": [
{
"Label": "Property Type",
"Description": "Unknown",
"MaxLVR": 0.9
},
{
"Label": "Usage Type",
"Description": "Unknown",
"MaxLVR": 0.9
}
],
"Value": 0.7,
"RequiredMaxLVR": 0.9,
"Status": "Pass"
}
],
"LEM": [
{
"Label": "Total Lending",
"LoanId": null,
"Assessed": 0.7,
"Margin": 0,
"Amount": null
}
],
"DTI": {
"TotalIncome": 133000,
"TotalDebt": 360000,
"Value": 2.71,
"RequiredMaxDTI": 6,
"Status": "Pass"
},
"Deposit": {
"Amount": 0
},
"MaxLoanAmount": 876200
},
"Warnings": [],
"Errors": [],
"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.DTI",
"URL": "https://storage.googleapis.com/mortgage-rec-engine-dev.appspot.com/lender-guidelines/westpac_DTI.jpg"
}
],
"Accuracy": 0.69,
"Version": {
"VersionNumber": "v13Oct2025",
"ReleaseDate": "2025-10-13",
"VersionReleaseNote": ""
},
"SpreadsheetFileURL": "https://api.mre.test.blackfin.tools/engine/download-spreadsheet?report_id=7Z0nc3ZJ&case_id=1&lender=westpac"
}
]
}
],
"Accuracy": 0.69
}
}
}
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": {
}
}
}