{"model":"having-a-child","specVersion":"1.1.0","specUrl":"/api/v1/models/having-a-child/spec","inputs":{"annualIncome":{"kind":"float","min":40000,"max":500000},"currentSavingsRate":{"kind":"float","min":0.01,"max":0.5},"currentSavings":{"kind":"float","min":0,"max":1000000},"currentAge":{"kind":"int","min":22,"max":60},"retirementAge":{"kind":"int","min":45,"max":75},"annualReturn":{"kind":"float","min":0.02,"max":0.15},"marginalTaxRate":{"kind":"float","min":0.1,"max":0.5},"firstYearCost":{"kind":"float","min":5000,"max":50000},"ongoingAnnualCost":{"kind":"float","min":3000,"max":40000},"childcareYears":{"kind":"int","min":0,"max":10},"childcareAnnualCost":{"kind":"float","min":0,"max":50000},"college529Monthly":{"kind":"float","min":0,"max":1000}},"arrayInputs":{},"constraints":["retirementAge must exceed currentAge"],"sentinels":[],"facts":[],"disclaimer":"Illustrative planning model, not financial advice. Outputs follow the published model spec exactly; read the spec for assumptions and exclusions before relying on any number."}