{"ok":true,"tool":"pragmatic.get_calculator_schema.v1","result":{"calculator":{"slug":"affordability","title":"Affordability (Max Purchase)","description":"GDS/TDS-driven max price, stress-tested.","category":"purchase","url":"https://pragmatic.mortgage/calculators/affordability","inputSchema":{"type":"object","properties":{"downPayment":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"}]},"grossIncomeAnnual":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"}]},"otherIncomeAnnual":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"}]},"otherDebtsMonthly":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"}]},"contractRatePercent":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"}]},"amortization":{"type":"object","properties":{"years":{"type":"integer","minimum":0,"maximum":40},"months":{"type":"integer","minimum":0,"maximum":11}},"required":["years","months"],"additionalProperties":false},"shelter":{"type":"object","properties":{"taxesAnnual":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"}]},"heatMonthly":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"}]},"condoFeesMonthly":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"}]},"insuranceMonthly":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"}]}},"required":["taxesAnnual","heatMonthly"],"additionalProperties":false},"targets":{"type":"object","properties":{"maxGds":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"}]},"maxTds":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"}]}},"additionalProperties":false,"default":{}},"osfiFloorPercent":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$"}]},"paymentFrequency":{"type":"string","enum":["monthly","semi_monthly","biweekly","accelerated_biweekly","weekly","accelerated_weekly"],"default":"monthly"}},"required":["downPayment","grossIncomeAnnual","otherDebtsMonthly","contractRatePercent","amortization","shelter"],"additionalProperties":false}}}}