{"operating_contract":"POST /api/analyze with {inputs, capex_rows, improvements} to run the full underwriting engine. `inputs` mirrors the source workbook's Inputs sheet named ranges field-for-field (see Claude_Workbook_Property_Analysis_v5.xlsx _AI_README/Data_Map for the original spec this API ports). scenario_selected (1-4) picks which financing scenario drives `model`/`headline` in the response; all 4 scenarios are always compared in `scenarios`. Percent fields are decimals (0.07 = 7%). Currency is USD. capex_rows/improvements are tables (CapEx reserve components / BRRR value-add options) - omit either for an empty table.","request":{"inputs":{"properties":{"property_address":{"default":"","title":"Property Address","type":"string"},"num_units":{"maximum":4,"minimum":1,"title":"Num Units","type":"integer"},"purchase_price":{"exclusiveMinimum":0.0,"title":"Purchase Price","type":"number"},"arv_asis":{"description":"As-is appraised value / ARV before improvements","exclusiveMinimum":0.0,"title":"Arv Asis","type":"number"},"sq_ft":{"exclusiveMinimum":0.0,"title":"Sq Ft","type":"number"},"land_value_pct":{"maximum":0.5,"minimum":0.0,"title":"Land Value Pct","type":"number"},"property_tax_rate":{"description":"Informational; annual_taxes drives the model","maximum":0.05,"minimum":0.0,"title":"Property Tax Rate","type":"number"},"closing_costs_pct":{"maximum":0.1,"minimum":0.0,"title":"Closing Costs Pct","type":"number"},"rehab_budget":{"minimum":0.0,"title":"Rehab Budget","type":"number"},"initial_reserves":{"minimum":0.0,"title":"Initial Reserves","type":"number"},"loan_rate_fha":{"maximum":0.15,"minimum":0.0,"title":"Loan Rate Fha","type":"number"},"loan_rate_conventional":{"maximum":0.15,"minimum":0.0,"title":"Loan Rate Conventional","type":"number"},"loan_term_years":{"exclusiveMinimum":0,"title":"Loan Term Years","type":"integer"},"fha_upfront_mip_pct":{"default":0.0175,"maximum":0.04,"minimum":0.0,"title":"Fha Upfront Mip Pct","type":"number"},"fha_annual_mip_pct":{"default":0.0055,"maximum":0.02,"minimum":0.0,"title":"Fha Annual Mip Pct","type":"number"},"pmi_annual_pct":{"default":0.006,"maximum":0.02,"minimum":0.0,"title":"Pmi Annual Pct","type":"number"},"refi_rate":{"maximum":0.15,"minimum":0.0,"title":"Refi Rate","type":"number"},"refi_ltv":{"default":0.75,"maximum":0.85,"minimum":0.0,"title":"Refi Ltv","type":"number"},"available_capital":{"exclusiveMinimum":0.0,"title":"Available Capital","type":"number"},"scenario_selected":{"description":"1=FHA 3.5%, 2=Conv 5%, 3=Conv 20%, 4=Conv 30%","enum":[1,2,3,4],"title":"Scenario Selected","type":"integer"},"rent_unit1":{"default":0,"minimum":0.0,"title":"Rent Unit1","type":"number"},"rent_unit2":{"default":0,"minimum":0.0,"title":"Rent Unit2","type":"number"},"rent_unit3":{"default":0,"minimum":0.0,"title":"Rent Unit3","type":"number"},"rent_unit4":{"default":0,"minimum":0.0,"title":"Rent Unit4","type":"number"},"market_rent_unit1":{"default":0,"minimum":0.0,"title":"Market Rent Unit1","type":"number"},"market_rent_unit2":{"default":0,"minimum":0.0,"title":"Market Rent Unit2","type":"number"},"market_rent_unit3":{"default":0,"minimum":0.0,"title":"Market Rent Unit3","type":"number"},"market_rent_unit4":{"default":0,"minimum":0.0,"title":"Market Rent Unit4","type":"number"},"other_monthly_income":{"default":0,"minimum":0.0,"title":"Other Monthly Income","type":"number"},"vacancy_pct":{"maximum":0.5,"minimum":0.0,"title":"Vacancy Pct","type":"number"},"annual_rent_growth_pct":{"maximum":0.1,"minimum":0.0,"title":"Annual Rent Growth Pct","type":"number"},"owner_occupied_flag":{"default":0,"enum":[0,1],"title":"Owner Occupied Flag","type":"integer"},"owner_unit_number":{"default":1,"maximum":4,"minimum":1,"title":"Owner Unit Number","type":"integer"},"owner_current_rent":{"default":0,"minimum":0.0,"title":"Owner Current Rent","type":"number"},"annual_taxes":{"exclusiveMinimum":0.0,"title":"Annual Taxes","type":"number"},"annual_insurance":{"exclusiveMinimum":0.0,"title":"Annual Insurance","type":"number"},"maintenance_pct_of_rent":{"maximum":0.25,"minimum":0.0,"title":"Maintenance Pct Of Rent","type":"number"},"management_pct_of_rent":{"maximum":0.25,"minimum":0.0,"title":"Management Pct Of Rent","type":"number"},"monthly_hoa":{"default":0,"minimum":0.0,"title":"Monthly Hoa","type":"number"},"monthly_utilities_owner":{"default":0,"minimum":0.0,"title":"Monthly Utilities Owner","type":"number"},"expense_growth_pct":{"maximum":0.1,"minimum":0.0,"title":"Expense Growth Pct","type":"number"},"capex_auto_estimate_flag":{"default":1,"description":"1 = CapEx table replacement costs are scaled from purchase_price; ignored by the engine","enum":[0,1],"title":"Capex Auto Estimate Flag","type":"integer"},"appreciation_pct":{"default":0.03,"maximum":0.1,"minimum":0.0,"title":"Appreciation Pct","type":"number"},"hold_period_years":{"exclusiveMinimum":0,"title":"Hold Period Years","type":"integer"},"selling_costs_pct":{"maximum":0.12,"minimum":0.0,"title":"Selling Costs Pct","type":"number"},"capital_gains_rate":{"default":0.15,"maximum":0.3,"minimum":0.0,"title":"Capital Gains Rate","type":"number"},"depreciation_recapture_rate":{"default":0.25,"maximum":0.3,"minimum":0.0,"title":"Depreciation Recapture Rate","type":"number"},"exit_cap_rate":{"default":0.1,"description":"Cap rate applied to forward (hold + 1) NOI for the exit-cap valuation check","exclusiveMinimum":0.0,"maximum":0.25,"title":"Exit Cap Rate","type":"number"},"reassess_taxes_flag":{"default":1,"description":"1 = property taxes reassess at the current effective rate (annual_taxes / purchase_price) x solved price","enum":[0,1],"title":"Reassess Taxes Flag","type":"integer"},"stress_rate_bump":{"default":0.015,"maximum":0.05,"minimum":0.0,"title":"Stress Rate Bump","type":"number"},"stress_vacancy":{"default":0.15,"maximum":0.5,"minimum":0.0,"title":"Stress Vacancy","type":"number"},"stress_rent_cut":{"default":0.1,"maximum":0.5,"minimum":0.0,"title":"Stress Rent Cut","type":"number"},"stress_capex_event":{"default":15000,"minimum":0.0,"title":"Stress Capex Event","type":"number"},"coc_targets":{"items":{"type":"number"},"title":"Coc Targets","type":"array"}},"required":["num_units","purchase_price","arv_asis","sq_ft","land_value_pct","property_tax_rate","closing_costs_pct","rehab_budget","initial_reserves","loan_rate_fha","loan_rate_conventional","loan_term_years","refi_rate","available_capital","scenario_selected","vacancy_pct","annual_rent_growth_pct","annual_taxes","annual_insurance","maintenance_pct_of_rent","management_pct_of_rent","expense_growth_pct","hold_period_years","selling_costs_pct"],"title":"DealInputs","type":"object"},"capex_rows":{"description":"One row of the CapEx reserve table (tbl_capex). Annual_Reserve is computed,\nnot stored here — see engine.capex.compute_capex_reserve.","properties":{"component":{"title":"Component","type":"string"},"replacement_cost":{"exclusiveMinimum":0.0,"title":"Replacement Cost","type":"number"},"lifespan_years":{"exclusiveMinimum":0.0,"title":"Lifespan Years","type":"number"}},"required":["component","replacement_cost","lifespan_years"],"title":"CapExRow","type":"object"},"improvements":{"description":"One row of the BRRR improvements table (tbl_improvements).","properties":{"name":{"title":"Name","type":"string"},"unit":{"anyOf":[{"maximum":4,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"UI-facing label only, ignored by compute_brrr","title":"Unit"},"cost":{"default":0,"minimum":0.0,"title":"Cost","type":"number"},"monthly_rent_uplift":{"default":0,"minimum":0.0,"title":"Monthly Rent Uplift","type":"number"},"arv_uplift":{"default":0,"minimum":0.0,"title":"Arv Uplift","type":"number"},"months_of_carry":{"default":0,"minimum":0.0,"title":"Months Of Carry","type":"number"},"include_flag":{"default":0,"enum":[0,1],"title":"Include Flag","type":"integer"},"benchmark_recovery_pct":{"anyOf":[{"maximum":2.0,"minimum":0.0,"type":"number"},{"type":"null"}],"default":null,"description":"Published cost-recovery % for this improvement type (ValueAdd_BRRR benchmark check); blank = n/a","title":"Benchmark Recovery Pct"}},"required":["name"],"title":"ImprovementRow","type":"object"}},"response":{"$defs":{"BenchmarkRowOut":{"properties":{"name":{"title":"Name","type":"string"},"cost":{"title":"Cost","type":"number"},"input_arv_uplift":{"title":"Input Arv Uplift","type":"number"},"value_created_per_dollar":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Value Created Per Dollar"},"grm_implied_arv":{"title":"Grm Implied Arv","type":"number"},"cap_rate_implied_arv":{"title":"Cap Rate Implied Arv","type":"number"},"benchmark_recovery_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Benchmark Recovery Pct"},"benchmark_arv":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Benchmark Arv"},"input_to_grm_implied":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Input To Grm Implied"},"flagged":{"title":"Flagged","type":"boolean"}},"required":["name","cost","input_arv_uplift","value_created_per_dollar","grm_implied_arv","cap_rate_implied_arv","benchmark_recovery_pct","benchmark_arv","input_to_grm_implied","flagged"],"title":"BenchmarkRowOut","type":"object"},"BrrrOut":{"properties":{"included_count":{"title":"Included Count","type":"integer"},"improvement_cost_included":{"title":"Improvement Cost Included","type":"number"},"arv_uplift_included":{"title":"Arv Uplift Included","type":"number"},"monthly_rent_uplift_included":{"title":"Monthly Rent Uplift Included","type":"number"},"months_of_carry":{"title":"Months Of Carry","type":"number"},"carry_cost":{"title":"Carry Cost","type":"number"},"total_project_cost":{"title":"Total Project Cost","type":"number"},"post_improvement_arv":{"title":"Post Improvement Arv","type":"number"},"refi_loan":{"title":"Refi Loan","type":"number"},"original_loan_balance_at_refi":{"title":"Original Loan Balance At Refi","type":"number"},"cash_returned_at_refi":{"title":"Cash Returned At Refi","type":"number"},"total_cash_invested":{"title":"Total Cash Invested","type":"number"},"capital_left_in_deal":{"title":"Capital Left In Deal","type":"number"},"post_refi_monthly_pi":{"title":"Post Refi Monthly Pi","type":"number"},"post_refi_monthly_pitia":{"title":"Post Refi Monthly Pitia","type":"number"},"post_refi_gross_potential_rent":{"title":"Post Refi Gross Potential Rent","type":"number"},"post_refi_noi":{"title":"Post Refi Noi","type":"number"},"post_refi_annual_debt_service":{"title":"Post Refi Annual Debt Service","type":"number"},"post_refi_dscr":{"title":"Post Refi Dscr","type":"number"},"post_refi_cash_flow":{"title":"Post Refi Cash Flow","type":"number"},"post_refi_coc_roi":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Post Refi Coc Roi"},"capital_fully_recycled":{"title":"Capital Fully Recycled","type":"boolean"}},"required":["included_count","improvement_cost_included","arv_uplift_included","monthly_rent_uplift_included","months_of_carry","carry_cost","total_project_cost","post_improvement_arv","refi_loan","original_loan_balance_at_refi","cash_returned_at_refi","total_cash_invested","capital_left_in_deal","post_refi_monthly_pi","post_refi_monthly_pitia","post_refi_gross_potential_rent","post_refi_noi","post_refi_annual_debt_service","post_refi_dscr","post_refi_cash_flow","post_refi_coc_roi","capital_fully_recycled"],"title":"BrrrOut","type":"object"},"CapExOut":{"properties":{"rows":{"items":{"$ref":"#/$defs/CapExRowOut"},"title":"Rows","type":"array"},"total_annual_reserve":{"title":"Total Annual Reserve","type":"number"}},"required":["rows","total_annual_reserve"],"title":"CapExOut","type":"object"},"CapExRowOut":{"properties":{"component":{"title":"Component","type":"string"},"replacement_cost":{"title":"Replacement Cost","type":"number"},"lifespan_years":{"title":"Lifespan Years","type":"number"},"annual_reserve":{"title":"Annual Reserve","type":"number"}},"required":["component","replacement_cost","lifespan_years","annual_reserve"],"title":"CapExRowOut","type":"object"},"DebtBalanceOut":{"properties":{"label":{"title":"Label","type":"string"},"year":{"title":"Year","type":"integer"},"balance":{"title":"Balance","type":"number"},"ltv":{"title":"Ltv","type":"number"}},"required":["label","year","balance","ltv"],"title":"DebtBalanceOut","type":"object"},"DebtSummaryOut":{"properties":{"loan_amount":{"title":"Loan Amount","type":"number"},"rate":{"title":"Rate","type":"number"},"term_years":{"title":"Term Years","type":"integer"},"monthly_pi":{"title":"Monthly Pi","type":"number"},"mi_end_month":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Mi End Month"},"balances":{"items":{"$ref":"#/$defs/DebtBalanceOut"},"title":"Balances","type":"array"},"principal_paid_over_hold":{"title":"Principal Paid Over Hold","type":"number"},"interest_paid_over_hold":{"title":"Interest Paid Over Hold","type":"number"}},"required":["loan_amount","rate","term_years","monthly_pi","mi_end_month","balances","principal_paid_over_hold","interest_paid_over_hold"],"title":"DebtSummaryOut","type":"object"},"DecisionOut":{"properties":{"scenarios":{"additionalProperties":{"$ref":"#/$defs/ScenarioDecisionOut"},"title":"Scenarios","type":"object"},"top_ranked_key":{"title":"Top Ranked Key","type":"string"},"dscr_gate_failures":{"title":"Dscr Gate Failures","type":"integer"},"exit":{"$ref":"#/$defs/ExitValuationOut"},"sources_uses":{"$ref":"#/$defs/SourcesUsesOut"},"debt_summary":{"$ref":"#/$defs/DebtSummaryOut"}},"required":["scenarios","top_ranked_key","dscr_gate_failures","exit","sources_uses","debt_summary"],"title":"DecisionOut","type":"object"},"ExitValuationOut":{"description":"v5 exit_cap_rate, exit_fwd_noi, implied_exit_cap, exit_price_capmethod,\nirr_exitcap, irr_exitcap_after_reserve, yield_on_cost_ar, loan_constant.","properties":{"exit_cap_rate":{"title":"Exit Cap Rate","type":"number"},"forward_noi":{"title":"Forward Noi","type":"number"},"sale_price_appreciation":{"title":"Sale Price Appreciation","type":"number"},"implied_exit_cap":{"title":"Implied Exit Cap","type":"number"},"sale_price_exit_cap":{"title":"Sale Price Exit Cap","type":"number"},"exit_price_difference":{"title":"Exit Price Difference","type":"number"},"pretax_proceeds_exit_cap":{"title":"Pretax Proceeds Exit Cap","type":"number"},"irr_appreciation_pre_reserve":{"title":"Irr Appreciation Pre Reserve","type":"number"},"irr_exit_cap_pre_reserve":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Irr Exit Cap Pre Reserve"},"irr_exit_cap_after_reserve":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Irr Exit Cap After Reserve"},"yield_on_cost_after_reserve":{"title":"Yield On Cost After Reserve","type":"number"},"loan_constant":{"title":"Loan Constant","type":"number"}},"required":["exit_cap_rate","forward_noi","sale_price_appreciation","implied_exit_cap","sale_price_exit_cap","exit_price_difference","pretax_proceeds_exit_cap","irr_appreciation_pre_reserve","irr_exit_cap_pre_reserve","irr_exit_cap_after_reserve","yield_on_cost_after_reserve","loan_constant"],"title":"ExitValuationOut","type":"object"},"HeadlineOutputsOut":{"properties":{"noi_year1":{"title":"Noi Year1","type":"number"},"cash_flow_year1":{"title":"Cash Flow Year1","type":"number"},"coc_roi_year1":{"title":"Coc Roi Year1","type":"number"},"coc_roi_year1_with_capex":{"title":"Coc Roi Year1 With Capex","type":"number"},"cap_rate_year1":{"title":"Cap Rate Year1","type":"number"},"grm":{"title":"Grm","type":"number"},"dscr_selected":{"title":"Dscr Selected","type":"number"},"break_even_occupancy":{"title":"Break Even Occupancy","type":"number"},"depreciation_shield_annual":{"title":"Depreciation Shield Annual","type":"number"},"irr_at_hold":{"title":"Irr At Hold","type":"number"},"irr_cash_flow_component":{"title":"Irr Cash Flow Component","type":"number"},"irr_amortization_component":{"title":"Irr Amortization Component","type":"number"},"irr_appreciation_component":{"title":"Irr Appreciation Component","type":"number"},"total_profit_pretax":{"title":"Total Profit Pretax","type":"number"},"total_profit_aftertax":{"title":"Total Profit Aftertax","type":"number"},"annualized_roi":{"title":"Annualized Roi","type":"number"}},"required":["noi_year1","cash_flow_year1","coc_roi_year1","coc_roi_year1_with_capex","cap_rate_year1","grm","dscr_selected","break_even_occupancy","depreciation_shield_annual","irr_at_hold","irr_cash_flow_component","irr_amortization_component","irr_appreciation_component","total_profit_pretax","total_profit_aftertax","annualized_roi"],"title":"HeadlineOutputsOut","type":"object"},"HouseHackOut":{"properties":{"owner_net_other_income":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Owner Net Other Income"},"owner_effective_cost":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Owner Effective Cost"},"owner_savings_vs_rent":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Owner Savings Vs Rent"},"hh_market_gpi":{"title":"Hh Market Gpi","type":"number"},"hh_market_noi":{"title":"Hh Market Noi","type":"number"},"hh_market_cf":{"title":"Hh Market Cf","type":"number"},"hh_market_coc":{"title":"Hh Market Coc","type":"number"},"hh_market_cap":{"title":"Hh Market Cap","type":"number"},"rent_saved_annual":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Rent Saved Annual"},"coc_incl_rent_saved":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"title":"Coc Incl Rent Saved"}},"required":["owner_net_other_income","owner_effective_cost","owner_savings_vs_rent","hh_market_gpi","hh_market_noi","hh_market_cf","hh_market_coc","hh_market_cap"],"title":"HouseHackOut","type":"object"},"IrrDecompositionOut":{"properties":{"irr_at_hold":{"title":"Irr At Hold","type":"number"},"cash_flow_component":{"title":"Cash Flow Component","type":"number"},"amortization_component":{"title":"Amortization Component","type":"number"},"appreciation_component":{"title":"Appreciation Component","type":"number"}},"required":["irr_at_hold","cash_flow_component","amortization_component","appreciation_component"],"title":"IrrDecompositionOut","type":"object"},"ModelOut":{"properties":{"years":{"items":{"$ref":"#/$defs/ModelYearOut"},"title":"Years","type":"array"},"sale":{"$ref":"#/$defs/SaleWaterfallOut"},"irr":{"$ref":"#/$defs/IrrDecompositionOut"},"depreciation_shield_annual":{"title":"Depreciation Shield Annual","type":"number"}},"required":["years","sale","irr","depreciation_shield_annual"],"title":"ModelOut","type":"object"},"ModelYearOut":{"properties":{"year":{"title":"Year","type":"integer"},"noi":{"title":"Noi","type":"number"},"debt_service_pi":{"title":"Debt Service Pi","type":"number"},"mortgage_insurance":{"title":"Mortgage Insurance","type":"number"},"total_debt_service":{"title":"Total Debt Service","type":"number"},"pretax_cash_flow":{"title":"Pretax Cash Flow","type":"number"},"interest_paid":{"title":"Interest Paid","type":"number"},"principal_paid":{"title":"Principal Paid","type":"number"},"depreciation":{"title":"Depreciation","type":"number"},"taxable_income":{"title":"Taxable Income","type":"number"},"cumulative_pretax_cf":{"title":"Cumulative Pretax Cf","type":"number"},"loan_balance_eoy":{"title":"Loan Balance Eoy","type":"number"},"property_value_eoy":{"title":"Property Value Eoy","type":"number"},"equity":{"title":"Equity","type":"number"}},"required":["year","noi","debt_service_pi","mortgage_insurance","total_debt_service","pretax_cash_flow","interest_paid","principal_paid","depreciation","taxable_income","cumulative_pretax_cf","loan_balance_eoy","property_value_eoy","equity"],"title":"ModelYearOut","type":"object"},"RequiredPriceOut":{"properties":{"target_coc":{"title":"Target Coc","type":"number"},"required_price":{"title":"Required Price","type":"number"},"pct_of_current_price":{"title":"Pct Of Current Price","type":"number"},"noi_at_price":{"title":"Noi At Price","type":"number"},"dscr_at_price":{"title":"Dscr At Price","type":"number"}},"required":["target_coc","required_price","pct_of_current_price","noi_at_price","dscr_at_price"],"title":"RequiredPriceOut","type":"object"},"SaleWaterfallOut":{"properties":{"gross_sale_price":{"title":"Gross Sale Price","type":"number"},"selling_costs":{"title":"Selling Costs","type":"number"},"loan_payoff":{"title":"Loan Payoff","type":"number"},"pretax_proceeds":{"title":"Pretax Proceeds","type":"number"},"accumulated_depreciation":{"title":"Accumulated Depreciation","type":"number"},"adjusted_basis":{"title":"Adjusted Basis","type":"number"},"taxable_gain":{"title":"Taxable Gain","type":"number"},"depreciation_recapture_tax":{"title":"Depreciation Recapture Tax","type":"number"},"capital_gains_tax":{"title":"Capital Gains Tax","type":"number"},"aftertax_proceeds":{"title":"Aftertax Proceeds","type":"number"},"cumulative_pretax_cf_at_hold":{"title":"Cumulative Pretax Cf At Hold","type":"number"},"total_profit_pretax":{"title":"Total Profit Pretax","type":"number"},"total_profit_aftertax":{"title":"Total Profit Aftertax","type":"number"},"cf_component":{"title":"Cf Component","type":"number"},"amort_component":{"title":"Amort Component","type":"number"},"appreciation_component":{"title":"Appreciation Component","type":"number"}},"required":["gross_sale_price","selling_costs","loan_payoff","pretax_proceeds","accumulated_depreciation","adjusted_basis","taxable_gain","depreciation_recapture_tax","capital_gains_tax","aftertax_proceeds","cumulative_pretax_cf_at_hold","total_profit_pretax","total_profit_aftertax","cf_component","amort_component","appreciation_component"],"title":"SaleWaterfallOut","type":"object"},"ScenarioDecisionOut":{"description":"One scenario's after-reserve metrics and rank (v5 cf_ar_by_scn,\ncoc_ar_by_scn, dscr_ar_by_scn, rank_score, rank_overall, dscr_gate_by_scn).","properties":{"key":{"title":"Key","type":"string"},"name":{"title":"Name","type":"string"},"scenario_number":{"title":"Scenario Number","type":"integer"},"cf_after_reserve":{"title":"Cf After Reserve","type":"number"},"coc_after_reserve":{"title":"Coc After Reserve","type":"number"},"dscr_after_reserve":{"title":"Dscr After Reserve","type":"number"},"rank_irr":{"title":"Rank Irr","type":"integer"},"rank_coc_after_reserve":{"title":"Rank Coc After Reserve","type":"integer"},"rank_dscr_after_reserve":{"title":"Rank Dscr After Reserve","type":"integer"},"rank_liquidity":{"title":"Rank Liquidity","type":"integer"},"rank_break_even":{"title":"Rank Break Even","type":"integer"},"weighted_score":{"title":"Weighted Score","type":"number"},"overall_rank":{"title":"Overall Rank","type":"integer"},"dscr_gate":{"title":"Dscr Gate","type":"string"},"is_selected":{"title":"Is Selected","type":"boolean"}},"required":["key","name","scenario_number","cf_after_reserve","coc_after_reserve","dscr_after_reserve","rank_irr","rank_coc_after_reserve","rank_dscr_after_reserve","rank_liquidity","rank_break_even","weighted_score","overall_rank","dscr_gate","is_selected"],"title":"ScenarioDecisionOut","type":"object"},"ScenarioSummaryOut":{"properties":{"key":{"title":"Key","type":"string"},"name":{"title":"Name","type":"string"},"down_payment_pct":{"title":"Down Payment Pct","type":"number"},"down_payment_amount":{"title":"Down Payment Amount","type":"number"},"base_loan_amount":{"title":"Base Loan Amount","type":"number"},"financed_upfront_mip":{"title":"Financed Upfront Mip","type":"number"},"total_loan_amount":{"title":"Total Loan Amount","type":"number"},"rate":{"title":"Rate","type":"number"},"monthly_pi":{"title":"Monthly Pi","type":"number"},"monthly_mi_initial":{"title":"Monthly Mi Initial","type":"number"},"mi_end_month":{"title":"Mi End Month","type":"integer"},"monthly_pitia":{"title":"Monthly Pitia","type":"number"},"total_cash_to_close":{"title":"Total Cash To Close","type":"number"},"remaining_liquidity":{"title":"Remaining Liquidity","type":"number"},"annual_debt_service_y1":{"title":"Annual Debt Service Y1","type":"number"},"cash_flow_y1":{"title":"Cash Flow Y1","type":"number"},"dscr_y1":{"title":"Dscr Y1","type":"number"},"coc_roi_y1":{"title":"Coc Roi Y1","type":"number"},"irr_at_hold":{"title":"Irr At Hold","type":"number"},"break_even_occupancy":{"title":"Break Even Occupancy","type":"number"},"fha_self_sufficiency":{"title":"Fha Self Sufficiency","type":"string"},"owner_occupancy_required":{"title":"Owner Occupancy Required","type":"boolean"}},"required":["key","name","down_payment_pct","down_payment_amount","base_loan_amount","financed_upfront_mip","total_loan_amount","rate","monthly_pi","monthly_mi_initial","mi_end_month","monthly_pitia","total_cash_to_close","remaining_liquidity","annual_debt_service_y1","cash_flow_y1","dscr_y1","coc_roi_y1","irr_at_hold","break_even_occupancy","fha_self_sufficiency","owner_occupancy_required"],"title":"ScenarioSummaryOut","type":"object"},"SensitivityOut":{"properties":{"rent_multipliers":{"items":{"type":"number"},"title":"Rent Multipliers","type":"array"},"price_multipliers":{"items":{"type":"number"},"title":"Price Multipliers","type":"array"},"coc_matrix":{"items":{"items":{"type":"number"},"type":"array"},"title":"Coc Matrix","type":"array"},"irr_matrix":{"items":{"items":{"type":"number"},"type":"array"},"title":"Irr Matrix","type":"array"}},"required":["rent_multipliers","price_multipliers","coc_matrix","irr_matrix"],"title":"SensitivityOut","type":"object"},"SourcesUsesOut":{"properties":{"purchase_price":{"title":"Purchase Price","type":"number"},"closing_costs":{"title":"Closing Costs","type":"number"},"rehab_budget":{"title":"Rehab Budget","type":"number"},"initial_reserves":{"title":"Initial Reserves","type":"number"},"financed_upfront_mip":{"title":"Financed Upfront Mip","type":"number"},"total_uses":{"title":"Total Uses","type":"number"},"loan_amount":{"title":"Loan Amount","type":"number"},"equity_cash_to_close":{"title":"Equity Cash To Close","type":"number"},"total_sources":{"title":"Total Sources","type":"number"}},"required":["purchase_price","closing_costs","rehab_budget","initial_reserves","financed_upfront_mip","total_uses","loan_amount","equity_cash_to_close","total_sources"],"title":"SourcesUsesOut","type":"object"},"StressCaseOut":{"properties":{"label":{"title":"Label","type":"string"},"cash_flow":{"title":"Cash Flow","type":"number"},"coc_roi":{"title":"Coc Roi","type":"number"},"dscr":{"title":"Dscr","type":"number"},"cf_after_reserve":{"title":"Cf After Reserve","type":"number"}},"required":["label","cash_flow","coc_roi","dscr","cf_after_reserve"],"title":"StressCaseOut","type":"object"},"ValueAddBenchmarkOut":{"properties":{"grm":{"title":"Grm","type":"number"},"cap_rate":{"title":"Cap Rate","type":"number"},"net_rent_factor":{"title":"Net Rent Factor","type":"number"},"flag_threshold":{"title":"Flag Threshold","type":"number"},"rows":{"items":{"$ref":"#/$defs/BenchmarkRowOut"},"title":"Rows","type":"array"}},"required":["grm","cap_rate","net_rent_factor","flag_threshold","rows"],"title":"ValueAddBenchmarkOut","type":"object"}},"properties":{"selected_scenario_key":{"title":"Selected Scenario Key","type":"string"},"headline":{"$ref":"#/$defs/HeadlineOutputsOut"},"scenarios":{"additionalProperties":{"$ref":"#/$defs/ScenarioSummaryOut"},"title":"Scenarios","type":"object"},"model":{"$ref":"#/$defs/ModelOut"},"capex":{"$ref":"#/$defs/CapExOut"},"brrr":{"$ref":"#/$defs/BrrrOut"},"house_hack":{"$ref":"#/$defs/HouseHackOut"},"sensitivity":{"$ref":"#/$defs/SensitivityOut"},"stress_tests":{"items":{"$ref":"#/$defs/StressCaseOut"},"title":"Stress Tests","type":"array"},"required_prices":{"items":{"$ref":"#/$defs/RequiredPriceOut"},"title":"Required Prices","type":"array"},"decision":{"$ref":"#/$defs/DecisionOut"},"value_add_benchmark":{"$ref":"#/$defs/ValueAddBenchmarkOut"}},"required":["selected_scenario_key","headline","scenarios","model","capex","brrr","house_hack","sensitivity","stress_tests","required_prices","decision","value_add_benchmark"],"title":"AnalyzeResponse","type":"object"}}