{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://quantcalc.app/docs/federal-tax/federal-tax-api-schema.json","title":"QuantCalc federal income tax API","description":"POST /api/federal-tax: validate a request against #/$defs/request; a 200 body has the shape of #/$defs/response and a 400 body that of #/$defs/error. Generated from the request parser's field table. Keys are matched case-insensitively by the API; this schema lists the documented spellings. Checks that relate two fields (spouseAge with filingStatus mfj) are listed under x-errors with the exact 400 message. Reference: https://quantcalc.app/docs/federal-tax/api/","engineVersion":"2.6.2","taxYear":2026,"$defs":{"request":{"type":"object","description":"The request body: one federal return, of tax year 2026 unless taxYear says 2025. All amounts are annual US dollars. A key that is not listed here is refused with 400: the engine does not model it, and a figure that silently left it out would look complete.","properties":{"filingStatus":{"type":["string","null"],"pattern":"^(?:[sS][iI][nN][gG][lL][eE]|[mM][fF][jJ]|[mM][aA][rR][rR][iI][eE][dD]_[fF][iI][lL][iI][nN][gG]_[jJ][oO][iI][nN][tT][lL][yY]|[mM][fF][sS]|[mM][aA][rR][rR][iI][eE][dD]_[fF][iI][lL][iI][nN][gG]_[sS][eE][pP][aA][rR][aA][tT][eE][lL][yY]|[hH][oO][hH]|[hH][eE][aA][dD]_[oO][fF]_[hH][oO][uU][sS][eE][hH][oO][lL][dD]|[qQ][sS][sS]|[qQ][uU][aA][lL][iI][fF][yY][iI][nN][gG]_[sS][uU][rR][vV][iI][vV][iI][nN][gG]_[sS][pP][oO][uU][sS][eE])$","examples":["single","mfj","married_filing_jointly","mfs","married_filing_separately","hoh","head_of_household","qss","qualifying_surviving_spouse"],"description":"single, mfj or married_filing_jointly, mfs or married_filing_separately, hoh or head_of_household, qss or qualifying_surviving_spouse (any case). A qualifying surviving spouse (§2(a): the spouse died in 2024 or 2025, a dependent child lives with the filer, not remarried; the caller asserts it) files on the joint brackets and standard deduction with the single Social Security base amounts and senior-deduction threshold, and has no spouseAge.","x-whenAbsent":"single","x-relation":"The return's filing status: the brackets, the standard deduction, the thresholds.","x-limits":"One of the nine strings, any case; null = absent. Anything else: 400 naming the field."},"filing_status":{"type":["string","null"],"pattern":"^(?:[sS][iI][nN][gG][lL][eE]|[mM][fF][jJ]|[mM][aA][rR][rR][iI][eE][dD]_[fF][iI][lL][iI][nN][gG]_[jJ][oO][iI][nN][tT][lL][yY]|[mM][fF][sS]|[mM][aA][rR][rR][iI][eE][dD]_[fF][iI][lL][iI][nN][gG]_[sS][eE][pP][aA][rR][aA][tT][eE][lL][yY]|[hH][oO][hH]|[hH][eE][aA][dD]_[oO][fF]_[hH][oO][uU][sS][eE][hH][oO][lL][dD]|[qQ][sS][sS]|[qQ][uU][aA][lL][iI][fF][yY][iI][nN][gG]_[sS][uU][rR][vV][iI][vV][iI][nN][gG]_[sS][pP][oO][uU][sS][eE])$","examples":["single","mfj","married_filing_jointly","mfs","married_filing_separately","hoh","head_of_household","qss","qualifying_surviving_spouse"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"single","x-relation":"The return's filing status: the brackets, the standard deduction, the thresholds.","x-limits":"One of the nine strings, any case; null = absent. Anything else: 400 naming the field."},"age":{"type":"integer","minimum":0,"maximum":120,"description":"The age the filer reaches in 2026 (the age clock: the birth year is 2026 minus age). The §72(t) additional tax applies through the year the filer reaches 59 (with birthMonth, only to the part of the year before 59½); the §63(f) aged amount and the senior deduction from the year the filer reaches 65.","x-whenAbsent":"(none: 400)","x-relation":"The primary filer (the owner of iraDistributions).","x-limits":"Whole number 0 to 120. Absent: 400 \"age is required\"."},"spouseAge":{"type":["integer","null"],"minimum":1,"maximum":120,"description":"The spouse's age at the end of 2026, on a joint return: a spouse 65 or older adds the §63(f) married amount and their own senior deduction.","x-whenAbsent":"(none: 400 on a joint return)","x-relation":"Joint returns only.","x-limits":"Whole number 1 to 120. Required when filingStatus is mfj; refused on any other status."},"spouse_age":{"type":["integer","null"],"minimum":1,"maximum":120,"description":"The same field under its snake_case spelling.","x-whenAbsent":"(none: 400 on a joint return)","x-relation":"Joint returns only.","x-limits":"Whole number 1 to 120. Required when filingStatus is mfj; refused on any other status."},"mfsLivedApart":{"type":["boolean","null"],"description":"true: a separate filer who lived apart from the spouse all year, so the Social Security test uses the single base amounts ($25,000 and $34,000) instead of $0 (Pub 915).","x-whenAbsent":"false","x-relation":"Separate returns only.","x-limits":"true or false; null = absent. true on any other status: 400."},"mfs_lived_apart":{"type":["boolean","null"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"false","x-relation":"Separate returns only.","x-limits":"true or false; null = absent. true on any other status: 400."},"iraDistributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Taxable distributions from traditional IRAs and employer plans (Form 1040 line 4b). The §72(t) additional tax applies to them by the filer's age.","x-whenAbsent":"0","x-relation":"Component: added to income once. Does not contain rothConversion.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"ira_distributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Component: added to income once. Does not contain rothConversion.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"rothConversion":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Amounts converted from a traditional account to a Roth IRA this year: ordinary income on line 4b, never charged the §72(t) additional tax.","x-whenAbsent":"0","x-relation":"Component: added to income once. Not part of iraDistributions.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"roth_conversion":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Component: added to income once. Not part of iraDistributions.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"pension":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Taxable pension and annuity income (Form 1040 line 5b), including Railroad Retirement Tier 2.","x-whenAbsent":"0","x-relation":"Component: added to income once.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"otherOrdinaryIncome":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Other ordinary income that is not net investment income (Form 1040 line 8). Not interest or dividends: send those as taxableInterest, ordinaryDividends and qualifiedDividends, which the NIIT counts.","x-whenAbsent":"0","x-relation":"Component: added to income once.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"other_ordinary_income":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Component: added to income once.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"shortTermGains":{"type":["number","null"],"minimum":-100000000000,"maximum":100000000000,"description":"The year's net short-term capital gain, or loss as a negative number (Schedule D line 7).","x-whenAbsent":"0","x-relation":"Component; netted against longTermGains.","x-limits":"Finite, from -$100 billion to $100 billion; null = absent. Otherwise 400 naming the field."},"short_term_gains":{"type":["number","null"],"minimum":-100000000000,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Component; netted against longTermGains.","x-limits":"Finite, from -$100 billion to $100 billion; null = absent. Otherwise 400 naming the field."},"longTermGains":{"type":["number","null"],"minimum":-100000000000,"maximum":100000000000,"description":"The year's net long-term capital gain, or loss as a negative number (Schedule D line 15).","x-whenAbsent":"0","x-relation":"Component; netted against shortTermGains.","x-limits":"Finite, from -$100 billion to $100 billion; null = absent. Otherwise 400 naming the field."},"long_term_gains":{"type":["number","null"],"minimum":-100000000000,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Component; netted against shortTermGains.","x-limits":"Finite, from -$100 billion to $100 billion; null = absent. Otherwise 400 naming the field."},"socialSecurityGross":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Gross Social Security benefits received (with any Railroad Retirement Tier 1), Form 1040 line 6a. The engine computes the taxable part.","x-whenAbsent":"0","x-relation":"Gross benefits; the taxable part (line 6b) is computed, not sent.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"social_security_gross":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Gross benefits; the taxable part (line 6b) is computed, not sent.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"taxExemptInterest":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Tax-exempt interest (Form 1040 line 2a): not taxed, but counted in provisional income for Social Security.","x-whenAbsent":"0","x-relation":"Not added to AGI.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"tax_exempt_interest":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Not added to AGI.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"includeSources":{"type":["boolean","null"],"description":"false leaves rules.sources and rules.unsourced out of the response; the result is the same.","x-whenAbsent":"true","x-relation":"Not an engine input: shapes the response only.","x-limits":"true or false; null = true. Anything else: 400."},"include_sources":{"type":["boolean","null"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"true","x-relation":"Not an engine input: shapes the response only.","x-limits":"true or false; null = true. Anything else: 400."},"birthMonth":{"type":["integer","null"],"minimum":1,"maximum":12,"description":"The filer's birth month (1 to 12). With it, the §72(t) additional tax applies only to the share of the year before 59½ (the month of 59½ counts as before it), the Roth 59½ test uses the same share, and the split-interest QCD 70½ test is exact. Without it the whole-year rules apply: the additional tax through the year the filer reaches 59. With birthDay, a January 1 birthday counts as 65 a year early for the §63(f) aged amount and the senior deduction.","x-whenAbsent":"(none: the whole-year rules)","x-relation":"The age clock: age is the age reached in 2026, so the birth year is 2026 minus age.","x-limits":"Whole number 1 to 12; null = absent."},"birth_month":{"type":["integer","null"],"minimum":1,"maximum":12,"description":"The same field under its snake_case spelling.","x-whenAbsent":"(none: the whole-year rules)","x-relation":"The age clock: age is the age reached in 2026, so the birth year is 2026 minus age.","x-limits":"Whole number 1 to 12; null = absent."},"blindCount":{"type":["integer","null"],"minimum":0,"maximum":2,"description":"How many people on the return are blind at the end of 2026 (§63(f)(2)): the filer, and on a joint return the spouse. Each adds the §63(f) amount to the standard deduction.","x-whenAbsent":"0","x-relation":"Joint returns only for 2.","x-limits":"Whole number 0 to 2; 2 needs filingStatus mfj (400 otherwise)."},"blind_count":{"type":["integer","null"],"minimum":0,"maximum":2,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Joint returns only for 2.","x-limits":"Whole number 0 to 2; 2 needs filingStatus mfj (400 otherwise)."},"saltIncomeOrSalesTax":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"State and local income tax, or general sales tax instead (Schedule A line 5a; saltSalesTaxElected says which). The income-tax share of the deducted amount is allocated to net investment income on Form 8960 line 9b.","x-whenAbsent":"0","x-relation":"Schedule A amount paid in 2026.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"salt_income_or_sales_tax":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Schedule A amount paid in 2026.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"saltRealEstateTax":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"State and local real estate tax (Schedule A line 5b).","x-whenAbsent":"0","x-relation":"Schedule A amount paid in 2026.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"salt_real_estate_tax":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Schedule A amount paid in 2026.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"saltPersonalPropertyTax":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"State and local personal property tax (Schedule A line 5c).","x-whenAbsent":"0","x-relation":"Schedule A amount paid in 2026.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"salt_personal_property_tax":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Schedule A amount paid in 2026.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"otherTaxes":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Other deductible taxes, such as foreign income tax (Schedule A line 6); not under the SALT cap.","x-whenAbsent":"0","x-relation":"Schedule A amount paid in 2026.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"other_taxes":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Schedule A amount paid in 2026.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"mortgageInterest":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Deductible home mortgage interest and points (Schedule A lines 8a to 8c), already limited to the qualified-residence debt limit.","x-whenAbsent":"0","x-relation":"Schedule A amount paid in 2026.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"mortgage_interest":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Schedule A amount paid in 2026.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"investmentInterest":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Deductible investment interest from Form 4952 (Schedule A line 9).","x-whenAbsent":"0","x-relation":"Schedule A amount paid in 2026.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"investment_interest":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Schedule A amount paid in 2026.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"charityCash":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Cash gifts to public charities (§170(b)(1)(A) organizations), including any to donor-advised funds.","x-whenAbsent":"0","x-relation":"Schedule A amount paid in 2026.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"charity_cash":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Schedule A amount paid in 2026.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"charityCashDaf":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The part of charityCash given to a donor-advised fund or a supporting organization: deductible when itemizing, not for the non-itemizer deduction.","x-whenAbsent":"0","x-relation":"Part of charityCash; cannot exceed it (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"charity_cash_daf":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Part of charityCash; cannot exceed it (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"charityCapitalGainProperty":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Fair market value of long-term capital-gain property given to public charities (the 30% limit).","x-whenAbsent":"0","x-relation":"Schedule A amount paid in 2026.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"charity_capital_gain_property":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Schedule A amount paid in 2026.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"medicalExpenses":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Unreimbursed medical and dental expenses (Schedule A line 1).","x-whenAbsent":"0","x-relation":"Schedule A amount paid in 2026.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"medical_expenses":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Schedule A amount paid in 2026.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"otherItemized":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Other itemized deductions (Schedule A line 16), with no floor or cap: send them already limited (gambling losses up to the gambling winnings). Casualty and theft losses (line 15) have no field: sent here they would skip the §165(h) floors.","x-whenAbsent":"0","x-relation":"Schedule A amount paid in 2026.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"other_itemized":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Schedule A amount paid in 2026.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"itemizeMode":{"type":["string","null"],"pattern":"^(?:[aA][uU][tT][oO]|[iI][tT][eE][mM][iI][zZ][eE]|[sS][tT][aA][nN][dD][aA][rR][dD])$","examples":["auto","itemize","standard"],"description":"auto (engine 1.5.1) figures the return both ways when Schedule A has amounts and keeps the lower total tax; on a tie (at most half a cent; engine 1.5.2) the larger deduction (Schedule A against the standard deduction plus the non-itemizer charitable deduction); the lines 1040.12e.auto_itemized_tax and auto_standard_tax state both totals. itemize elects Schedule A even when smaller (Schedule A line 18); standard never itemizes.","x-whenAbsent":"auto","x-relation":"The §63(e) election.","x-limits":"auto, itemize or standard, any case; null = absent."},"itemize_mode":{"type":["string","null"],"pattern":"^(?:[aA][uU][tT][oO]|[iI][tT][eE][mM][iI][zZ][eE]|[sS][tT][aA][nN][dD][aA][rR][dD])$","examples":["auto","itemize","standard"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"auto","x-relation":"The §63(e) election.","x-limits":"auto, itemize or standard, any case; null = absent."},"mfsSpouseItemizes":{"type":["boolean","null"],"description":"On a separate return: the spouse itemizes, so this filer's standard deduction is zero and the return itemizes (§63(c)(6)(A)).","x-whenAbsent":"false","x-relation":"filingStatus mfs only (true on another status: 400).","x-limits":"true or false; null = absent (false). Anything else: 400."},"mfs_spouse_itemizes":{"type":["boolean","null"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"false","x-relation":"filingStatus mfs only (true on another status: 400).","x-limits":"true or false; null = absent (false). Anything else: 400."},"employerPlanDistribution":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The part of iraDistributions paid by a qualified employer plan (401(k), 403(b), governmental plan), not an IRA: the only dollars the separation-from-service exception covers. Its governmental 457(b) part is governmental457bDistribution.","x-whenAbsent":"0","x-relation":"Part of iraDistributions; cannot exceed it (400). With seppDistribution, at most iraDistributions together (400): the two parts do not overlap.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"employer_plan_distribution":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Part of iraDistributions; cannot exceed it (400). With seppDistribution, at most iraDistributions together (400): the two parts do not overlap.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"separationYearAge":{"type":["integer","null"],"minimum":1,"maximum":120,"description":"The age the filer reached in the year they left the employer that maintains the plan. At 55 or more (50 for a public safety employee) employerPlanDistribution is excepted from the §72(t) additional tax.","x-whenAbsent":"(none: not separated)","x-relation":"At most age (400 otherwise).","x-limits":"Whole number 1 to 120; null = absent."},"separation_year_age":{"type":["integer","null"],"minimum":1,"maximum":120,"description":"The same field under its snake_case spelling.","x-whenAbsent":"(none: not separated)","x-relation":"At most age (400 otherwise).","x-limits":"Whole number 1 to 120; null = absent."},"publicSafetyEmployee":{"type":["boolean","null"],"description":"A qualified public safety employee (§72(t)(10)): the separation age is 50.","x-whenAbsent":"false","x-relation":"Read with separationYearAge.","x-limits":"true or false; null = absent (false). Anything else: 400."},"public_safety_employee":{"type":["boolean","null"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"false","x-relation":"Read with separationYearAge.","x-limits":"true or false; null = absent (false). Anything else: 400."},"seppDistribution":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The part of iraDistributions that is an installment of substantially equal periodic payments from an IRA (§72(t)(2)(A)(iv)); its taxable part is excepted. The engine does not compute the payment schedule, and a series paid by an employer plan (excepted only once the employee has separated from service, §72(t)(3)(B)) is not modelled.","x-whenAbsent":"0","x-relation":"The IRA part of iraDistributions: at most iraDistributions minus employerPlanDistribution (400 otherwise: an employer-plan series is not modelled).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"sepp_distribution":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"The IRA part of iraDistributions: at most iraDistributions minus employerPlanDistribution (400 otherwise: an employer-plan series is not modelled).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"disabled":{"type":["boolean","null"],"description":"The filer is disabled (§72(m)(7)): no §72(t) additional tax, and a Roth distribution can be qualified before 59½.","x-whenAbsent":"false","x-relation":"The primary filer.","x-limits":"true or false; null = absent (false). Anything else: 400."},"iraBasis":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Total nondeductible basis in traditional IRAs (Form 8606 line 5: prior-year basis plus this year's nondeductible contributions).","x-whenAbsent":"0","x-relation":"Read with iraYearEndValue.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"ira_basis":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Read with iraYearEndValue.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"iraYearEndValue":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The value of all traditional, SEP and SIMPLE IRAs on December 31, 2026, plus outstanding rollovers (Form 8606 line 6).","x-whenAbsent":"0","x-relation":"Read with iraBasis.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"ira_year_end_value":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Read with iraBasis.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"rothDistribution":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Gross Roth IRA distributions in 2026.","x-whenAbsent":"0","x-relation":"Not part of iraDistributions.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"roth_distribution":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Not part of iraDistributions.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"rothContributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Regular Roth contributions still in the Roth at the start of 2026 (distributed first).","x-whenAbsent":"0","x-relation":"Read with rothDistribution.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"roth_contributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Read with rothDistribution.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"rothFirstContributionYear":{"type":["integer","null"],"minimum":1998,"maximum":2026,"description":"The first tax year a contribution was made to any Roth IRA for the filer (the qualified-distribution 5-year clock).","x-whenAbsent":"(none: the 5-year clock is taken as not met)","x-relation":"Read with rothDistribution.","x-limits":"Whole number 1998 to 2026; null = absent."},"roth_first_contribution_year":{"type":["integer","null"],"minimum":1998,"maximum":2026,"description":"The same field under its snake_case spelling.","x-whenAbsent":"(none: the 5-year clock is taken as not met)","x-relation":"Read with rothDistribution.","x-limits":"Whole number 1998 to 2026; null = absent."},"rothConversions":{"type":["array","null"],"maxItems":16,"items":{"type":"object","properties":{"year":{"type":"integer","minimum":1998,"maximum":2026},"taxable":{"type":"number","minimum":0,"maximum":100000000000},"nontaxable":{"type":"number","minimum":0,"maximum":100000000000}},"required":["year","taxable"],"additionalProperties":false},"description":"The conversions still in the Roth at the start of 2026: [{year, taxable, nontaxable}], any order. They come out oldest first, each one's taxable part first; a taxable part taken within 5 years of its conversion carries the §72(t) additional tax under 59½.","x-whenAbsent":"[] (none)","x-relation":"Read with rothDistribution.","x-limits":"At most 16 objects: year a whole number 1998 to 2026, taxable and nontaxable dollars 0 to $100 billion (nontaxable may be left out); no other key. Otherwise 400."},"roth_conversions":{"type":["array","null"],"maxItems":16,"items":{"type":"object","properties":{"year":{"type":"integer","minimum":1998,"maximum":2026},"taxable":{"type":"number","minimum":0,"maximum":100000000000},"nontaxable":{"type":"number","minimum":0,"maximum":100000000000}},"required":["year","taxable"],"additionalProperties":false},"description":"The same field under its snake_case spelling.","x-whenAbsent":"[] (none)","x-relation":"Read with rothDistribution.","x-limits":"At most 16 objects: year a whole number 1998 to 2026, taxable and nontaxable dollars 0 to $100 billion (nontaxable may be left out); no other key. Otherwise 400."},"iraBalancePriorYearEnd":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The traditional IRA balance on December 31, 2025: with it the response carries the 2026 required minimum distribution (schedules.rmd).","x-whenAbsent":"0","x-relation":"The account owner is the filer (age, birth year 2026 minus age).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"ira_balance_prior_year_end":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"The account owner is the filer (age, birth year 2026 minus age).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseSoleBeneficiary":{"type":["boolean","null"],"description":"The spouse is the sole beneficiary all year: when more than 10 years younger, the RMD uses the Joint and Last Survivor Table.","x-whenAbsent":"false","x-relation":"Needs iraBalancePriorYearEnd; the spouse's age is spouseAge on a joint return, else beneficiarySpouseAge. Refused for a qualifying surviving spouse.","x-limits":"true or false; null = absent (false). Anything else: 400."},"spouse_sole_beneficiary":{"type":["boolean","null"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"false","x-relation":"Needs iraBalancePriorYearEnd; the spouse's age is spouseAge on a joint return, else beneficiarySpouseAge. Refused for a qualifying surviving spouse.","x-limits":"true or false; null = absent (false). Anything else: 400."},"beneficiarySpouseAge":{"type":["integer","null"],"minimum":0,"maximum":120,"description":"The spouse's age reached in 2026 when the spouse is not on the return (a separate return).","x-whenAbsent":"(none)","x-relation":"Needs spouseSoleBeneficiary true; refused on a joint return (spouseAge is used).","x-limits":"Whole number 0 to 120; null = absent."},"beneficiary_spouse_age":{"type":["integer","null"],"minimum":0,"maximum":120,"description":"The same field under its snake_case spelling.","x-whenAbsent":"(none)","x-relation":"Needs spouseSoleBeneficiary true; refused on a joint return (spouseAge is used).","x-limits":"Whole number 0 to 120; null = absent."},"rmdShortfall":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The part of a required minimum distribution not taken: the §4974 excise, 25% (10% with rmdShortfallCorrected). One return carries one rate: a shortfall that is partly corrected and partly not cannot be sent in one request.","x-whenAbsent":"0","x-relation":"Form 5329 Part IX.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"rmd_shortfall":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Form 5329 Part IX.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"rmdShortfallCorrected":{"type":["boolean","null"],"description":"The shortfall was distributed within the correction window: the excise is 10%.","x-whenAbsent":"false","x-relation":"Read with rmdShortfall.","x-limits":"true or false; null = absent (false). Anything else: 400."},"rmd_shortfall_corrected":{"type":["boolean","null"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"false","x-relation":"Read with rmdShortfall.","x-limits":"true or false; null = absent (false). Anything else: 400."},"priorYearTax":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The tax on the 2025 return (Form 2210 line 8). With it the response carries Form 2210 (schedules.form2210) on this return's tax.","x-whenAbsent":"0","x-relation":"Turns on Form 2210.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"prior_year_tax":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Turns on Form 2210.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"priorYearAgi":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The 2025 AGI: above $150,000 ($75,000 on a separate return) the prior-year safe harbor is 110%.","x-whenAbsent":"0","x-relation":"Needs priorYearTax.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"prior_year_agi":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs priorYearTax.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"priorYearFullYearReturn":{"type":["boolean","null"],"description":"false when 2025 was not a full 12-month year with a return filed: the prior-year safe harbor and the no-liability rule do not apply.","x-whenAbsent":"true","x-relation":"Needs priorYearTax.","x-limits":"true or false; null = absent (true). Anything else: 400."},"prior_year_full_year_return":{"type":["boolean","null"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"true","x-relation":"Needs priorYearTax.","x-limits":"true or false; null = absent (true). Anything else: 400."},"withholding":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Income tax withheld in 2026: counted as paid in four equal parts on the due dates.","x-whenAbsent":"0","x-relation":"Needs priorYearTax.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"estimatedPayments":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":0,"maximum":100000000000},"description":"The four 2026 estimated tax payments, in installment order.","x-whenAbsent":"[0, 0, 0, 0]","x-relation":"Needs priorYearTax.","x-limits":"Up to 4 amounts, dollars 0 to $100 billion. Otherwise 400."},"estimated_payments":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":0,"maximum":100000000000},"description":"The same field under its snake_case spelling.","x-whenAbsent":"[0, 0, 0, 0]","x-relation":"Needs priorYearTax.","x-limits":"Up to 4 amounts, dollars 0 to $100 billion. Otherwise 400."},"estimatedPaymentDates":{"type":["array","null"],"maxItems":4,"items":{"type":["string","null"],"pattern":"^202[678]-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$"},"description":"The date each estimated payment was made; null for one paid on its due date. Accrual stops at the earlier of the payment date and April 15, 2027.","x-whenAbsent":"each installment's due date","x-relation":"Needs priorYearTax.","x-limits":"Up to 4 dates YYYY-MM-DD from 2026-01-01 to 2028-12-31, or null. Otherwise 400."},"estimated_payment_dates":{"type":["array","null"],"maxItems":4,"items":{"type":["string","null"],"pattern":"^202[678]-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$"},"description":"The same field under its snake_case spelling.","x-whenAbsent":"each installment's due date","x-relation":"Needs priorYearTax.","x-limits":"Up to 4 dates YYYY-MM-DD from 2026-01-01 to 2028-12-31, or null. Otherwise 400."},"taxableInterest":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Taxable interest (Form 1040 line 2b). Ordinary income and net investment income.","x-whenAbsent":"0","x-relation":"Schedule B Part I.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"taxable_interest":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Schedule B Part I.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"ordinaryDividends":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"All ordinary dividends (Form 1040 line 3b, Form 1099-DIV box 1a), including the qualified dividends. The part that is not qualified is taxed as ordinary income.","x-whenAbsent":"0","x-relation":"Includes qualifiedDividends.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"ordinary_dividends":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Includes qualifiedDividends.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"qualifiedDividends":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The qualified part of ordinaryDividends (Form 1040 line 3a, Form 1099-DIV box 1b), taxed at the capital-gains rates. The holding-period test is taken as met.","x-whenAbsent":"0","x-relation":"Part of ordinaryDividends; cannot exceed it (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"qualified_dividends":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Part of ordinaryDividends; cannot exceed it (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"capitalLossRules":{"type":["boolean","null"],"description":"The capital-loss deduction, on by default (engine 1.3.0): a net loss is deductible up to $3,000 ($1,500 married filing separately) and the rest is reported as next year's carryover (schedules.scheduleD). false is an explicit opt-out to the pre-1.3.0 floor, where a net loss enters as zero and nothing carries; it is not the law and exists only for callers that pinned pre-1.3.0 results.","x-whenAbsent":"true","x-relation":"false with a carryover: 400.","x-limits":"true or false; null = absent (true). Anything else: 400."},"capital_loss_rules":{"type":["boolean","null"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"true","x-relation":"false with a carryover: 400.","x-limits":"true or false; null = absent (true). Anything else: 400."},"capitalLossCarryoverShortTerm":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Short-term capital loss carried over from last year (Schedule D line 6), as a positive amount.","x-whenAbsent":"0","x-relation":"A 400 with capitalLossRules: false.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"capital_loss_carryover_short_term":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"A 400 with capitalLossRules: false.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"capitalLossCarryoverLongTerm":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Long-term capital loss carried over from last year (Schedule D line 14), as a positive amount.","x-whenAbsent":"0","x-relation":"A 400 with capitalLossRules: false.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"capital_loss_carryover_long_term":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"A 400 with capitalLossRules: false.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"taxTable":{"type":["boolean","null"],"description":"Form 1040 line 16 as filed (engine 1.5.0): below $100,000 of taxable income the tax is the IRS Tax Table's (the rate-schedule tax at the midpoint of the row, rounded to the dollar), on line 16 and on the capital-gain worksheet's lines 22 and 24. false computes every dollar on the rate schedule (a continuous tax, for callers that take differences).","x-whenAbsent":"true","x-relation":"The planner and the ACA bridge use the rate schedule.","x-limits":"true or false; null = absent (true). Anything else: 400."},"tax_table":{"type":["boolean","null"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"true","x-relation":"The planner and the ACA bridge use the rate schedule.","x-limits":"true or false; null = absent (true). Anything else: 400."},"birthDay":{"type":["integer","null"],"minimum":1,"maximum":31,"description":"The filer's day of birth (1 to 31), with birthMonth. Born on January 1: the §63(f) aged amount and the senior deduction count the filer as 65 at the end of the year they reach 64 (the IRS counts age 65 from the day before the 65th birthday). No other rule reads it.","x-whenAbsent":"(none)","x-relation":"Needs birthMonth (400); must be a day of that month (400).","x-limits":"Whole number 1 to 31; null = absent."},"birth_day":{"type":["integer","null"],"minimum":1,"maximum":31,"description":"The same field under its snake_case spelling.","x-whenAbsent":"(none)","x-relation":"Needs birthMonth (400); must be a day of that month (400).","x-limits":"Whole number 1 to 31; null = absent."},"spouseBirthMonth":{"type":["integer","null"],"minimum":1,"maximum":12,"description":"The spouse's birth month (1 to 12), with spouseBirthDay: the January 1 rule for the spouse's §63(f) aged amount and senior deduction.","x-whenAbsent":"(none)","x-relation":"filingStatus mfj only (400 otherwise).","x-limits":"Whole number 1 to 12; null = absent."},"spouse_birth_month":{"type":["integer","null"],"minimum":1,"maximum":12,"description":"The same field under its snake_case spelling.","x-whenAbsent":"(none)","x-relation":"filingStatus mfj only (400 otherwise).","x-limits":"Whole number 1 to 12; null = absent."},"spouseBirthDay":{"type":["integer","null"],"minimum":1,"maximum":31,"description":"The spouse's day of birth (1 to 31). A spouse born on January 1 counts as 65 at the end of the year they reach 64.","x-whenAbsent":"(none)","x-relation":"filingStatus mfj only; needs spouseBirthMonth; must be a day of that month (400).","x-limits":"Whole number 1 to 31; null = absent."},"spouse_birth_day":{"type":["integer","null"],"minimum":1,"maximum":31,"description":"The same field under its snake_case spelling.","x-whenAbsent":"(none)","x-relation":"filingStatus mfj only; needs spouseBirthMonth; must be a day of that month (400).","x-limits":"Whole number 1 to 31; null = absent."},"governmental457bDistribution":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The part of employerPlanDistribution paid by an eligible governmental 457(b) plan and not attributable to a rollover from a qualified plan or an IRA: never charged the §72(t) 10%, at any age (Form 5329 exception 13).","x-whenAbsent":"0","x-relation":"Part of employerPlanDistribution; cannot exceed it (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"governmental_457b_distribution":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Part of employerPlanDistribution; cannot exceed it (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"nonqualifiedAnnuity":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The taxable part of payments under a nonqualified (commercial) annuity contract: ordinary income on Form 1040 line 5b and net investment income on Form 8960 line 3. An annuity from a 401(k), 403(b), IRA or governmental 457(b) plan goes in pension instead.","x-whenAbsent":"0","x-relation":"Before 59½ (the age clock, as for iraDistributions) the §72(q) 10% additional tax applies on Form 5329 Part I unless disabled or an exception covers the payments (nonqualifiedAnnuitySepp, nonqualifiedAnnuityDeath, nonqualifiedAnnuityOtherException); federal engine 2.3 (before: a 400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"nonqualified_annuity":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Before 59½ (the age clock, as for iraDistributions) the §72(q) 10% additional tax applies on Form 5329 Part I unless disabled or an exception covers the payments (nonqualifiedAnnuitySepp, nonqualifiedAnnuityDeath, nonqualifiedAnnuityOtherException); federal engine 2.3 (before: a 400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"saltSalesTaxElected":{"type":["boolean","null"],"description":"The Schedule A line 5a box: saltIncomeOrSalesTax is a general sales tax, not income tax. It changes only Form 8960 line 9b (a sales tax is not allocable to net investment income).","x-whenAbsent":"false","x-relation":"","x-limits":"true or false; null = absent (false). Anything else: 400."},"salt_sales_tax_elected":{"type":["boolean","null"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"false","x-relation":"","x-limits":"true or false; null = absent (false). Anything else: 400."},"capitalGainDistributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 1099-DIV box 2a, the total (it includes boxes 2b, 2c and 2d): long-term capital gain on Schedule D line 13, or on Form 1040 line 7a when no Schedule D is needed.","x-whenAbsent":"0","x-relation":"Component; nets with longTermGains, shortTermGains and the carryovers.","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"capital_gain_distributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Component; nets with longTermGains, shortTermGains and the carryovers.","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"rate28Gain":{"type":["number","null"],"minimum":-100000000000,"maximum":100000000000,"description":"The 28% Rate Gain Worksheet lines 1 to 4: collectibles gain or (loss), including Form 1099-DIV box 2d, and the taxable part of a section 1202 exclusion. A negative number is a collectibles loss. The engine applies lines 5 to 7 (the long-term carryover and a net short-term loss).","x-whenAbsent":"0","x-relation":"Part of the long-term gain (longTermGains and capitalGainDistributions), not added to it.","x-limits":"Finite, from -$100 billion to $100 billion; null = absent. Otherwise 400 naming the field."},"rate_28_gain":{"type":["number","null"],"minimum":-100000000000,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Part of the long-term gain (longTermGains and capitalGainDistributions), not added to it.","x-limits":"Finite, from -$100 billion to $100 billion; null = absent. Otherwise 400 naming the field."},"unrecapturedSection1250Gain":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The Unrecaptured Section 1250 Gain Worksheet line 13, including Form 1099-DIV box 2b. The engine applies lines 14 to 18.","x-whenAbsent":"0","x-relation":"Part of the long-term gain (longTermGains and capitalGainDistributions), not added to it.","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"unrecaptured_section_1250_gain":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Part of the long-term gain (longTermGains and capitalGainDistributions), not added to it.","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"wages":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form W-2 box 1, all employers: wages on Form 1040 line 1a.","x-whenAbsent":"0","x-relation":"Component.","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"wages":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Component.","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"socialSecurityWages":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form W-2 boxes 3 and 7: wages and tips subject to social security (Schedule SE line 8a).","x-whenAbsent":"wages, at most the wage base times employerCount","x-relation":"Defaults to wages, capped at the wage base per employer. At most the wage base times employerCount (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"social_security_wages":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"wages, at most the wage base times employerCount","x-relation":"Defaults to wages, capped at the wage base per employer. At most the wage base times employerCount (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"medicareWages":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form W-2 box 5 (Form 8959 line 1).","x-whenAbsent":"wages","x-relation":"Defaults to wages.","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"medicare_wages":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"wages","x-relation":"Defaults to wages.","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"socialSecurityWithheld":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form W-2 box 4, all employers (Schedule 3 line 11).","x-whenAbsent":"0","x-relation":"At most 6.2% of socialSecurityWages plus $1 (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"social_security_withheld":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"At most 6.2% of socialSecurityWages plus $1 (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"medicareTaxWithheld":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form W-2 box 6 (Form 8959 line 19).","x-whenAbsent":"0","x-relation":"Only Form 8959 Part V (withholding) reads it.","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"medicare_tax_withheld":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Only Form 8959 Part V (withholding) reads it.","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"employerCount":{"type":["integer","null"],"minimum":1,"maximum":50,"description":"The number of employers who paid wages. The excess social security credit needs 2 or more.","x-whenAbsent":"1","x-relation":"","x-limits":"A whole number 1 to 50; null = absent (1). Otherwise 400."},"employer_count":{"type":["integer","null"],"minimum":1,"maximum":50,"description":"The same field under its snake_case spelling.","x-whenAbsent":"1","x-relation":"","x-limits":"A whole number 1 to 50; null = absent (1). Otherwise 400."},"selfEmploymentIncome":{"type":["number","null"],"minimum":-100000000000,"maximum":100000000000,"description":"Net profit or (loss) of the self-employed business: Schedule C line 31 or Schedule K-1 (Form 1065) box 14 code A. Schedule 1 line 3 and Schedule SE line 2.","x-whenAbsent":"0","x-relation":"Component; a loss is negative.","x-limits":"Finite, from -$100 billion to $100 billion; null = absent. Otherwise 400 naming the field."},"self_employment_income":{"type":["number","null"],"minimum":-100000000000,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Component; a loss is negative.","x-limits":"Finite, from -$100 billion to $100 billion; null = absent. Otherwise 400 naming the field."},"selfEmploymentSstb":{"type":["boolean","null"],"description":"The business is a specified service trade or business (§199A(d)(2)): above the threshold its QBI phases out.","x-whenAbsent":"false","x-relation":"Needs selfEmploymentIncome (400).","x-limits":"true or false; null = absent (false). Anything else: 400."},"self_employment_sstb":{"type":["boolean","null"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"false","x-relation":"Needs selfEmploymentIncome (400).","x-limits":"true or false; null = absent (false). Anything else: 400."},"sepContribution":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The deductible SEP, SIMPLE or qualified-plan contribution for the self-employed person (Schedule 1 line 16), as figured by the caller.","x-whenAbsent":"0","x-relation":"Needs selfEmploymentIncome (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"sep_contribution":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs selfEmploymentIncome (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"seHealthInsurance":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Self-employed health insurance premiums (Schedule 1 line 17); the engine limits them to the business's earned income.","x-whenAbsent":"0","x-relation":"Needs selfEmploymentIncome (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"se_health_insurance":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs selfEmploymentIncome (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"qbiW2Wages":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"W-2 wages the business paid (Form 8995-A line 4); read only above the QBI threshold.","x-whenAbsent":"0","x-relation":"Needs selfEmploymentIncome (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"qbi_w2_wages":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs selfEmploymentIncome (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"qbiUbia":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Unadjusted basis immediately after acquisition of the business's qualified property (Form 8995-A line 7).","x-whenAbsent":"0","x-relation":"Needs selfEmploymentIncome (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"qbi_ubia":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs selfEmploymentIncome (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseWages":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The spouse's: Form W-2 box 1, all employers: wages on Form 1040 line 1a.","x-whenAbsent":"0","x-relation":"Component. Only on filingStatus mfj (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_wages":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Component. Only on filingStatus mfj (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseSocialSecurityWages":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The spouse's: Form W-2 boxes 3 and 7: wages and tips subject to social security (Schedule SE line 8a).","x-whenAbsent":"wages, at most the wage base times employerCount","x-relation":"Defaults to wages, capped at the wage base per employer. At most the wage base times employerCount (400). Only on filingStatus mfj (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_social_security_wages":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"wages, at most the wage base times employerCount","x-relation":"Defaults to wages, capped at the wage base per employer. At most the wage base times employerCount (400). Only on filingStatus mfj (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseMedicareWages":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The spouse's: Form W-2 box 5 (Form 8959 line 1).","x-whenAbsent":"wages","x-relation":"Defaults to wages. Only on filingStatus mfj (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_medicare_wages":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"wages","x-relation":"Defaults to wages. Only on filingStatus mfj (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseSocialSecurityWithheld":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The spouse's: Form W-2 box 4, all employers (Schedule 3 line 11).","x-whenAbsent":"0","x-relation":"At most 6.2% of socialSecurityWages plus $1 (400). Only on filingStatus mfj (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_social_security_withheld":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"At most 6.2% of socialSecurityWages plus $1 (400). Only on filingStatus mfj (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseMedicareTaxWithheld":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The spouse's: Form W-2 box 6 (Form 8959 line 19).","x-whenAbsent":"0","x-relation":"Only Form 8959 Part V (withholding) reads it. Only on filingStatus mfj (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_medicare_tax_withheld":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Only Form 8959 Part V (withholding) reads it. Only on filingStatus mfj (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseEmployerCount":{"type":["integer","null"],"minimum":1,"maximum":50,"description":"The spouse's: The number of employers who paid wages. The excess social security credit needs 2 or more.","x-whenAbsent":"1","x-relation":"Only on filingStatus mfj (400).","x-limits":"A whole number 1 to 50; null = absent (1). Otherwise 400."},"spouse_employer_count":{"type":["integer","null"],"minimum":1,"maximum":50,"description":"The same field under its snake_case spelling.","x-whenAbsent":"1","x-relation":"Only on filingStatus mfj (400).","x-limits":"A whole number 1 to 50; null = absent (1). Otherwise 400."},"spouseSelfEmploymentIncome":{"type":["number","null"],"minimum":-100000000000,"maximum":100000000000,"description":"The spouse's: Net profit or (loss) of the self-employed business: Schedule C line 31 or Schedule K-1 (Form 1065) box 14 code A. Schedule 1 line 3 and Schedule SE line 2.","x-whenAbsent":"0","x-relation":"Component; a loss is negative. Only on filingStatus mfj (400).","x-limits":"Finite, from -$100 billion to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_self_employment_income":{"type":["number","null"],"minimum":-100000000000,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Component; a loss is negative. Only on filingStatus mfj (400).","x-limits":"Finite, from -$100 billion to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseSelfEmploymentSstb":{"type":["boolean","null"],"description":"The spouse's: The business is a specified service trade or business (§199A(d)(2)): above the threshold its QBI phases out.","x-whenAbsent":"false","x-relation":"Needs selfEmploymentIncome (400). Only on filingStatus mfj (400).","x-limits":"true or false; null = absent (false). Anything else: 400."},"spouse_self_employment_sstb":{"type":["boolean","null"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"false","x-relation":"Needs selfEmploymentIncome (400). Only on filingStatus mfj (400).","x-limits":"true or false; null = absent (false). Anything else: 400."},"spouseSepContribution":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The spouse's: The deductible SEP, SIMPLE or qualified-plan contribution for the self-employed person (Schedule 1 line 16), as figured by the caller.","x-whenAbsent":"0","x-relation":"Needs selfEmploymentIncome (400). Only on filingStatus mfj (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_sep_contribution":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs selfEmploymentIncome (400). Only on filingStatus mfj (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseSeHealthInsurance":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The spouse's: Self-employed health insurance premiums (Schedule 1 line 17); the engine limits them to the business's earned income.","x-whenAbsent":"0","x-relation":"Needs selfEmploymentIncome (400). Only on filingStatus mfj (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_se_health_insurance":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs selfEmploymentIncome (400). Only on filingStatus mfj (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseQbiW2Wages":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The spouse's: W-2 wages the business paid (Form 8995-A line 4); read only above the QBI threshold.","x-whenAbsent":"0","x-relation":"Needs selfEmploymentIncome (400). Only on filingStatus mfj (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_qbi_w2_wages":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs selfEmploymentIncome (400). Only on filingStatus mfj (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseQbiUbia":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The spouse's: Unadjusted basis immediately after acquisition of the business's qualified property (Form 8995-A line 7).","x-whenAbsent":"0","x-relation":"Needs selfEmploymentIncome (400). Only on filingStatus mfj (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_qbi_ubia":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs selfEmploymentIncome (400). Only on filingStatus mfj (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"qualifiedTips":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Qualified tips received as an employee (Schedule 1-A Part II, tax years 2025-2028, lines 4a-4c; 2026 draft lines 4-5), as the filer and spouse received them in a qualifying occupation: W-2 tips, included in wages. Tips received in your own business go in selfEmployedQualifiedTips (federal engine 2.3.2).","x-whenAbsent":"0","x-relation":"Part of the wages (400 when above wages + spouseWages; before federal engine 2.3.2 it was accepted up to the wages plus the self-employment profit). Added to the business tips after their limit, then capped. A separate return gets no deduction.","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"qualified_tips":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Part of the wages (400 when above wages + spouseWages; before federal engine 2.3.2 it was accepted up to the wages plus the self-employment profit). Added to the business tips after their limit, then capped. A separate return gets no deduction.","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"qualifiedOvertime":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Qualified overtime compensation (the premium part required by the Fair Labor Standards Act; Schedule 1-A Part III, 2025-2028).","x-whenAbsent":"0","x-relation":"Part of the wages and self-employment income (400 when above them). A separate return gets no deduction.","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"qualified_overtime":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Part of the wages and self-employment income (400 when above them). A separate return gets no deduction.","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"foreignTaxPaid":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Creditable foreign income tax paid on passive income (Form 1099-DIV box 7, 1099-INT box 6).","x-whenAbsent":"0","x-relation":"Needs foreign-source income (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"foreign_tax_paid":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs foreign-source income (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"foreignSourceOrdinaryIncome":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The foreign-source part of taxableInterest and of the nonqualified dividends.","x-whenAbsent":"0","x-relation":"Part of taxableInterest + ordinaryDividends - qualifiedDividends (400 when above).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"foreign_source_ordinary_income":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Part of taxableInterest + ordinaryDividends - qualifiedDividends (400 when above).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"foreignSourceQualifiedIncome":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The foreign-source part of qualifiedDividends and capitalGainDistributions.","x-whenAbsent":"0","x-relation":"Part of qualifiedDividends + capitalGainDistributions (400 when above).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"foreign_source_qualified_income":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Part of qualifiedDividends + capitalGainDistributions (400 when above).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"foreignTaxCarryover":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Unused foreign tax carried into the year (Form 1116 line 10).","x-whenAbsent":"0","x-relation":"Needs foreignTaxPaid (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"foreign_tax_carryover":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs foreignTaxPaid (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"ftcMethod":{"type":["string","null"],"pattern":"^(?:[aA][uU][tT][oO]|[eE][lL][eE][cC][tT][iI][oO][nN]|[fF][oO][rR][mM]1116)$","examples":["auto","election","form1116"],"description":"auto (whichever of the section 904(j) election and Form 1116 gives the lower total tax, the AMT included; a tie takes the election), election, or form1116.","x-whenAbsent":"auto","x-relation":"Needs foreignTaxPaid; election needs taxes at most $300 ($600 joint) on payee statements (400).","x-limits":"auto, election or form1116 (any case); null = absent (auto). Otherwise 400."},"ftc_method":{"type":["string","null"],"pattern":"^(?:[aA][uU][tT][oO]|[eE][lL][eE][cC][tT][iI][oO][nN]|[fF][oO][rR][mM]1116)$","examples":["auto","election","form1116"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"auto","x-relation":"Needs foreignTaxPaid; election needs taxes at most $300 ($600 joint) on payee statements (400).","x-limits":"auto, election or form1116 (any case); null = absent (auto). Otherwise 400."},"foreignIncomeOnPayeeStatements":{"type":["boolean","null"],"description":"All foreign income was shown on payee statements (1099s). false rules out the section 904(j) election.","x-whenAbsent":"true","x-relation":"Needs foreignTaxPaid (400).","x-limits":"true or false; null = absent. Anything else: 400."},"foreign_income_on_payee_statements":{"type":["boolean","null"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"true","x-relation":"Needs foreignTaxPaid (400).","x-limits":"true or false; null = absent. Anything else: 400."},"amtFtcSimplifiedElection":{"type":["boolean","null"],"description":"The AMT foreign tax credit's simplified limitation election (the regular Form 1116's foreign-source taxable income).","x-whenAbsent":"false","x-relation":"Needs foreignTaxPaid (400).","x-limits":"true or false; null = absent. Anything else: 400."},"amt_ftc_simplified_election":{"type":["boolean","null"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"false","x-relation":"Needs foreignTaxPaid (400).","x-limits":"true or false; null = absent. Anything else: 400."},"privateActivityBondInterest":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Interest from specified private activity bonds (Form 6251 line 2g).","x-whenAbsent":"0","x-relation":"Part of taxExemptInterest (400 when above).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"private_activity_bond_interest":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Part of taxExemptInterest (400 when above).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"incentiveStockOptions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The bargain element of incentive stock options exercised and held (Form 6251 line 2i).","x-whenAbsent":"0","x-relation":"Component of AMTI.","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"incentive_stock_options":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Component of AMTI.","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"amtDispositionAdjustment":{"type":["number","null"],"minimum":-100000000000,"maximum":100000000000,"description":"The difference between the AMT and regular gain or loss on dispositions (Form 6251 line 2k); negative lowers AMTI.","x-whenAbsent":"0","x-relation":"Component of AMTI (taken as ordinary: Part III's gains are not refigured).","x-limits":"Finite, from -$100 billion to $100 billion; null = absent. Otherwise 400 naming the field."},"amt_disposition_adjustment":{"type":["number","null"],"minimum":-100000000000,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Component of AMTI (taken as ordinary: Part III's gains are not refigured).","x-limits":"Finite, from -$100 billion to $100 billion; null = absent. Otherwise 400 naming the field."},"amtOtherAdjustments":{"type":["number","null"],"minimum":-100000000000,"maximum":100000000000,"description":"The other Form 6251 adjustments and preferences the caller figured (lines 2d-2f, 2h, 2j, 2l-2t and 3).","x-whenAbsent":"0","x-relation":"Component of AMTI.","x-limits":"Finite, from -$100 billion to $100 billion; null = absent. Otherwise 400 naming the field."},"amt_other_adjustments":{"type":["number","null"],"minimum":-100000000000,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Component of AMTI.","x-limits":"Finite, from -$100 billion to $100 billion; null = absent. Otherwise 400 naming the field."},"taxableStateRefund":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"A taxable refund of state or local income tax (Schedule 1 line 1): ordinary income, and taken back out of AMTI (Form 6251 line 2b).","x-whenAbsent":"0","x-relation":"Component.","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"taxable_state_refund":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Component.","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"projection":{"type":["object","null"],"properties":{"year":{"type":"integer","minimum":2026,"maximum":2100},"inflation":{"type":"number","minimum":-0.1,"maximum":0.25},"cpiFactor":{"type":"number","minimum":0.01,"maximum":100},"cpi_factor":{"type":"number","minimum":0.01,"maximum":100},"awiFactor":{"type":"number","minimum":0.01,"maximum":100},"awi_factor":{"type":"number","minimum":0.01,"maximum":100},"indexing":{"type":["string","null"],"pattern":"^(?:[lL][aA][wW]|[iI][nN][fF][lL][aA][tT][iI][oO][nN])$"}},"required":["year"],"additionalProperties":false,"description":"A later tax year (federal engine 2.0): {year, inflation or cpiFactor, awiFactor, indexing}. year 2026 to 2100; inflation, the annual CPI assumption (the factor is (1 + inflation) to the power of year - 2026), or cpiFactor, the cumulative CPI factor from 2026 (1 for 2026); awiFactor, the national average wage index factor (absent: the CPI factor); indexing \"law\" (default: each amount the way its statute moves it) or \"inflation\" (the amounts the planner scaled before 2.0 rise with the factor, unrounded). The ages are the ages reached in that year. The response adds rulesYear, projectedYear, projected, taxTable and a projection block.","x-whenAbsent":"(none: the 2026 return)","x-relation":"Exactly one of inflation or cpiFactor. Without taxTable a later year uses the rate schedules; taxTable true needs indexing \"inflation\". Not with priorYearTax (Form 2210) past 2026.","x-limits":"year a whole number 2026 to 2100; inflation -0.10 to 0.25; cpiFactor and awiFactor 0.01 to 100 (1 when year is 2026); indexing law or inflation; no other key (keys any case, cpi_factor / awi_factor accepted). Otherwise 400."},"beneficiaryDistribution":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The part of iraDistributions received as a beneficiary of a decedent's IRA or employer plan (an inherited account): never charged the §72(t) 10%, at any age (§72(t)(2)(A)(ii): \"made to a beneficiary (or to the estate of the employee) on or after the death of the employee\"; Form 5329 exception 04). A distribution from an inherited Roth IRA is not covered: give it as rothDistribution only from the filer's own Roth IRAs.","x-whenAbsent":"0","x-relation":"Part of iraDistributions, separate from employerPlanDistribution and seppDistribution: the three together at most iraDistributions (400). Not with iraBasis (400: an inherited IRA's basis is the decedent's, on its own Form 8606, not modelled).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"beneficiary_distribution":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Part of iraDistributions, separate from employerPlanDistribution and seppDistribution: the three together at most iraDistributions (400). Not with iraBasis (400: an inherited IRA's basis is the decedent's, on its own Form 8606, not modelled).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"rentalNetIncome":{"type":["number","null"],"minimum":-100000000000,"maximum":100000000000,"description":"The rental real estate net income or (loss) before the passive loss limit: the sum of Schedule E line 21 over the properties (rents less expenses and depreciation). Form 8582 treats the properties as one group, so the sum gives the same return as the per-property amounts; the carried-forward loss is reported in total.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, -$100 billion to $100 billion; null = absent. Otherwise 400 naming the field."},"rental_net_income":{"type":["number","null"],"minimum":-100000000000,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, -$100 billion to $100 billion; null = absent. Otherwise 400 naming the field."},"rentalPriorYearUnallowedLoss":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The prior years' unallowed losses of these rental activities (Form 8582 line 1c or 2c), as a positive amount.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"rental_prior_year_unallowed_loss":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"rentalActiveParticipation":{"type":["boolean","null"],"description":"The filer actively participates in the rentals (section 469(i)(6)): the $25,000 special allowance applies. false puts the activities on Form 8582 line 2 (no allowance). The default is stated in schedules.rental.activeParticipation.","x-whenAbsent":"true","x-relation":"Needs rentalNetIncome or rentalPriorYearUnallowedLoss (400); cannot be false with realEstateProfessional (400).","x-limits":"true or false; null = absent (true). Anything else: 400."},"rental_active_participation":{"type":["boolean","null"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"true","x-relation":"Needs rentalNetIncome or rentalPriorYearUnallowedLoss (400); cannot be false with realEstateProfessional (400).","x-limits":"true or false; null = absent (true). Anything else: 400."},"realEstateProfessional":{"type":["boolean","null"],"description":"The filer is a real estate professional who materially participates in the rentals (section 469(c)(7); the hours tests are the caller's assertion): the rentals are not passive. The rental income stays net investment income (the section 1.1411-4(g)(7) safe harbor is not modelled).","x-whenAbsent":"false","x-relation":"Needs rentalNetIncome or rentalPriorYearUnallowedLoss (400).","x-limits":"true or false; null = absent (false). Anything else: 400."},"real_estate_professional":{"type":["boolean","null"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"false","x-relation":"Needs rentalNetIncome or rentalPriorYearUnallowedLoss (400).","x-limits":"true or false; null = absent (false). Anything else: 400."},"childTaxCreditChildren":{"type":["integer","null"],"minimum":0,"maximum":20,"description":"Qualifying children under 17 with the required social security number (Schedule 8812 line 4). The relationship, residency, support and SSN tests are the caller's assertion.","x-whenAbsent":"0","x-relation":"","x-limits":"A whole number 0 to 20; null = absent (0). Otherwise 400."},"child_tax_credit_children":{"type":["integer","null"],"minimum":0,"maximum":20,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"A whole number 0 to 20; null = absent (0). Otherwise 400."},"otherDependents":{"type":["integer","null"],"minimum":0,"maximum":20,"description":"Other dependents (Schedule 8812 line 6), $500 each.","x-whenAbsent":"0","x-relation":"","x-limits":"A whole number 0 to 20; null = absent (0). Otherwise 400."},"other_dependents":{"type":["integer","null"],"minimum":0,"maximum":20,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"A whole number 0 to 20; null = absent (0). Otherwise 400."},"eitcQualifyingChildren":{"type":["integer","null"],"minimum":0,"maximum":20,"description":"Qualifying children for the earned income credit (3 or more counts as 3).","x-whenAbsent":"0","x-relation":"","x-limits":"A whole number 0 to 20; null = absent (0). Otherwise 400."},"eitc_qualifying_children":{"type":["integer","null"],"minimum":0,"maximum":20,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"A whole number 0 to 20; null = absent (0). Otherwise 400."},"eitcSeparatedSpouse":{"type":["boolean","null"],"description":"A married filer filing separately who meets section 32(d)(2) (a qualifying child lived with the filer more than half the year and the spouses lived apart the last 6 months, or were legally separated): the earned income credit is allowed.","x-whenAbsent":"false","x-relation":"Only on filingStatus mfs (400).","x-limits":"true or false; null = absent (false). Anything else: 400."},"eitc_separated_spouse":{"type":["boolean","null"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"false","x-relation":"Only on filingStatus mfs (400).","x-limits":"true or false; null = absent (false). Anything else: 400."},"saversContributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The filer's contributions for the saver's credit (Form 8880 lines 1 and 2: IRA, ABLE and elective deferrals).","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"savers_contributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"saversDistributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The filer's distributions of the Form 8880 testing period (line 4: the two prior years, the year and up to the return's due date), as the instructions define them.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"savers_distributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"fullTimeStudent":{"type":["boolean","null"],"description":"The filer was a full-time student (no saver's credit).","x-whenAbsent":"false","x-relation":"","x-limits":"true or false; null = absent (false). Anything else: 400."},"full_time_student":{"type":["boolean","null"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"false","x-relation":"","x-limits":"true or false; null = absent (false). Anything else: 400."},"taxableDisabilityIncome":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The filer's taxable disability income while under 65 and retired on permanent and total disability (Schedule R line 11).","x-whenAbsent":"0","x-relation":"Refused at 65 or older (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"taxable_disability_income":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Refused at 65 or older (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseSaversContributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The spouse's: saversContributions.","x-whenAbsent":"0","x-relation":"Only on filingStatus mfj (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_savers_contributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Only on filingStatus mfj (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseSaversDistributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The spouse's: saversDistributions.","x-whenAbsent":"0","x-relation":"Only on filingStatus mfj (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_savers_distributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Only on filingStatus mfj (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseFullTimeStudent":{"type":["boolean","null"],"description":"The spouse's: fullTimeStudent.","x-whenAbsent":"false","x-relation":"Only on filingStatus mfj (400).","x-limits":"true or false; null = absent (false). Anything else: 400."},"spouse_full_time_student":{"type":["boolean","null"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"false","x-relation":"Only on filingStatus mfj (400).","x-limits":"true or false; null = absent (false). Anything else: 400."},"spouseTaxableDisabilityIncome":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The spouse's: taxableDisabilityIncome.","x-whenAbsent":"0","x-relation":"Only on filingStatus mfj, with spouseAge under 65 (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_taxable_disability_income":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Only on filingStatus mfj, with spouseAge under 65 (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"nontaxablePensions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Nontaxable pensions, annuities or disability income (Schedule R line 13b: e.g. veterans' pensions); the nontaxable social security of line 13a is the engine's.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"nontaxable_pensions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"inheritedBalancePriorYearEnd":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"An inherited account (an IRA or plan account the filer received as a beneficiary): its value on December 31 of the year before the tax year. With it the response carries the year's required distribution (schedules.inheritedRmd). One account per request; accounts inherited from one decedent may be added together.","x-whenAbsent":"0","x-relation":"Needs inheritedOwnerBirthYear, inheritedOwnerDeathYear and inheritedBeneficiaryType (400); any inherited field needs this one.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"inherited_balance_prior_year_end":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs inheritedOwnerBirthYear, inheritedOwnerDeathYear and inheritedBeneficiaryType (400); any inherited field needs this one.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"inheritedAccountType":{"type":["string","null"],"pattern":"^(?:[tT][rR][aA][dD][iI][tT][iI][oO][nN][aA][lL]|[rR][oO][tT][hH])$","examples":["traditional","roth"],"description":"traditional (an IRA or employer plan) or roth (a Roth IRA: no required beginning date, so every death counts as before it; its distributions are taken as qualified, not income).","x-whenAbsent":"traditional","x-relation":"","x-limits":"One of traditional, roth (any case); null = absent. Otherwise 400."},"inherited_account_type":{"type":["string","null"],"pattern":"^(?:[tT][rR][aA][dD][iI][tT][iI][oO][nN][aA][lL]|[rR][oO][tT][hH])$","examples":["traditional","roth"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"traditional","x-relation":"","x-limits":"One of traditional, roth (any case); null = absent. Otherwise 400."},"inheritedOwnerBirthYear":{"type":["integer","null"],"minimum":1880,"maximum":2100,"description":"The decedent's year of birth: it decides the applicable age (70½ for those born before July 1, 1949; then 72, 73 or 75) and the required beginning date.","x-whenAbsent":"","x-relation":"Required with an inherited account; not after inheritedOwnerDeathYear (400).","x-limits":"1880 to 2100. A whole number; null = absent. Otherwise 400 naming the field."},"inherited_owner_birth_year":{"type":["integer","null"],"minimum":1880,"maximum":2100,"description":"The same field under its snake_case spelling.","x-whenAbsent":"","x-relation":"Required with an inherited account; not after inheritedOwnerDeathYear (400).","x-limits":"1880 to 2100. A whole number; null = absent. Otherwise 400 naming the field."},"inheritedOwnerBirthMonth":{"type":["integer","null"],"minimum":1,"maximum":12,"description":"The decedent's month of birth: only the 70½ rule (born before July 1949) reads it (70½ falls in the year they turned 70 when born January to June).","x-whenAbsent":"","x-relation":"","x-limits":"1 to 12. A whole number; null = absent. Otherwise 400 naming the field."},"inherited_owner_birth_month":{"type":["integer","null"],"minimum":1,"maximum":12,"description":"The same field under its snake_case spelling.","x-whenAbsent":"","x-relation":"","x-limits":"1 to 12. A whole number; null = absent. Otherwise 400 naming the field."},"inheritedOwnerDeathYear":{"type":["integer","null"],"minimum":1950,"maximum":2100,"description":"The year the decedent died: it starts the 10-year, 5-year and life-expectancy clocks; a death before 2020 keeps the pre-SECURE Act rules.","x-whenAbsent":"","x-relation":"Required with an inherited account; not after the tax year (400).","x-limits":"1950 to 2100. A whole number; null = absent. Otherwise 400 naming the field."},"inherited_owner_death_year":{"type":["integer","null"],"minimum":1950,"maximum":2100,"description":"The same field under its snake_case spelling.","x-whenAbsent":"","x-relation":"Required with an inherited account; not after the tax year (400).","x-limits":"1950 to 2100. A whole number; null = absent. Otherwise 400 naming the field."},"inheritedOwnerDiedOnOrAfterRbd":{"type":["boolean","null"],"description":"Whether the decedent died on or after the required beginning date. Needed only when the death fell in the year the date falls in (or, under the 70½ rule without a birth month, in either year it can fall in); otherwise the dates decide.","x-whenAbsent":"","x-relation":"Refused for a Roth IRA, and when it contradicts the dates (400).","x-limits":"true or false; null = absent. Anything else: 400."},"inherited_owner_died_on_or_after_rbd":{"type":["boolean","null"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"","x-relation":"Refused for a Roth IRA, and when it contradicts the dates (400).","x-limits":"true or false; null = absent. Anything else: 400."},"inheritedBeneficiaryType":{"type":["string","null"],"pattern":"^(?:[dD][eE][sS][iI][gG][nN][aA][tT][eE][dD]|[sS][pP][oO][uU][sS][eE]|[mM][iI][nN][oO][rR][cC][hH][iI][lL][dD]|[dD][iI][sS][aA][bB][lL][eE][dD]|[cC][hH][rR][oO][nN][iI][cC][aA][lL][lL][yY][iI][lL][lL]|[nN][oO][tT][mM][oO][rR][eE][tT][hH][aA][nN]10[yY][eE][aA][rR][sS][yY][oO][uU][nN][gG][eE][rR]|[nN][oO][dD][eE][sS][iI][gG][nN][aA][tT][eE][dD][bB][eE][nN][eE][fF][iI][cC][iI][aA][rR][yY])$","examples":["designated","spouse","minorChild","disabled","chronicallyIll","notMoreThan10YearsYounger","noDesignatedBeneficiary"],"description":"The beneficiary: designated (a person who is not an eligible designated beneficiary), spouse (the surviving spouse, the sole beneficiary), minorChild (a child of the decedent under 21 at the death), disabled, chronicallyIll, notMoreThan10YearsYounger, or noDesignatedBeneficiary (an estate, a charity, a trust that is not a see-through trust). The category is the caller's statement.","x-whenAbsent":"","x-relation":"Required with an inherited account; minorChild needs a child under 21 in the year of death and notMoreThan10YearsYounger a beneficiary born no more than 10 years after the decedent (400).","x-limits":"One of the values (any case); null = absent. Otherwise 400."},"inherited_beneficiary_type":{"type":["string","null"],"pattern":"^(?:[dD][eE][sS][iI][gG][nN][aA][tT][eE][dD]|[sS][pP][oO][uU][sS][eE]|[mM][iI][nN][oO][rR][cC][hH][iI][lL][dD]|[dD][iI][sS][aA][bB][lL][eE][dD]|[cC][hH][rR][oO][nN][iI][cC][aA][lL][lL][yY][iI][lL][lL]|[nN][oO][tT][mM][oO][rR][eE][tT][hH][aA][nN]10[yY][eE][aA][rR][sS][yY][oO][uU][nN][gG][eE][rR]|[nN][oO][dD][eE][sS][iI][gG][nN][aA][tT][eE][dD][bB][eE][nN][eE][fF][iI][cC][iI][aA][rR][yY])$","examples":["designated","spouse","minorChild","disabled","chronicallyIll","notMoreThan10YearsYounger","noDesignatedBeneficiary"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"","x-relation":"Required with an inherited account; minorChild needs a child under 21 in the year of death and notMoreThan10YearsYounger a beneficiary born no more than 10 years after the decedent (400).","x-limits":"One of the values (any case); null = absent. Otherwise 400."},"inheritedBeneficiaryBirthYear":{"type":["integer","null"],"minimum":1880,"maximum":2100,"description":"The beneficiary's year of birth (absent: the filer's).","x-whenAbsent":"the tax year minus age","x-relation":"Not after the tax year, nor after the year after the death (400).","x-limits":"1880 to 2100. A whole number; null = absent. Otherwise 400 naming the field."},"inherited_beneficiary_birth_year":{"type":["integer","null"],"minimum":1880,"maximum":2100,"description":"The same field under its snake_case spelling.","x-whenAbsent":"the tax year minus age","x-relation":"Not after the tax year, nor after the year after the death (400).","x-limits":"1880 to 2100. A whole number; null = absent. Otherwise 400 naming the field."},"inheritedElection":{"type":["string","null"],"pattern":"^(?:[nN][oO][nN][eE]|[tT][eE][nN][yY][eE][aA][rR][rR][uU][lL][eE]|[tT][rR][eE][aA][tT][aA][sS][oO][wW][nN])$","examples":["none","tenYearRule","treatAsOwn"],"description":"none, tenYearRule (an eligible designated beneficiary chooses the 10-year rule instead of life expectancy; open only for a death after 2019 and before the required beginning date) or treatAsOwn (the surviving spouse treats the IRA as their own or rolls it over: the Uniform Lifetime Table from the spouse's own applicable age, and the spouse's distributions before 59½ owe the 10% additional tax).","x-whenAbsent":"none","x-relation":"Refused when the election is not open to the beneficiary (400).","x-limits":"One of none, tenYearRule, treatAsOwn (any case); null = absent. Otherwise 400."},"inherited_election":{"type":["string","null"],"pattern":"^(?:[nN][oO][nN][eE]|[tT][eE][nN][yY][eE][aA][rR][rR][uU][lL][eE]|[tT][rR][eE][aA][tT][aA][sS][oO][wW][nN])$","examples":["none","tenYearRule","treatAsOwn"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"none","x-relation":"Refused when the election is not open to the beneficiary (400).","x-limits":"One of none, tenYearRule, treatAsOwn (any case); null = absent. Otherwise 400."},"inheritedDistribution":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"This year's distributions from the inherited account. A traditional account's are ordinary income (Form 1040 line 4b), excepted from the 10% additional tax as a beneficiary's; the response reports the shortfall against the year's minimum and its excise (not in the last year, whose amount depends on the year's growth). Do not include them in iraDistributions.","x-whenAbsent":"0","x-relation":"Refused with iraBasis (the decedent's basis is figured on its own Form 8606) (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"inherited_distribution":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Refused with iraBasis (the decedent's basis is figured on its own Form 8606) (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"inheritedShortfallCorrected":{"type":["boolean","null"],"description":"The shortfall was corrected within the correction window: the excise is 10% instead of 25% (IRC 4974(e)).","x-whenAbsent":"false","x-relation":"Needs inheritedDistribution (400).","x-limits":"true or false; null = absent. Anything else: 400."},"inherited_shortfall_corrected":{"type":["boolean","null"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"false","x-relation":"Needs inheritedDistribution (400).","x-limits":"true or false; null = absent. Anything else: 400."},"inheritedOwnerDistributedInDeathYear":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"When the decedent died in the tax year on or after the required beginning date: what the decedent had already taken that year; the rest of the decedent's RMD is the beneficiary's to take.","x-whenAbsent":"0","x-relation":"Only when inheritedOwnerDeathYear is the tax year (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"inherited_owner_distributed_in_death_year":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Only when inheritedOwnerDeathYear is the tax year (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"wagesByPeriod":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":0,"maximum":100000000000},"description":"Form 2210 Schedule AI: the wages received in each installment period, four amounts (Jan 1 - Mar 31, Apr 1 - May 31, Jun 1 - Aug 31, Sep 1 - Dec 31). With it the response figures the penalty by the annualized income installment method too and charges the lower (schedules.form2210.method). An item without it accrues evenly through the year.","x-whenAbsent":"","x-relation":"Must add up to wages (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts, 0 or more; null = absent. Otherwise 400 naming the field."},"wages_by_period":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":0,"maximum":100000000000},"description":"The same field under its snake_case spelling.","x-whenAbsent":"","x-relation":"Must add up to wages (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts, 0 or more; null = absent. Otherwise 400 naming the field."},"spouseWagesByPeriod":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":0,"maximum":100000000000},"description":"Form 2210 Schedule AI: the spouseWages received in each installment period, four amounts (Jan 1 - Mar 31, Apr 1 - May 31, Jun 1 - Aug 31, Sep 1 - Dec 31). With it the response figures the penalty by the annualized income installment method too and charges the lower (schedules.form2210.method). An item without it accrues evenly through the year.","x-whenAbsent":"","x-relation":"Must add up to spouseWages (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts, 0 or more; null = absent. Otherwise 400 naming the field."},"spouse_wages_by_period":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":0,"maximum":100000000000},"description":"The same field under its snake_case spelling.","x-whenAbsent":"","x-relation":"Must add up to spouseWages (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts, 0 or more; null = absent. Otherwise 400 naming the field."},"selfEmploymentIncomeByPeriod":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":-100000000000,"maximum":100000000000},"description":"Form 2210 Schedule AI: the selfEmploymentIncome received in each installment period, four amounts (Jan 1 - Mar 31, Apr 1 - May 31, Jun 1 - Aug 31, Sep 1 - Dec 31). With it the response figures the penalty by the annualized income installment method too and charges the lower (schedules.form2210.method). An item without it accrues evenly through the year.","x-whenAbsent":"","x-relation":"Must add up to selfEmploymentIncome (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts; null = absent. Otherwise 400 naming the field."},"self_employment_income_by_period":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":-100000000000,"maximum":100000000000},"description":"The same field under its snake_case spelling.","x-whenAbsent":"","x-relation":"Must add up to selfEmploymentIncome (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts; null = absent. Otherwise 400 naming the field."},"spouseSelfEmploymentIncomeByPeriod":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":-100000000000,"maximum":100000000000},"description":"Form 2210 Schedule AI: the spouseSelfEmploymentIncome received in each installment period, four amounts (Jan 1 - Mar 31, Apr 1 - May 31, Jun 1 - Aug 31, Sep 1 - Dec 31). With it the response figures the penalty by the annualized income installment method too and charges the lower (schedules.form2210.method). An item without it accrues evenly through the year.","x-whenAbsent":"","x-relation":"Must add up to spouseSelfEmploymentIncome (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts; null = absent. Otherwise 400 naming the field."},"spouse_self_employment_income_by_period":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":-100000000000,"maximum":100000000000},"description":"The same field under its snake_case spelling.","x-whenAbsent":"","x-relation":"Must add up to spouseSelfEmploymentIncome (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts; null = absent. Otherwise 400 naming the field."},"iraDistributionsByPeriod":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":0,"maximum":100000000000},"description":"Form 2210 Schedule AI: the iraDistributions received in each installment period, four amounts (Jan 1 - Mar 31, Apr 1 - May 31, Jun 1 - Aug 31, Sep 1 - Dec 31). With it the response figures the penalty by the annualized income installment method too and charges the lower (schedules.form2210.method). An item without it accrues evenly through the year.","x-whenAbsent":"","x-relation":"Must add up to iraDistributions (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts, 0 or more; null = absent. Otherwise 400 naming the field."},"ira_distributions_by_period":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":0,"maximum":100000000000},"description":"The same field under its snake_case spelling.","x-whenAbsent":"","x-relation":"Must add up to iraDistributions (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts, 0 or more; null = absent. Otherwise 400 naming the field."},"rothConversionByPeriod":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":0,"maximum":100000000000},"description":"Form 2210 Schedule AI: the rothConversion received in each installment period, four amounts (Jan 1 - Mar 31, Apr 1 - May 31, Jun 1 - Aug 31, Sep 1 - Dec 31). With it the response figures the penalty by the annualized income installment method too and charges the lower (schedules.form2210.method). An item without it accrues evenly through the year.","x-whenAbsent":"","x-relation":"Must add up to rothConversion (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts, 0 or more; null = absent. Otherwise 400 naming the field."},"roth_conversion_by_period":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":0,"maximum":100000000000},"description":"The same field under its snake_case spelling.","x-whenAbsent":"","x-relation":"Must add up to rothConversion (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts, 0 or more; null = absent. Otherwise 400 naming the field."},"pensionByPeriod":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":0,"maximum":100000000000},"description":"Form 2210 Schedule AI: the pension received in each installment period, four amounts (Jan 1 - Mar 31, Apr 1 - May 31, Jun 1 - Aug 31, Sep 1 - Dec 31). With it the response figures the penalty by the annualized income installment method too and charges the lower (schedules.form2210.method). An item without it accrues evenly through the year.","x-whenAbsent":"","x-relation":"Must add up to pension (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts, 0 or more; null = absent. Otherwise 400 naming the field."},"pension_by_period":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":0,"maximum":100000000000},"description":"The same field under its snake_case spelling.","x-whenAbsent":"","x-relation":"Must add up to pension (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts, 0 or more; null = absent. Otherwise 400 naming the field."},"otherOrdinaryIncomeByPeriod":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":0,"maximum":100000000000},"description":"Form 2210 Schedule AI: the otherOrdinaryIncome received in each installment period, four amounts (Jan 1 - Mar 31, Apr 1 - May 31, Jun 1 - Aug 31, Sep 1 - Dec 31). With it the response figures the penalty by the annualized income installment method too and charges the lower (schedules.form2210.method). An item without it accrues evenly through the year.","x-whenAbsent":"","x-relation":"Must add up to otherOrdinaryIncome (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts, 0 or more; null = absent. Otherwise 400 naming the field."},"other_ordinary_income_by_period":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":0,"maximum":100000000000},"description":"The same field under its snake_case spelling.","x-whenAbsent":"","x-relation":"Must add up to otherOrdinaryIncome (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts, 0 or more; null = absent. Otherwise 400 naming the field."},"shortTermGainsByPeriod":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":-100000000000,"maximum":100000000000},"description":"Form 2210 Schedule AI: the shortTermGains received in each installment period, four amounts (Jan 1 - Mar 31, Apr 1 - May 31, Jun 1 - Aug 31, Sep 1 - Dec 31). With it the response figures the penalty by the annualized income installment method too and charges the lower (schedules.form2210.method). An item without it accrues evenly through the year.","x-whenAbsent":"","x-relation":"Must add up to shortTermGains (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts; null = absent. Otherwise 400 naming the field."},"short_term_gains_by_period":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":-100000000000,"maximum":100000000000},"description":"The same field under its snake_case spelling.","x-whenAbsent":"","x-relation":"Must add up to shortTermGains (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts; null = absent. Otherwise 400 naming the field."},"longTermGainsByPeriod":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":-100000000000,"maximum":100000000000},"description":"Form 2210 Schedule AI: the longTermGains received in each installment period, four amounts (Jan 1 - Mar 31, Apr 1 - May 31, Jun 1 - Aug 31, Sep 1 - Dec 31). With it the response figures the penalty by the annualized income installment method too and charges the lower (schedules.form2210.method). An item without it accrues evenly through the year.","x-whenAbsent":"","x-relation":"Must add up to longTermGains (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts; null = absent. Otherwise 400 naming the field."},"long_term_gains_by_period":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":-100000000000,"maximum":100000000000},"description":"The same field under its snake_case spelling.","x-whenAbsent":"","x-relation":"Must add up to longTermGains (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts; null = absent. Otherwise 400 naming the field."},"capitalGainDistributionsByPeriod":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":0,"maximum":100000000000},"description":"Form 2210 Schedule AI: the capitalGainDistributions received in each installment period, four amounts (Jan 1 - Mar 31, Apr 1 - May 31, Jun 1 - Aug 31, Sep 1 - Dec 31). With it the response figures the penalty by the annualized income installment method too and charges the lower (schedules.form2210.method). An item without it accrues evenly through the year.","x-whenAbsent":"","x-relation":"Must add up to capitalGainDistributions (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts, 0 or more; null = absent. Otherwise 400 naming the field."},"capital_gain_distributions_by_period":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":0,"maximum":100000000000},"description":"The same field under its snake_case spelling.","x-whenAbsent":"","x-relation":"Must add up to capitalGainDistributions (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts, 0 or more; null = absent. Otherwise 400 naming the field."},"taxableInterestByPeriod":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":0,"maximum":100000000000},"description":"Form 2210 Schedule AI: the taxableInterest received in each installment period, four amounts (Jan 1 - Mar 31, Apr 1 - May 31, Jun 1 - Aug 31, Sep 1 - Dec 31). With it the response figures the penalty by the annualized income installment method too and charges the lower (schedules.form2210.method). An item without it accrues evenly through the year.","x-whenAbsent":"","x-relation":"Must add up to taxableInterest (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts, 0 or more; null = absent. Otherwise 400 naming the field."},"taxable_interest_by_period":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":0,"maximum":100000000000},"description":"The same field under its snake_case spelling.","x-whenAbsent":"","x-relation":"Must add up to taxableInterest (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts, 0 or more; null = absent. Otherwise 400 naming the field."},"ordinaryDividendsByPeriod":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":0,"maximum":100000000000},"description":"Form 2210 Schedule AI: the ordinaryDividends received in each installment period, four amounts (Jan 1 - Mar 31, Apr 1 - May 31, Jun 1 - Aug 31, Sep 1 - Dec 31). With it the response figures the penalty by the annualized income installment method too and charges the lower (schedules.form2210.method). An item without it accrues evenly through the year.","x-whenAbsent":"","x-relation":"Must add up to ordinaryDividends (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts, 0 or more; null = absent. Otherwise 400 naming the field."},"ordinary_dividends_by_period":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":0,"maximum":100000000000},"description":"The same field under its snake_case spelling.","x-whenAbsent":"","x-relation":"Must add up to ordinaryDividends (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts, 0 or more; null = absent. Otherwise 400 naming the field."},"qualifiedDividendsByPeriod":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":0,"maximum":100000000000},"description":"Form 2210 Schedule AI: the qualifiedDividends received in each installment period, four amounts (Jan 1 - Mar 31, Apr 1 - May 31, Jun 1 - Aug 31, Sep 1 - Dec 31). With it the response figures the penalty by the annualized income installment method too and charges the lower (schedules.form2210.method). An item without it accrues evenly through the year.","x-whenAbsent":"","x-relation":"Must add up to qualifiedDividends (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts, 0 or more; null = absent. Otherwise 400 naming the field."},"qualified_dividends_by_period":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":0,"maximum":100000000000},"description":"The same field under its snake_case spelling.","x-whenAbsent":"","x-relation":"Must add up to qualifiedDividends (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts, 0 or more; null = absent. Otherwise 400 naming the field."},"socialSecurityGrossByPeriod":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":0,"maximum":100000000000},"description":"Form 2210 Schedule AI: the socialSecurityGross received in each installment period, four amounts (Jan 1 - Mar 31, Apr 1 - May 31, Jun 1 - Aug 31, Sep 1 - Dec 31). With it the response figures the penalty by the annualized income installment method too and charges the lower (schedules.form2210.method). An item without it accrues evenly through the year.","x-whenAbsent":"","x-relation":"Must add up to socialSecurityGross (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts, 0 or more; null = absent. Otherwise 400 naming the field."},"social_security_gross_by_period":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":0,"maximum":100000000000},"description":"The same field under its snake_case spelling.","x-whenAbsent":"","x-relation":"Must add up to socialSecurityGross (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts, 0 or more; null = absent. Otherwise 400 naming the field."},"rentalNetIncomeByPeriod":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":-100000000000,"maximum":100000000000},"description":"Form 2210 Schedule AI: the rentalNetIncome received in each installment period, four amounts (Jan 1 - Mar 31, Apr 1 - May 31, Jun 1 - Aug 31, Sep 1 - Dec 31). With it the response figures the penalty by the annualized income installment method too and charges the lower (schedules.form2210.method). An item without it accrues evenly through the year.","x-whenAbsent":"","x-relation":"Must add up to rentalNetIncome (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts; null = absent. Otherwise 400 naming the field."},"rental_net_income_by_period":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":-100000000000,"maximum":100000000000},"description":"The same field under its snake_case spelling.","x-whenAbsent":"","x-relation":"Must add up to rentalNetIncome (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts; null = absent. Otherwise 400 naming the field."},"inheritedDistributionByPeriod":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":0,"maximum":100000000000},"description":"Form 2210 Schedule AI: the inheritedDistribution received in each installment period, four amounts (Jan 1 - Mar 31, Apr 1 - May 31, Jun 1 - Aug 31, Sep 1 - Dec 31). With it the response figures the penalty by the annualized income installment method too and charges the lower (schedules.form2210.method). An item without it accrues evenly through the year.","x-whenAbsent":"","x-relation":"Must add up to inheritedDistribution (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts, 0 or more; null = absent. Otherwise 400 naming the field."},"inherited_distribution_by_period":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":0,"maximum":100000000000},"description":"The same field under its snake_case spelling.","x-whenAbsent":"","x-relation":"Must add up to inheritedDistribution (400); needs priorYearTax (400).","x-limits":"Up to 4 amounts, 0 or more; null = absent. Otherwise 400 naming the field."},"withholdingByPeriod":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":0,"maximum":100000000000},"description":"Form 2210 box D: the federal tax withheld in each installment period (the same four periods), credited when withheld instead of in four equal parts.","x-whenAbsent":"","x-relation":"Needs priorYearTax (400); adds up to withholding when both are sent (400), else it is the year's withholding.","x-limits":"Up to 4 amounts, 0 or more; null = absent. Otherwise 400 naming the field."},"withholding_by_period":{"type":["array","null"],"maxItems":4,"items":{"type":"number","minimum":0,"maximum":100000000000},"description":"The same field under its snake_case spelling.","x-whenAbsent":"","x-relation":"Needs priorYearTax (400); adds up to withholding when both are sent (400), else it is the year's withholding.","x-limits":"Up to 4 amounts, 0 or more; null = absent. Otherwise 400 naming the field."},"charityCarryoverCash1":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"A charitable contribution carryover of cash to 50% limit organizations (the 60% class) from 1 year before the tax year: deducted after the year's own gifts of the class, oldest first, under the same limits. The response carries next year's carryovers (schedules.scheduleA.charityCarryover).","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"charity_carryover_cash_1":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"charityCarryoverCash2":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"A charitable contribution carryover of cash to 50% limit organizations (the 60% class) from 2 years before the tax year: deducted after the year's own gifts of the class, oldest first, under the same limits. The response carries next year's carryovers (schedules.scheduleA.charityCarryover).","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"charity_carryover_cash_2":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"charityCarryoverCash3":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"A charitable contribution carryover of cash to 50% limit organizations (the 60% class) from 3 years before the tax year: deducted after the year's own gifts of the class, oldest first, under the same limits. The response carries next year's carryovers (schedules.scheduleA.charityCarryover).","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"charity_carryover_cash_3":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"charityCarryoverCash4":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"A charitable contribution carryover of cash to 50% limit organizations (the 60% class) from 4 years before the tax year: deducted after the year's own gifts of the class, oldest first, under the same limits. The response carries next year's carryovers (schedules.scheduleA.charityCarryover).","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"charity_carryover_cash_4":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"charityCarryoverCash5":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"A charitable contribution carryover of cash to 50% limit organizations (the 60% class) from 5 years before the tax year (its last year): deducted after the year's own gifts of the class, oldest first, under the same limits. The response carries next year's carryovers (schedules.scheduleA.charityCarryover).","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"charity_carryover_cash_5":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"charityCarryoverProperty1":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"A charitable contribution carryover of capital-gain property to 50% limit organizations (the 30% class) from 1 year before the tax year: deducted after the year's own gifts of the class, oldest first, under the same limits. The response carries next year's carryovers (schedules.scheduleA.charityCarryover).","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"charity_carryover_property_1":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"charityCarryoverProperty2":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"A charitable contribution carryover of capital-gain property to 50% limit organizations (the 30% class) from 2 years before the tax year: deducted after the year's own gifts of the class, oldest first, under the same limits. The response carries next year's carryovers (schedules.scheduleA.charityCarryover).","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"charity_carryover_property_2":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"charityCarryoverProperty3":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"A charitable contribution carryover of capital-gain property to 50% limit organizations (the 30% class) from 3 years before the tax year: deducted after the year's own gifts of the class, oldest first, under the same limits. The response carries next year's carryovers (schedules.scheduleA.charityCarryover).","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"charity_carryover_property_3":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"charityCarryoverProperty4":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"A charitable contribution carryover of capital-gain property to 50% limit organizations (the 30% class) from 4 years before the tax year: deducted after the year's own gifts of the class, oldest first, under the same limits. The response carries next year's carryovers (schedules.scheduleA.charityCarryover).","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"charity_carryover_property_4":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"charityCarryoverProperty5":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"A charitable contribution carryover of capital-gain property to 50% limit organizations (the 30% class) from 5 years before the tax year (its last year): deducted after the year's own gifts of the class, oldest first, under the same limits. The response carries next year's carryovers (schedules.scheduleA.charityCarryover).","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"charity_carryover_property_5":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"marketplacePremiums":{"type":["array","null"],"maxItems":12,"items":{"type":["number","null"],"minimum":0,"maximum":100000000000},"description":"Form 1095-A column A, lines 21-32: the monthly enrollment premiums of the marketplace plan (including the part the advance payments paid), January first; 0 or null = not covered that month. With it the return figures Form 8962.","x-whenAbsent":"absent (no Form 8962)","x-relation":"Needs marketplaceSlcspPremiums (400).","x-limits":"Up to 12 amounts, January first, dollars 0 to $100 billion (null = none that month). Otherwise 400."},"marketplace_premiums":{"type":["array","null"],"maxItems":12,"items":{"type":["number","null"],"minimum":0,"maximum":100000000000},"description":"The same field under its snake_case spelling.","x-whenAbsent":"absent (no Form 8962)","x-relation":"Needs marketplaceSlcspPremiums (400).","x-limits":"Up to 12 amounts, January first, dollars 0 to $100 billion (null = none that month). Otherwise 400."},"marketplaceSlcspPremiums":{"type":["array","null"],"maxItems":12,"items":{"type":["number","null"],"minimum":0,"maximum":100000000000},"description":"Form 1095-A column B: the monthly applicable second lowest cost silver plan (SLCSP) premium.","x-whenAbsent":"absent","x-relation":"Needs marketplacePremiums (400).","x-limits":"Up to 12 amounts, January first, dollars 0 to $100 billion (null = none that month). Otherwise 400."},"marketplace_slcsp_premiums":{"type":["array","null"],"maxItems":12,"items":{"type":["number","null"],"minimum":0,"maximum":100000000000},"description":"The same field under its snake_case spelling.","x-whenAbsent":"absent","x-relation":"Needs marketplacePremiums (400).","x-limits":"Up to 12 amounts, January first, dollars 0 to $100 billion (null = none that month). Otherwise 400."},"marketplaceAdvancePayments":{"type":["array","null"],"maxItems":12,"items":{"type":["number","null"],"minimum":0,"maximum":100000000000},"description":"Form 1095-A column C: the monthly advance payments of the premium tax credit (APTC).","x-whenAbsent":"[] (no advance payments)","x-relation":"Needs marketplacePremiums (400).","x-limits":"Up to 12 amounts, January first, dollars 0 to $100 billion (null = none that month). Otherwise 400."},"marketplace_advance_payments":{"type":["array","null"],"maxItems":12,"items":{"type":["number","null"],"minimum":0,"maximum":100000000000},"description":"The same field under its snake_case spelling.","x-whenAbsent":"[] (no advance payments)","x-relation":"Needs marketplacePremiums (400).","x-limits":"Up to 12 amounts, January first, dollars 0 to $100 billion (null = none that month). Otherwise 400."},"taxFamilySize":{"type":["integer","null"],"minimum":1,"maximum":30,"description":"Form 8962 line 1: the tax family (the filer, the spouse on a joint return and the dependents claimed).","x-whenAbsent":"the filer, the spouse on a joint return, childTaxCreditChildren and otherDependents","x-relation":"Needs marketplacePremiums (400).","x-limits":"A whole number 1 to 30. Otherwise 400."},"tax_family_size":{"type":["integer","null"],"minimum":1,"maximum":30,"description":"The same field under its snake_case spelling.","x-whenAbsent":"the filer, the spouse on a joint return, childTaxCreditChildren and otherDependents","x-relation":"Needs marketplacePremiums (400).","x-limits":"A whole number 1 to 30. Otherwise 400."},"povertyGuidelineState":{"type":["string","null"],"pattern":"^(?:[cC][oO][nN][tT][iI][gG][uU][oO][uU][sS]|[aA][lL][aA][sS][kK][aA]|[hH][aA][wW][aA][iI][iI])$","examples":["contiguous","alaska","hawaii"],"description":"Form 8962 line 4: which poverty guidelines apply, those of the 48 contiguous states and DC, Alaska or Hawaii (the state of residence; the higher table when the family lived in more than one).","x-whenAbsent":"contiguous","x-relation":"Needs marketplacePremiums (400).","x-limits":"contiguous, alaska or hawaii (any case). Otherwise 400."},"poverty_guideline_state":{"type":["string","null"],"pattern":"^(?:[cC][oO][nN][tT][iI][gG][uU][oO][uU][sS]|[aA][lL][aA][sS][kK][aA]|[hH][aA][wW][aA][iI][iI])$","examples":["contiguous","alaska","hawaii"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"contiguous","x-relation":"Needs marketplacePremiums (400).","x-limits":"contiguous, alaska or hawaii (any case). Otherwise 400."},"dependentsModifiedAgi":{"type":["number","null"],"minimum":-100000000000,"maximum":100000000000,"description":"Form 8962 line 2b: the modified AGI of the dependents who were required to file a return (Worksheet 1-2).","x-whenAbsent":"0","x-relation":"Needs marketplacePremiums (400).","x-limits":"Finite, -$100 billion to $100 billion; null = absent. Otherwise 400."},"dependents_modified_agi":{"type":["number","null"],"minimum":-100000000000,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs marketplacePremiums (400).","x-limits":"Finite, -$100 billion to $100 billion; null = absent. Otherwise 400."},"ptcEstimatedIncomeException":{"type":["boolean","null"],"description":"Household income is below 100% of the poverty line, but the Exchange estimated it at 100% or more when advance payments were approved (26 CFR 1.36B-2(b)(6)): the filer is still an applicable taxpayer. The caller asserts the facts.","x-whenAbsent":"false","x-relation":"Needs marketplacePremiums and some marketplaceAdvancePayments (400).","x-limits":"true or false; null = absent (false). Anything else: 400."},"ptc_estimated_income_exception":{"type":["boolean","null"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"false","x-relation":"Needs marketplacePremiums and some marketplaceAdvancePayments (400).","x-limits":"true or false; null = absent (false). Anything else: 400."},"ptcMfsException":{"type":["boolean","null"],"description":"A married filer filing separately who lives apart from the spouse and cannot file jointly because of domestic abuse or spousal abandonment (26 CFR 1.36B-2(b)(2)(ii)): the credit is allowed on the separate return. The caller asserts the facts.","x-whenAbsent":"false","x-relation":"filingStatus mfs only; needs marketplacePremiums (400).","x-limits":"true or false; null = absent (false). Anything else: 400."},"ptc_mfs_exception":{"type":["boolean","null"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"false","x-relation":"filingStatus mfs only; needs marketplacePremiums (400).","x-limits":"true or false; null = absent (false). Anything else: 400."},"k1PassiveIncome":{"type":["number","null"],"minimum":-100000000000,"maximum":100000000000,"description":"The partnership and S corporation passive income or (loss), net over the activities and after the basis and at-risk limits: trade or business activities you do not materially participate in, non-real-estate rentals, a limited partner's rental real estate (Schedule E columns (g)/(h); Form 8582 line 2).","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, -$100 billion to $100 billion; null = absent. Otherwise 400 naming the field."},"k1_passive_income":{"type":["number","null"],"minimum":-100000000000,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, -$100 billion to $100 billion; null = absent. Otherwise 400 naming the field."},"k1PassivePriorYearUnallowedLoss":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 8582 line 2c for those activities: the prior years' unallowed losses (positive).","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"k1_passive_prior_year_unallowed_loss":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"k1NonpassiveIncome":{"type":["number","null"],"minimum":-100000000000,"maximum":100000000000,"description":"The partnership and S corporation nonpassive income or (loss), after the basis and at-risk limits and the section 179 deduction (Schedule E columns (i)-(k)).","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, -$100 billion to $100 billion; null = absent. Otherwise 400 naming the field."},"k1_nonpassive_income":{"type":["number","null"],"minimum":-100000000000,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, -$100 billion to $100 billion; null = absent. Otherwise 400 naming the field."},"k1NonpassiveTrading":{"type":["boolean","null"],"description":"The nonpassive amount is from a trade or business of trading financial instruments or commodities: it stays net investment income (section 1411(c)(2)(B)).","x-whenAbsent":"false","x-relation":"Needs k1NonpassiveIncome (400).","x-limits":"true or false; null = absent (false). Anything else: 400."},"k1_nonpassive_trading":{"type":["boolean","null"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"false","x-relation":"Needs k1NonpassiveIncome (400).","x-limits":"true or false; null = absent (false). Anything else: 400."},"estateTrustIncome":{"type":["number","null"],"minimum":-100000000000,"maximum":100000000000,"description":"Schedule E Part III: an estate's or trust's net income or (loss) from the beneficiary's K-1 (Form 1041) boxes 5-8.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, -$100 billion to $100 billion; null = absent. Otherwise 400 naming the field."},"estate_trust_income":{"type":["number","null"],"minimum":-100000000000,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, -$100 billion to $100 billion; null = absent. Otherwise 400 naming the field."},"estateTrustPassive":{"type":["boolean","null"],"description":"The Part III amount is passive (Schedule E columns (c)/(d); Form 8582 line 2).","x-whenAbsent":"false","x-relation":"Needs estateTrustIncome or estateTrustPriorYearUnallowedLoss (400).","x-limits":"true or false; null = absent (false). Anything else: 400."},"estate_trust_passive":{"type":["boolean","null"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"false","x-relation":"Needs estateTrustIncome or estateTrustPriorYearUnallowedLoss (400).","x-limits":"true or false; null = absent (false). Anything else: 400."},"estateTrustPriorYearUnallowedLoss":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 8582 line 2c for the estate or trust: the prior years' unallowed losses (positive).","x-whenAbsent":"0","x-relation":"Needs estateTrustPassive true (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"estate_trust_prior_year_unallowed_loss":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs estateTrustPassive true (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"partnershipSeEarnings":{"type":["number","null"],"minimum":-100000000000,"maximum":100000000000,"description":"K-1 (Form 1065) box 14 code A, net earnings from self-employment as the instructions reduce it (a general partner; a limited partner's guaranteed payments for services): Schedule SE line 2. The income itself is in k1NonpassiveIncome (Schedule E), not on Schedule 1 line 3.","x-whenAbsent":"0","x-relation":"Needs k1NonpassiveIncome or k1PassiveIncome (400).","x-limits":"Finite, -$100 billion to $100 billion; null = absent. Otherwise 400 naming the field."},"partnership_se_earnings":{"type":["number","null"],"minimum":-100000000000,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs k1NonpassiveIncome or k1PassiveIncome (400).","x-limits":"Finite, -$100 billion to $100 billion; null = absent. Otherwise 400 naming the field."},"spousePartnershipSeEarnings":{"type":["number","null"],"minimum":-100000000000,"maximum":100000000000,"description":"The spouse's K-1 box 14 code A on a joint return (the spouse's Schedule SE).","x-whenAbsent":"0","x-relation":"filingStatus mfj only; needs k1NonpassiveIncome or k1PassiveIncome (400).","x-limits":"Finite, -$100 billion to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_partnership_se_earnings":{"type":["number","null"],"minimum":-100000000000,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"filingStatus mfj only; needs k1NonpassiveIncome or k1PassiveIncome (400).","x-limits":"Finite, -$100 billion to $100 billion; null = absent. Otherwise 400 naming the field."},"k1QualifiedBusinessIncome":{"type":["number","null"],"minimum":-100000000000,"maximum":100000000000,"description":"The K-1s' qualified business income (K-1 1065 box 20 code Z, 1120-S box 17 code V, 1041 box 14 code I), as one trade or business, after the reductions the Form 8995 instructions list (the caller's: guaranteed payments, suspended losses, the attributable deductions).","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, -$100 billion to $100 billion; null = absent. Otherwise 400 naming the field."},"k1_qualified_business_income":{"type":["number","null"],"minimum":-100000000000,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, -$100 billion to $100 billion; null = absent. Otherwise 400 naming the field."},"k1QbiW2Wages":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Its W-2 wages (Form 8995-A line 4).","x-whenAbsent":"0","x-relation":"Needs k1QualifiedBusinessIncome (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"k1_qbi_w2_wages":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs k1QualifiedBusinessIncome (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"k1QbiUbia":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Its unadjusted basis immediately after acquisition of qualified property (Form 8995-A line 7).","x-whenAbsent":"0","x-relation":"Needs k1QualifiedBusinessIncome (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"k1_qbi_ubia":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs k1QualifiedBusinessIncome (400).","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"k1QbiSstb":{"type":["boolean","null"],"description":"It is a specified service trade or business (section 199A(d)(2)).","x-whenAbsent":"false","x-relation":"Needs k1QualifiedBusinessIncome (400).","x-limits":"true or false; null = absent (false). Anything else: 400."},"k1_qbi_sstb":{"type":["boolean","null"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"false","x-relation":"Needs k1QualifiedBusinessIncome (400).","x-limits":"true or false; null = absent (false). Anything else: 400."},"k1QbiActive":{"type":["boolean","null"],"description":"You materially participate in it: an active trade or business for the section 199A(i) minimum deduction.","x-whenAbsent":"false","x-relation":"Needs k1QualifiedBusinessIncome (400).","x-limits":"true or false; null = absent (false). Anything else: 400."},"k1_qbi_active":{"type":["boolean","null"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"false","x-relation":"Needs k1QualifiedBusinessIncome (400).","x-limits":"true or false; null = absent (false). Anything else: 400."},"nonqualifiedAnnuitySepp":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The part of nonqualifiedAnnuity paid as substantially equal periodic payments for life (§72(q)(2)(D)): excepted from the §72(q) 10% (Form 5329 line 2).","x-whenAbsent":"0","x-relation":"Needs nonqualifiedAnnuity; with the other two exceptions at most nonqualifiedAnnuity (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"nonqualified_annuity_sepp":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs nonqualifiedAnnuity; with the other two exceptions at most nonqualifiedAnnuity (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"nonqualifiedAnnuityDeath":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The part of nonqualifiedAnnuity paid on or after the holder's death (§72(q)(2)(B)): excepted.","x-whenAbsent":"0","x-relation":"Needs nonqualifiedAnnuity; with the other two at most nonqualifiedAnnuity (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"nonqualified_annuity_death":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs nonqualifiedAnnuity; with the other two at most nonqualifiedAnnuity (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"nonqualifiedAnnuityOtherException":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The part of nonqualifiedAnnuity excepted under §72(q)(2)(F), (G), (I) or (J): allocable to investment before August 14, 1982, a qualified funding asset (structured settlement), an immediate annuity (single premium, payments starting within a year), an annuity bought by an employer on a qualified plan's termination.","x-whenAbsent":"0","x-relation":"Needs nonqualifiedAnnuity; with the other two at most nonqualifiedAnnuity (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"nonqualified_annuity_other_exception":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs nonqualifiedAnnuity; with the other two at most nonqualifiedAnnuity (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"traditionalIraContributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 Part III: the traditional IRA contributions for 2026 (made in 2026 or by the April 15, 2027 due date), deductible or not, rollovers excluded; a corrective withdrawal made in time stays in and is given in traditionalIraCorrectiveWithdrawal. The excess over the limit (the smaller of $7,500, $8,600 at 50 or older by the year end, and the compensation: wages and the net self-employment earnings; the spousal IRA on a joint return) is taxed 6% (line 15). The engine has no IRA deduction: the contributions change nothing else on the return.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"traditional_ira_contributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"traditionalIraPriorExcess":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 line 9: the 2025 Form 5329 line 16 when its line 17 was more than zero (an excess carried in).","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"traditional_ira_prior_excess":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"traditionalIraDistributionsIncluded":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 line 11: traditional IRA withdrawals in 2026 included in income (they reduce the carried excess).","x-whenAbsent":"0","x-relation":"Needs traditionalIraContributions or traditionalIraPriorExcess (400). Not added to income: that is iraDistributions'.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"traditional_ira_distributions_included":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs traditionalIraContributions or traditionalIraPriorExcess (400). Not added to income: that is iraDistributions'.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"traditionalIraPriorExcessWithdrawn":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 line 12: prior-year excess contributions returned in 2026 and not included in income (the line 12 conditions are the caller's).","x-whenAbsent":"0","x-relation":"Needs traditionalIraContributions or traditionalIraPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"traditional_ira_prior_excess_withdrawn":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs traditionalIraContributions or traditionalIraPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"traditionalIraCorrectiveWithdrawal":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The part of traditionalIraContributions withdrawn with its earnings by the due date including extensions (or within 6 months of a timely return, 26 CFR 301.9100-2): treated as not contributed. Its earnings are income the caller enters elsewhere.","x-whenAbsent":"0","x-relation":"At most traditionalIraContributions (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"traditional_ira_corrective_withdrawal":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"At most traditionalIraContributions (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"traditionalIraValue":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 line 17: the value of the traditional IRAs on December 31, 2026, including 2026 contributions made in 2027. The 6% is on the smaller of the excess and this value (not iraYearEndValue, Form 8606 line 6).","x-whenAbsent":"absent (the 6% is on the excess, not limited by a value)","x-relation":"Needs traditionalIraContributions or traditionalIraPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"traditional_ira_value":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"absent (the 6% is on the excess, not limited by a value)","x-relation":"Needs traditionalIraContributions or traditionalIraPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"rothIraContributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 Part IV: the regular Roth IRA contributions for 2026 (not conversions or rollovers; not rothContributions, the basis of earlier ones). The excess over the Roth limit (the traditional limit less the traditional contributions, reduced over the 2026 MAGI start of $153,000, $242,000 joint or 0 for a separate return living with the spouse; Pub 590-A Worksheet 2-2) is taxed 6% (line 23).","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"roth_ira_contributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"rothIraPriorExcess":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 line 18: the 2025 Form 5329 line 24 when its line 25 was more than zero.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"roth_ira_prior_excess":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"rothIraDistributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 line 20: the 2026 Roth IRA distributions (Form 8606 line 19 plus qualified distributions).","x-whenAbsent":"the filer's: rothDistribution; the spouse's: 0","x-relation":"Needs rothIraContributions or rothIraPriorExcess (400). Not added to income: that is rothDistribution's.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"roth_ira_distributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"the filer's: rothDistribution; the spouse's: 0","x-relation":"Needs rothIraContributions or rothIraPriorExcess (400). Not added to income: that is rothDistribution's.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"rothIraCorrectiveWithdrawal":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The part of rothIraContributions withdrawn with its earnings in time: treated as not contributed.","x-whenAbsent":"0","x-relation":"At most rothIraContributions (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"roth_ira_corrective_withdrawal":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"At most rothIraContributions (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"rothIraValue":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 line 25: the value of the Roth IRAs on December 31, 2026, including 2026 contributions made in 2027.","x-whenAbsent":"absent (the 6% is on the excess, not limited by a value)","x-relation":"Needs rothIraContributions or rothIraPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"roth_ira_value":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"absent (the 6% is on the excess, not limited by a value)","x-relation":"Needs rothIraContributions or rothIraPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"hsaContributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 Part VII: the HSA contributions for 2026, the employer's included (Form 8889 lines 2 and 9). The excess over the limit is taxed 6% (line 47). The engine has no HSA deduction: the contributions change nothing else on the return.","x-whenAbsent":"0","x-relation":"Needs hsaCoverage or hsaLimit (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"hsa_contributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs hsaCoverage or hsaLimit (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"hsaCoverage":{"type":["string","null"],"pattern":"^(?:[nN][oO][nN][eE]|[sS][eE][lL][fF]|[fF][aA][mM][iI][lL][yY])$","examples":["none","self","family"],"description":"The HDHP coverage for all of 2026 as an eligible individual: none, self (self-only, $4,400) or family ($8,750), + $1,000 at 55 or older by the year end; spouses on a joint return with family coverage share the family limit equally; Archer MSA contributions reduce it.","x-whenAbsent":"none","x-relation":"Needs hsaContributions or hsaPriorExcess (400).","x-limits":"none, self or family (any case). Otherwise 400."},"hsa_coverage":{"type":["string","null"],"pattern":"^(?:[nN][oO][nN][eE]|[sS][eE][lL][fF]|[fF][aA][mM][iI][lL][yY])$","examples":["none","self","family"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"none","x-relation":"Needs hsaContributions or hsaPriorExcess (400).","x-limits":"none, self or family (any case). Otherwise 400."},"hsaLimit":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The HSA limit when the caller has it (Form 8889 line 8: a part-year or last-month-rule limit, an agreed split between spouses); replaces the statutory one of hsaCoverage.","x-whenAbsent":"absent (the statutory limit)","x-relation":"Needs hsaContributions or hsaPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"hsa_limit":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"absent (the statutory limit)","x-relation":"Needs hsaContributions or hsaPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"hsaPriorExcess":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 line 42: the 2025 Form 5329 line 48 when its line 49 was more than zero.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"hsa_prior_excess":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"hsaTaxableDistributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 line 44: the 2026 HSA distributions of Form 8889 line 16 (not used for qualified medical expenses).","x-whenAbsent":"0","x-relation":"Needs hsaContributions or hsaPriorExcess (400). Not added to income, and the Form 8889 20% is not modelled.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"hsa_taxable_distributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs hsaContributions or hsaPriorExcess (400). Not added to income, and the Form 8889 20% is not modelled.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"hsaCorrectiveWithdrawal":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The part of hsaContributions withdrawn with its earnings by the due date including extensions: treated as not contributed.","x-whenAbsent":"0","x-relation":"At most hsaContributions (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"hsa_corrective_withdrawal":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"At most hsaContributions (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"hsaValue":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 line 49: the value of the HSAs on December 31, 2026, including 2026 contributions made in 2027.","x-whenAbsent":"absent (the 6% is on the excess, not limited by a value)","x-relation":"Needs hsaContributions or hsaPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"hsa_value":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"absent (the 6% is on the excess, not limited by a value)","x-relation":"Needs hsaContributions or hsaPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseTraditionalIraContributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 Part III: the traditional IRA contributions for 2026 (made in 2026 or by the April 15, 2027 due date), deductible or not, rollovers excluded; a corrective withdrawal made in time stays in and is given in traditionalIraCorrectiveWithdrawal. The excess over the limit (the smaller of $7,500, $8,600 at 50 or older by the year end, and the compensation: wages and the net self-employment earnings; the spousal IRA on a joint return) is taxed 6% (line 15). The engine has no IRA deduction: the contributions change nothing else on the return. The spouse's on a joint return.","x-whenAbsent":"0","x-relation":"filingStatus mfj only (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_traditional_ira_contributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"filingStatus mfj only (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseTraditionalIraPriorExcess":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 line 9: the 2025 Form 5329 line 16 when its line 17 was more than zero (an excess carried in). The spouse's on a joint return.","x-whenAbsent":"0","x-relation":"filingStatus mfj only (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_traditional_ira_prior_excess":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"filingStatus mfj only (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseTraditionalIraDistributionsIncluded":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 line 11: traditional IRA withdrawals in 2026 included in income (they reduce the carried excess). The spouse's on a joint return.","x-whenAbsent":"0","x-relation":"filingStatus mfj only (400). Needs spouseTraditionalIraContributions or spouseTraditionalIraPriorExcess (400). Not added to income: that is iraDistributions'.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_traditional_ira_distributions_included":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"filingStatus mfj only (400). Needs spouseTraditionalIraContributions or spouseTraditionalIraPriorExcess (400). Not added to income: that is iraDistributions'.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseTraditionalIraPriorExcessWithdrawn":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 line 12: prior-year excess contributions returned in 2026 and not included in income (the line 12 conditions are the caller's). The spouse's on a joint return.","x-whenAbsent":"0","x-relation":"filingStatus mfj only (400). Needs spouseTraditionalIraContributions or spouseTraditionalIraPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_traditional_ira_prior_excess_withdrawn":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"filingStatus mfj only (400). Needs spouseTraditionalIraContributions or spouseTraditionalIraPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseTraditionalIraCorrectiveWithdrawal":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The part of traditionalIraContributions withdrawn with its earnings by the due date including extensions (or within 6 months of a timely return, 26 CFR 301.9100-2): treated as not contributed. Its earnings are income the caller enters elsewhere. The spouse's on a joint return.","x-whenAbsent":"0","x-relation":"filingStatus mfj only (400). At most spouseTraditionalIraContributions (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_traditional_ira_corrective_withdrawal":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"filingStatus mfj only (400). At most spouseTraditionalIraContributions (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseTraditionalIraValue":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 line 17: the value of the traditional IRAs on December 31, 2026, including 2026 contributions made in 2027. The 6% is on the smaller of the excess and this value (not iraYearEndValue, Form 8606 line 6). The spouse's on a joint return.","x-whenAbsent":"absent (the 6% is on the excess, not limited by a value)","x-relation":"filingStatus mfj only (400). Needs spouseTraditionalIraContributions or spouseTraditionalIraPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_traditional_ira_value":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"absent (the 6% is on the excess, not limited by a value)","x-relation":"filingStatus mfj only (400). Needs spouseTraditionalIraContributions or spouseTraditionalIraPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseRothIraContributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 Part IV: the regular Roth IRA contributions for 2026 (not conversions or rollovers; not rothContributions, the basis of earlier ones). The excess over the Roth limit (the traditional limit less the traditional contributions, reduced over the 2026 MAGI start of $153,000, $242,000 joint or 0 for a separate return living with the spouse; Pub 590-A Worksheet 2-2) is taxed 6% (line 23). The spouse's on a joint return.","x-whenAbsent":"0","x-relation":"filingStatus mfj only (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_roth_ira_contributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"filingStatus mfj only (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseRothIraPriorExcess":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 line 18: the 2025 Form 5329 line 24 when its line 25 was more than zero. The spouse's on a joint return.","x-whenAbsent":"0","x-relation":"filingStatus mfj only (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_roth_ira_prior_excess":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"filingStatus mfj only (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseRothIraDistributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 line 20: the 2026 Roth IRA distributions (Form 8606 line 19 plus qualified distributions). The spouse's on a joint return.","x-whenAbsent":"0","x-relation":"filingStatus mfj only (400). Needs spouseRothIraContributions or spouseRothIraPriorExcess (400). Not added to income: that is the spouse's's.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_roth_ira_distributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"filingStatus mfj only (400). Needs spouseRothIraContributions or spouseRothIraPriorExcess (400). Not added to income: that is the spouse's's.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseRothIraCorrectiveWithdrawal":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The part of rothIraContributions withdrawn with its earnings in time: treated as not contributed. The spouse's on a joint return.","x-whenAbsent":"0","x-relation":"filingStatus mfj only (400). At most spouseRothIraContributions (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_roth_ira_corrective_withdrawal":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"filingStatus mfj only (400). At most spouseRothIraContributions (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseRothIraValue":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 line 25: the value of the Roth IRAs on December 31, 2026, including 2026 contributions made in 2027. The spouse's on a joint return.","x-whenAbsent":"absent (the 6% is on the excess, not limited by a value)","x-relation":"filingStatus mfj only (400). Needs spouseRothIraContributions or spouseRothIraPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_roth_ira_value":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"absent (the 6% is on the excess, not limited by a value)","x-relation":"filingStatus mfj only (400). Needs spouseRothIraContributions or spouseRothIraPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseHsaContributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 Part VII: the HSA contributions for 2026, the employer's included (Form 8889 lines 2 and 9). The excess over the limit is taxed 6% (line 47). The engine has no HSA deduction: the contributions change nothing else on the return. The spouse's on a joint return.","x-whenAbsent":"0","x-relation":"filingStatus mfj only (400). Needs spouseHsaCoverage or spouseHsaLimit (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_hsa_contributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"filingStatus mfj only (400). Needs spouseHsaCoverage or spouseHsaLimit (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseHsaCoverage":{"type":["string","null"],"pattern":"^(?:[nN][oO][nN][eE]|[sS][eE][lL][fF]|[fF][aA][mM][iI][lL][yY])$","examples":["none","self","family"],"description":"The HDHP coverage for all of 2026 as an eligible individual: none, self (self-only, $4,400) or family ($8,750), + $1,000 at 55 or older by the year end; spouses on a joint return with family coverage share the family limit equally; Archer MSA contributions reduce it. The spouse's on a joint return.","x-whenAbsent":"none","x-relation":"filingStatus mfj only (400). Needs spouseHsaContributions or spouseHsaPriorExcess (400).","x-limits":"none, self or family (any case). Otherwise 400."},"spouse_hsa_coverage":{"type":["string","null"],"pattern":"^(?:[nN][oO][nN][eE]|[sS][eE][lL][fF]|[fF][aA][mM][iI][lL][yY])$","examples":["none","self","family"],"description":"The same field under its snake_case spelling.","x-whenAbsent":"none","x-relation":"filingStatus mfj only (400). Needs spouseHsaContributions or spouseHsaPriorExcess (400).","x-limits":"none, self or family (any case). Otherwise 400."},"spouseHsaLimit":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The HSA limit when the caller has it (Form 8889 line 8: a part-year or last-month-rule limit, an agreed split between spouses); replaces the statutory one of hsaCoverage. The spouse's on a joint return.","x-whenAbsent":"absent (the statutory limit)","x-relation":"filingStatus mfj only (400). Needs spouseHsaContributions or spouseHsaPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_hsa_limit":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"absent (the statutory limit)","x-relation":"filingStatus mfj only (400). Needs spouseHsaContributions or spouseHsaPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseHsaPriorExcess":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 line 42: the 2025 Form 5329 line 48 when its line 49 was more than zero. The spouse's on a joint return.","x-whenAbsent":"0","x-relation":"filingStatus mfj only (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_hsa_prior_excess":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"filingStatus mfj only (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseHsaTaxableDistributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 line 44: the 2026 HSA distributions of Form 8889 line 16 (not used for qualified medical expenses). The spouse's on a joint return.","x-whenAbsent":"0","x-relation":"filingStatus mfj only (400). Needs spouseHsaContributions or spouseHsaPriorExcess (400). Not added to income, and the Form 8889 20% is not modelled.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_hsa_taxable_distributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"filingStatus mfj only (400). Needs spouseHsaContributions or spouseHsaPriorExcess (400). Not added to income, and the Form 8889 20% is not modelled.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseHsaCorrectiveWithdrawal":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The part of hsaContributions withdrawn with its earnings by the due date including extensions: treated as not contributed. The spouse's on a joint return.","x-whenAbsent":"0","x-relation":"filingStatus mfj only (400). At most spouseHsaContributions (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_hsa_corrective_withdrawal":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"filingStatus mfj only (400). At most spouseHsaContributions (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseHsaValue":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 line 49: the value of the HSAs on December 31, 2026, including 2026 contributions made in 2027. The spouse's on a joint return.","x-whenAbsent":"absent (the 6% is on the excess, not limited by a value)","x-relation":"filingStatus mfj only (400). Needs spouseHsaContributions or spouseHsaPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_hsa_value":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"absent (the 6% is on the excess, not limited by a value)","x-relation":"filingStatus mfj only (400). Needs spouseHsaContributions or spouseHsaPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"coverdellContributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 Part V: the 2026 contributions to the filer's Coverdell ESAs (the filer as beneficiary), rollovers excluded. The excess over coverdellLimit is taxed 6% (line 31).","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"coverdell_contributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"coverdellLimit":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Line 27's limit: the smaller of $2,000 and the sum of the contributors' maximums (their MAGI phase-out, §530(c)).","x-whenAbsent":"2000","x-relation":"Needs coverdellContributions or coverdellPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"coverdell_limit":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"2000","x-relation":"Needs coverdellContributions or coverdellPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"coverdellPriorExcess":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 line 26: the 2025 line 32 when its line 33 was more than zero.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"coverdell_prior_excess":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"coverdellDistributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 line 28: the 2026 Coverdell distributions (not rollovers or withdrawn excess).","x-whenAbsent":"0","x-relation":"Needs coverdellContributions or coverdellPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"coverdell_distributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs coverdellContributions or coverdellPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"coverdellCorrectiveWithdrawal":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The part of coverdellContributions withdrawn with its earnings before June 1, 2027: treated as not contributed.","x-whenAbsent":"0","x-relation":"At most coverdellContributions (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"coverdell_corrective_withdrawal":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"At most coverdellContributions (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"coverdellValue":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 line 33: the Coverdell ESAs' value at the end of 2026.","x-whenAbsent":"absent (the 6% is on the excess, not limited by a value)","x-relation":"Needs coverdellContributions or coverdellPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"coverdell_value":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"absent (the 6% is on the excess, not limited by a value)","x-relation":"Needs coverdellContributions or coverdellPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"archerMsaContributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 Part VI: the 2026 Archer MSA contributions, the employer's included (Form 8853 line 2). They also reduce the HSA limit (§223(b)(4)).","x-whenAbsent":"0","x-relation":"Needs archerMsaLimit (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"archer_msa_contributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs archerMsaLimit (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"archerMsaLimit":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 8853's limit: the smaller of line 3 (65% / 75% of the HDHP deductible, by month) and line 4 (compensation).","x-whenAbsent":"0","x-relation":"Needs archerMsaContributions or archerMsaPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"archer_msa_limit":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs archerMsaContributions or archerMsaPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"archerMsaPriorExcess":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 line 34: the 2025 line 40 when its line 41 was more than zero.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"archer_msa_prior_excess":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"archerMsaDistributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 line 36: Form 8853 line 8.","x-whenAbsent":"0","x-relation":"Needs archerMsaContributions or archerMsaPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"archer_msa_distributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs archerMsaContributions or archerMsaPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"archerMsaCorrectiveWithdrawal":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The part of archerMsaContributions withdrawn with its earnings by the due date including extensions.","x-whenAbsent":"0","x-relation":"At most archerMsaContributions (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"archer_msa_corrective_withdrawal":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"At most archerMsaContributions (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"archerMsaValue":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 line 41's value: the Archer MSAs at the end of 2026.","x-whenAbsent":"absent (the 6% is on the excess, not limited by a value)","x-relation":"Needs archerMsaContributions or archerMsaPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"archer_msa_value":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"absent (the 6% is on the excess, not limited by a value)","x-relation":"Needs archerMsaContributions or archerMsaPriorExcess (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"ableContributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 Part VIII: the 2026 contributions to the filer's ABLE account (the designated beneficiary), from a 529 account included, rollovers and program-to-program transfers excluded. The excess over ableLimit is taxed 6% (line 50).","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"able_contributions":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"ableLimit":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Line 50's limit: $20,000 for 2026 plus, for an employed beneficiary, the ABLE-to-work amount (§529A(b)(2)(B)(ii)).","x-whenAbsent":"20000","x-relation":"Needs ableContributions (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"able_limit":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"20000","x-relation":"Needs ableContributions (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"ableCorrectiveWithdrawal":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The part of ableContributions returned with its income to the contributor by the due date including extensions.","x-whenAbsent":"0","x-relation":"At most ableContributions (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"able_corrective_withdrawal":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"At most ableContributions (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"ableValue":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 line 51's value: the ABLE account at the end of 2026.","x-whenAbsent":"absent (the 6% is on the excess, not limited by a value)","x-relation":"Needs ableContributions (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"able_value":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"absent (the 6% is on the excess, not limited by a value)","x-relation":"Needs ableContributions (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"trumpAccountExcess":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 line 57: the 2026 contributions to the filer's Trump account over the $5,000 limit, exempt contributions excluded (the filer is the account beneficiary, under 18 at the end of 2026).","x-whenAbsent":"0","x-relation":"A filer 18 or older is refused (from that year the account is a traditional IRA: traditionalIraContributions).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"trump_account_excess":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"A filer 18 or older is refused (from that year the account is a traditional IRA: traditionalIraContributions).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"trumpAccountExcessDistributed":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 line 59: the excess distributed under §530A(d)(5) for 2026.","x-whenAbsent":"0","x-relation":"Needs trumpAccountExcess and is at most it (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"trump_account_excess_distributed":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs trumpAccountExcess and is at most it (400).","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"trumpAccountExcessEarnings":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Form 5329 line 62: the earnings of the distributed excess (Form 1099-R box 7d), taxed 100% (Part XI).","x-whenAbsent":"0","x-relation":"More than 0 needs trumpAccountExcessDistributed (400); a filer 18 or older is refused.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"trump_account_excess_earnings":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"More than 0 needs trumpAccountExcessDistributed (400); a filer 18 or older is refused.","x-limits":"Finite, from 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"selfEmployedQualifiedTips":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"Qualified tips the filer received in their own trade or business, not as an employee (Form 1099-NEC box 1(b), 1099-MISC box 13(a) or 1099-K box 1(c); Schedule 1-A 2025 line 5, 2026 draft line 6). They are part of the business's gross receipts, so already in selfEmploymentIncome. Section 224(c): deductible only up to the business's net profit (selfEmploymentIncome, not below 0) before the $25,000 cap (federal engine 2.3.2).","x-whenAbsent":"0","x-relation":"Needs selfEmploymentIncome (400). Limited to selfEmploymentIncome (Schedule C line 31); other deductions allocable to the business (the 2026 draft's column (iv)) are not an input. A separate return gets no deduction.","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"self_employed_qualified_tips":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs selfEmploymentIncome (400). Limited to selfEmploymentIncome (Schedule C line 31); other deductions allocable to the business (the 2026 draft's column (iv)) are not an input. A separate return gets no deduction.","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouseSelfEmployedQualifiedTips":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The spouse's: qualified tips received in the spouse's own trade or business, not as an employee, part of spouseSelfEmploymentIncome. Section 224(c): deductible only up to that business's net profit (federal engine 2.3.2).","x-whenAbsent":"0","x-relation":"Needs spouseSelfEmploymentIncome (400), so only on filingStatus mfj. Limited to spouseSelfEmploymentIncome.","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"spouse_self_employed_qualified_tips":{"type":["number","null"],"minimum":0,"maximum":100000000000,"description":"The same field under its snake_case spelling.","x-whenAbsent":"0","x-relation":"Needs spouseSelfEmploymentIncome (400), so only on filingStatus mfj. Limited to spouseSelfEmploymentIncome.","x-limits":"Finite, 0 to $100 billion; null = absent. Otherwise 400 naming the field."},"taxYear":{"type":["integer","null"],"minimum":2025,"maximum":2026,"description":"The tax year of the return (federal engine 2.5.0). Absent, null or 2026: the 2026 return, answered exactly as without the key. 2025 (a build with QCST_WITH_TY2025: the API and the libraries by default): the 2025 return under the law in force for 2025 returns, P.L. 119-21 (OBBBA) included: the Rev. Proc. 2024-40 amounts with OBBBA's changes for 2025 (among them the standard deduction, the child tax credit and the SALT limit) and none of the provisions that start in 2026 (Trump accounts, the non-itemizer charitable deduction, the 0.5% charitable floor, the itemized-deduction limit of section 68). The response's taxYear is 2025, its lines follow the 2025 forms (no lineNumberDraft2026), and rules.taxYear says what the 2025 figures rest on. Any other year is refused with a 400 rather than answered with another year's law; a later year is an estimate through projection.","x-whenAbsent":"the rules year (2026)","x-relation":"Not with projection (a projection runs forward from the 2026 rules: 400). On a 2025 return, priorYearTax (Form 2210), the Trump account fields, and a rothFirstContributionYear or conversion year after 2025 are refused (400).","x-limits":"2026, or 2025 where the build carries it; null = absent. Another whole number: 400 (the year is not carried). A string, fraction or other type: 400 naming the field."},"tax_year":{"type":["integer","null"],"minimum":2025,"maximum":2026,"description":"The same field under its snake_case spelling.","x-whenAbsent":"the rules year (2026)","x-relation":"Not with projection (a projection runs forward from the 2026 rules: 400). On a 2025 return, priorYearTax (Form 2210), the Trump account fields, and a rothFirstContributionYear or conversion year after 2025 are refused (400).","x-limits":"2026, or 2025 where the build carries it; null = absent. Another whole number: 400 (the year is not carried). A string, fraction or other type: 400 naming the field."}},"required":["age"],"additionalProperties":false,"x-errors":[{"message":"Invalid JSON body","when":"The body is not JSON (or is empty)."},{"message":"The request body must be a JSON object","when":"The body is JSON but not an object."},{"message":"{1} is not a field of the federal tax API: the engine models only the fields listed at https://quantcalc.app/docs/federal-tax/api/ (income it does not model must not be sent as if it were counted)","when":"A key that is not a request field. {1} = the key, as sent."},{"message":"{1} is given more than once (as two spellings or two cases of the key)","when":"Two keys name the same field (camelCase and snake_case, or two cases)."},{"message":"{1} must be a string, one of: {2}","when":"filingStatus is not a string."},{"message":"{1} \"{2}\" is not recognised — use one of: {3}","when":"filingStatus is not one of the accepted values."},{"message":"{1} must be a number (annual dollars)","when":"An amount is not a number."},{"message":"{1} must be a whole number between {2} and {3}","when":"age or spouseAge is not a whole number in range."},{"message":"{1} must be true or false","when":"mfsLivedApart or includeSources is not a boolean."},{"message":"{1} is required ({2})","when":"A required field is absent or null. Only age is required: {2} says why (the filer's age at the end of the year decides the §72(t) additional tax, the §63(f) aged amount and the senior deduction)."},{"message":"{1} must be a finite number","when":"An amount is not finite (a number too large for a double)."},{"message":"{1} cannot be negative","when":"An amount other than the gains is below 0."},{"message":"{1} is below the engine's range (-$100 billion)","when":"A gain is below -$100 billion."},{"message":"{1} is larger than the engine accepts ($100 billion)","when":"An amount is above $100 billion."},{"message":"spouseAge applies only to filingStatus mfj (the spouse's §63(f) aged amount and senior deduction are claimed on a joint return)","when":"spouseAge on a status other than mfj."},{"message":"spouseAge is required when filingStatus is mfj (the spouse's age at the end of the year decides their §63(f) aged amount and senior deduction)","when":"A joint return without spouseAge."},{"message":"mfsLivedApart applies only to filingStatus mfs (Pub 915: a separate filer who lived apart from their spouse all year)","when":"mfsLivedApart: true on a status other than mfs."},{"message":"{1} must be an array of at most {2} objects {year, taxable, nontaxable}: year a whole number {3} to {4}, the amounts dollars 0 or more (nontaxable may be left out)","when":"rothConversions is not a list of conversions."},{"message":"{1} must be an array of up to 4 dates \"YYYY-MM-DD\" from 2026-01-01 to 2028-12-31 (null = paid on the installment's due date)","when":"estimatedPaymentDates holds something that is not such a date."},{"message":"blindCount 2 needs filingStatus mfj (a spouse's §63(f) amount for blindness is claimed on a joint return)","when":"blindCount 2 on another status."},{"message":"mfsSpouseItemizes applies only to filingStatus mfs (§63(c)(6)(A): a separate filer whose spouse itemizes has no standard deduction)","when":"mfsSpouseItemizes true on another status."},{"message":"{1} is part of iraDistributions and cannot exceed it","when":"employerPlanDistribution or seppDistribution above iraDistributions."},{"message":"employerPlanDistribution and seppDistribution overlap (together above iraDistributions): seppDistribution is the IRA part; periodic payments from an employer plan (§72(t)(3)(B)) are not modelled","when":"employerPlanDistribution + seppDistribution above iraDistributions (beyond the rounding of a sum of cents)."},{"message":"{1} must be one of: {2}","when":"A typed request (built without the JSON door) whose enum value is not one of the field's values; a JSON request gets \"must be a string, one of\"."},{"message":"charityCashDaf is part of charityCash and cannot exceed it","when":"charityCashDaf above charityCash."},{"message":"separationYearAge cannot exceed age (it is the age reached in the year the filer left the employer)","when":"separationYearAge above age."},{"message":"beneficiarySpouseAge needs spouseSoleBeneficiary true (it only picks the RMD table)","when":"beneficiarySpouseAge without spouseSoleBeneficiary."},{"message":"spouseSoleBeneficiary needs iraBalancePriorYearEnd (it picks the table the RMD is figured with)","when":"spouseSoleBeneficiary without a balance."},{"message":"spouseSoleBeneficiary cannot apply to a qualifying surviving spouse (there is no spouse)","when":"spouseSoleBeneficiary with filingStatus qss."},{"message":"beneficiarySpouseAge is for a spouse who is not on the return: on a joint return the RMD reads spouseAge","when":"beneficiarySpouseAge on a joint return."},{"message":"spouseSoleBeneficiary needs beneficiarySpouseAge (the spouse's age reached in 2026) unless filingStatus is mfj","when":"spouseSoleBeneficiary on a non-joint return without beneficiarySpouseAge."},{"message":"{1} needs priorYearTax (Form 2210 runs only with last year's tax)","when":"A Form 2210 field without priorYearTax."},{"message":"qualifiedDividends is part of ordinaryDividends (Form 1040 line 3a is included in line 3b) and cannot exceed it","when":"qualifiedDividends > ordinaryDividends."},{"message":"a capital-loss carryover needs capitalLossRules (it was false)","when":"A carryover with capitalLossRules false (the opt-out)."},{"message":"birthDay needs birthMonth (the day of the month the filer was born)","when":"birthDay without birthMonth."},{"message":"birthDay {1} is not a day of month {2}","when":"birthDay beyond the month's last day (February: 29)."},{"message":"spouseBirthMonth and spouseBirthDay apply only to filingStatus mfj (the spouse's §63(f) aged amount and senior deduction are claimed on a joint return)","when":"spouseBirthMonth or spouseBirthDay on another status."},{"message":"spouseBirthDay needs spouseBirthMonth","when":"spouseBirthDay without spouseBirthMonth."},{"message":"spouseBirthDay {1} is not a day of month {2}","when":"spouseBirthDay beyond the month's last day."},{"message":"governmental457bDistribution is part of employerPlanDistribution (a governmental 457(b) plan is an employer plan) and cannot exceed it","when":"governmental457bDistribution above employerPlanDistribution."},{"message":"beneficiaryDistribution, employerPlanDistribution and seppDistribution are separate parts of iraDistributions (together above it): an inherited account's distributions go in beneficiaryDistribution only","when":"beneficiaryDistribution + employerPlanDistribution + seppDistribution above iraDistributions (beyond the rounding of a sum of cents), beneficiaryDistribution above 0."},{"message":"beneficiaryDistribution with iraBasis is not modelled: the decedent's basis in an inherited IRA is figured on its own Form 8606, apart from the beneficiary's own IRAs","when":"beneficiaryDistribution above 0 with iraBasis above 0."},{"message":"projection must be an object such as {\"year\": 2040, \"inflation\": 0.025} (the tax year to estimate and the inflation to assume)","when":"projection is not an object."},{"message":"projection.{1} is not a projection field — allowed: year, inflation, cpiFactor, awiFactor, indexing","when":"A key inside projection that is not one of its fields."},{"message":"projection has a field given more than once (as two spellings or two cases)","when":"A projection field sent twice."},{"message":"projection.year is required: a whole number, the tax year to estimate (2026 to 2100)","when":"projection.year missing, not a whole number, or outside 2026-2100."},{"message":"projection needs exactly one of inflation (the annual CPI assumption, e.g. 0.025) or cpiFactor (your own cumulative CPI factor from 2026 to projection.year)","when":"Neither or both of inflation and cpiFactor."},{"message":"projection.{1} must be a number","when":"inflation, cpiFactor or awiFactor not a number."},{"message":"projection.indexing must be \"law\" (the default: each federal amount the way its statute moves it) or \"inflation\" (the amounts QuantCalc's planner scaled before federal engine 2.0 rise with inflation)","when":"indexing not law or inflation."},{"message":"projection.year must be a whole number from 2026 (the rules year) to 2100","when":"A typed caller's projection.year out of range."},{"message":"projection needs exactly one of inflation or cpiFactor, and indexing \"law\" or \"inflation\"","when":"A typed caller's projection flags or indexing invalid."},{"message":"projection.inflation must be an annual rate between -0.10 and 0.25 (0.025 is 2.5 percent a year)","when":"inflation out of range."},{"message":"projection.cpiFactor must be a number between 0.01 and 100 (the cumulative CPI factor from 2026 to projection.year, e.g. 1.44)","when":"cpiFactor out of range."},{"message":"projection.cpiFactor must be 1 when projection.year is 2026 (the rules year itself)","when":"cpiFactor other than 1 for 2026."},{"message":"projection.awiFactor must be a number between 0.01 and 100 (the national average wage index factor from 2026 to projection.year; absent = the CPI factor)","when":"awiFactor out of range."},{"message":"projection.awiFactor must be 1 when projection.year is 2026 (the rules year itself)","when":"awiFactor other than 1 for 2026."},{"message":"priorYearTax (Form 2210) cannot be combined with a projection past 2026: the installment due dates and the underpayment interest rates are 2026's; leave the Form 2210 fields out, or leave projection out","when":"priorYearTax with a projection year after 2026."},{"message":"projection refused: taxTable true needs the Tax Table's $100,000 ceiling after 2026, which no official source establishes; send taxTable false (the rate schedules), indexing \"inflation\" (it holds it), or no projection","when":"taxTable true, indexing law, projection year after 2026."},{"message":"{1} needs rentalNetIncome or rentalPriorYearUnallowedLoss (it describes the rental real estate)","when":"rentalActiveParticipation or realEstateProfessional without a rental amount."},{"message":"realEstateProfessional asserts material participation in the rentals, which includes active participation: rentalActiveParticipation cannot be false with it","when":"realEstateProfessional true with rentalActiveParticipation false."},{"message":"{1} applies only to filingStatus mfj (the spouse's own amount on a joint return)","when":"A spouse credit field on a status other than mfj."},{"message":"eitcSeparatedSpouse applies only to filingStatus mfs (IRC 32(d)(2): a married filer filing separately who lived apart from the spouse)","when":"eitcSeparatedSpouse on a status other than mfs."},{"message":"{1} is for a person under 65 at the end of the year (Schedule R line 11); at 65 the credit for the elderly applies without it","when":"taxableDisabilityIncome (or the spouse's) for a person 65 or older."},{"message":"{1} is required with an inherited account ({2})","when":"An inherited field without inheritedBalancePriorYearEnd, inheritedOwnerBirthYear, inheritedOwnerDeathYear or inheritedBeneficiaryType."},{"message":"inheritedOwnerDeathYear {1} is after the tax year {2} (the account is not inherited yet)","when":"A death after the tax year."},{"message":"inheritedOwnerBirthYear is after inheritedOwnerDeathYear","when":"The decedent's birth year after the death year."},{"message":"inheritedBeneficiaryBirthYear is after the tax year","when":"The beneficiary's birth year after the tax year."},{"message":"inheritedOwnerDistributedInDeathYear applies only when the decedent died in the tax year ({1}): it reduces the decedent's own RMD for the year of death","when":"inheritedOwnerDistributedInDeathYear with a death in another year."},{"message":"inheritedShortfallCorrected needs inheritedDistribution (the shortfall is the minimum less what was distributed)","when":"inheritedShortfallCorrected without inheritedDistribution."},{"message":"inheritedDistribution with iraBasis is not modelled: the decedent's basis in an inherited IRA is figured on its own Form 8606, apart from the beneficiary's own IRAs","when":"inheritedDistribution with iraBasis."},{"message":"inheritedOwnerDiedOnOrAfterRbd does not apply to a Roth IRA: its owner has no required beginning date (IRC 408A(c)(4)), so every death is before it","when":"inheritedOwnerDiedOnOrAfterRbd with inheritedAccountType roth."},{"message":"inheritedOwnerDiedOnOrAfterRbd {1} contradicts the dates: a decedent born in {2} who died in {3} died {4} the required beginning date (April 1 of the year after the year they reached the applicable age)","when":"The stated side of the required beginning date against what the dates decide."},{"message":"inheritedOwnerDiedOnOrAfterRbd is needed: the decedent died in {1}, the year of the required beginning date (April 1, {2}), so the date of death decides","when":"A death in the year of the required beginning date without inheritedOwnerDiedOnOrAfterRbd."},{"message":"inheritedOwnerDiedOnOrAfterRbd (or inheritedOwnerBirthMonth) is needed: born in {1}, the decedent's required beginning date was in {2} or {3}","when":"The 70½ rule without a birth month, a death in either year the date can fall in."},{"message":"inheritedElection {1} is not open here: tenYearRule is an eligible designated beneficiary's choice when the decedent died after 2019 and before the required beginning date; treatAsOwn is the surviving spouse's","when":"An election the beneficiary cannot make."},{"message":"inheritedBeneficiaryType minorChild needs a child under 21 at the death (26 CFR 1.401(a)(9)-4(e)(3)); a child who reached 21 in or before the year of death is a designated beneficiary (or disabled / chronicallyIll)","when":"minorChild with a beneficiary 21 or older in the year of death."},{"message":"inheritedBeneficiaryType notMoreThan10YearsYounger needs a beneficiary born no more than 10 years after the decedent","when":"notMoreThan10YearsYounger with a beneficiary born more than 10 years after the decedent."},{"message":"inheritedBeneficiaryBirthYear is after the year after the death: a beneficiary is born by then","when":"A beneficiary born more than a year after the death."},{"message":"{1} must add up to {2} for the year ({3}; the periods add up to {4}): the amounts received in Jan-Mar, Apr-May, Jun-Aug and Sep-Dec","when":"An <item>ByPeriod whose amounts do not add up to the item."},{"message":"{1} needs priorYearTax (the periods are Form 2210's: it runs only with last year's tax)","when":"An <item>ByPeriod field or withholdingByPeriod without priorYearTax."},{"message":"withholdingByPeriod must add up to withholding (the federal tax withheld in the year)","when":"withholdingByPeriod and withholding that differ."},{"message":"{1} must be an array of up to 4 amounts (dollars{2}), one per installment","when":"A list field that is not up to four amounts in its range ({2}: \", 0 or more\" for an amount that cannot be negative)."},{"message":"%s needs marketplacePremiums (Form 1095-A column A: it describes the marketplace coverage of Form 8962)","when":"A Form 8962 field is sent without marketplacePremiums."},{"message":"marketplacePremiums needs marketplaceSlcspPremiums (Form 1095-A column B, the applicable second lowest cost silver plan premium of each month)","when":"marketplacePremiums without marketplaceSlcspPremiums."},{"message":"ptcMfsException applies only to filingStatus mfs (26 CFR 1.36B-2(b)(2): a married taxpayer filing separately who is a victim of domestic abuse or spousal abandonment)","when":"ptcMfsException on another filing status."},{"message":"ptcEstimatedIncomeException needs advance payments (26 CFR 1.36B-2(b)(6): it applies when the Exchange estimated household income of at least 100% and advance credit payments were made): give marketplaceAdvancePayments","when":"ptcEstimatedIncomeException without advance payments."},{"message":"seHealthInsurance with the premium tax credit is not modelled: the deduction and the credit depend on each other (IRC 162(l), 36B; Rev. Proc. 2014-41's iterative or simplified calculation)","when":"seHealthInsurance with marketplacePremiums."},{"message":"the premium tax credit is figured for 2026 and 2027 coverage only: a later year's poverty guidelines and applicable percentages are not published (projection.year %d)","when":"marketplacePremiums with a projection year after 2027."},{"message":"%s must be an array of up to 12 monthly amounts (dollars, 0 or more; null = none), January first, as Form 1095-A lines 21-32 report them","when":"A monthly Form 1095-A field is not such an array."},{"message":"%s needs %s","when":"A K-1 row is sent without the row it describes."},{"message":"estateTrustPassive needs estateTrustIncome or estateTrustPriorYearUnallowedLoss","when":"estateTrustPassive alone."},{"message":"spousePartnershipSeEarnings applies only to filingStatus mfj (the spouse's own Schedule SE)","when":"spousePartnershipSeEarnings on another status."},{"message":"partnershipSeEarnings needs the partnership income it comes from (k1NonpassiveIncome or k1PassiveIncome): box 14 code A is Schedule SE's, the income itself is Schedule E's","when":"partnershipSeEarnings without K-1 income."},{"message":"the trade or business losses (%.2f) exceed the excess business loss threshold (%.0f): the section 461(l) limitation (Form 461) is not modelled","when":"Schedule C and Schedule E Parts II-III, net, lose more than $256,000 ($512,000 joint)."},{"message":"%s needs nonqualifiedAnnuity (it is a part of that annuity's taxable amount)","when":"A §72(q) exception without nonqualifiedAnnuity."},{"message":"nonqualifiedAnnuitySepp, nonqualifiedAnnuityDeath and nonqualifiedAnnuityOtherException are parts of nonqualifiedAnnuity and cannot add up to more than it","when":"The annuity's exceptions add up to more than the annuity."},{"message":"%s applies only to filingStatus mfj (the spouse's own Form 5329)","when":"A spouse's Form 5329 row on another status (a QSS return included)."},{"message":"%s is a part of %s (the excess withdrawn in time) and cannot exceed it","when":"A traditional IRA, Roth IRA or HSA corrective withdrawal over the contributions."},{"message":"%s needs %s or %s (the limit the contributions are measured against)","when":"hsaContributions (or the spouse's) without hsaCoverage or hsaLimit."},{"message":"%s is a part of %s and cannot exceed it","when":"A Coverdell, Archer MSA or ABLE corrective withdrawal over the contributions, or trumpAccountExcessDistributed over trumpAccountExcess."},{"message":"trumpAccountExcessEarnings needs trumpAccountExcessDistributed (Form 5329 Part XI: the earnings of a distributed excess)","when":"Earnings of a distributed excess without a distribution."},{"message":"the Trump account rows are the account beneficiary's before the year they turn 18 (Form 5329 Part X, section 530A(h)(5)); from then on the account is a traditional IRA (traditionalIraContributions)","when":"trumpAccountExcess or trumpAccountExcessEarnings with age 18 or more."},{"message":"archerMsaContributions needs archerMsaLimit (Form 8853's limit: the smaller of line 3 or line 4)","when":"Archer MSA contributions without their limit."},{"message":"the Form 5329 excess-contribution rows are figured for 2026 only: the contribution limits of a later year are not modelled (projection.year %d)","when":"A Form 5329 Parts III-XI row with a projected year."},{"message":"{1} needs {2} (the tips are part of that business's income)","when":"selfEmployedQualifiedTips without selfEmploymentIncome (or the spouse's)."},{"message":"qualifiedTips are the tips received as an employee, part of the wages, and cannot exceed them; tips received in your own business go in selfEmployedQualifiedTips (spouseSelfEmployedQualifiedTips), limited to its net profit (IRC 224(c))","when":"qualifiedTips above wages + spouseWages (federal engine 2.3.2)."},{"message":"qualifiedOvertime is part of the wages and self-employment income and cannot exceed them","when":"qualifiedOvertime above the wages plus the positive self-employment income."},{"message":"{1} must be a year, a whole number such as 2026 (the tax year of the return)","when":"taxYear (or tax_year) is not a whole number from 1 to 9999."},{"message":"{1} {2} is not carried by this build (it encodes tax year{3}; later years are estimates through projection, e.g. \"projection\": {\"year\": 2040, \"inflation\": 0.025})","when":"taxYear is a year this build does not carry: it carries 2026, and 2025 (built with QCST_WITH_TY2025, the default). {3} = \"s 2025 and 2026\" (or \" 2026\")."},{"message":"taxYear is given more than once (as two spellings or two cases of the key)","when":"taxYear and tax_year (or two cases of one) in one body."},{"message":"projection cannot be combined with taxYear {1}: a projection runs forward from the {2} rules year; send taxYear {2} (or leave it out) to project","when":"taxYear 2025 with projection."},{"message":"priorYearTax (Form 2210) is figured for {1} only: the installment due dates and the underpayment interest rates of taxYear {2} are not carried; leave the Form 2210 fields out","when":"taxYear 2025 with priorYearTax."},{"message":"{1}: there are no Trump accounts in taxYear {2} (section 530A contributions began July 4, 2026)","when":"taxYear 2025 with a Trump account row."},{"message":"rothFirstContributionYear {1} is after taxYear {2}","when":"taxYear 2025 with a later rothFirstContributionYear."},{"message":"rothConversions year {1} is after taxYear {2}","when":"taxYear 2025 with a conversion of a later year."}]},"response":{"type":"object","properties":{"engineVersion":{"type":"string","description":"The federal engine version (FEDERAL_TAX_ENGINE_VERSION)."},"taxYear":{"type":"integer","description":"The tax year of the return: 2026, or 2025 for a request with taxYear 2025."},"filingStatus":{"type":"string","description":"single, mfj, mfs, hoh or qss: the status the return was computed on."},"inputs":{"type":"object","description":"Every field that was sent, under its camelCase name.","properties":{}},"result":{"type":"object","description":"The year's return.","properties":{"shortTermGain":{"type":"number","description":"Short-term gain after netting, at least 0 (taxed as ordinary income)."},"longTermGain":{"type":"number","description":"Long-term gain after netting, at least 0."},"socialSecurityTaxable":{"type":"number","description":"The taxable part of the benefits (line 6b)."},"grossOrdinaryIncome":{"type":"number","description":"Ordinary income: IRA distributions, conversions, pension, other income, taxable Social Security and the short-term gain, plus taxable interest and the dividends that are not qualified, less an allowed capital loss."},"agi":{"type":"number","description":"Adjusted gross income (line 11a); also the NIIT's and the senior deduction's MAGI."},"magiIrmaa":{"type":"number","description":"AGI plus tax-exempt interest: the income the engine's Medicare IRMAA tiers read."},"standardDeduction":{"type":"number","description":"The deduction on line 12e: the standard deduction with the §63(f) aged (and, on an extended return, blind) amounts, or Schedule A when an extended return itemizes."},"seniorDeduction":{"type":"number","description":"The senior deduction after its phase-out (line 13b)."},"taxableOrdinaryIncome":{"type":"number","description":"The ordinary part of taxable income."},"unusedDeduction":{"type":"number","description":"Deductions left after ordinary income, which reduce the long-term gain in the worksheet."},"taxableLongTermGain":{"type":"number","description":"The long-term gain in taxable income (the worksheet's base)."},"ordinaryTax":{"type":"number","description":"Bracket tax on the ordinary part."},"capitalGainsTax":{"type":"number","description":"Worksheet tax on the long-term gain and qualified dividends PLUS the NIIT (despite its name, it includes the NIIT; kept for compatibility). capitalGainsTaxExcludingNiit is the worksheet part alone and niit the NIIT."},"niit":{"type":"number","description":"The net investment income tax (Schedule 2 line 12; line 6 on the 2026 draft). Included in capitalGainsTax and incomeTax."},"incomeTax":{"type":"number","description":"ordinaryTax + capitalGainsTax: income tax with the NIIT, without the §72(t) additional tax."},"incomeTaxExcludingNiit":{"type":"number","description":"incomeTax less the NIIT: line 16 (and, with no credits modelled, line 22)."},"earlyWithdrawalTax":{"type":"number","description":"The §72(t) additional tax (Schedule 2 line 8)."},"totalTax":{"type":"number","description":"incomeTax + earlyWithdrawalTax: line 24. With extended fields it also carries the missed-RMD excise (Form 5329 line 55)."},"capitalGainsTaxExcludingNiit":{"type":"number","description":"capitalGainsTax less the NIIT: the preferential-rate tax of the Qualified Dividends and Capital Gain Tax Worksheet (after its line 25 cap), the part of line 16 above ordinaryTax. Added 2026-09-28 (additive)."}}},"lines":{"type":"array","description":"One entry per Form 1040 or schedule line the composition fills, in form order.","items":{"type":"object","properties":{"line":{"type":"string","description":"The line id: 1040.<n>, 1040sa.<n> (Schedule A), 1040sd.<n> (Schedule D), 1040sdcw.<n> (its capital loss carryover worksheet), 1040s1a.<n> (Schedule 1-A), 1040s2.<n> (Schedule 2), 5329.<n>, 8606.<n>, 8960.<n>, 2210.<n>, or rmd.<item> (no form); numbered on the 2025 forms (formYear) and stable across form editions."},"form":{"type":"string","description":"The form or schedule."},"lineNumber":{"type":"string","description":"The line number on it."},"label":{"type":"string","description":"The line's name."},"rule":{"type":"string","description":"The calculation step that produced the value (a section of the calculation-order page)."},"value":{"type":"number","description":"The amount."},"docs":{"type":"string","description":"The step's documentation."},"lineNumberDraft2026":{"type":"string","description":"The same line on the IRS early-release draft of the 2026 form (subject to change); \"\" when it is not a form line. Added 2026-09-28 (additive)."}}}},"rules":{"type":"object","description":"What the figure rests on.","properties":{"docs":{"type":"string","description":"The engine documentation."},"sources":{"type":"object","description":"Per calculation step on the return: its official sources (absent with includeSources: false).","additionalProperties":{"type":"array","items":{"type":"object","properties":{"rule":{"type":"string","description":"The provenance record (research/data/federal-tax-provenance.json)."},"url":{"type":"string","description":"The source."},"title":{"type":"string","description":"Its title."},"publisher":{"type":"string","description":"Its publisher."},"kind":{"type":"string","description":"statute, guidance, instructions, agency_page, ..."},"official":{"type":"boolean","description":"Published by the body that sets the rule, or the text of the law."},"quote":{"type":"string","description":"The first passage checked on the source."},"checked":{"type":"string","description":"The date the quote was last found on the source."}}}}},"unsourced":{"type":"array","description":"Steps on the return with no official source, with the reason (absent with includeSources: false).","items":{"type":"object","properties":{"rule":{"type":"string","description":"The step."},"reason":{"type":"string","description":"Why."}}}},"notModeled":{"type":"array","description":"What the engine does not compute.","items":{"type":"string"}},"taxYear":{"type":"string","description":"With taxYear 2025 only: what the 2025 figures rest on (the 2025 amounts, which of the cited rule texts quote 2026 amounts, and where the 2025 figures' own sources are)."},"taxYear2025Sources":{"type":"array","description":"With taxYear 2025 and includeSources: the official sources of the 2025 figures, one entry per provenance rule (ty2025_*) with its rule, constant and sources (url, title, publisher, kind, official, quote, checked).","items":{"type":"object","properties":{}}}}},"schedules":{"type":"object","description":"On a request with any extended field (or filingStatus qss): the forms behind the return.","properties":{"scheduleA":{"type":"object","description":"Schedule A, the §68 limitation, the standard deduction and the non-itemizer charitable deduction.","properties":{"itemizes":{"type":"boolean","description":"true when line 12e carries Schedule A."},"deduction":{"type":"number","description":"Form 1040 line 12e as filed (equals result.standardDeduction)."},"standardDeduction":{"type":"number","description":"The standard deduction available, with the §63(f) aged and blind amounts (0 under §63(c)(6)(A))."},"blindAddition":{"type":"number","description":"The §63(f)(2) amount for blindness included in it."},"itemizedBeforeSection68":{"type":"number","description":"Schedule A lines 4 to 16 before §68."},"section68Reduction":{"type":"number","description":"The 2/37 limitation of §68 on the itemized deductions taken (0 on a standard-deduction return; itemized keeps the as-if figure after it)."},"itemized":{"type":"number","description":"Schedule A line 17 after §68: the figure an itemized-conformity state reads."},"medicalDeducted":{"type":"number","description":"Line 4."},"saltPaid":{"type":"number","description":"Line 5d."},"saltCap":{"type":"number","description":"The SALT cap after the phase-down (half on a separate return)."},"saltDeducted":{"type":"number","description":"Line 5e."},"interestDeducted":{"type":"number","description":"Line 10."},"charityFloor":{"type":"number","description":"0.5% of AGI (2026)."},"charityDeducted":{"type":"number","description":"Line 14 after the percentage limits and the floor."},"nonitemizerCharity":{"type":"number","description":"The §170(p) deduction (0 when itemizing)."},"charityCarryover":{"type":"object","description":"With a carryover in or out (an excess over the limits, a floor disallowance, or a carryover sent).","properties":{"cashCarryoverUsed":{"type":"number","description":"The cash-class carryovers absorbed this year (before the 0.5% floor; also when the return takes the standard deduction)."},"propertyCarryoverUsed":{"type":"number","description":"The same for the capital-gain-property class."},"cashCarryoverToNextYear":{"type":"array","description":"Next year's cash carryovers by age: [0] from this year (its excess, with the floor's disallowance when carried), [1] to [4] the older ones not used.","items":{"type":"number"}},"propertyCarryoverToNextYear":{"type":"array","description":"The same for the capital-gain-property class.","items":{"type":"number"}},"expired":{"type":"number","description":"The five-year-old carryover not used: it expires."},"floorDisallowanceLost":{"type":"number","description":"The 0.5% floor's disallowance not carried (no excess of the year's own gifts in its class)."}}}}},"form8606":{"type":"object","description":"IRA basis and Roth distributions.","properties":{"basisRatio":{"type":"number","description":"Line 10 (0 without basis)."},"nontaxableConversion":{"type":"number","description":"Line 11."},"nontaxableTotal":{"type":"number","description":"Line 13."},"basisRemaining":{"type":"number","description":"Line 14."},"rothQualified":{"type":"boolean","description":"true when the Roth distribution is qualified."},"rothTaxableEarnings":{"type":"number","description":"Line 25c: taxable Roth earnings."},"rothConversionsWithinFiveYears":{"type":"number","description":"Converted amounts taken within 5 years of their conversion (subject to the additional tax, not taxable)."},"rothContributionsRemaining":{"type":"number","description":"Regular contributions left in the Roth."}}},"form5329":{"type":"object","description":"The additional taxes on retirement accounts.","properties":{"earlyDistributions":{"type":"number","description":"Line 1."},"exceptions":{"type":"number","description":"Line 2."},"missedRmdExcise":{"type":"number","description":"Line 55: the §4974 excise (in result.totalTax)."},"annuityEarlyDistributions":{"type":"number","description":"The nonqualified annuity's part of line 1 (§72(q)), with an annuity before 59½ (or disabled)."},"annuityExceptions":{"type":"number","description":"Its part of line 2."},"excessContributions":{"type":"object","description":"Parts III-VIII, X and XI, with a Form 5329 excess-contribution input.","properties":{"filer":{"type":"object","description":"The filer's Form 5329.","properties":{"traditionalIraLimit":{"type":"number","description":"The traditional IRA limit (line 10 before the contributions)."},"traditionalIraExcess":{"type":"number","description":"Line 16."},"traditionalIraTax":{"type":"number","description":"Line 17 (6%)."},"rothIraLimit":{"type":"number","description":"The Roth IRA limit (Pub 590-A Worksheet 2-2 line 11)."},"rothIraExcess":{"type":"number","description":"Line 24."},"rothIraTax":{"type":"number","description":"Line 25 (6%)."},"hsaLimit":{"type":"number","description":"The HSA limit used (Form 8889 line 8)."},"hsaExcess":{"type":"number","description":"Line 48."},"hsaTax":{"type":"number","description":"Line 49 (6%)."}}},"spouse":{"type":"object","description":"The spouse's Form 5329 (a joint return).","properties":{"traditionalIraLimit":{"type":"number","description":"The traditional IRA limit (line 10 before the contributions)."},"traditionalIraExcess":{"type":"number","description":"Line 16."},"traditionalIraTax":{"type":"number","description":"Line 17 (6%)."},"rothIraLimit":{"type":"number","description":"The Roth IRA limit (Pub 590-A Worksheet 2-2 line 11)."},"rothIraExcess":{"type":"number","description":"Line 24."},"rothIraTax":{"type":"number","description":"Line 25 (6%)."},"hsaLimit":{"type":"number","description":"The HSA limit used (Form 8889 line 8)."},"hsaExcess":{"type":"number","description":"Line 48."},"hsaTax":{"type":"number","description":"Line 49 (6%)."}}},"coverdellExcess":{"type":"number","description":"Line 32."},"coverdellTax":{"type":"number","description":"Line 33 (6%)."},"archerMsaExcess":{"type":"number","description":"Line 40."},"archerMsaTax":{"type":"number","description":"Line 41 (6%)."},"ableExcess":{"type":"number","description":"Line 50."},"ableTax":{"type":"number","description":"Line 51 (6%)."},"trumpAccountExcess":{"type":"number","description":"Line 60 (2026 draft)."},"trumpAccountTax":{"type":"number","description":"Line 61 (6%)."},"trumpAccountEarningsTax":{"type":"number","description":"Line 63 (100% of the distributed excess's earnings)."},"excessContributionsTax":{"type":"number","description":"Every 6% tax of the return (lines 17, 25, 33, 41, 49, 51, 61): in result.totalTax, not in Form 2210's tax."}}}}},"inheritedRmd":{"type":"object","description":"With an inherited account (inheritedBalancePriorYearEnd): the beneficiary's rule and the year's required distribution.","properties":{"regime":{"type":"string","description":"tenYearRule, tenYearRuleWithAnnualDistributions, lifeExpectancy, spouseLifeExpectancy, minorChildThenTenYearRule, fiveYearRule, decedentLifeExpectancy or ownAccount."},"secureAct":{"type":"boolean","description":"true for a death after 2019 (the SECURE Act rules)."},"diedOnOrAfterRbd":{"type":"boolean","description":"true when the decedent died on or after the required beginning date (never for a Roth IRA)."},"requiredBeginningDateYear":{"type":["integer","null"],"description":"April 1 of this year was the decedent's required beginning date; null for a Roth IRA, or when the 70½ rule leaves two years without a birth month."},"applicableAgeYear":{"type":"integer","description":"The year the decedent reached (or would have reached) the applicable age (the earlier year when two are possible)."},"firstRequiredYear":{"type":["integer","null"],"description":"The first year a distribution is required (under the 10-year or 5-year rule, the last year); null when none is (a Roth IRA the spouse treats as their own)."},"finalYear":{"type":["integer","null"],"description":"The account must be empty by December 31 of this year: the deadline when deadline is true, else the year the life expectancy runs out; null for the spouse's own account."},"deadline":{"type":"boolean","description":"true when finalYear is a deadline (the 10-year and 5-year rules, a minor child's)."},"annualDistributions":{"type":"boolean","description":"true when a distribution is required every year from firstRequiredYear."},"divisor":{"type":"number","description":"The year's distribution period (0 = none)."},"required":{"type":"number","description":"The year's required distribution (the whole balance when entireBalance)."},"entireBalance":{"type":"boolean","description":"true when the whole account must come out this year."},"pastDeadline":{"type":"boolean","description":"true when the tax year is after the deadline (the account should already be empty)."},"yearOfDeathRmd":{"type":"number","description":"In the year of death: the decedent's own RMD the beneficiary must still take."},"distribution":{"type":"number","description":"inheritedDistribution as used."},"beneficiaryExceptionAmount":{"type":"number","description":"The part of the distribution excepted from the 10% additional tax as a beneficiary's (Form 5329 line 2)."},"shortfall":{"type":"number","description":"The year's minimum less inheritedDistribution (with inheritedDistribution; not in the last year)."},"excise":{"type":"number","description":"The IRC 4974 excise on the shortfall (in schedules.form5329.missedRmdExcise and the total tax)."}}},"rmd":{"type":"object","description":"With iraBalancePriorYearEnd: the 2026 required minimum distribution.","properties":{"startAge":{"type":"number","description":"The applicable age for the birth year (2026 minus age): 75 from 1960, 73 for 1951-1959, 72 for 1949-1950 and 70.5 before 1949 (the 70 1/2 rule, SECURE Act section 114(d); a 1949 birth year, read without a month, as July-December)."},"divisor":{"type":"number","description":"The divisor (0 before the start age)."},"jointLifeTable":{"type":"boolean","description":"true when the Joint and Last Survivor Table applies."},"required":{"type":"number","description":"The required minimum distribution."}}},"form2210":{"type":"object","description":"With priorYearTax: Form 2210 (regular method) on this return's tax.","properties":{"tax":{"type":"number","description":"The tax Form 2210 uses: result.incomeTax (with the NIIT) plus the additional tax on distributions; not the missed-RMD excise."},"requiredAnnualPayment":{"type":"number","description":"Line 9."},"requiredInstallment":{"type":"number","description":"Line 10, each installment."},"priorYearSafeHarbor":{"type":"boolean","description":"true when the prior-year harbor sets the requirement."},"underThousandDollars":{"type":"boolean","description":"true when the tax less withholding is under the §6654(e)(1) threshold: no penalty."},"noPriorYearLiability":{"type":"boolean","description":"true when last year's full-year return showed no tax: no penalty."},"underpayment":{"type":"array","description":"Line 17 per installment.","items":{"type":"number"}},"penaltyByInstallment":{"type":"array","description":"The penalty attributable to each installment.","items":{"type":"number"}},"totalUnderpayment":{"type":"number","description":"The sum of line 17."},"penalty":{"type":"number","description":"Line 19."},"usesUnannouncedRate":{"type":"boolean","description":"true when some accrual falls in a quarter whose rate is carried forward, not announced."},"method":{"type":"string","description":"With an <item>ByPeriod field: annualized (Schedule AI's installments, a lower penalty) or regular; the penalty fields above are the method's."},"regularMethodPenalty":{"type":"number","description":"The penalty by the regular installments (with an <item>ByPeriod field)."},"withholdingAsWithheld":{"type":"boolean","description":"true with withholdingByPeriod (box D)."},"scheduleAI":{"type":"object","description":"Schedule AI's columns (a)-(d), each an array of four.","properties":{"annualizedTaxableIncome":{"type":"array","description":"Line 13.","items":{"type":"number"}},"annualizedSelfEmploymentTax":{"type":"array","description":"Line 15 (Part II line 36).","items":{"type":"number"}},"annualizedTax":{"type":"array","description":"Line 19.","items":{"type":"number"}},"applicablePercentage":{"type":"array","description":"Line 20: 0.225, 0.45, 0.675, 0.9.","items":{"type":"number"}},"annualizedInstallment":{"type":"array","description":"Line 23.","items":{"type":"number"}},"regularInstallmentWithRecapture":{"type":"array","description":"Line 26.","items":{"type":"number"}},"requiredInstallment":{"type":"array","description":"Line 27 (Part III line 10).","items":{"type":"number"}},"underpayment":{"type":"array","description":"The underpayment of each installment by this method.","items":{"type":"number"}},"penaltyByInstallment":{"type":"array","description":"The penalty of each installment by this method.","items":{"type":"number"}},"penalty":{"type":"number","description":"The penalty by this method."}}}}},"scheduleB":{"type":"object","description":"Present when taxableInterest or ordinaryDividends is given.","properties":{"taxableInterest":{"type":"number","description":"Line 2b as given."},"ordinaryDividends":{"type":"number","description":"Line 3b as given."},"qualifiedDividends":{"type":"number","description":"Line 3a as used."},"taxedAsOrdinaryIncome":{"type":"number","description":"Interest plus the dividends that are not qualified."},"qdcgWorksheetLine25Reduction":{"type":"number","description":"How much the worksheet's line 25 lowered the tax (0 when the worksheet tax was already the smaller)."}}},"scheduleD":{"type":"object","description":"Present when Schedule D has an allowed loss or a carryover in, or the request sent capitalLossRules: true; never with capitalLossRules: false.","properties":{"carryoverInShortTerm":{"type":"number","description":"Schedule D line 6."},"carryoverInLongTerm":{"type":"number","description":"Schedule D line 14."},"capitalLossDeduction":{"type":"number","description":"Schedule D line 21 as a positive amount."},"carryoverOutShortTerm":{"type":"number","description":"Next year's short-term carryover (worksheet line 8)."},"carryoverOutLongTerm":{"type":"number","description":"Next year's long-term carryover (worksheet line 13)."}}},"form8960":{"type":"object","description":"Present with interest, dividends, an allowed capital loss, a nonqualified annuity or a Form 8960 Part II deduction.","properties":{"netInvestmentIncome":{"type":"number","description":"Form 8960 line 12: the NIIT base, line 8 less the Part II deductions (= line 8 without them)."},"annuities":{"type":"number","description":"Line 3: nonqualified annuities. Present, with the four below, only with a nonqualified annuity or a Part II deduction."},"totalInvestmentIncome":{"type":"number","description":"Line 8: total investment income."},"investmentInterest":{"type":"number","description":"Line 9a: investment interest deducted on Schedule A, after §68."},"stateIncomeTax":{"type":"number","description":"Line 9b: the deducted state and local income tax times line 8 over AGI, after §68."},"deductions":{"type":"number","description":"Line 11: lines 9a and 9b."}}},"scheduleDTaxWorksheet":{"type":"object","description":"Present when capitalGainDistributions, rate28Gain or unrecapturedSection1250Gain was given (federal engine 2.0).","properties":{"capitalGainDistributions":{"type":"number","description":"Schedule D line 13 as used."},"rate28Gain":{"type":"number","description":"Schedule D line 18 (28% Rate Gain Worksheet line 7)."},"unrecapturedSection1250Gain":{"type":"number","description":"Schedule D line 19 (Unrecaptured Section 1250 Gain Worksheet line 18)."},"worksheetUsed":{"type":"boolean","description":"True when Form 1040 line 16 is the Schedule D Tax Worksheet's (line 18 or 19 above zero and Schedule D lines 15 and 16 both gains)."},"taxedAt25":{"type":"number","description":"Worksheet line 39: unrecaptured section 1250 gain taxed at 25% (0 when the worksheet was not used)."},"taxedAt28":{"type":"number","description":"Worksheet line 42: gain taxed at 28% (0 when the worksheet was not used)."},"worksheetTax":{"type":"number","description":"Worksheet line 47, Form 1040 line 16 (0 when the worksheet was not used)."}}},"work":{"type":"object","description":"Present when a work input was given (federal engine 2.0): wages, Schedule SE, Schedule 1 adjustments, Form 8959, Schedule 3 line 11 and Schedule 1-A tips and overtime.","properties":{"wages":{"type":"number","description":"Form 1040 line 1a (= 1z)."},"businessIncome":{"type":"number","description":"Schedule 1 line 3."},"selfEmploymentTax":{"type":"number","description":"Schedule 2 line 4 (both spouses)."},"selfEmploymentTaxFiler":{"type":"number","description":"The filer's Schedule SE line 12."},"selfEmploymentTaxSpouse":{"type":"number","description":"The spouse's Schedule SE line 12."},"netEarningsFiler":{"type":"number","description":"The filer's Schedule SE line 6 (0 under the floor)."},"netEarningsSpouse":{"type":"number","description":"The spouse's Schedule SE line 6."},"selfEmploymentTaxDeduction":{"type":"number","description":"Schedule 1 line 15."},"sepDeduction":{"type":"number","description":"Schedule 1 line 16."},"selfEmployedHealthInsurance":{"type":"number","description":"Schedule 1 line 17 after the earned-income limit."},"adjustments":{"type":"number","description":"Schedule 1 line 26 = Form 1040 line 10."},"additionalMedicareTaxWages":{"type":"number","description":"Form 8959 line 7 (2026 draft: to Schedule 2 line 17b)."},"additionalMedicareTaxSelfEmployment":{"type":"number","description":"Form 8959 line 13 (2026 draft line 18: to Schedule 2 line 11)."},"additionalMedicareTax":{"type":"number","description":"Form 8959 line 18 (TY2025: Schedule 2 line 11)."},"additionalMedicareTaxWithheld":{"type":"number","description":"Form 8959 line 24 (withholding, Form 1040 line 25c; not part of the total tax)."},"excessSocialSecurityWithheld":{"type":"number","description":"Schedule 3 line 11 (a payment; not part of the total tax)."},"tipsDeduction":{"type":"number","description":"Schedule 1-A line 13 (2026 draft 15): the employee tips plus the business tips after section 224(c), at most $25,000, less the MAGI reduction."},"tipsTradeOrBusiness":{"type":"number","description":"Schedule 1-A 2025 line 5 (2026 draft line 7): the business tips after section 224(c), each person's the smaller of the tips and the business's net profit (not below 0). Present only when selfEmployedQualifiedTips or spouseSelfEmployedQualifiedTips is sent (federal engine 2.3.2)."},"overtimeDeduction":{"type":"number","description":"Schedule 1-A line 21 (2026 draft 27)."},"payroll":{"type":"object","description":"The employee's payroll tax on each person's W-2 (federal_payroll, the rule the planner and the website use), on the year's parameters (a projected year's own; 2027 on SSA's published wage base). Not part of the return's total tax: the Additional Medicare Tax owed is on Form 8959.","properties":{"filer":{"type":"object","description":"The filer's W-2.","properties":{"socialSecurityWages":{"type":"number","description":"W-2 box 3 as the return takes it (absent: box 1 up to the wage base times employerCount)."},"medicareWages":{"type":"number","description":"W-2 box 5 as the return takes it (absent: box 1)."},"socialSecurityTax":{"type":"number","description":"The employee's Social Security tax: 6.2% of box 3, at most the wage base (26 U.S.C. 3101(a), 3121(a)(1))."},"medicareTax":{"type":"number","description":"The employee's Medicare tax: 1.45% of box 5 (26 U.S.C. 3101(b)(1))."},"additionalMedicareWithholding":{"type":"number","description":"The Additional Medicare Tax the employer withholds: 0.9% of box 5 above $200,000 (26 U.S.C. 3102(f)); the tax owed is Form 8959 (additionalMedicareTax)."},"total":{"type":"number","description":"socialSecurityTax + medicareTax + additionalMedicareWithholding."}}},"spouse":{"type":"object","description":"The spouse's W-2 (all 0 off a joint return or without spouse wages).","properties":{"socialSecurityWages":{"type":"number","description":"W-2 box 3 as the return takes it (absent: box 1 up to the wage base times employerCount)."},"medicareWages":{"type":"number","description":"W-2 box 5 as the return takes it (absent: box 1)."},"socialSecurityTax":{"type":"number","description":"The employee's Social Security tax: 6.2% of box 3, at most the wage base (26 U.S.C. 3101(a), 3121(a)(1))."},"medicareTax":{"type":"number","description":"The employee's Medicare tax: 1.45% of box 5 (26 U.S.C. 3101(b)(1))."},"additionalMedicareWithholding":{"type":"number","description":"The Additional Medicare Tax the employer withholds: 0.9% of box 5 above $200,000 (26 U.S.C. 3102(f)); the tax owed is Form 8959 (additionalMedicareTax)."},"total":{"type":"number","description":"socialSecurityTax + medicareTax + additionalMedicareWithholding."}}},"socialSecurityWageBase":{"type":"number","description":"The year's Social Security wage base (42 U.S.C. 430: $184,500 for 2026)."},"socialSecurityTax":{"type":"number","description":"The filer's and the spouse's socialSecurityTax."},"medicareTax":{"type":"number","description":"The filer's and the spouse's medicareTax."},"additionalMedicareWithholding":{"type":"number","description":"The filer's and the spouse's additionalMedicareWithholding."},"total":{"type":"number","description":"The filer's and the spouse's total."}}}}},"qbi":{"type":"object","description":"Present when selfEmploymentIncome (either spouse's) is not zero.","properties":{"form":{"type":"string","description":"8995 (at or below the threshold) or 8995-A."},"qualifiedBusinessIncome":{"type":"number","description":"The total qualified business income (8995 line 2); negative = a loss."},"taxableIncomeBeforeDeduction":{"type":"number","description":"Form 8995 line 11 / 8995-A line 20."},"deduction":{"type":"number","description":"Form 1040 line 13a (2026 draft 13b)."},"lossCarryforward":{"type":"number","description":"The qualified business loss carried to next year (not read back as an input)."}}},"foreignTaxCredit":{"type":"object","description":"Present when foreignTaxPaid was given.","properties":{"method":{"type":"string","description":"election (section 904(j)) or form1116."},"credit":{"type":"number","description":"Schedule 3 line 1 (Form 1040 line 20)."},"limit":{"type":"number","description":"Form 1116 line 21 (0 on the election)."},"carryoverOut":{"type":"number","description":"Form 1116 line 14 less line 24: unused foreign tax (not read back)."},"qualifiedDividendAdjustment":{"type":"boolean","description":"The rate-differential adjustments of lines 1a and 18 applied."}}},"amt":{"type":"object","description":"Present when the AMT applies, an AMT input was given, or foreignTaxPaid was given.","properties":{"alternativeMinimumTaxableIncome":{"type":"number","description":"Form 6251 line 4."},"exemption":{"type":"number","description":"Line 5."},"taxableExcess":{"type":"number","description":"Line 6."},"tentativeMinimumTaxBeforeCredit":{"type":"number","description":"Line 7 (Part III line 40 when it applies)."},"amtForeignTaxCredit":{"type":"number","description":"Line 8."},"tentativeMinimumTax":{"type":"number","description":"Line 9."},"regularTax":{"type":"number","description":"Line 10 (Form 1040 line 16 less Schedule 3 line 1)."},"amt":{"type":"number","description":"Line 11 = Schedule 2 line 2 = Form 1040 line 17 (part of totalTax)."},"partIII":{"type":"boolean","description":"Line 7 came from Part III."}}},"rental":{"type":"object","description":"Present with a rental input (federal engine 2.1): Schedule E Part I through Form 8582.","properties":{"netIncome":{"type":"number","description":"rentalNetIncome as given."},"priorYearUnallowedLoss":{"type":"number","description":"rentalPriorYearUnallowedLoss as given."},"activeParticipation":{"type":"boolean","description":"The participation the return used (absent = true)."},"realEstateProfessional":{"type":"boolean","description":"realEstateProfessional as given."},"combinedIncomeOrLoss":{"type":"number","description":"Form 8582 line 1d (line 2d without active participation) = line 3."},"modifiedAgi":{"type":"number","description":"Form 8582 line 6 (0 when Part II is not figured)."},"specialAllowanceLimit":{"type":"number","description":"Form 8582 line 8."},"specialAllowance":{"type":"number","description":"Form 8582 line 9."},"lossesAllowed":{"type":"number","description":"Form 8582 line 11 (prior years' losses included)."},"scheduleEIncome":{"type":"number","description":"Schedule E line 26 = Schedule 1 line 5 = Form 8960 line 4a."},"unallowedLossCarryforward":{"type":"number","description":"The unallowed loss carried to the next year."}}},"credits":{"type":"object","description":"Present when a credit input was given or a credit applies (federal engine 2.1): Form 1040 lines 18 to 22, 27a and 28.","properties":{"taxBeforeCredits":{"type":"number","description":"Form 1040 line 18 (line 16 + line 17)."},"foreignTaxCredit":{"type":"number","description":"Schedule 3 line 1."},"elderlyOrDisabledCredit":{"type":"number","description":"Schedule R line 22 = Schedule 3 line 6d."},"elderlyOrDisabledCreditBeforeLimit":{"type":"number","description":"Schedule R line 20."},"saversCredit":{"type":"number","description":"Form 8880 line 12 = Schedule 3 line 4."},"saversCreditRate":{"type":"number","description":"Form 8880 line 9."},"saversCreditBeforeLimit":{"type":"number","description":"Form 8880 line 10."},"childTaxCreditBeforeLimit":{"type":"number","description":"Schedule 8812 line 12."},"childTaxCredit":{"type":"number","description":"Schedule 8812 line 14 = Form 1040 line 19."},"additionalChildTaxCredit":{"type":"number","description":"Schedule 8812 line 27 = Form 1040 line 28 (refundable)."},"earnedIncome":{"type":"number","description":"The earned income of the EIC and Schedule 8812 line 18a."},"eitcInvestmentIncome":{"type":"number","description":"The EIC investment income (Pub 596 Worksheet 1)."},"earnedIncomeCredit":{"type":"number","description":"Form 1040 line 27a (refundable)."},"nonrefundableCredits":{"type":"number","description":"Form 1040 line 21."},"taxAfterNonrefundableCredits":{"type":"number","description":"Form 1040 line 22."},"refundableCredits":{"type":"number","description":"Lines 27a + 28: payments, not part of totalTax."},"totalTaxLessRefundableCredits":{"type":"number","description":"totalTax less refundableCredits (negative: a refund beyond the tax)."}}},"premiumTaxCredit":{"type":"object","description":"Form 8962, with a marketplace input.","properties":{"taxFamilySize":{"type":"number","description":"Line 1."},"modifiedAgi":{"type":"number","description":"Line 2a: AGI + tax-exempt interest + the social security not included in income."},"dependentsModifiedAgi":{"type":"number","description":"Line 2b."},"householdIncome":{"type":"number","description":"Line 3 (not below 0)."},"povertyLine":{"type":"number","description":"Line 4 (the 2025 HHS guidelines for 2026 coverage)."},"povertyLinePercent":{"type":"number","description":"Line 5: a whole percentage, decimals dropped; 401 above 400%."},"applicableTaxpayer":{"type":"boolean","description":"An applicable taxpayer (section 36B(c)(1)); false = no credit, every advance payment repaid."},"applicableFigure":{"type":"number","description":"Line 7 (0 when not an applicable taxpayer)."},"annualContribution":{"type":"number","description":"Line 8a."},"monthlyContribution":{"type":"number","description":"Line 8b."},"annualCalculation":{"type":"boolean","description":"true = line 11 (12 equal months), false = lines 12-23."},"annualTotals":{"type":"object","description":"Line 11 columns (a)-(f), with the annual calculation.","properties":{"premium":{"type":"number","description":"Column (a)."},"slcspPremium":{"type":"number","description":"Column (b)."},"contribution":{"type":"number","description":"Column (c): line 8a."},"maximumPremiumAssistance":{"type":"number","description":"Column (d): (b) - (c), not below 0."},"premiumTaxCredit":{"type":"number","description":"Column (e): the smaller of (a) and (d)."},"advancePayments":{"type":"number","description":"Column (f)."}}},"months":{"type":"array","description":"Lines 12-23 (January first), with the monthly calculation: each {month, premium, slcspPremium, contribution, maximumPremiumAssistance, premiumTaxCredit, advancePayments}.","items":{"type":"object","properties":{}}},"premiumTaxCredit":{"type":"number","description":"Line 24: the credit."},"advancePayments":{"type":"number","description":"Line 25."},"netPremiumTaxCredit":{"type":"number","description":"Line 26 -> Schedule 3 line 9: a payment, not part of totalTax."},"excessAdvancePayments":{"type":"number","description":"Line 27."},"repaymentLimitation":{"type":"null","description":"Line 28: always null; there is no repayment limitation from 2026 (section 36B(f)(2)(B) struck by P.L. 119-21 section 71305)."},"excessAdvancePaymentRepayment":{"type":"number","description":"Line 29 -> Schedule 2 line 1a: in totalTax."}}},"scheduleE":{"type":"object","description":"Schedule E Parts II-III and Form 8582 with the K-1 classes, with a K-1 input.","properties":{"otherPassiveActivities":{"type":"number","description":"Form 8582 line 2d."},"rentalRealEstateActive":{"type":"number","description":"Form 8582 line 1d."},"combinedIncomeOrLoss":{"type":"number","description":"Form 8582 line 3."},"k1PassiveResult":{"type":"number","description":"The K-1 passive amount after Form 8582 (Schedule E columns (h) - (g))."},"k1PassiveUnallowedLossCarryforward":{"type":"number","description":"Its unallowed loss carried to next year."},"estateTrustPassiveResult":{"type":"number","description":"The passive estate or trust amount after Form 8582."},"estateTrustUnallowedLossCarryforward":{"type":"number","description":"Its unallowed loss carried to next year."},"partnershipsAndSCorporations":{"type":"number","description":"Schedule E line 32."},"estatesAndTrusts":{"type":"number","description":"Schedule E line 37."},"rentalRealEstate":{"type":"number","description":"Schedule E line 26."},"scheduleETotal":{"type":"number","description":"Schedule E line 41 -> Schedule 1 line 5."},"niitNonpassiveAdjustment":{"type":"number","description":"Form 8960 line 4b (the nonpassive, non-trading K-1 amount, negated)."}}}}},"formYear":{"type":"integer","description":"2025: the form edition the line ids and lineNumber follow (the final 2025 forms; the 2026 forms are IRS drafts). Added 2026-09-28 (additive)."},"rulesYear":{"type":"integer","description":"With projection: 2026, the year whose rules are projected."},"projectedYear":{"type":"integer","description":"With projection: projection.year."},"projected":{"type":"boolean","description":"With projection: true when projection.year is after 2026."},"taxTable":{"type":"boolean","description":"With projection: whether line 16 used the Tax Table (false by default for a later year)."},"projection":{"type":"object","description":"With projection: how the return's amounts were projected.","properties":{"rulesYear":{"type":"integer","description":"2026."},"projectedYear":{"type":"integer","description":"The projected tax year."},"cpiFactor":{"type":"number","description":"The cumulative CPI factor from 2026 (from inflation, or as given)."},"inflation":{"type":"number","description":"The annual inflation given, when given."},"awiFactor":{"type":"number","description":"The wage-index factor used (the CPI factor unless given)."},"awiFactorFrom":{"type":"string","description":"\"awiFactor\" when given, else \"cpiFactor\"."},"indexing":{"type":"string","description":"\"law\" or \"inflation\"."},"docs":{"type":"string","description":"The indexing page."},"parameters":{"type":"array","description":"Every registry amount the return reads for its filing status.","items":{"type":"object","properties":{"parameter":{"type":"string","description":"The amount's id in research/data/federal-tax-indexing.json."},"rule":{"type":"string","description":"Its rule."},"field":{"type":"string","description":"The engine symbol that carries it."},"method":{"type":"string","description":"fixed, cpi, awi, scheduled, derived, unknown; \"inflation\" for an amount indexing \"inflation\" scaled."},"lawMethod":{"type":"string","description":"Indexing \"inflation\": how the law would move it."},"rulesYearValue":{"type":"number","description":"The 2026 amount."},"projectedValue":{"type":"number","description":"The amount in the projected year."},"multiplier":{"type":"number","description":"Indexing \"inflation\": the factor it was multiplied by."},"baseYear":{"type":"integer","description":"An indexed amount: the statute's base year."},"baseAmount":{"type":"number","description":"An indexed amount: the statute's base-year amount."},"derivedFrom":{"type":"string","description":"A derived amount: the amount it is defined from."},"times":{"type":"number","description":"A derived amount: the multiple."},"scheduleYear":{"type":"integer","description":"A scheduled amount: the scheduled year that applies (null: the 2026 amount)."}}}},"rules":{"type":"object","description":"The rules those amounts belong to: method and rounding; with includeSources (the default) also the index, the statute, the statement and the official sources.","properties":{}},"notApplied":{"type":"array","description":"What the projection does not do.","items":{"type":"string"}}}}}},"error":{"type":"object","properties":{"error":{"type":"string","description":"One of the messages under #/$defs/request/x-errors, with the parts taken from the request filled in."}},"required":["error"]}}}