Report
As a result of a calculation request to the MRE, it produces a report which contains all the information for each lender, over several loan amount cases.
Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Mortgage Recommendation Engine Report OutputSchema",
Schema""type": "object",
"description": "SchemaReport details and results",
"properties": {
"Id": {
"type": "string",
"description": "Unique identifier for the outputreport"
returned},
from"Cases": the{
generate"type": report"array",
endpoint""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": "MainDetailed calculation results from the mortgage recommendation engine"lender",
"properties": {
"AssessedIncome": {
"type": "array",
"description": "ArrayIncome ofassessment assessed income items"details",
"items": {
"type": "object",
"properties": {
"Group": {
"type": "string",
"description": "GroupCategory ofgroup for the income, usually how the income is grouped in spreadsheet (e.g., 'Applicant Income')"income"
},
"Label": {
"type": "string",
"description": "LabelDescription of the income, usually how the income is referenced/named in spreadsheet (e.g., 'Applicant Income {{Applicant1.Name}}')"source"
},
"Entered": {
"type": "object",
"description": "ValuesThe thatincome aredetails enteredas intoentered",
"properties": {
"Amount": {
"type": ["number", "null"],
"description": "The amount entered"
},
"Frequency": {
"type": ["string", "null"],
"description": "The frequency of the lenderincome spreadsheet(e.g., forMonthly, thisYearly)"
specific}
income"}
},
"Assessed": {
"type": "object",
"description": "The income details as assessed by the lender",
"properties": {
"Amount": {
"type": "number",
"description": "Amount entered"
},
"Frequency": {
"type": "string",
"description": "Frequency of this income, usually 'Monthly'"
}
},
"required": ["Amount", "Frequency"]
},
"Assessed": {
"type": "object",
"description": "Values that areThe assessed by the lender spreadsheet (including 'shading' that lenders apply to the entered values)",
"properties": {
"Amount": {
"type": "number",
"description": "Assessed amount"
},
"Frequency": {
"type": "string",
"description": "AssessedThe frequency of thisthe income,assessed likely in all cases 'Monthly'"income"
}
},
"required": ["Amount", "Frequency"]
}
},
"required": ["Group", "Label", "Entered", "Assessed"]
}
},
"AssessedExpense": {
"type": "array",
"description": "ArrayExpense ofassessment assessed expense items"details",
"items": {
"type": "object",
"properties": {
"Group": {
"type": "string",
"description": "GroupCategory ofgroup for the expense, defined statically for display of results in UI (e.g., 'Lending', 'Other Liabilities', 'Fixed Commitments')"expense"
},
"Label": {
"type": "string",
"description": "LabelDescription of the expense, usually how the expense is referenced/named in spreadsheet (e.g., 'New Home Loan')"expense"
},
"Entered": {
"type": "object",
"description": "Values that are entered into the lender spreadsheet for this specific expense",
"properties": {
"Definition": {
"type": "string",
"description": "Can be set to 'Limit' which is used when a credit card is submitted (Limit is used to tell UI how to render thisThe expense entereddetails value)"
},
"Amount": {
"type": "number",
"description": "Amountas entered"
},
"Frequency": {
"type": "string",
"description": "Frequency of this expense, usually 'Monthly'"
},
"InterestRate": {
"type": "number",
"description": "For any home loans the applicant may have, interest rate is entered here"
}
},
"required": ["Amount", "Frequency", "InterestRate"]
},
"Assessed": {
"type": "object",
"description": "Values that are assessed by the lender spreadsheet (including 'shading' that lenders apply to the entered values)",
"properties": {
"Amount": {
"type": "number",
"description": "AssessedThe 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": "AssessedThe frequency of thisthe expense,assessed likely in all cases 'Monthly'"expense"
}
},
"required": ["Amount", "Frequency"]
}
},
"required": ["Group", "Label", "Entered", "Assessed"]
}
},
"TotalMonthlyIncome": {
"type": "number",
"description": "Total assessed monthly income calculated from all assessed income sources"income"
},
"TotalMonthlyExpense": {
"type": "number",
"description": "Total assessed monthly expenses calculated from all assessed expenses"
},
"UMI": {
"type": "object",
"description": "Uncommitted Monthly Income calculation results"assessment",
"properties": {
"Value": {
"type": "number",
"description": "Calculated UMI value"
},
"Required": {
"type": ["number", "string"],
"description": "Required minimum UMI value foror approval"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": "Pass/FailUsage statustype forof UMIthe requirement"security property"
},
"LvrValue": {
"type": ["number", "null"],
"description": "LVRLoan valueto usedValue inRatio UMI calculation"
},
"SecurityUsageType": {
"type": "string",
"description": "Security usage type used in UMI calculation"value"
}
},
"required": ["Value", "Required", "Status"]
},
"Servicing": {
"type": "object",
"description": "Servicing calculation results"assessment",
"properties": {
"Type": {
"type": "string",
"description": "Type of servicing calculation"assessment"
},
"Value": {
"type": "number",
"description": "Calculated servicing value"
},
"Required": {
"type": ["number", "string"],
"description": "Required minimum servicing value for approval"value"
},
"Status": {
"type": "string",
"description": "Pass/Fail status of the servicing assessment",
"enum": ["Pass", "Fail"], "description": "Pass/Fail status for servicing requirement"N/A"]
}
},
"required": ["Type", "Value", "Required", "Status"]
},
"LVR": {
"type": "array",
"description": "Loan-to-Loan to Value Ratio calculations for each loan"assessments",
"items": {
"type": "object",
"properties": {
"Reference": {
"type": "string",
"description": "Reference identifier for thisthe LVR calculation"assessment"
},
"LoanId": {
"type": ["integer", "null"],
"description": "ID of the loan thisbeing LVR calculation applies to"assessed"
},
"LVRLimit": {
"type": "array",
"description": "Array of LVR limitslimit that apply to this loan"factors",
"items": {
"type": "object",
"properties": {
"Label": {
"type": "string",
"description": "Label for this LVRthe limit (e.g., 'Property Type')"factor"
},
"Description": {
"type": "string",
"description": "Description/extraDescription informationof for this LVRthe limit (e.g., '{Security.PropertyType}' or 'Unknown')"factor"
},
"MaxLVR": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Maximum accepted LVR value as a decimal (e.g., 0.95 for 95%)"allowed"
}
},
"required": ["Label", "Description", "MaxLVR"]
}
},
"Value": {
"type": "number",
"description": "Calculated LVR value"
},
"RequiredMaxLVR": {
"type": "number",
"description": "Maximum allowed LVR required for approval"value"
},
"Status": {
"type": "string",
"description": "Pass/Fail status of the LVR assessment",
"enum": ["Pass", "Fail"], "description": "Pass/Fail status for LVR requirement"N/A"]
}
},
"required": ["LoanId", "LVRLimit"Reference", "Value", "RequiredMaxLVR", "Status"]
}
},
"LEM": {
"type": "array",
"description": "Lenders Equity Margin calculations"assessments",
"items": {
"type": "object",
"properties": {
"Label": {
"type": "string",
"description": "Label for thisthe LEM calculation (e.g., 'Security {LoanId}')"assessment"
},
"LoanId": {
"type": ["integer", "null"],
"description": "ID of the loan thisbeing LEM calculation applies to"assessed"
},
"Assessed": {
"type": "number",
"description": "Assessed valueLVR for LEM calculation"value"
},
"Margin": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Margin percentage as a decimal (e.g., 0.015 for 1.5%)"percentage"
},
"Amount": {
"type": "number",
"description": "Calculated LEM amount"
}
},
"required": ["Label", "LoanId", "Assessed", "Margin", "Amount"]
}
},
"DTI": {
"type": "object",
"description": "Debt-to-Debt to Income ratio calculation results"assessment",
"properties": {
"TotalIncome": {
"type": "number",
"description": "Total income used infor DTI calculation"
},
"TotalDebt": {
"type": "number",
"description": "Total debt used infor DTI calculation"
},
"Value": {
"type": "number",
"description": "Calculated DTI value"
},
"RequiredMaxDTI": {
"type": ["number", "string"],
"description": "Maximum allowed DTI required for approval,value or 'N/A'indication if not applicable"
},
"Status": {
"type": "string",
"description": "Pass/Fail status of the DTI assessment",
"enum": ["Pass", "Fail", "N/A"],
"description": "Pass/Fail/N/A status for DTI requirement"
}
},
"required": ["TotalIncome", "TotalDebt", "Value", "RequiredMaxDTI", "Status"]
},
"Deposit": {
"type": "object",
"description": "Deposit calculation results"details",
"properties": {
"Amount": {
"type": "number",
"description": "Required depositDeposit amount"
}
},
"required": ["Amount"]
}
},
"required": [
"AssessedIncome", "AssessedExpense", "TotalMonthlyIncome", "TotalMonthlyExpense", "UMI", "Servicing",
"LVR",
"LEM",
"DTI",
"Deposit"
]
},
"Warnings": {
"type": "array",
"description": "Array of warningWarning messages generatedfrom duringthe calculation"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 topath for the part of the calculation that generated this warning"
},
"ReferenceObjectType": {
"type": "string",
"description": "Type of object that the warning references (used in V2 warnings)"
},
"ReferenceObjectId": {
"type": ["string", "number"],
"description": "ID of the object that the warning references (used in V2 warnings)"
}
},
"required": ["Message", "Reference"]
}
},
"Errors": {
"type": "array",
"description": "Array of errorError messages generatedfrom duringthe calculation"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 topath for the part of the calculation that generated this error"
},
"ReferenceObjectType": {
"type": "string",
"description": "Type of object that the error references (used in V2 errors)"
},
"ReferenceObjectId": {
"type": ["string", "number"],
"description": "ID of the object that the error references (used in V2 errors)"
}
},
"required": ["Message", "Reference"]
}
},
"Resources": {
"type": "array",
"description": "ArrayAdditional ofresources resourcerelated referencesto (e.g.,the lender guideline images)"assessment",
"items": {
"type": "object",
"properties": {
"Type": {
"type": "string",
"enum": ["Image"],
"description": "Type of resource"
},
"URL"enum": {
["type": "string"Image", "format": "uri"Document", "description": "URL to the resource"Link"]
},
"Reference": {
"type": "string",
"description": "Reference topath the calculation result this resource relates to"
},
"URL": {
"type": "string",
"description": "URL to (e.g.,the 'Result.LEM', 'Result.LVR.LVRLimit[0]')"resource"
}
},
"required": ["Type", "URL"Reference", "Reference"URL"]
}
},
"Accuracy": {
"type": "number",
"description": "Accuracy score of the assessment (0-1)",
"minimum": 0,
"maximum": 1,
"description": "Accuracy rating of the calculation as a decimal (e.g., 0.99 for 99%)"1
},
"Version": {
"type": "object",
"description": "Version information for the calculationlender's engine"assessment model",
"properties": {
"VersionNumber": {
"type": "string",
"description": "Version number of the calculation engine"number"
},
"ReleaseDate": {
"type": "string",
"description": "Release date of thisthe version",
"format": "date"
},
"VersionReleaseNote": {
"type": "string",
"description": "Release notes for thisthe version"
}
},
"required": ["VersionNumber", "ReleaseDate", "VersionReleaseNote"]
}
},
"required": ["Lender", "Result", "Warnings"Accuracy"]
}
}
},
"Errors"required": ["Id", "Resources"LenderResult"]
}
},
"Accuracy": {
"type": "number",
"Version"description": "Overall accuracy score of the report (0-1)",
"minimum": 0,
"maximum": 1
}
},
"required": ["Id", "Cases"]
}