MCP Server

Numeratica — financial planning calculations

com.numeratica/mcp
Finance & Investing Public & reachable MCP 2026-07-28

What this MCP does

Performs deterministic US financial-planning calculations covering retirement, taxes, benefits, debt, insurance, education savings, equity compensation, and investment assumptions.

annuity
Annuity. Numeratica POST /v1/annuity — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'age': {'type': 'integer'}, 'sex': {'type': 'string'}, 'premium': {'type': 'number'}, 'start_age': {'type': 'integer'}, 'second_age': {'type': 'integer'}, 'second_sex': {'type': 'string'}, 'payout_type': {'type': 'string'}, 'assumed_rate': {'type': 'number'}, 'survivor_pct': {'type': 'number'}, 'target_income': {'type': 'number'}, 'period_certain_years': {'type': 'integer'}}, 'additionalProperties': False}
benefits_dependent_care
Benefits dependent care. Numeratica POST /v1/benefits/dependent-care — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'tax_year': {'type': 'integer'}, 'filing_status': {'type': 'string'}, 'ordinary_income': {'type': 'number'}, 'qualifying_count': {'type': 'integer'}, 'marginal_tax_rate': {'type': 'number'}, 'fsa_contribution_limit': {'type': 'number'}, 'dependent_care_expenses': {'type': 'number'}}, 'additionalProperties': False}
benefits_health_plan
Benefits health plan. Numeratica POST /v1/benefits/health-plan — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'ppo': {'type': 'object', 'properties': {'oop_max': {'type': 'number'}, 'premium': {'type': 'number'}, 'deductible': {'type': 'number'}, 'coinsurance': {'type': 'number'}}, 'additionalProperties': False}, 'hdhp': {'type': 'object', 'properties': {'oop_max': {'type': 'number'}, 'premium': {'type': 'number'}, 'deductible': {'type': 'number'}, 'coinsurance': {'type': 'number'}}, 'additionalProperties': False}, 'hsa_contribution': {'type': 'number'}, 'employer_hsa_seed': {'type': 'number'}, 'marginal_tax_rate': {'type': 'number'}, 'ppo_fsa_contribution': {'type': 'number'}, 'expected_medical_spend': {'type': 'number'}}, 'additionalProperties': False}
capital_market_assumptions
Capital market assumptions. Numeratica POST /v1/capital-market-assumptions — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'assets': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'weight': {'type': 'number'}, 'volatility': {'type': 'number'}, 'expected_return': {'type': 'number'}}, 'additionalProperties': False}}, 'correlation': {'type': 'array', 'items': {'type': 'array', 'items': {'type': 'number'}}}, 'default_correlation': {'type': 'number'}}, 'additionalProperties': False}
cashflow_npv_irr
Cashflow npv irr. Numeratica POST /v1/cashflow/npv-irr — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'rate': {'type': 'number'}, 'cashflows': {'type': 'array', 'items': {'type': 'number'}}, 'dated_cashflows': {'type': 'array', 'items': {'type': 'object', 'properties': {'date': {'type': 'string'}, 'amount': {'type': 'number'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
college_savings
College savings. Numeratica POST /v1/college-savings — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'current_savings': {'type': 'number'}, 'expected_return': {'type': 'number'}, 'years_in_college': {'type': 'integer'}, 'annual_cost_today': {'type': 'number'}, 'college_start_age': {'type': 'integer'}, 'current_child_age': {'type': 'integer'}, 'tuition_inflation': {'type': 'number'}}, 'additionalProperties': False}
contribution_limits
Contribution limits. Numeratica POST /v1/contribution-limits — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'age': {'type': 'integer'}, 'tax_year': {'type': 'integer'}, 'compensation': {'type': 'number'}, 'hsa_coverage': {'type': 'string'}, 'prior_year_wages': {'type': 'number'}, 'employer_match_rate': {'type': 'number'}, 'hsa_contribution_ytd': {'type': 'number'}, 'ira_contribution_ytd': {'type': 'number'}, 'elective_deferral_ytd': {'type': 'number'}, 'employer_match_cap_pct': {'type': 'number'}}, 'additionalProperties': False}
debt_payoff
Debt payoff. Numeratica POST /v1/debt-payoff — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'debts': {'type': 'array', 'items': {'type': 'object', 'properties': {'label': {'type': 'string'}, 'balance': {'type': 'number'}, 'annual_rate': {'type': 'number'}, 'minimum_payment': {'type': 'number'}}, 'additionalProperties': False}}, 'strategy': {'type': 'string'}, 'monthly_budget': {'type': 'number'}}, 'additionalProperties': False}
debt_vs_invest
Debt vs invest. Numeratica POST /v1/debt-vs-invest — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'seed': {'type': 'integer'}, 'loan_balance': {'type': 'number'}, 'extra_monthly': {'type': 'number'}, 'horizon_years': {'type': 'integer'}, 'marginal_rate': {'type': 'number'}, 'annual_fee_rate': {'type': 'number'}, 'expected_return': {'type': 'number'}, 'num_simulations': {'type': 'integer'}, 'loan_annual_rate': {'type': 'number'}, 'return_volatility': {'type': 'number'}, 'interest_deductible': {'type': 'boolean'}, 'loan_minimum_payment': {'type': 'number'}}, 'additionalProperties': False}
education_529_to_roth
Education 529 to roth. Numeratica POST /v1/education/529-to-roth — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'year': {'type': 'integer'}, 'balance': {'type': 'number'}, 'beneficiary_age': {'type': 'integer'}, 'account_age_years': {'type': 'integer'}, 'recent_contributions': {'type': 'number'}, 'lifetime_rolled_already': {'type': 'number'}, 'other_ira_contributions': {'type': 'number'}, 'beneficiary_earned_income': {'type': 'number'}}, 'additionalProperties': False}
education_aid_estimate
Education aid estimate. Numeratica POST /v1/education/aid-estimate — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'award_year': {'type': 'integer'}, 'parent_agi': {'type': 'number'}, 'family_size': {'type': 'integer'}, 'student_agi': {'type': 'number'}, 'single_parent': {'type': 'boolean'}, 'student_assets': {'type': 'number'}, 'cost_of_attendance': {'type': 'number'}, 'parent_cash_savings': {'type': 'number'}, 'parent_earned_income': {'type': 'number'}, 'parent_filing_status': {'type': 'string'}, 'parent2_earned_income': {'type': 'number'}, 'parent_untaxed_income': {'type': 'number'}, 'student_earned_income': {'type': 'number'}, 'parent_income_tax_paid': {'type': 'number'}, 'parent_investments_net': {'type': 'number'}, 'student_untaxed_income': {'type': 'number'}, 'student_income_tax_paid': {'type': 'number'}, 'parent_business_farm_worth': {'type': 'number'}}, 'additionalProperties': False}
education_student_loan
Education student loan. Numeratica POST /v1/education/student-loan — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'agi': {'type': 'number'}, 'state': {'type': 'string'}, 'dependents': {'type': 'integer'}, 'family_size': {'type': 'integer'}, 'loan_balance': {'type': 'number'}, 'interest_rate': {'type': 'number'}, 'pursuing_pslf': {'type': 'boolean'}, 'guideline_year': {'type': 'integer'}, 'loan_before_2014': {'type': 'boolean'}, 'standard_term_months': {'type': 'integer'}}, 'additionalProperties': False}
education_student_loan_refi
Education student loan refi. Numeratica POST /v1/education/student-loan-refi — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'federal': {'type': 'object', 'properties': {'agi': {'type': 'number'}, 'state': {'type': 'string'}, 'dependents': {'type': 'integer'}, 'family_size': {'type': 'integer'}, 'loan_balance': {'type': 'number'}, 'interest_rate': {'type': 'number'}, 'pursuing_pslf': {'type': 'boolean'}, 'guideline_year': {'type': 'integer'}, 'loan_before_2014': {'type': 'boolean'}, 'standard_term_months': {'type': 'integer'}}, 'additionalProperties': False}, 'refi_rate': {'type': 'number'}, 'discount_rate': {'type': 'number'}, 'refi_term_months': {'type': 'integer'}}, 'additionalProperties': False}
equity_comp_espp
Equity comp espp. Numeratica POST /v1/equity-comp/espp — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'shares': {'type': 'number'}, 'sale_price': {'type': 'number'}, 'discount_pct': {'type': 'number'}, 'offering_date_price': {'type': 'number'}, 'purchase_date_price': {'type': 'number'}}, 'additionalProperties': False}
equity_comp_iso
Equity comp iso. Numeratica POST /v1/equity-comp/iso — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'shares': {'type': 'number'}, 'tax_year': {'type': 'integer'}, 'sale_price': {'type': 'number'}, 'strike_price': {'type': 'number'}, 'filing_status': {'type': 'string'}, 'fmv_at_exercise': {'type': 'number'}, 'ordinary_income': {'type': 'number'}, 'other_amt_preference_items': {'type': 'number'}}, 'additionalProperties': False}
equity_comp_iso_amt_capacity
Equity comp iso amt capacity. Numeratica POST /v1/equity-comp/iso-amt-capacity — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'tax_year': {'type': 'integer'}, 'strike_price': {'type': 'number'}, 'filing_status': {'type': 'string'}, 'fmv_at_exercise': {'type': 'number'}, 'ordinary_income': {'type': 'number'}, 'other_amt_preference_items': {'type': 'number'}}, 'additionalProperties': False}
equity_comp_iso_schedule
Equity comp iso schedule. Numeratica POST /v1/equity-comp/iso-schedule — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'tax_year': {'type': 'integer'}, 'fmv_at_start': {'type': 'number'}, 'strike_price': {'type': 'number'}, 'total_shares': {'type': 'number'}, 'filing_status': {'type': 'string'}, 'horizon_years': {'type': 'integer'}, 'annual_amt_budget': {'type': 'number'}, 'annual_fmv_growth': {'type': 'number'}, 'annual_income_growth': {'type': 'number'}, 'annual_ordinary_income': {'type': 'number'}}, 'additionalProperties': False}
equity_comp_nso
Equity comp nso. Numeratica POST /v1/equity-comp/nso — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'shares': {'type': 'number'}, 'tax_year': {'type': 'integer'}, 'strike_price': {'type': 'number'}, 'filing_status': {'type': 'string'}, 'fmv_at_exercise': {'type': 'number'}, 'other_ordinary_income': {'type': 'number'}}, 'additionalProperties': False}
equity_comp_nua
Equity comp nua. Numeratica POST /v1/equity-comp/nua — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'tax_year': {'type': 'integer'}, 'ltcg_rate': {'type': 'number'}, 'cost_basis': {'type': 'number'}, 'sale_price': {'type': 'number'}, 'growth_rate': {'type': 'number'}, 'market_value': {'type': 'number'}, 'discount_rate': {'type': 'number'}, 'filing_status': {'type': 'string'}, 'years_to_sale': {'type': 'integer'}, 'marginal_ordinary_rate': {'type': 'number'}}, 'additionalProperties': False}
equity_comp_rsu
Equity comp rsu. Numeratica POST /v1/equity-comp/rsu — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'shares': {'type': 'number'}, 'tax_year': {'type': 'integer'}, 'fmv_at_vest': {'type': 'number'}, 'filing_status': {'type': 'string'}, 'other_ordinary_income': {'type': 'number'}}, 'additionalProperties': False}
equity_comp_section_83b
Equity comp section 83b. Numeratica POST /v1/equity-comp/section-83b — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'shares': {'type': 'number'}, 'tax_year': {'type': 'integer'}, 'price_paid': {'type': 'number'}, 'fmv_at_vest': {'type': 'number'}, 'fmv_at_grant': {'type': 'number'}, 'filing_status': {'type': 'string'}, 'other_ordinary_income': {'type': 'number'}}, 'additionalProperties': False}
goal_funding
Goal funding. Numeratica POST /v1/goal-funding — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'years': {'type': 'number'}, 'annual_return': {'type': 'number'}, 'target_amount': {'type': 'number'}, 'current_savings': {'type': 'number'}, 'periods_per_year': {'type': 'integer'}, 'contributions_at_beginning': {'type': 'boolean'}}, 'additionalProperties': False}
healthcare_aca_optimize
Healthcare aca optimize. Numeratica POST /v1/healthcare/aca-optimize — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'age': {'type': 'integer'}, 'state': {'type': 'string'}, 'tax_year': {'type': 'integer'}, 'base_income': {'type': 'number'}, 'roth_balance': {'type': 'number'}, 'filing_status': {'type': 'string'}, 'spending_need': {'type': 'number'}, 'household_size': {'type': 'integer'}, 'taxable_balance': {'type': 'number'}, 'deferred_balance': {'type': 'number'}, 'tax_exempt_interest': {'type': 'number'}, 'taxable_gain_fraction': {'type': 'number'}, 'benchmark_annual_premium': {'type': 'number'}}, 'additionalProperties': False}
healthcare_costs
Healthcare costs. Numeratica POST /v1/healthcare-costs — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'age': {'type': 'integer'}, 'magi': {'type': 'number'}, 'state': {'type': 'string'}, 'coverage_year': {'type': 'integer'}, 'filing_status': {'type': 'string'}, 'household_size': {'type': 'integer'}, 'benchmark_annual_premium': {'type': 'number'}}, 'additionalProperties': False}
inflation_adjust
Inflation adjust. Numeratica POST /v1/inflation-adjust — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'years': {'type': 'integer'}, 'amount': {'type': 'number'}, 'direction': {'type': 'string'}, 'annual_rate': {'type': 'number'}}, 'additionalProperties': False}
inherited_ira
Inherited ira. Numeratica POST /v1/inherited-ira — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'years': {'type': 'integer'}, 'tax_year': {'type': 'integer'}, 'other_income': {'type': 'number'}, 'filing_status': {'type': 'string'}, 'target_bracket': {'type': 'number'}, 'annual_rmd_floor': {'type': 'number'}, 'inherited_balance': {'type': 'number'}, 'account_growth_rate': {'type': 'number'}, 'other_income_schedule': {'type': 'array', 'items': {'type': 'number'}}}, 'additionalProperties': False}
insurance_disability_needs
Insurance disability needs. Numeratica POST /v1/insurance/disability-needs — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'marginal_tax_rate': {'type': 'number'}, 'ssdi_offsets_group': {'type': 'boolean'}, 'gross_annual_income': {'type': 'number'}, 'ssdi_monthly_benefit': {'type': 'number'}, 'employer_paid_premium': {'type': 'boolean'}, 'employer_group_fraction': {'type': 'number'}, 'employer_group_monthly_max': {'type': 'number'}, 'essential_monthly_expenses': {'type': 'number'}, 'individual_monthly_benefit': {'type': 'number'}, 'target_replacement_fraction': {'type': 'number'}}, 'additionalProperties': False}
insurance_life_needs
Insurance life needs. Numeratica POST /v1/insurance/life-needs — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'debts': {'type': 'number'}, 'real_return': {'type': 'number'}, 'annual_income': {'type': 'number'}, 'education_fund': {'type': 'number'}, 'emergency_fund': {'type': 'number'}, 'final_expenses': {'type': 'number'}, 'existing_assets': {'type': 'number'}, 'mortgage_balance': {'type': 'number'}, 'effective_tax_rate': {'type': 'number'}, 'years_to_retirement': {'type': 'integer'}, 'income_replace_years': {'type': 'integer'}, 'survivor_annual_income': {'type': 'number'}, 'existing_life_insurance': {'type': 'number'}, 'income_replace_fraction': {'type': 'number'}, 'self_consumption_fraction': {'type': 'number'}}, 'additionalProperties': False}
insurance_long_term_care
Insurance long term care. Numeratica POST /v1/insurance/long-term-care — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'current_age': {'type': 'integer'}, 'discount_rate': {'type': 'number'}, 'premium_years': {'type': 'integer'}, 'annual_premium': {'type': 'number'}, 'care_start_age': {'type': 'integer'}, 'care_cost_inflation': {'type': 'number'}, 'care_duration_years': {'type': 'integer'}, 'policy_benefit_years': {'type': 'integer'}, 'policy_annual_benefit': {'type': 'number'}, 'annual_care_cost_today': {'type': 'number'}, 'policy_benefit_inflation': {'type': 'number'}}, 'additionalProperties': False}
ira_eligibility
Ira eligibility. Numeratica POST /v1/ira-eligibility — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'age': {'type': 'integer'}, 'magi': {'type': 'number'}, 'tax_year': {'type': 'integer'}, 'compensation': {'type': 'number'}, 'filing_status': {'type': 'string'}, 'spouse_covered': {'type': 'boolean'}, 'elective_deferral': {'type': 'number'}, 'employer_contributions': {'type': 'number'}, 'covered_by_workplace_plan': {'type': 'boolean'}, 'plan_allows_mega_backdoor': {'type': 'boolean'}}, 'additionalProperties': False}
loan_amortization
Loan amortization. Numeratica POST /v1/loan/amortization — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'principal': {'type': 'number'}, 'annual_rate': {'type': 'number'}, 'term_months': {'type': 'integer'}, 'include_schedule': {'type': 'boolean'}, 'extra_monthly_payment': {'type': 'number'}}, 'additionalProperties': False}
longevity
Longevity. Numeratica POST /v1/longevity — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'age': {'type': 'integer'}, 'sex': {'type': 'string'}, 'second_age': {'type': 'integer'}, 'second_sex': {'type': 'string'}, 'health_adjustment': {'type': 'number'}, 'second_health_adjustment': {'type': 'number'}}, 'additionalProperties': False}
medicare_irmaa
Medicare IRMAA: Part B and Part D income-related monthly adjustment by tier, plus headroom to the next tier. MAGI uses the 2-year lookback; filing_status is single/mfj/mfs.
Input schema
{'type': 'object', 'properties': {'magi': {'type': 'number'}, 'irmaa_year': {'type': 'integer'}, 'filing_status': {'type': 'string'}}, 'additionalProperties': False}
medicare_late_enrollment_penalty
Medicare late enrollment penalty. Numeratica POST /v1/medicare/late-enrollment-penalty — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'year': {'type': 'integer'}, 'projection_years': {'type': 'integer'}, 'part_b_months_late': {'type': 'integer'}, 'part_d_months_late': {'type': 'integer'}}, 'additionalProperties': False}
mortgage_affordability
Mortgage affordability. Numeratica POST /v1/mortgage/affordability — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'pmi_rate': {'type': 'number'}, 'hoa_monthly': {'type': 'number'}, 'term_months': {'type': 'integer'}, 'back_end_dti': {'type': 'number'}, 'down_payment': {'type': 'number'}, 'annual_income': {'type': 'number'}, 'front_end_dti': {'type': 'number'}, 'interest_rate': {'type': 'number'}, 'monthly_debts': {'type': 'number'}, 'insurance_rate': {'type': 'number'}, 'property_tax_rate': {'type': 'number'}}, 'additionalProperties': False}
mortgage_points
Mortgage points. Numeratica POST /v1/mortgage/points — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'points': {'type': 'number'}, 'base_rate': {'type': 'number'}, 'loan_amount': {'type': 'number'}, 'term_months': {'type': 'integer'}, 'buydown_rate': {'type': 'number'}}, 'additionalProperties': False}
mortgage_refinance
Mortgage refinance. Numeratica POST /v1/mortgage/refinance — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'new_rate': {'type': 'number'}, 'current_rate': {'type': 'number'}, 'closing_costs': {'type': 'number'}, 'current_balance': {'type': 'number'}, 'new_term_months': {'type': 'integer'}, 'roll_in_closing_costs': {'type': 'boolean'}, 'current_remaining_months': {'type': 'integer'}}, 'additionalProperties': False}
mortgage_rent_vs_buy
Mortgage rent vs buy. Numeratica POST /v1/mortgage/rent-vs-buy — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'inflation': {'type': 'number'}, 'home_price': {'type': 'number'}, 'hoa_monthly': {'type': 'number'}, 'rent_growth': {'type': 'number'}, 'down_payment': {'type': 'number'}, 'monthly_rent': {'type': 'number'}, 'mortgage_rate': {'type': 'number'}, 'insurance_rate': {'type': 'number'}, 'loan_term_months': {'type': 'integer'}, 'maintenance_rate': {'type': 'number'}, 'closing_cost_rate': {'type': 'number'}, 'home_appreciation': {'type': 'number'}, 'investment_return': {'type': 'number'}, 'property_tax_rate': {'type': 'number'}, 'selling_cost_rate': {'type': 'number'}, 'holding_period_months': {'type': 'integer'}, 'renters_insurance_monthly': {'type': 'number'}}, 'additionalProperties': False}
mortgage_term_comparison
Mortgage term comparison. Numeratica POST /v1/mortgage/term-comparison — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'long_rate': {'type': 'number'}, 'short_rate': {'type': 'number'}, 'loan_amount': {'type': 'number'}, 'long_term_months': {'type': 'integer'}, 'investment_return': {'type': 'number'}, 'short_term_months': {'type': 'integer'}}, 'additionalProperties': False}
pension_lump_sum_vs_annuity
Pension lump sum vs annuity. Numeratica POST /v1/pension/lump-sum-vs-annuity — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'end_age': {'type': 'integer'}, 'cola_rate': {'type': 'number'}, 'current_age': {'type': 'integer'}, 'survivor_pct': {'type': 'number'}, 'discount_rate': {'type': 'number'}, 'lump_sum_offer': {'type': 'number'}, 'monthly_pension': {'type': 'number'}, 'survivor_end_age': {'type': 'integer'}}, 'additionalProperties': False}
portfolio_glidepath
Portfolio glidepath. Numeratica POST /v1/portfolio/glidepath — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'method': {'type': 'string'}, 'end_age': {'type': 'integer'}, 'final_age': {'type': 'integer'}, 'rule_base': {'type': 'number'}, 'end_equity': {'type': 'number'}, 'glide_type': {'type': 'string'}, 'current_age': {'type': 'integer'}, 'equity_floor': {'type': 'number'}, 'final_equity': {'type': 'number'}, 'start_equity': {'type': 'number'}, 'equity_ceiling': {'type': 'number'}, 'retirement_age': {'type': 'integer'}}, 'additionalProperties': False}
portfolio_rebalance
Portfolio rebalance. Numeratica POST /v1/portfolio/rebalance — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'band': {'type': 'number'}, 'holdings': {'type': 'array', 'items': {'type': 'object', 'properties': {'label': {'type': 'string'}, 'value': {'type': 'number'}, 'cost_basis': {'type': 'number'}, 'target_weight': {'type': 'number'}}, 'additionalProperties': False}}, 'tax_aware': {'type': 'boolean'}, 'withdrawal': {'type': 'number'}, 'new_contribution': {'type': 'number'}}, 'additionalProperties': False}
retirement_accumulation_projection
Retirement accumulation projection. Numeratica POST /v1/retirement/accumulation-projection — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'seed': {'type': 'integer'}, 'years': {'type': 'integer'}, 'accounts': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'receives_match': {'type': 'boolean'}, 'current_balance': {'type': 'number'}, 'contribution_cap': {'type': 'number'}, 'annual_contribution': {'type': 'number'}}, 'additionalProperties': False}}, 'inflation': {'type': 'number'}, 'glide_path': {'type': 'array', 'items': {'type': 'object', 'properties': {'age': {'type': 'integer'}, 'expected_return': {'type': 'number'}, 'return_volatility': {'type': 'number'}}, 'additionalProperties': False}}, 'current_age': {'type': 'integer'}, 'annual_fee_rate': {'type': 'number'}, 'escalation_rate': {'type': 'number'}, 'expected_return': {'type': 'number'}, 'num_simulations': {'type': 'integer'}, 'return_volatility': {'type': 'number'}, 'employer_match_rate': {'type': 'number'}, 'employer_match_limit': {'type': 'number'}}, 'additionalProperties': False}
retirement_backdoor_roth
Retirement backdoor roth. Numeratica POST /v1/retirement/backdoor-roth — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'age': {'type': 'integer'}, 'tax_year': {'type': 'integer'}, 'filing_status': {'type': 'string'}, 'existing_basis': {'type': 'number'}, 'conversion_amount': {'type': 'number'}, 'elective_deferrals': {'type': 'number'}, 'pretax_ira_balance': {'type': 'number'}, 'plan_after_tax_limit': {'type': 'number'}, 'employer_contributions': {'type': 'number'}, 'nondeductible_contribution': {'type': 'number'}}, 'additionalProperties': False}
retirement_hsa
Retirement hsa. Numeratica POST /v1/retirement/hsa — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'age': {'type': 'integer'}, 'years': {'type': 'integer'}, 'coverage': {'type': 'string'}, 'tax_year': {'type': 'integer'}, 'marginal_rate': {'type': 'number'}, 'current_balance': {'type': 'number'}, 'expected_return': {'type': 'number'}, 'months_eligible': {'type': 'integer'}, 'annual_contribution': {'type': 'number'}, 'use_last_month_rule': {'type': 'boolean'}}, 'additionalProperties': False}
retirement_monte_carlo
Monte Carlo retirement projection: probability of not running out of money over a horizon, with percentile balance bands. Deterministic given a seed (returned in the result).
Input schema
{'type': 'object', 'properties': {'seed': {'type': 'integer'}, 'assets': {'type': 'array', 'items': {'type': 'object', 'properties': {'class': {'type': 'string'}, 'weight': {'type': 'number'}, 'expected_return': {'type': 'number'}, 'return_volatility': {'type': 'number'}}, 'additionalProperties': False}}, 'end_age': {'type': 'integer'}, 'inflation': {'type': 'number'}, 'rebalance': {'type': 'boolean'}, 'glide_path': {'type': 'array', 'items': {'type': 'object', 'properties': {'age': {'type': 'integer'}, 'expected_return': {'type': 'number'}, 'return_volatility': {'type': 'number'}}, 'additionalProperties': False}}, 'current_age': {'type': 'integer'}, 'correlations': {'type': 'array', 'items': {'type': 'array', 'items': {'type': 'number'}}}, 'spending_rule': {'type': 'object', 'properties': {'cut': {'type': 'number'}, 'type': {'type': 'string'}, 'raise': {'type': 'number'}, 'guard_lower': {'type': 'number'}, 'guard_upper': {'type': 'number'}, 'initial_rate': {'type': 'number'}, 'final_years_frozen': {'type': 'integer'}}, 'additionalProperties': False}, 'retirement_age': {'type': 'integer'}, 'annual_fee_rate': {'type': 'number'}, 'annual_spending': {'type': 'number'}, 'current_balance': {'type': 'number'}, 'expected_return': {'type': 'number'}, 'num_simulations': {'type': 'integer'}, 'guaranteed_income': {'type': 'array', 'items': {'type': 'object', 'properties': {'cola': {'type': 'boolean'}, 'end_age': {'type': 'integer'}, 'start_age': {'type': 'integer'}, 'annual_amount': {'type': 'number'}}, 'additionalProperties': False}}, 'return_volatility': {'type': 'number'}, 'annual_contribution': {'type': 'number'}}, 'additionalProperties': False}
retirement_qlac
Retirement qlac. Numeratica POST /v1/retirement/qlac — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'age': {'type': 'integer'}, 'sex': {'type': 'string'}, 'tax_year': {'type': 'integer'}, 'start_age': {'type': 'integer'}, 'birth_year': {'type': 'integer'}, 'assumed_rate': {'type': 'number'}, 'qlac_premium': {'type': 'number'}, 'account_balance': {'type': 'number'}}, 'additionalProperties': False}
retirement_rmd
Required Minimum Distribution: prior-year-end balance divided by the IRS distribution period. Uniform Lifetime by default; Single Life (inherited/beneficiary) via table=single.
Input schema
{'type': 'object', 'properties': {'age': {'type': 'integer'}, 'table': {'type': 'string'}, 'birth_year': {'type': 'integer'}, 'second_age': {'type': 'integer'}, 'account_balance': {'type': 'number'}}, 'additionalProperties': False}
retirement_savings_target
Retirement savings target. Numeratica POST /v1/retirement/savings-target — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'seed': {'type': 'integer'}, 'end_age': {'type': 'integer'}, 'inflation': {'type': 'number'}, 'current_age': {'type': 'integer'}, 'other_income': {'type': 'number'}, 'retirement_age': {'type': 'integer'}, 'annual_fee_rate': {'type': 'number'}, 'current_savings': {'type': 'number'}, 'expected_return': {'type': 'number'}, 'num_simulations': {'type': 'integer'}, 'withdrawal_rate': {'type': 'number'}, 'return_volatility': {'type': 'number'}, 'target_annual_income': {'type': 'number'}, 'success_probability_target': {'type': 'number'}}, 'additionalProperties': False}
retirement_self_employed
Retirement self employed. Numeratica POST /v1/retirement/self-employed — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'age': {'type': 'integer'}, 'tax_year': {'type': 'integer'}, 'net_profit': {'type': 'number'}, 'existing_w2_deferrals': {'type': 'number'}}, 'additionalProperties': False}
retirement_sepp
Retirement sepp. Numeratica POST /v1/retirement/sepp — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'age': {'type': 'integer'}, 'interest_rate': {'type': 'number'}, 'account_balance': {'type': 'number'}}, 'additionalProperties': False}
retirement_survivor_scenario
Retirement survivor scenario. Numeratica POST /v1/retirement/survivor-scenario — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'spouse_a': {'type': 'object', 'properties': {'other_income': {'type': 'number'}, 'social_security': {'type': 'number'}}, 'additionalProperties': False}, 'spouse_b': {'type': 'object', 'properties': {'other_income': {'type': 'number'}, 'social_security': {'type': 'number'}}, 'additionalProperties': False}, 'tax_year': {'type': 'integer'}, 'on_medicare': {'type': 'boolean'}, 'deceased_spouse': {'type': 'string'}, 'shared_ordinary_income': {'type': 'number'}}, 'additionalProperties': False}
retirement_withdrawal_sequencing
Retirement withdrawal sequencing. Numeratica POST /v1/retirement/withdrawal-sequencing — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'age': {'type': 'integer'}, 'strategy': {'type': 'string'}, 'tax_year': {'type': 'integer'}, 'birth_year': {'type': 'integer'}, 'filing_status': {'type': 'string'}, 'spending_need': {'type': 'number'}, 'state_tax_rate': {'type': 'number'}, 'bracket_ceiling': {'type': 'number'}, 'taxable_balance': {'type': 'number'}, 'tax_free_balance': {'type': 'number'}, 'tax_deferred_balance': {'type': 'number'}, 'other_ordinary_income': {'type': 'number'}, 'other_qualified_income': {'type': 'number'}, 'taxable_cost_basis_fraction': {'type': 'number'}}, 'additionalProperties': False}
retirement_withdrawal_strategy
Dynamic retirement spending strategies over Monte Carlo paths: fixed_real, fixed_pct, guardrails (Guyton-Klinger), vpw, floor_and_ceiling. Returns the spending path, success probability, and ending bands.
Input schema
{'type': 'object', 'properties': {'seed': {'type': 'integer'}, 'end_age': {'type': 'integer'}, 'strategy': {'type': 'string'}, 'inflation': {'type': 'number'}, 'floor_mult': {'type': 'number'}, 'glide_path': {'type': 'array', 'items': {'type': 'object', 'properties': {'age': {'type': 'integer'}, 'expected_return': {'type': 'number'}, 'return_volatility': {'type': 'number'}}, 'additionalProperties': False}}, 'current_age': {'type': 'integer'}, 'guard_width': {'type': 'number'}, 'ceiling_mult': {'type': 'number'}, 'guard_adjust': {'type': 'number'}, 'initial_rate': {'type': 'number'}, 'annual_fee_rate': {'type': 'number'}, 'current_balance': {'type': 'number'}, 'expected_return': {'type': 'number'}, 'num_simulations': {'type': 'integer'}, 'vpw_real_return': {'type': 'number'}, 'return_volatility': {'type': 'number'}}, 'additionalProperties': False}
roth_conversion
Multi-year Roth conversion ladder (bracket-fill, IRMAA-aware) vs. a no-conversion baseline, with a year-by-year schedule and after-tax comparison. Optional pay-tax-from-external-funds.
Input schema
{'type': 'object', 'properties': {'end_age': {'type': 'integer'}, 'tax_year': {'type': 'integer'}, 'birth_year': {'type': 'integer'}, 'current_age': {'type': 'integer'}, 'roth_balance': {'type': 'number'}, 'annual_return': {'type': 'number'}, 'filing_status': {'type': 'string'}, 'irmaa_tier_cap': {'type': 'integer'}, 'state_tax_rate': {'type': 'number'}, 'target_bracket': {'type': 'number'}, 'external_return': {'type': 'number'}, 'conversion_end_age': {'type': 'integer'}, 'tax_deferred_balance': {'type': 'number'}, 'other_ordinary_income': {'type': 'number'}, 'pay_tax_from_external': {'type': 'boolean'}, 'external_taxable_balance': {'type': 'number'}}, 'additionalProperties': False}
roth_vs_traditional
Roth vs traditional. Numeratica POST /v1/roth-vs-traditional — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'years': {'type': 'integer'}, 'expected_return': {'type': 'number'}, 'capital_gains_rate': {'type': 'number'}, 'invest_tax_savings': {'type': 'boolean'}, 'annual_contribution': {'type': 'number'}, 'current_marginal_rate': {'type': 'number'}, 'retirement_marginal_rate': {'type': 'number'}}, 'additionalProperties': False}
savings_waterfall
Savings waterfall. Numeratica POST /v1/savings-waterfall — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'age': {'type': 'integer'}, 'magi': {'type': 'number'}, 'tax_year': {'type': 'integer'}, 'compensation': {'type': 'number'}, 'hsa_coverage': {'type': 'string'}, 'filing_status': {'type': 'string'}, 'annual_savings': {'type': 'number'}, 'prior_year_wages': {'type': 'number'}, 'employer_match_rate': {'type': 'number'}, 'employer_match_cap_pct': {'type': 'number'}, 'covered_by_workplace_plan': {'type': 'boolean'}}, 'additionalProperties': False}
social_security
Social Security claiming analysis (ages 62-70): monthly/lifetime benefit, breakeven, optimal claim age. Optional earnings test, spousal/survivor/divorced household, and COLA.
Input schema
{'type': 'object', 'properties': {'spouse': {'type': 'object', 'properties': {'divorced': {'type': 'boolean'}, 'claim_age': {'type': 'integer'}, 'birth_year': {'type': 'integer'}, 'pia_monthly': {'type': 'number'}}, 'additionalProperties': False}, 'claim_age': {'type': 'integer'}, 'cola_rate': {'type': 'number'}, 'birth_year': {'type': 'integer'}, 'pia_monthly': {'type': 'number'}, 'discount_rate': {'type': 'number'}, 'longevity_age': {'type': 'integer'}, 'annual_earnings': {'type': 'number'}, 'earnings_test_year': {'type': 'integer'}, 'survivor_claim_age': {'type': 'integer'}}, 'additionalProperties': False}
social_security_couple_claim
Social security couple claim. Numeratica POST /v1/social-security/couple-claim — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'spouse_a': {'type': 'object', 'properties': {'sex': {'type': 'string'}, 'birth_year': {'type': 'integer'}, 'current_age': {'type': 'integer'}, 'pia_monthly': {'type': 'number'}, 'health_adjustment': {'type': 'number'}}, 'additionalProperties': False}, 'spouse_b': {'type': 'object', 'properties': {'sex': {'type': 'string'}, 'birth_year': {'type': 'integer'}, 'current_age': {'type': 'integer'}, 'pia_monthly': {'type': 'number'}, 'health_adjustment': {'type': 'number'}}, 'additionalProperties': False}, 'discount_rate': {'type': 'number'}}, 'additionalProperties': False}
tax_asset_location
Tax asset location. Numeratica POST /v1/tax/asset-location — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'assets': {'type': 'array', 'items': {'type': 'object', 'properties': {'name': {'type': 'string'}, 'yield': {'type': 'number'}, 'amount': {'type': 'number'}, 'turnover': {'type': 'number'}, 'qualified_pct': {'type': 'number'}, 'expected_return': {'type': 'number'}}, 'additionalProperties': False}}, 'tax_year': {'type': 'integer'}, 'filing_status': {'type': 'string'}, 'taxable_income': {'type': 'number'}, 'taxable_balance': {'type': 'number'}, 'tax_advantaged_balance': {'type': 'number'}}, 'additionalProperties': False}
tax_bracket_room
Tax bracket room. Numeratica POST /v1/tax/bracket-room — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'tax_year': {'type': 'integer'}, 'filing_status': {'type': 'string'}, 'taxable_income': {'type': 'number'}}, 'additionalProperties': False}
tax_estimate
Federal income tax estimate (2025/2026): ordinary brackets, standard/itemized deduction, LTCG stacking, NIIT, Additional Medicare; optional AMT (include_amt) and real per-state tax via the state field. filing_status is one of single/mfj/mfs/hoh.
Input schema
{'type': 'object', 'properties': {'qbi': {'type': 'number'}, 'state': {'type': 'string'}, 'wages': {'type': 'number'}, 'qbi_ubia': {'type': 'number'}, 'tax_year': {'type': 'integer'}, 'salt_paid': {'type': 'number'}, 'include_amt': {'type': 'boolean'}, 'include_qbi': {'type': 'boolean'}, 'qbi_is_sstb': {'type': 'boolean'}, 'llc_expenses': {'type': 'number'}, 'qbi_w2_wages': {'type': 'number'}, 'senior_count': {'type': 'integer'}, 'filing_status': {'type': 'string'}, 'force_itemize': {'type': 'boolean'}, 'state_tax_rate': {'type': 'number'}, 'include_credits': {'type': 'boolean'}, 'ordinary_income': {'type': 'number'}, 'aged_blind_count': {'type': 'integer'}, 'other_dependents': {'type': 'integer'}, 'qualified_income': {'type': 'number'}, 'adoption_expenses': {'type': 'number'}, 'itemized_deductions': {'type': 'number'}, 'qualifying_children': {'type': 'integer'}, 'amt_preference_items': {'type': 'number'}, 'dependent_care_count': {'type': 'integer'}, 'state_taxable_income': {'type': 'number'}, 'aotc_student_expenses': {'type': 'array', 'items': {'type': 'number'}}, 'net_investment_income': {'type': 'number'}, 'adoption_special_needs': {'type': 'boolean'}, 'include_itemized_limit': {'type': 'boolean'}, 'qbi_reit_ptp_dividends': {'type': 'number'}, 'social_security_income': {'type': 'number'}, 'dependent_care_expenses': {'type': 'number'}, 'charitable_contributions': {'type': 'number'}, 'eitc_qualifying_children': {'type': 'integer'}, 'retirement_contributions': {'type': 'number'}}, 'additionalProperties': False}
tax_estimated_tax
Tax estimated tax. Numeratica POST /v1/tax/estimated-tax — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'tax_year': {'type': 'integer'}, 'withholding': {'type': 'number'}, 'filing_status': {'type': 'string'}, 'prior_year_agi': {'type': 'number'}, 'prior_year_tax': {'type': 'number'}, 'underpayment_rate': {'type': 'number'}, 'estimated_payments': {'type': 'array', 'items': {'type': 'number'}}, 'projected_current_tax': {'type': 'number'}}, 'additionalProperties': False}
tax_filing_status
Tax filing status. Numeratica POST /v1/tax/filing-status — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'spouse_a': {'type': 'object', 'properties': {'wages': {'type': 'number'}, 'ordinary_income': {'type': 'number'}, 'qualified_income': {'type': 'number'}, 'itemized_deductions': {'type': 'number'}}, 'additionalProperties': False}, 'spouse_b': {'type': 'object', 'properties': {'wages': {'type': 'number'}, 'ordinary_income': {'type': 'number'}, 'qualified_income': {'type': 'number'}, 'itemized_deductions': {'type': 'number'}}, 'additionalProperties': False}, 'tax_year': {'type': 'integer'}}, 'additionalProperties': False}
tax_gain_harvesting
Tax gain harvesting. Numeratica POST /v1/tax/gain-harvesting — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'magi': {'type': 'number'}, 'tax_year': {'type': 'integer'}, 'filing_status': {'type': 'string'}, 'realize_amount': {'type': 'number'}, 'taxable_income': {'type': 'number'}}, 'additionalProperties': False}
tax_liquidation_schedule
Tax liquidation schedule. Numeratica POST /v1/tax/liquidation-schedule — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'tax_year': {'type': 'integer'}, 'objective': {'type': 'string'}, 'cost_basis': {'type': 'number'}, 'other_ltcg': {'type': 'number'}, 'growth_rate': {'type': 'number'}, 'market_value': {'type': 'number'}, 'filing_status': {'type': 'string'}, 'horizon_years': {'type': 'integer'}, 'state_tax_rate': {'type': 'number'}, 'max_annual_gain': {'type': 'number'}, 'other_ordinary_income': {'type': 'number'}}, 'additionalProperties': False}
tax_marginal_map
Tax marginal map. Numeratica POST /v1/tax/marginal-map — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'state': {'type': 'string'}, 'tax_year': {'type': 'integer'}, 'sweep_step': {'type': 'number'}, 'sweep_stop': {'type': 'number'}, 'include_aca': {'type': 'boolean'}, 'sweep_start': {'type': 'number'}, 'filing_status': {'type': 'string'}, 'include_irmaa': {'type': 'boolean'}, 'household_size': {'type': 'integer'}, 'sweep_variable': {'type': 'string'}, 'ordinary_income': {'type': 'number'}, 'qualified_income': {'type': 'number'}, 'tax_exempt_interest': {'type': 'number'}, 'medicare_beneficiaries': {'type': 'integer'}, 'benchmark_annual_premium': {'type': 'number'}, 'social_security_benefits': {'type': 'number'}}, 'additionalProperties': False}
tax_qcd_plan
Tax qcd plan. Numeratica POST /v1/tax/qcd-plan — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'age': {'type': 'integer'}, 'tax_year': {'type': 'integer'}, 'birth_year': {'type': 'integer'}, 'ira_balance': {'type': 'number'}, 'filing_status': {'type': 'string'}, 'intended_gift': {'type': 'number'}, 'other_itemized': {'type': 'number'}, 'ordinary_income': {'type': 'number'}, 'qualified_income': {'type': 'number'}, 'tax_exempt_interest': {'type': 'number'}, 'medicare_beneficiaries': {'type': 'integer'}, 'social_security_benefits': {'type': 'number'}}, 'additionalProperties': False}
tax_qsbs_exclusion
Tax qsbs exclusion. Numeratica POST /v1/tax/qsbs-exclusion — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'gain': {'type': 'number'}, 'basis': {'type': 'number'}, 'tax_year': {'type': 'integer'}, 'other_income': {'type': 'number'}, 'filing_status': {'type': 'string'}, 'acquisition_date': {'type': 'string'}, 'holding_period_years': {'type': 'number'}, 'gross_assets_at_issuance': {'type': 'number'}}, 'additionalProperties': False}
tax_s_corp_salary
Tax s corp salary. Numeratica POST /v1/tax/s-corp-salary — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'sstb': {'type': 'boolean'}, 'ubia': {'type': 'number'}, 'tax_year': {'type': 'integer'}, 'max_salary': {'type': 'number'}, 'other_income': {'type': 'number'}, 'filing_status': {'type': 'string'}, 'state_tax_rate': {'type': 'number'}, 'business_net_income': {'type': 'number'}, 'reasonable_comp_floor': {'type': 'number'}}, 'additionalProperties': False}
tax_social_security_benefits
Tax social security benefits. Numeratica POST /v1/tax/social-security-benefits — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'other_income': {'type': 'number'}, 'filing_status': {'type': 'string'}, 'tax_exempt_interest': {'type': 'number'}, 'marginal_ordinary_rate': {'type': 'number'}, 'social_security_benefits': {'type': 'number'}}, 'additionalProperties': False}
tax_state_income
Tax state income. Numeratica POST /v1/tax/state-income — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'age': {'type': 'integer'}, 'state': {'type': 'string'}, 'tax_year': {'type': 'integer'}, 'filing_status': {'type': 'string'}, 'pension_income': {'type': 'number'}, 'state_taxable_income': {'type': 'number'}, 'social_security_income': {'type': 'number'}}, 'additionalProperties': False}
tax_survivor_transition
Tax survivor transition. Numeratica POST /v1/tax/survivor-transition — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'tax_year': {'type': 'integer'}, 'ordinary_income': {'type': 'number'}, 'qualified_income': {'type': 'number'}, 'conversion_amount': {'type': 'number'}, 'tax_exempt_interest': {'type': 'number'}, 'social_security_lower': {'type': 'number'}, 'social_security_higher': {'type': 'number'}, 'survivor_ordinary_income': {'type': 'number'}}, 'additionalProperties': False}
tax_tlh_benefit
Tax tlh benefit. Numeratica POST /v1/tax/tlh-benefit — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'tax_year': {'type': 'integer'}, 'growth_rate': {'type': 'number'}, 'filing_status': {'type': 'string'}, 'taxable_income': {'type': 'number'}, 'harvestable_loss': {'type': 'number'}, 'offsettable_gains': {'type': 'number'}, 'reinvestment_years': {'type': 'number'}}, 'additionalProperties': False}
tax_w4_checkup
Tax w4 checkup. Numeratica POST /v1/tax/w4-checkup — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'tax': {'type': 'object', 'properties': {'qbi': {'type': 'number'}, 'wages': {'type': 'number'}, 'qbi_ubia': {'type': 'number'}, 'tax_year': {'type': 'integer'}, 'salt_paid': {'type': 'number'}, 'include_amt': {'type': 'boolean'}, 'include_qbi': {'type': 'boolean'}, 'qbi_is_sstb': {'type': 'boolean'}, 'llc_expenses': {'type': 'number'}, 'qbi_w2_wages': {'type': 'number'}, 'senior_count': {'type': 'integer'}, 'filing_status': {'type': 'string'}, 'force_itemize': {'type': 'boolean'}, 'state_tax_rate': {'type': 'number'}, 'include_credits': {'type': 'boolean'}, 'ordinary_income': {'type': 'number'}, 'aged_blind_count': {'type': 'integer'}, 'other_dependents': {'type': 'integer'}, 'qualified_income': {'type': 'number'}, 'adoption_expenses': {'type': 'number'}, 'itemized_deductions': {'type': 'number'}, 'qualifying_children': {'type': 'integer'}, 'amt_preference_items': {'type': 'number'}, 'dependent_care_count': {'type': 'integer'}, 'aotc_student_expenses': {'type': 'array', 'items': {'type': 'number'}}, 'net_investment_income': {'type': 'number'}, 'adoption_special_needs': {'type': 'boolean'}, 'include_itemized_limit': {'type': 'boolean'}, 'qbi_reit_ptp_dividends': {'type': 'number'}, 'dependent_care_expenses': {'type': 'number'}, 'charitable_contributions': {'type': 'number'}, 'eitc_qualifying_children': {'type': 'integer'}, 'retirement_contributions': {'type': 'number'}}, 'additionalProperties': False}, 'ytd_withheld': {'type': 'number'}, 'prior_year_agi': {'type': 'number'}, 'prior_year_tax': {'type': 'number'}, 'pay_periods_remaining': {'type': 'integer'}, 'per_paycheck_withholding': {'type': 'number'}}, 'additionalProperties': False}
tvm
Tvm. Numeratica POST /v1/tvm — returns JSON with result_id, engine_version, and a not-advice disclaimer (seed echoed for reproducible Monte Carlo where applicable). See the input schema for the accepted fields.
Input schema
{'type': 'object', 'properties': {'fv': {'type': 'number'}, 'pv': {'type': 'number'}, 'pmt': {'type': 'number'}, 'nper': {'type': 'number'}, 'rate': {'type': 'number'}, 'solve_for': {'type': 'string'}, 'payments_at_beginning': {'type': 'boolean'}}, 'additionalProperties': False}
Added
tvm
Sept. 17, 2026, 12:36 p.m.
Added
tax_w4_checkup
Sept. 17, 2026, 12:36 p.m.
Added
tax_tlh_benefit
Sept. 17, 2026, 12:36 p.m.
Added
tax_survivor_transition
Sept. 17, 2026, 12:36 p.m.
Added
tax_state_income
Sept. 17, 2026, 12:36 p.m.
Added
tax_social_security_benefits
Sept. 17, 2026, 12:36 p.m.
Added
tax_s_corp_salary
Sept. 17, 2026, 12:36 p.m.
Added
tax_qsbs_exclusion
Sept. 17, 2026, 12:36 p.m.
Added
tax_qcd_plan
Sept. 17, 2026, 12:36 p.m.
Added
tax_marginal_map
Sept. 17, 2026, 12:36 p.m.
Added
tax_liquidation_schedule
Sept. 17, 2026, 12:36 p.m.
Added
tax_gain_harvesting
Sept. 17, 2026, 12:36 p.m.
Added
tax_filing_status
Sept. 17, 2026, 12:36 p.m.
Added
tax_estimated_tax
Sept. 17, 2026, 12:36 p.m.
Added
tax_estimate
Sept. 17, 2026, 12:36 p.m.
Added
tax_bracket_room
Sept. 17, 2026, 12:36 p.m.
Added
tax_asset_location
Sept. 17, 2026, 12:36 p.m.
Added
social_security_couple_claim
Sept. 17, 2026, 12:36 p.m.
Added
social_security
Sept. 17, 2026, 12:36 p.m.
Added
savings_waterfall
Sept. 17, 2026, 12:36 p.m.
Added
roth_vs_traditional
Sept. 17, 2026, 12:36 p.m.
Added
roth_conversion
Sept. 17, 2026, 12:36 p.m.
Added
retirement_withdrawal_strategy
Sept. 17, 2026, 12:36 p.m.
Added
retirement_withdrawal_sequencing
Sept. 17, 2026, 12:36 p.m.
Added
retirement_survivor_scenario
Sept. 17, 2026, 12:36 p.m.
Added
retirement_sepp
Sept. 17, 2026, 12:36 p.m.
Added
retirement_self_employed
Sept. 17, 2026, 12:36 p.m.
Added
retirement_savings_target
Sept. 17, 2026, 12:36 p.m.
Added
retirement_rmd
Sept. 17, 2026, 12:36 p.m.
Added
retirement_qlac
Sept. 17, 2026, 12:36 p.m.