{"example":{"address":"142 Oak Street, Asheville, NC","annual_loan_rate":0.07,"exit_cap_rate":0.065,"expense_escalator":0.03,"hold_years":7,"loan_term_years":30,"ltc_pct":0.7,"monthly_expenses":850,"monthly_rent":2900,"purchase_date":"2025-01-01","purchase_price":285000,"rehab_months":2,"rent_escalator":0.03,"repair_cost":20000,"sale_cost_pct":0.06,"transaction_fees":0.03,"vacancy_rate":0.05},"properties":{"address":{"description":"Property address","title":"Address","type":"string"},"purchase_price":{"description":"Purchase price ($)","exclusiveMinimum":0,"title":"Purchase Price","type":"number"},"monthly_rent":{"description":"Gross monthly rent at stabilisation ($)","exclusiveMinimum":0,"title":"Monthly Rent","type":"number"},"monthly_expenses":{"description":"Combined monthly operating expenses ($)","minimum":0,"title":"Monthly Expenses","type":"number"},"transaction_fees":{"default":0.03,"description":"Buy-side transaction fees as % of purchase price — added to basis. Default 3%.","exclusiveMaximum":0.2,"minimum":0,"title":"Transaction Fees","type":"number"},"repair_cost":{"default":0.0,"description":"Repair / occupancy costs ($), equity-funded, spent over the rehab period.","minimum":0,"title":"Repair Cost","type":"number"},"rehab_months":{"default":2,"description":"Rehab period in months. Occupancy begins rehab_months + 2 months after purchase; no rent or opex before then. Default 2.","maximum":12,"minimum":0,"title":"Rehab Months","type":"integer"},"ltc_pct":{"default":0.7,"description":"Loan as % of basis (purchase + fees). Default 70%.","exclusiveMaximum":1,"minimum":0,"title":"Ltc Pct","type":"number"},"annual_loan_rate":{"default":0.07,"description":"Annual mortgage rate. Default 7%.","exclusiveMaximum":0.2,"exclusiveMinimum":0,"title":"Annual Loan Rate","type":"number"},"loan_term_years":{"default":30,"description":"Amortisation term in years. Default 30.","maximum":40,"minimum":5,"title":"Loan Term Years","type":"integer"},"vacancy_rate":{"default":0.05,"description":"Vacancy as % of gross rent. Default 5%.","maximum":0.5,"minimum":0,"title":"Vacancy Rate","type":"number"},"rent_escalator":{"default":0.03,"description":"Annual rent increase (on occupancy anniversary). Default 3%.","maximum":0.2,"minimum":0,"title":"Rent Escalator","type":"number"},"expense_escalator":{"default":0.03,"description":"Annual expense increase (on calendar year). Default 3%.","maximum":0.2,"minimum":0,"title":"Expense Escalator","type":"number"},"hold_years":{"default":7,"description":"Hold period in years. Default 7.","maximum":30,"minimum":1,"title":"Hold Years","type":"integer"},"exit_cap_rate":{"default":0.065,"description":"Exit cap rate applied to exit-month NOI run-rate. Default 6.5%.","exclusiveMaximum":0.2,"exclusiveMinimum":0,"title":"Exit Cap Rate","type":"number"},"sale_cost_pct":{"default":0.06,"description":"Sale transaction costs as % of sale price. Default 6%.","maximum":0.15,"minimum":0,"title":"Sale Cost Pct","type":"number"},"purchase_date":{"anyOf":[{"format":"date","type":"string"},{"type":"null"}],"default":null,"description":"Purchase / close date (YYYY-MM-DD). Used for XIRR-based returns. Defaults to today.","title":"Purchase Date"},"attest":{"default":false,"description":"If true, include an attestation block binding the result to the engine version and reconciliation pack (see GET /sfr/reconciliation).","title":"Attest","type":"boolean"}},"required":["address","purchase_price","monthly_rent","monthly_expenses"],"title":"SFRRequest","type":"object"}