FinCalc API
  • Documentation
  • API Reference
Information
Other endpoints
    Retirement PlanningpostEducation Funding GoalspostSurvivor Life Insurance NeedspostLong-Term Care NeedspostDisability Income NeedspostShould I lease or purchase an auto?postIs dealership financing better for me than traditional auto loan financing?postWhat would my auto payments be?postShould I upgrade to a more fuel efficient vehicle?postAuto loan: Accelerated payoffpostHow much vehicle can I afford?postShould I refinance my auto loan at a lower rate?postHow much can I lower my monthly payment with a new auto loan?postHow much might my vehicle depreciate?postCalculate my RV loan payments including balloonpostFuel Cost CalculatorpostShould I buy an electric or gas powered vehicle?postHow does inflation impact my standard of living?postHow much am I spending?postHow much do I need for emergencies?postShould I pay down debt or invest my monthly surplus?postHow long will my money last with systematic withdrawals?postShould my spouse enter the work force?postWhat is my current net worth?postWhat is my projected net worth?postWhat is my current cash flow?postWhat is my projected cash flow?postWhat is the value of reducing, postponing or foregoing expenses?postHistorical inflation - Compare purchasing powerpostBalance My CheckbookpostCost of Living ComparisonpostWhat are the tax savings of a qualified retirement/cafeteria plan?postWhat are my new business startup costs?postShould I pay or charge monthly, quarterly or annually?postWhat is the value of my business?postHow many units do I need to sell to breakeven?postShould I lease or buy equipment?postWhat are my business financial ratios?postWhat is my employee total compensation package worth?postWhat are my tax savings with Section 179 deduction?postEmployer FSA Savings CalculatorpostWhat should I price my product/service in order to be profitable?postHow much should I be saving for college?postCalculate your ability to pay back student loans.postWhat are the advantages of a Coverdell ESA?postWhat are the advantages of a 529 college savings plan?postWhat is the value of a college education?postWhat are the payments on a parental (PLUS) loan?postShould I live at home, on campus, or off campus?postWhen should I begin saving for my child's college?postWhat expenses should I expect before college?postHow soon can I breakeven if I refinance?postEvaluate Your Saving StrategypostCompare Roth 401(k) Versus Before-TaxpostHow long will it take to pay off my credit card?postHow long until my loan is paid off?postWhat would my loan payments be?postDo I have too much debt?postWhat is the balance on my loan?postWill consolidating my debt into a new loan be beneficial?postRestructuring debts for accelerated payoffpostWhich is better: Cash up front or payments over time?postWhat is the impact of making extra payments on my debt?postShould I pay off debt or invest?postShould I transfer my credit card balances?postWhat is my credit score?postHow much can I afford to borrow?postWhat is my loan rate?postWhat monthly payments are needed to pay off my loan sooner?postHow much house can I afford?postShould I refinance my mortgage?postEstimate my monthly mortgage paymentpostComparing mortgage termspostShould I pay discount points for a lower interest rate?postShould I rent or buy a home?postShould I convert to a bi-weekly payment schedule?postCompare a 'no-cost' vs. traditional mortgagepostWhat are the tax savings generated by my mortgage?postWhich is better: Fixed or adjustable-rate mortgage?postAdjustable rate mortgage calculatorpostHow do closing costs impact the interest rate?postCompare an interest-only vs. traditional mortgagepostCalculate Your Estimated Borrowing Capacity Using A Home Equity Line of Credit (HELOC)postDiscover the better option between loans.postHow does a reverse mortgage work?postWhat are my HELOC payments?postBalloon mortgagepostComparing Mortgage Terms (i.e. 15, 20, 30 year)postWhat is my potential estate tax liability?postShould I adjust my payroll withholdings?postWill my investment interest be deductible?postHow much self-employment tax will I pay?postLong-term Capital Gains Tax EstimatorpostCompare taxable, tax-deferred and tax-free investment growthpostHow much of my social security benefit may be taxed?postWhat are the tax implications of paying interest?postShould I itemize or take the standard deduction?postWhat is my tax-equivalent yield?postHow much life insurance do I need?postCalculate Your Estimated Life ExpectancypostWhat are my needs for burial and final expenses?postHow much disability income insurance do I need?postWhat are my chances of becoming disabled?postWhat are my long-term care insurance needs?postHow much will I earn in my lifetime?postWhat are the tax advantages of an annuity?postHow long will my current life insurance proceeds last?postWhat is the future value of an annuity?postWhich is better, comprehensive plan or high-deductible plan with HSA?postCompare a taxable investment to a tax-deferred annuitypostWhat are the payments on an immediate annuity?postHow should I allocate my assets?postCompare taxable vs. tax-free investment returnpostWhat is the value of a bond?postWhat is the return on my real estate investment?postWhat is the value of compound interest?postWhat is the value of a call or put option?postTaxable vs. tax-advantaged savings?postWhat is my risk tolerance?postWhat is the long-term impact of increased investment return?postCalculate Your Certificate of Deposit (CD) ValuepostWhat is the dividend yield on a stock?postHow do expenses impact mutual fund returns?postCertificate of deposit (CD) laddering strategypostWhat return do I need to get back to where I started?postHow much will my company bonus net after taxes?postHow will payroll adjustments affect my take-home pay?postConvert my salary to an equivalent hourly wagepostConvert my hourly wage to an equivalent annual salarypostWhat is the future value of my employee stock options?postShould I exercise my 'in-the-money' stock options?postWhat may my 401k be worth?postWhat is the impact of increasing my 401(k) contribution?postWhat may my 403(b) Plan be worth?postWhat may my Health Savings Account (HSA) be worth?postWhat may my company ESOP be worth?postShould I contribute more to receive the maximum 401(k) match?postEvaluate my company pension payout optionspostHow much can I contribute to an IRA?postHow much retirement income may an IRA provide?postShould I convert to a Roth IRA?postWhat will my qualified plan(s) be worth at retirement?postWhat is my current year required minimum distribution?postWhat are my projected required minimum distributions?postWhat are my lump sum distribution options?postHow do I maximize my employer 401(k) match?postWhat is the impact of borrowing from my retirement plan?postWhat is the impact of early withdrawal from my 401(k)?postI'm self-employed, how much can I contribute to a retirement plan?postNet unrealized appreciation (NUA) vs. IRA rollover?postWhat Is My Beneficiary Required Minimum Distribution?post72(t) early distribution analysispostHow will retirement impact my living expenses?postAm I saving enough for my retirement?postAre my current retirement savings sufficient?postSocial security retirement income estimatorpostHow does inflation impact my retirement income needs?postI'm retired, how long will my savings last?postWhen should I begin saving for retirement?postShould I convert discretionary expenses to savings?postHow much retirement income may my 401(k) provide?postCompare a Roth 401(k) to a Traditional 401(k)postWhat is the value of catch-up contributions for retirement?postBecoming a millionairepostIncome generated by a savings planpostHow long will it take to double my savings?postHow long until my savings reach my goal?postSave now vs. save laterpostHow much should I save to reach my goal?postWhat could my current savings grow to?postCalculate rate of returnpostHow do taxes and inflation impact my investment return?postWhat is the effective annual yield on my investment?postWhat could my recurring savings grow to?postIs my savings plan on track?postHow long would I need to work to buy something?postHow much should I save to reach my goal?post
Schemas
powered by Zuplo
FinCalc API
FinCalc API

Other endpoints


Retirement Planning

POST
https://api.fincalc.com
/v2/calculators/retirement-planning

Retirement Planning › Request Body

Inputs for the adv01 calculation.
Adv01Request
clientFirstName
​string · required
spouseFirstName
​string · required
clientLastName
​string · required
spouseLastName
​string · required
clientDOB
​string · required
clientAge
​integer · min: 0 · max: 120 · required
Default: 0
spouseDOB
​string · required
spouseAge
​integer · min: 0 · max: 120 · required
Default: 0
clientAddress
​string · required
clientCity
​string · required
clientState
​string · required
clientZip
​string · required
clientPhone
​string · required
advisorName
​string · required
advisorCompanyName
​string · required
companyAddress1
​string · required
companyAddress2
​string · required
companyCity
​string · required
companyState
​string · required
companyZip
​string · required
companyPhone
​string · required
clientIncome
​number · required
spouseIncome
​number · required
clientPayIncrease
​number · min: 0 · max: 0.2 · required
Default: 0.05
spousePayIncrease
​number · min: 0 · max: 0.2 · required
Default: 0.05
clientRetirementAge
​integer · min: 0 · max: 120 · required
Default: 67
spouseRetirementAge
​integer · min: 0 · max: 120 · required
Default: 67
clientDeathAge
​integer · min: 0 · max: 120 · required
Default: 95
spouseDeathAge
​integer · min: 0 · max: 120 · required
Default: 95
assetDescription1
​string · required
assetValue1
​number · required
assetOwner1
​string · enum · required
Enum values:
Client
Spouse
Joint
ComProp
Default: Client
assetType1
​string · enum · required
Enum values:
Liquid
Business
QualTrad
QualRoth
NonQualInv
Default: Liquid
assetDescription2
​string · required
assetValue2
​number · required
Default: 0
assetOwner2
​string · enum · required
Enum values:
Client
Spouse
Joint
ComProp
Default: Client
assetType2
​string · enum · required
Enum values:
Liquid
Business
QualTrad
QualRoth
NonQualInv
Default: Liquid
assetDescription3
​string · required
assetValue3
​number · required
Default: 0
assetOwner3
​string · enum · required
Enum values:
Client
Spouse
Joint
ComProp
Default: Client
assetType3
​string · enum · required
Enum values:
Liquid
Business
QualTrad
QualRoth
NonQualInv
Default: Liquid
assetDescription4
​string · required
assetValue4
​number · required
Default: 0
assetOwner4
​string · enum · required
Enum values:
Client
Spouse
Joint
ComProp
Default: Client
assetType4
​string · enum · required
Enum values:
Liquid
Business
QualTrad
QualRoth
NonQualInv
Default: Liquid
assetDescription5
​string · required
assetValue5
​number · required
Default: 0
assetOwner5
​string · enum · required
Enum values:
Client
Spouse
Joint
ComProp
Default: Client
assetType5
​string · enum · required
Enum values:
Liquid
Business
QualTrad
QualRoth
NonQualInv
Default: Liquid
assetDescription6
​string · required
assetValue6
​number · required
Default: 0
assetOwner6
​string · enum · required
Enum values:
Client
Spouse
Joint
ComProp
Default: Client
assetType6
​string · enum · required
Enum values:
Liquid
Business
QualTrad
QualRoth
NonQualInv
Default: Liquid
assetDescription7
​string · required
assetValue7
​number · required
Default: 0
assetOwner7
​string · enum · required
Enum values:
Client
Spouse
Joint
ComProp
Default: Client
assetType7
​string · enum · required
Enum values:
Liquid
Business
QualTrad
QualRoth
NonQualInv
Default: Liquid
assetDescription8
​string · required
assetValue8
​number · required
Default: 0
assetOwner8
​string · enum · required
Enum values:
Client
Spouse
Joint
ComProp
Default: Client
assetType8
​string · enum · required
Enum values:
Liquid
Business
QualTrad
QualRoth
NonQualInv
Default: Liquid
assetDescription9
​string · required
assetValue9
​number · required
Default: 0
assetOwner9
​string · enum · required
Enum values:
Client
Spouse
Joint
ComProp
Default: Client
assetType9
​string · enum · required
Enum values:
Liquid
Business
QualTrad
QualRoth
NonQualInv
Default: Liquid
assetDescription10
​string · required
assetValue10
​number · required
Default: 0
assetOwner10
​string · enum · required
Enum values:
Client
Spouse
Joint
ComProp
Default: Client
assetType10
​string · enum · required
Enum values:
Liquid
Business
QualTrad
QualRoth
NonQualInv
Default: Liquid
assetDescription11
​string · required
assetValue11
​number · required
assetOwner11
​string · enum · required
Enum values:
Client
Spouse
Joint
ComProp
Default: Client
assetType11
​string · enum · required
Enum values:
Liquid
Business
QualTrad
QualRoth
NonQualInv
Default: Liquid
assetDescription12
​string · required
assetValue12
​number · required
Default: 0
assetOwner12
​string · enum · required
Enum values:
Client
Spouse
Joint
ComProp
Default: Client
assetType12
​string · enum · required
Enum values:
Liquid
Business
QualTrad
QualRoth
NonQualInv
Default: Liquid
assetDescription13
​string · required
assetValue13
​number · required
Default: 0
assetOwner13
​string · enum · required
Enum values:
Client
Spouse
Joint
ComProp
Default: Client
assetType13
​string · enum · required
Enum values:
Liquid
Business
QualTrad
QualRoth
NonQualInv
Default: Liquid
assetDescription14
​string · required
assetValue14
​number · required
Default: 0
assetOwner14
​string · enum · required
Enum values:
Client
Spouse
Joint
ComProp
Default: Client
assetType14
​string · enum · required
Enum values:
Liquid
Business
QualTrad
QualRoth
NonQualInv
Default: Liquid
assetDescription15
​string · required
assetValue15
​number · required
Default: 0
assetOwner15
​string · enum · required
Enum values:
Client
Spouse
Joint
ComProp
Default: Client
assetType15
​string · enum · required
Enum values:
Liquid
Business
QualTrad
QualRoth
NonQualInv
Default: Liquid
assetDescription16
​string · required
assetValue16
​number · required
Default: 0
assetOwner16
​string · enum · required
Enum values:
Client
Spouse
Joint
ComProp
Default: Client
assetType16
​string · enum · required
Enum values:
Liquid
Business
QualTrad
QualRoth
NonQualInv
Default: Liquid
assetDescription17
​string · required
assetValue17
​number · required
Default: 0
assetOwner17
​string · enum · required
Enum values:
Client
Spouse
Joint
ComProp
Default: Client
assetType17
​string · enum · required
Enum values:
Liquid
Business
QualTrad
QualRoth
NonQualInv
Default: Liquid
assetDescription18
​string · required
assetValue18
​number · required
Default: 0
assetOwner18
​string · enum · required
Enum values:
Client
Spouse
Joint
ComProp
Default: Client
assetType18
​string · enum · required
Enum values:
Liquid
Business
QualTrad
QualRoth
NonQualInv
Default: Liquid
assetDescription19
​string · required
assetValue19
​number · required
Default: 0
assetOwner19
​string · enum · required
Enum values:
Client
Spouse
Joint
ComProp
Default: Client
assetType19
​string · enum · required
Enum values:
Liquid
Business
QualTrad
QualRoth
NonQualInv
Default: Liquid
assetDescription20
​string · required
assetValue20
​number · required
Default: 0
assetOwner20
​string · enum · required
Enum values:
Client
Spouse
Joint
ComProp
Default: Client
assetType20
​string · enum · required
Enum values:
Liquid
Business
QualTrad
QualRoth
NonQualInv
Default: Liquid
clientQualAnnual
​number · required
Default: 2000
spouseQualAnnual
​number · required
Default: 2000
qualIncreases
​string · enum · required
Enum values:
N
Y
Default: N
clientRothAnnual
​number · required
Default: 0
spouseRothAnnual
​number · required
Default: 0
rothIncreases
​string · enum · required
Enum values:
N
Y
Default: N
clientNonQualAnnual
​number · required
Default: 0
spouseNonQualAnnual
​number · required
Default: 0
nonQualIncreases
​string · enum · required
Enum values:
N
Y
Default: N
forceRMD
​string · enum · required
Enum values:
N
Y
Default: N
clientPension
​number · required
Default: 15000
clientPensionLS
​number · required
Default: 0
spousePension
​number · required
Default: 0
spousePensionLS
​number · required
Default: 0
clientPensionIncreases
​string · enum · required
Enum values:
N
Y
Default: N
spousePensionIncreases
​string · enum · required
Enum values:
N
Y
Default: N
clientPensionAge
​integer · min: 0 · max: 120 · required
Default: 67
spousePensionAge
​integer · min: 0 · max: 120 · required
Default: 67
otherIncomeDescription1
​string · required
otherIncomeAmount1
​number · required
otherIncomeStartAge1
​integer · min: 0 · max: 120 · required
otherIncomeEndAge1
​integer · min: 0 · max: 120 · required
otherIncomeIncreases1
​number · min: 0 · max: 0.2 · required
Default: 0.05
otherIncomeReceiptType1
​string · enum · required
Enum values:
Receipt
Expense
Default: Receipt
otherIncomeTaxable1
​string · enum · required
Enum values:
N
Y
Default: Y
otherIncomeDescription2
​string · required
otherIncomeAmount2
​number · required
otherIncomeStartAge2
​integer · min: 0 · max: 120 · required
otherIncomeEndAge2
​integer · min: 0 · max: 120 · required
otherIncomeIncreases2
​number · min: 0 · max: 0.2 · required
Default: 0.05
otherIncomeReceiptType2
​string · enum · required
Enum values:
Receipt
Expense
Default: Receipt
otherIncomeTaxable2
​string · enum · required
Enum values:
N
Y
Default: Y
otherIncomeDescription3
​string · required
otherIncomeAmount3
​number · required
otherIncomeStartAge3
​integer · min: 0 · max: 120 · required
otherIncomeEndAge3
​integer · min: 0 · max: 120 · required
otherIncomeIncreases3
​number · min: 0 · max: 0.2 · required
Default: 0.05
otherIncomeReceiptType3
​string · enum · required
Enum values:
Receipt
Expense
Default: Receipt
otherIncomeTaxable3
​string · enum · required
Enum values:
N
Y
Default: Y
otherIncomeDescription4
​string · required
otherIncomeAmount4
​number · required
otherIncomeStartAge4
​integer · min: 0 · max: 120 · required
otherIncomeEndAge4
​integer · min: 0 · max: 120 · required
otherIncomeIncreases4
​number · min: 0 · max: 0.2 · required
Default: 0.05
otherIncomeReceiptType4
​string · enum · required
Enum values:
Receipt
Expense
Default: Receipt
otherIncomeTaxable4
​string · enum · required
Enum values:
N
Y
Default: Y
otherIncomeDescription5
​string · required
otherIncomeAmount5
​number · required
otherIncomeStartAge5
​integer · min: 0 · max: 120 · required
otherIncomeEndAge5
​integer · min: 0 · max: 120 · required
otherIncomeIncreases5
​number · min: 0 · max: 0.2 · required
Default: 0.05
otherIncomeReceiptType5
​string · enum · required
Enum values:
Receipt
Expense
Default: Receipt
otherIncomeTaxable5
​string · enum · required
Enum values:
N
Y
Default: Y
otherIncomeDescription6
​string · required
otherIncomeAmount6
​number · required
otherIncomeStartAge6
​integer · min: 0 · max: 120 · required
otherIncomeEndAge6
​integer · min: 0 · max: 120 · required
otherIncomeIncreases6
​number · min: 0 · max: 0.2 · required
Default: 0.05
otherIncomeReceiptType6
​string · enum · required
Enum values:
Receipt
Expense
Default: Receipt
otherIncomeTaxable6
​string · enum · required
Enum values:
N
Y
Default: Y
retirementGoalPercentage
​number · min: 0 · max: 1 · required
Default: 0.75
retirementGoalAmount
​number · required
Default: 0
legacyAmount
​number · required
Default: 0
legacyIncreases
​string · enum · required
Enum values:
N
Y
Default: N
includeSS
​string · enum · required
Enum values:
N
Y
Default: N
inflationSS
​number · min: 0 · max: 0.1 · required
Default: 0.03
ssBenefitsTaxable
​integer · enum · required
Enum values:
1
2
9
3
Default: 1
clientSSEligible
​string · enum · required
Enum values:
N
Y
Default: Y
spouseSSEligible
​string · enum · required
Enum values:
N
Y
Default: Y
clientSSOverrideAge
​integer · min: 0 · max: 120 · required
Default: 0
spouseSSOverrideAge
​integer · min: 0 · max: 120 · required
Default: 0
clientSSOverride
​number · required
Default: 0
spouseSSOverride
​number · required
Default: 0
recommendedSavingsIncreases
​string · enum · required
Enum values:
N
Y
Default: N
preRetirementReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.06
postRetirementReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.06
preRetirementTaxRate
​number · min: 0 · max: 0.75 · required
Default: 0.22
postRetirementTaxRate
​number · min: 0 · max: 0.75 · required
Default: 0.22
inflation
​number · min: 0 · max: 0.1 · required
Default: 0.03
earlyRetirementGoal
​number · required
earlyRetirementYears
​integer · min: 0 · max: 120 · required
middleRetirementGoal
​number · required
middleRetirementYears
​integer · min: 0 · max: 120 · required
assetContribution1
​number · required
assetContribution2
​number · required
assetContribution3
​number · required
assetContribution4
​number · required
assetContribution5
​number · required
assetContribution6
​number · required
assetContribution7
​number · required
assetContribution8
​number · required
assetContribution9
​number · required
assetContribution10
​number · required

Retirement Planning › Responses

Calculation result.

Result of the adv01 calculation.
Adv01Result
purchasingPower
​number · required
currentPlans
​number · required
shortfall
​number · required
goalReplacementRatio
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
replacementRatio
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
needsToday
​number · required
needsAtRetirement
​number · required
needsAtDeath
​number · required
​Adv01YearRow[] · required
POST/v2/calculators/retirement-planning
curl https://api.fincalc.com/v2/calculators/retirement-planning \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "clientFirstName": "clientFirstName", "spouseFirstName": "spouseFirstName", "clientLastName": "clientLastName", "spouseLastName": "spouseLastName", "clientDOB": "clientDOB", "clientAge": 0, "spouseDOB": "spouseDOB", "spouseAge": 0, "clientAddress": "clientAddress", "clientCity": "clientCity", "clientState": "clientState", "clientZip": "clientZip", "clientPhone": "clientPhone", "advisorName": "advisorName", "advisorCompanyName": "advisorCompanyName", "companyAddress1": "companyAddress1", "companyAddress2": "companyAddress2", "companyCity": "companyCity", "companyState": "companyState", "companyZip": "companyZip", "companyPhone": "companyPhone", "clientIncome": 0, "spouseIncome": 0, "clientPayIncrease": 0.05, "spousePayIncrease": 0.05, "clientRetirementAge": 67, "spouseRetirementAge": 67, "clientDeathAge": 95, "spouseDeathAge": 95, "assetDescription1": "assetDescription1", "assetValue1": 0, "assetOwner1": "Client", "assetType1": "Liquid", "assetDescription2": "assetDescription2", "assetValue2": 0, "assetOwner2": "Client", "assetType2": "Liquid", "assetDescription3": "assetDescription3", "assetValue3": 0, "assetOwner3": "Client", "assetType3": "Liquid", "assetDescription4": "assetDescription4", "assetValue4": 0, "assetOwner4": "Client", "assetType4": "Liquid", "assetDescription5": "assetDescription5", "assetValue5": 0, "assetOwner5": "Client", "assetType5": "Liquid", "assetDescription6": "assetDescription6", "assetValue6": 0, "assetOwner6": "Client", "assetType6": "Liquid", "assetDescription7": "assetDescription7", "assetValue7": 0, "assetOwner7": "Client", "assetType7": "Liquid", "assetDescription8": "assetDescription8", "assetValue8": 0, "assetOwner8": "Client", "assetType8": "Liquid", "assetDescription9": "assetDescription9", "assetValue9": 0, "assetOwner9": "Client", "assetType9": "Liquid", "assetDescription10": "assetDescription10", "assetValue10": 0, "assetOwner10": "Client", "assetType10": "Liquid", "assetDescription11": "assetDescription11", "assetValue11": 0, "assetOwner11": "Client", "assetType11": "Liquid", "assetDescription12": "assetDescription12", "assetValue12": 0, "assetOwner12": "Client", "assetType12": "Liquid", "assetDescription13": "assetDescription13", "assetValue13": 0, "assetOwner13": "Client", "assetType13": "Liquid", "assetDescription14": "assetDescription14", "assetValue14": 0, "assetOwner14": "Client", "assetType14": "Liquid", "assetDescription15": "assetDescription15", "assetValue15": 0, "assetOwner15": "Client", "assetType15": "Liquid", "assetDescription16": "assetDescription16", "assetValue16": 0, "assetOwner16": "Client", "assetType16": "Liquid", "assetDescription17": "assetDescription17", "assetValue17": 0, "assetOwner17": "Client", "assetType17": "Liquid", "assetDescription18": "assetDescription18", "assetValue18": 0, "assetOwner18": "Client", "assetType18": "Liquid", "assetDescription19": "assetDescription19", "assetValue19": 0, "assetOwner19": "Client", "assetType19": "Liquid", "assetDescription20": "assetDescription20", "assetValue20": 0, "assetOwner20": "Client", "assetType20": "Liquid", "clientQualAnnual": 2000, "spouseQualAnnual": 2000, "qualIncreases": "N", "clientRothAnnual": 0, "spouseRothAnnual": 0, "rothIncreases": "N", "clientNonQualAnnual": 0, "spouseNonQualAnnual": 0, "nonQualIncreases": "N", "forceRMD": "N", "clientPension": 15000, "clientPensionLS": 0, "spousePension": 0, "spousePensionLS": 0, "clientPensionIncreases": "N", "spousePensionIncreases": "N", "clientPensionAge": 67, "spousePensionAge": 67, "otherIncomeDescription1": "otherIncomeDescription1", "otherIncomeAmount1": 0, "otherIncomeStartAge1": 0, "otherIncomeEndAge1": 0, "otherIncomeIncreases1": 0.05, "otherIncomeReceiptType1": "Receipt", "otherIncomeTaxable1": "Y", "otherIncomeDescription2": "otherIncomeDescription2", "otherIncomeAmount2": 0, "otherIncomeStartAge2": 0, "otherIncomeEndAge2": 0, "otherIncomeIncreases2": 0.05, "otherIncomeReceiptType2": "Receipt", "otherIncomeTaxable2": "Y", "otherIncomeDescription3": "otherIncomeDescription3", "otherIncomeAmount3": 0, "otherIncomeStartAge3": 0, "otherIncomeEndAge3": 0, "otherIncomeIncreases3": 0.05, "otherIncomeReceiptType3": "Receipt", "otherIncomeTaxable3": "Y", "otherIncomeDescription4": "otherIncomeDescription4", "otherIncomeAmount4": 0, "otherIncomeStartAge4": 0, "otherIncomeEndAge4": 0, "otherIncomeIncreases4": 0.05, "otherIncomeReceiptType4": "Receipt", "otherIncomeTaxable4": "Y", "otherIncomeDescription5": "otherIncomeDescription5", "otherIncomeAmount5": 0, "otherIncomeStartAge5": 0, "otherIncomeEndAge5": 0, "otherIncomeIncreases5": 0.05, "otherIncomeReceiptType5": "Receipt", "otherIncomeTaxable5": "Y", "otherIncomeDescription6": "otherIncomeDescription6", "otherIncomeAmount6": 0, "otherIncomeStartAge6": 0, "otherIncomeEndAge6": 0, "otherIncomeIncreases6": 0.05, "otherIncomeReceiptType6": "Receipt", "otherIncomeTaxable6": "Y", "retirementGoalPercentage": 0.75, "retirementGoalAmount": 0, "legacyAmount": 0, "legacyIncreases": "N", "includeSS": "N", "inflationSS": 0.03, "ssBenefitsTaxable": 1, "clientSSEligible": "Y", "spouseSSEligible": "Y", "clientSSOverrideAge": 0, "spouseSSOverrideAge": 0, "clientSSOverride": 0, "spouseSSOverride": 0, "recommendedSavingsIncreases": "N", "preRetirementReturn": 0.06, "postRetirementReturn": 0.06, "preRetirementTaxRate": 0.22, "postRetirementTaxRate": 0.22, "inflation": 0.03, "earlyRetirementGoal": 0, "earlyRetirementYears": 0, "middleRetirementGoal": 0, "middleRetirementYears": 0, "assetContribution1": 0, "assetContribution2": 0, "assetContribution3": 0, "assetContribution4": 0, "assetContribution5": 0, "assetContribution6": 0, "assetContribution7": 0, "assetContribution8": 0, "assetContribution9": 0, "assetContribution10": 0 }'
Example Request Body
{ "clientFirstName": "clientFirstName", "spouseFirstName": "spouseFirstName", "clientLastName": "clientLastName", "spouseLastName": "spouseLastName", "clientDOB": "clientDOB", "clientAge": 0, "spouseDOB": "spouseDOB", "spouseAge": 0, "clientAddress": "clientAddress", "clientCity": "clientCity", "clientState": "clientState", "clientZip": "clientZip", "clientPhone": "clientPhone", "advisorName": "advisorName", "advisorCompanyName": "advisorCompanyName", "companyAddress1": "companyAddress1", "companyAddress2": "companyAddress2", "companyCity": "companyCity", "companyState": "companyState", "companyZip": "companyZip", "companyPhone": "companyPhone", "clientIncome": 0, "spouseIncome": 0, "clientPayIncrease": 0.05, "spousePayIncrease": 0.05, "clientRetirementAge": 67, "spouseRetirementAge": 67, "clientDeathAge": 95, "spouseDeathAge": 95, "assetDescription1": "assetDescription1", "assetValue1": 0, "assetOwner1": "Client", "assetType1": "Liquid", "assetDescription2": "assetDescription2", "assetValue2": 0, "assetOwner2": "Client", "assetType2": "Liquid", "assetDescription3": "assetDescription3", "assetValue3": 0, "assetOwner3": "Client", "assetType3": "Liquid", "assetDescription4": "assetDescription4", "assetValue4": 0, "assetOwner4": "Client", "assetType4": "Liquid", "assetDescription5": "assetDescription5", "assetValue5": 0, "assetOwner5": "Client", "assetType5": "Liquid", "assetDescription6": "assetDescription6", "assetValue6": 0, "assetOwner6": "Client", "assetType6": "Liquid", "assetDescription7": "assetDescription7", "assetValue7": 0, "assetOwner7": "Client", "assetType7": "Liquid", "assetDescription8": "assetDescription8", "assetValue8": 0, "assetOwner8": "Client", "assetType8": "Liquid", "assetDescription9": "assetDescription9", "assetValue9": 0, "assetOwner9": "Client", "assetType9": "Liquid", "assetDescription10": "assetDescription10", "assetValue10": 0, "assetOwner10": "Client", "assetType10": "Liquid", "assetDescription11": "assetDescription11", "assetValue11": 0, "assetOwner11": "Client", "assetType11": "Liquid", "assetDescription12": "assetDescription12", "assetValue12": 0, "assetOwner12": "Client", "assetType12": "Liquid", "assetDescription13": "assetDescription13", "assetValue13": 0, "assetOwner13": "Client", "assetType13": "Liquid", "assetDescription14": "assetDescription14", "assetValue14": 0, "assetOwner14": "Client", "assetType14": "Liquid", "assetDescription15": "assetDescription15", "assetValue15": 0, "assetOwner15": "Client", "assetType15": "Liquid", "assetDescription16": "assetDescription16", "assetValue16": 0, "assetOwner16": "Client", "assetType16": "Liquid", "assetDescription17": "assetDescription17", "assetValue17": 0, "assetOwner17": "Client", "assetType17": "Liquid", "assetDescription18": "assetDescription18", "assetValue18": 0, "assetOwner18": "Client", "assetType18": "Liquid", "assetDescription19": "assetDescription19", "assetValue19": 0, "assetOwner19": "Client", "assetType19": "Liquid", "assetDescription20": "assetDescription20", "assetValue20": 0, "assetOwner20": "Client", "assetType20": "Liquid", "clientQualAnnual": 2000, "spouseQualAnnual": 2000, "qualIncreases": "N", "clientRothAnnual": 0, "spouseRothAnnual": 0, "rothIncreases": "N", "clientNonQualAnnual": 0, "spouseNonQualAnnual": 0, "nonQualIncreases": "N", "forceRMD": "N", "clientPension": 15000, "clientPensionLS": 0, "spousePension": 0, "spousePensionLS": 0, "clientPensionIncreases": "N", "spousePensionIncreases": "N", "clientPensionAge": 67, "spousePensionAge": 67, "otherIncomeDescription1": "otherIncomeDescription1", "otherIncomeAmount1": 0, "otherIncomeStartAge1": 0, "otherIncomeEndAge1": 0, "otherIncomeIncreases1": 0.05, "otherIncomeReceiptType1": "Receipt", "otherIncomeTaxable1": "Y", "otherIncomeDescription2": "otherIncomeDescription2", "otherIncomeAmount2": 0, "otherIncomeStartAge2": 0, "otherIncomeEndAge2": 0, "otherIncomeIncreases2": 0.05, "otherIncomeReceiptType2": "Receipt", "otherIncomeTaxable2": "Y", "otherIncomeDescription3": "otherIncomeDescription3", "otherIncomeAmount3": 0, "otherIncomeStartAge3": 0, "otherIncomeEndAge3": 0, "otherIncomeIncreases3": 0.05, "otherIncomeReceiptType3": "Receipt", "otherIncomeTaxable3": "Y", "otherIncomeDescription4": "otherIncomeDescription4", "otherIncomeAmount4": 0, "otherIncomeStartAge4": 0, "otherIncomeEndAge4": 0, "otherIncomeIncreases4": 0.05, "otherIncomeReceiptType4": "Receipt", "otherIncomeTaxable4": "Y", "otherIncomeDescription5": "otherIncomeDescription5", "otherIncomeAmount5": 0, "otherIncomeStartAge5": 0, "otherIncomeEndAge5": 0, "otherIncomeIncreases5": 0.05, "otherIncomeReceiptType5": "Receipt", "otherIncomeTaxable5": "Y", "otherIncomeDescription6": "otherIncomeDescription6", "otherIncomeAmount6": 0, "otherIncomeStartAge6": 0, "otherIncomeEndAge6": 0, "otherIncomeIncreases6": 0.05, "otherIncomeReceiptType6": "Receipt", "otherIncomeTaxable6": "Y", "retirementGoalPercentage": 0.75, "retirementGoalAmount": 0, "legacyAmount": 0, "legacyIncreases": "N", "includeSS": "N", "inflationSS": 0.03, "ssBenefitsTaxable": 1, "clientSSEligible": "Y", "spouseSSEligible": "Y", "clientSSOverrideAge": 0, "spouseSSOverrideAge": 0, "clientSSOverride": 0, "spouseSSOverride": 0, "recommendedSavingsIncreases": "N", "preRetirementReturn": 0.06, "postRetirementReturn": 0.06, "preRetirementTaxRate": 0.22, "postRetirementTaxRate": 0.22, "inflation": 0.03, "earlyRetirementGoal": 0, "earlyRetirementYears": 0, "middleRetirementGoal": 0, "middleRetirementYears": 0, "assetContribution1": 0, "assetContribution2": 0, "assetContribution3": 0, "assetContribution4": 0, "assetContribution5": 0, "assetContribution6": 0, "assetContribution7": 0, "assetContribution8": 0, "assetContribution9": 0, "assetContribution10": 0 }
Example Responses
{ "purchasingPower": 0, "currentPlans": 0, "shortfall": 0, "goalReplacementRatio": 0.06, "replacementRatio": 0.06, "needsToday": 0, "needsAtRetirement": 0, "needsAtDeath": 0, "years": [ { "tableId": "tableId", "year": 0, "yourAge": 0, "spouseAge": 0, "investAssetBeginBalance": "89500.00", "annualInvestSavings": "89500.00", "investInterest": "89500.00", "qualRetireAssetBeginBalance": "89500.00", "qualAnnualRetireSavings": "89500.00", "qualRetireInterest": "89500.00", "endBalance": "89500.00", "socialSecurity": "89500.00", "pension": "89500.00", "wagesAndOther": "89500.00", "totalAfterTax": "89500.00", "retIncomeNeeds": "89500.00", "withdrawalInvest": "89500.00", "withdrawalQual": "89500.00", "retSavingsBalance": "89500.00", "annualShortfall": "89500.00", "afterTaxWithdrawalInvestments": "89500.00", "endingBalanceInvestments": "89500.00", "afterTaxWithdrawalQualified": "89500.00", "endingBalanceQualified": "89500.00", "afterTaxWithdrawalRoth": "89500.00", "endingBalanceRoth": "89500.00" } ] }
application/json

Education Funding Goals

POST
https://api.fincalc.com
/v2/calculators/college-planning

Education Funding Goals › Request Body

Inputs for the adv02 calculation.
Adv02Request
clientFirstName
​string · required
clientLastName
​string · required
spouseFirstName
​string · required
spouseLastName
​string · required
clientAddress
​string · required
clientCity
​string · required
clientState
​string · required
clientZip
​string · required
clientPhone
​string · required
advisorName
​string · required
advisorCompanyName
​string · required
companyAddress1
​string · required
companyAddress2
​string · required
companyCity
​string · required
companyState
​string · required
companyZip
​string · required
companyPhone
​string · required
​object[] · minItems: 1 · maxItems: 6 · required
child1Savings529
​number · required
Default: 0
child2Savings529
​number · required
Default: 0
child3Savings529
​number · required
Default: 0
child4Savings529
​number · required
Default: 0
child5Savings529
​number · required
Default: 0
child6Savings529
​number · required
Default: 0
collegeInflation
​number · min: 0 · max: 0.1 · required
Default: 0.06
collegeReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
preRetirementTaxRate
​number · min: 0 · max: 0.75 · required
Default: 0.22
collegeSavingsIncrease
​number · min: 0 · max: 0.2 · required
Default: 0
thruSchool
​string · enum · required
Enum values:
N
Y
Default: N

Education Funding Goals › Responses

Calculation result.

Result of the adv02 calculation.
Adv02Result
totalCost
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalCostNoInflation
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
annualSavingsTaxable
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
lumpSumTaxable
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
monthlySavingsNeeded
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
lumpSumNeeded
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Adv02DependentRow[] · required
​Adv02StrategyRow[] · required
​Adv02DependentCostRow[] · required
​Adv02AnnualTaxableYearRow[] · required
​Adv02AnnualAdvantagedYearRow[] · required
​Adv02LumpSumTaxableYearRow[] · required
​Adv02LumpSumAdvantagedYearRow[] · required
POST/v2/calculators/college-planning
curl https://api.fincalc.com/v2/calculators/college-planning \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "clientFirstName": "clientFirstName", "clientLastName": "clientLastName", "spouseFirstName": "spouseFirstName", "spouseLastName": "spouseLastName", "clientAddress": "clientAddress", "clientCity": "clientCity", "clientState": "clientState", "clientZip": "clientZip", "clientPhone": "clientPhone", "advisorName": "advisorName", "advisorCompanyName": "advisorCompanyName", "companyAddress1": "companyAddress1", "companyAddress2": "companyAddress2", "companyCity": "companyCity", "companyState": "companyState", "companyZip": "companyZip", "companyPhone": "companyPhone", "children": [ { "name": "name here", "dOB": "dOB", "school": "school", "cost": 0, "savingsTaxable": 0, "parentsPay": 1, "startAge": 18, "yearsNeeded": 4, "age": 0 } ], "child1Savings529": 0, "child2Savings529": 0, "child3Savings529": 0, "child4Savings529": 0, "child5Savings529": 0, "child6Savings529": 0, "collegeInflation": 0.06, "collegeReturn": 0.08, "preRetirementTaxRate": 0.22, "collegeSavingsIncrease": 0, "thruSchool": "N" }'
Example Request Body
{ "clientFirstName": "clientFirstName", "clientLastName": "clientLastName", "spouseFirstName": "spouseFirstName", "spouseLastName": "spouseLastName", "clientAddress": "clientAddress", "clientCity": "clientCity", "clientState": "clientState", "clientZip": "clientZip", "clientPhone": "clientPhone", "advisorName": "advisorName", "advisorCompanyName": "advisorCompanyName", "companyAddress1": "companyAddress1", "companyAddress2": "companyAddress2", "companyCity": "companyCity", "companyState": "companyState", "companyZip": "companyZip", "companyPhone": "companyPhone", "children": [ { "name": "name here", "dOB": "dOB", "school": "school", "cost": 0, "savingsTaxable": 0, "parentsPay": 1, "startAge": 18, "yearsNeeded": 4, "age": 0 } ], "child1Savings529": 0, "child2Savings529": 0, "child3Savings529": 0, "child4Savings529": 0, "child5Savings529": 0, "child6Savings529": 0, "collegeInflation": 0.06, "collegeReturn": 0.08, "preRetirementTaxRate": 0.22, "collegeSavingsIncrease": 0, "thruSchool": "N" }
Example Responses
{ "totalCost": "89500.00", "totalCostNoInflation": "89500.00", "annualSavingsTaxable": "89500.00", "lumpSumTaxable": "89500.00", "monthlySavingsNeeded": "89500.00", "lumpSumNeeded": "89500.00", "dependents": [ { "firstYearCost": "89500.00", "cumulativeCost": "89500.00", "firstYearCostInflated": "89500.00", "cumulativeCostInflated": "89500.00" } ], "strategies": [ { "payAsYouGo": "89500.00", "annualTaxable": "89500.00", "annualAdvantaged": "89500.00", "lumpSumTaxable": "89500.00", "lumpSumAdvantaged": "89500.00" } ], "dependentCosts": [ { "year": 0, "child1": "89500.00", "child2": "89500.00", "child3": "89500.00", "child4": "89500.00", "child5": "89500.00", "child6": "89500.00", "total": "89500.00" } ], "annualTaxableYears": [ { "beginBalance": "89500.00", "withdrawals": "89500.00", "savings": "89500.00", "interest": "89500.00", "endBalance": "89500.00" } ], "annualAdvantagedYears": [ { "beginBalance": "89500.00", "withdrawals": "89500.00", "savings": "89500.00", "interest": "89500.00", "endBalance": "89500.00" } ], "lumpSumTaxableYears": [ { "beginBalance": "89500.00", "withdrawals": "89500.00", "savings": "89500.00", "interest": "89500.00", "endBalance": "89500.00" } ], "lumpSumAdvantagedYears": [ { "beginBalance": "89500.00", "withdrawals": "89500.00", "savings": "89500.00", "interest": "89500.00", "endBalance": "89500.00" } ] }
application/json

Survivor Life Insurance Needs

POST
https://api.fincalc.com
/v2/calculators/survivor-life-insurance

Survivor Life Insurance Needs › Request Body

Inputs for the adv03 calculation.
Adv03Request
clientFirstName
​string · required
spouseFirstName
​string · required
clientLastName
​string · required
spouseLastName
​string · required
clientDOB
​string · required
spouseDOB
​string · required
clientAddress
​string · required
clientCity
​string · required
clientState
​string · required
clientZip
​string · required
clientPhone
​string · required
advisorName
​string · required
advisorCompanyName
​string · required
companyAddress1
​string · required
companyAddress2
​string · required
companyCity
​string · required
companyState
​string · required
companyZip
​string · required
companyPhone
​string · required
clientIncome
​number · required
Default: 0
spouseIncome
​number · required
Default: 0
clientPayIncrease
​number · min: 0 · max: 0.2 · required
Default: 0.03
spousePayIncrease
​number · min: 0 · max: 0.2 · required
Default: 0.03
clientRetirementAge
​integer · min: 1 · max: 120 · required
Default: 65
spouseRetirementAge
​integer · min: 1 · max: 120 · required
Default: 65
assetValue1
​number · required
Default: 0
assetValue2
​number · required
Default: 0
assetValue3
​number · required
Default: 0
clientPension
​number · required
Default: 0
spousePension
​number · required
Default: 0
clientPensionDeath
​number · required
Default: 0
spousePensionDeath
​number · required
Default: 0
clientPensionIncreases
​string · enum · required
Enum values:
N
Y
Default: N
spousePensionIncreases
​string · enum · required
Enum values:
N
Y
Default: N
insuranceAmount1
​number · required
Default: 0
insuranceAmount2
​number · required
Default: 0
totalCollegeCosts
​number · required
Default: 0
debtValue1
​number · required
Default: 0
debtValue2
​number · required
Default: 0
funeral
​number · required
Default: 0
estateAdmin
​number · required
Default: 0
clientSurvivorsAmount1
​number · required
Default: 0
clientSurvivorsYears1
​integer · required
Default: 0
clientSurvivorsAmount2
​number · required
Default: 0
clientSurvivorsYears2
​integer · required
Default: 0
spouseSurvivorsAmount1
​number · required
Default: 0
spouseSurvivorsYears1
​integer · required
Default: 0
spouseSurvivorsAmount2
​number · required
Default: 0
spouseSurvivorsYears2
​integer · required
Default: 0
spouseDiesClientEarningsChange
​number · required
Default: 0
clientDiesSpouseEarningsChange
​number · required
Default: 0
​object[] · minItems: 1 · maxItems: 6 · required
preRetirementReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
preRetirementTaxRate
​number · min: 0 · max: 0.75 · required
Default: 0.22
inflation
​number · min: 0 · max: 0.1 · required
Default: 0.03
clientAge
​integer · min: 0 · max: 120 · required
Default: 0
spouseAge
​integer · min: 0 · max: 120 · required
Default: 0

Survivor Life Insurance Needs › Responses

Calculation result.

Result of the adv03 calculation.
Adv03Result
clientImmediateNeeds
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientImmediateResources
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientImmediateShortfall
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientSurvivorNeeds
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientSurvivorResources
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientSurvivorShortfall
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​required
​required
​required
​required
​required
​required
clientFuneralCosts
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientEstateAdminCosts
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientMortgageDebt
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientOtherDebt
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientEmergencyFund
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientEducationFunding
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientCashAvailable
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientExistingLifeInsurance
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientAdjustedAssetsPV
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientPensionPlansAfterTax
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientSurvivorEarningsPV
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientSocialSecurityPV
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientTotalSurplus
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​required
​required
​required
​required
​required
​required
​required
​required
​required
​required
​required
​required
​required
clientCurrentAge
​number · required
spouseCurrentAge
​number · required
maritalStatus
​MaritalStatus · enum · required
Enum values:
married
single
​Adv03YearRow[] · required
​Adv03ClientYearRow[] · required
​Adv03SpouseYearRow[] · required
POST/v2/calculators/survivor-life-insurance
curl https://api.fincalc.com/v2/calculators/survivor-life-insurance \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "clientFirstName": "clientFirstName", "spouseFirstName": "spouseFirstName", "clientLastName": "clientLastName", "spouseLastName": "spouseLastName", "clientDOB": "clientDOB", "spouseDOB": "spouseDOB", "clientAddress": "clientAddress", "clientCity": "clientCity", "clientState": "clientState", "clientZip": "clientZip", "clientPhone": "clientPhone", "advisorName": "advisorName", "advisorCompanyName": "advisorCompanyName", "companyAddress1": "companyAddress1", "companyAddress2": "companyAddress2", "companyCity": "companyCity", "companyState": "companyState", "companyZip": "companyZip", "companyPhone": "companyPhone", "clientIncome": 0, "spouseIncome": 0, "clientPayIncrease": 0.03, "spousePayIncrease": 0.03, "clientRetirementAge": 65, "spouseRetirementAge": 65, "assetValue1": 0, "assetValue2": 0, "assetValue3": 0, "clientPension": 0, "spousePension": 0, "clientPensionDeath": 0, "spousePensionDeath": 0, "clientPensionIncreases": "N", "spousePensionIncreases": "N", "insuranceAmount1": 0, "insuranceAmount2": 0, "totalCollegeCosts": 0, "debtValue1": 0, "debtValue2": 0, "funeral": 0, "estateAdmin": 0, "clientSurvivorsAmount1": 0, "clientSurvivorsYears1": 0, "clientSurvivorsAmount2": 0, "clientSurvivorsYears2": 0, "spouseSurvivorsAmount1": 0, "spouseSurvivorsYears1": 0, "spouseSurvivorsAmount2": 0, "spouseSurvivorsYears2": 0, "spouseDiesClientEarningsChange": 0, "clientDiesSpouseEarningsChange": 0, "children": [ { "age": 0 } ], "preRetirementReturn": 0.08, "preRetirementTaxRate": 0.22, "inflation": 0.03, "clientAge": 0, "spouseAge": 0 }'
Example Request Body
{ "clientFirstName": "clientFirstName", "spouseFirstName": "spouseFirstName", "clientLastName": "clientLastName", "spouseLastName": "spouseLastName", "clientDOB": "clientDOB", "spouseDOB": "spouseDOB", "clientAddress": "clientAddress", "clientCity": "clientCity", "clientState": "clientState", "clientZip": "clientZip", "clientPhone": "clientPhone", "advisorName": "advisorName", "advisorCompanyName": "advisorCompanyName", "companyAddress1": "companyAddress1", "companyAddress2": "companyAddress2", "companyCity": "companyCity", "companyState": "companyState", "companyZip": "companyZip", "companyPhone": "companyPhone", "clientIncome": 0, "spouseIncome": 0, "clientPayIncrease": 0.03, "spousePayIncrease": 0.03, "clientRetirementAge": 65, "spouseRetirementAge": 65, "assetValue1": 0, "assetValue2": 0, "assetValue3": 0, "clientPension": 0, "spousePension": 0, "clientPensionDeath": 0, "spousePensionDeath": 0, "clientPensionIncreases": "N", "spousePensionIncreases": "N", "insuranceAmount1": 0, "insuranceAmount2": 0, "totalCollegeCosts": 0, "debtValue1": 0, "debtValue2": 0, "funeral": 0, "estateAdmin": 0, "clientSurvivorsAmount1": 0, "clientSurvivorsYears1": 0, "clientSurvivorsAmount2": 0, "clientSurvivorsYears2": 0, "spouseSurvivorsAmount1": 0, "spouseSurvivorsYears1": 0, "spouseSurvivorsAmount2": 0, "spouseSurvivorsYears2": 0, "spouseDiesClientEarningsChange": 0, "clientDiesSpouseEarningsChange": 0, "children": [ { "age": 0 } ], "preRetirementReturn": 0.08, "preRetirementTaxRate": 0.22, "inflation": 0.03, "clientAge": 0, "spouseAge": 0 }
Example Responses
{ "clientImmediateNeeds": "89500.00", "clientImmediateResources": "89500.00", "clientImmediateShortfall": "89500.00", "clientSurvivorNeeds": "89500.00", "clientSurvivorResources": "89500.00", "clientSurvivorShortfall": "89500.00", "spouseImmediateNeeds": "89500.00", "spouseImmediateResources": "89500.00", "spouseImmediateShortfall": "89500.00", "spouseSurvivorNeeds": "89500.00", "spouseSurvivorResources": "89500.00", "spouseSurvivorShortfall": "89500.00", "clientFuneralCosts": "89500.00", "clientEstateAdminCosts": "89500.00", "clientMortgageDebt": "89500.00", "clientOtherDebt": "89500.00", "clientEmergencyFund": "89500.00", "clientEducationFunding": "89500.00", "clientCashAvailable": "89500.00", "clientExistingLifeInsurance": "89500.00", "clientAdjustedAssetsPV": "89500.00", "clientPensionPlansAfterTax": "89500.00", "clientSurvivorEarningsPV": "89500.00", "clientSocialSecurityPV": "89500.00", "clientTotalSurplus": "89500.00", "spouseFuneralCosts": "89500.00", "spouseEstateAdminCosts": "89500.00", "spouseMortgageDebt": "89500.00", "spouseOtherDebt": "89500.00", "spouseEmergencyFund": "89500.00", "spouseEducationFunding": "89500.00", "spouseCashAvailable": "89500.00", "spouseExistingLifeInsurance": "89500.00", "spouseAdjustedAssetsPV": "89500.00", "spousePensionPlansAfterTax": "89500.00", "spouseSurvivorEarningsPV": "89500.00", "spouseSocialSecurityPV": "89500.00", "spouseTotalSurplus": "89500.00", "clientCurrentAge": 0, "spouseCurrentAge": 0, "maritalStatus": "married", "years": [ { "category": "category", "current": "current", "projected": "projected", "change": "change" } ], "clientYears": [ { "survivorAge": 0, "desiredIncome": "89500.00", "personalIncome": "89500.00", "employerPrograms": "89500.00", "governmentPrograms": "89500.00", "fromInvestments": "89500.00", "shortfall": "89500.00" } ], "spouseYears": [ { "survivorAge": 0, "desiredIncome": "89500.00", "personalIncome": "89500.00", "employerPrograms": "89500.00", "governmentPrograms": "89500.00", "fromInvestments": "89500.00", "shortfall": "89500.00" } ] }
application/json

Long-Term Care Needs

POST
https://api.fincalc.com
/v2/calculators/long-term-care

Long-Term Care Needs › Request Body

Inputs for the adv04 calculation.
Adv04Request
clientFirstName
​string · required
spouseFirstName
​string · required
clientLastName
​string · required
spouseLastName
​string · required
clientDOB
​string · required
spouseDOB
​string · required
clientAge
​integer · min: 0 · max: 120 · required
Default: 0
spouseAge
​integer · min: 0 · max: 120 · required
Default: 0
clientAddress
​string · required
clientCity
​string · required
clientState
​string · required
clientZip
​string · required
clientPhone
​string · required
advisorName
​string · required
advisorCompanyName
​string · required
companyAddress1
​string · required
companyAddress2
​string · required
companyCity
​string · required
companyState
​string · required
companyZip
​string · required
companyPhone
​string · required
clientLTCAge
​integer · min: 1 · max: 120 · required
Default: 70
spouseLTCAge
​integer · min: 1 · max: 120 · required
Default: 70
clientLTCCost
​number · required
Default: 0
spouseLTCCost
​number · required
Default: 0
clientLTCYears
​integer · min: 1 · max: 40 · required
Default: 10
spouseLTCYears
​integer · min: 1 · max: 40 · required
Default: 10
clientLTCPremium
​number · required
Default: 0
spouseLTCPremium
​number · required
Default: 0
ltcInflation
​number · min: -0.12 · max: 0.12 · required
Default: 0.05
ltcAssets
​number · required
Default: 0
preRetirementReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.07
combinedMarginalTaxRate
​number · min: 0 · max: 0.75 · required
Default: 0.22

Long-Term Care Needs › Responses

Calculation result.

Result of the adv04 calculation.
Adv04Result
clientCurrentAge
​number · required
spouseCurrentAge
​number · required
clientYearsToSave1
​number · required
clientYearsToSave2
​number · required
clientYearsToSave3
​number · required
spouseYearsToSave1
​number | null · required
spouseYearsToSave2
​number | null · required
spouseYearsToSave3
​number | null · required
clientLumpSum1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientLumpSum2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientLumpSum3
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​required
​required
​required
clientAnnual1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientAnnual2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientAnnual3
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​required
​required
​required
clientDailyBenefit1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientDailyBenefit2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientDailyBenefit3
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​required
​required
​required
clientPremiumsPaid1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientPremiumsPaid2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientPremiumsPaid3
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​required
​required
​required
clientBE1
​number · required
clientBE2
​number · required
clientBE3
​number · required
spouseBE1
​number | null · required
spouseBE2
​number | null · required
spouseBE3
​number | null · required
maritalStatus
​MaritalStatus · enum · required
Enum values:
married
single
​Adv04LtcYearRow[] · required
​Adv04YearRow[] · required
POST/v2/calculators/long-term-care
curl https://api.fincalc.com/v2/calculators/long-term-care \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "clientFirstName": "clientFirstName", "spouseFirstName": "spouseFirstName", "clientLastName": "clientLastName", "spouseLastName": "spouseLastName", "clientDOB": "clientDOB", "spouseDOB": "spouseDOB", "clientAge": 0, "spouseAge": 0, "clientAddress": "clientAddress", "clientCity": "clientCity", "clientState": "clientState", "clientZip": "clientZip", "clientPhone": "clientPhone", "advisorName": "advisorName", "advisorCompanyName": "advisorCompanyName", "companyAddress1": "companyAddress1", "companyAddress2": "companyAddress2", "companyCity": "companyCity", "companyState": "companyState", "companyZip": "companyZip", "companyPhone": "companyPhone", "clientLTCAge": 70, "spouseLTCAge": 70, "clientLTCCost": 0, "spouseLTCCost": 0, "clientLTCYears": 10, "spouseLTCYears": 10, "clientLTCPremium": 0, "spouseLTCPremium": 0, "ltcInflation": 0.05, "ltcAssets": 0, "preRetirementReturn": 0.07, "combinedMarginalTaxRate": 0.22 }'
Example Request Body
{ "clientFirstName": "clientFirstName", "spouseFirstName": "spouseFirstName", "clientLastName": "clientLastName", "spouseLastName": "spouseLastName", "clientDOB": "clientDOB", "spouseDOB": "spouseDOB", "clientAge": 0, "spouseAge": 0, "clientAddress": "clientAddress", "clientCity": "clientCity", "clientState": "clientState", "clientZip": "clientZip", "clientPhone": "clientPhone", "advisorName": "advisorName", "advisorCompanyName": "advisorCompanyName", "companyAddress1": "companyAddress1", "companyAddress2": "companyAddress2", "companyCity": "companyCity", "companyState": "companyState", "companyZip": "companyZip", "companyPhone": "companyPhone", "clientLTCAge": 70, "spouseLTCAge": 70, "clientLTCCost": 0, "spouseLTCCost": 0, "clientLTCYears": 10, "spouseLTCYears": 10, "clientLTCPremium": 0, "spouseLTCPremium": 0, "ltcInflation": 0.05, "ltcAssets": 0, "preRetirementReturn": 0.07, "combinedMarginalTaxRate": 0.22 }
Example Responses
{ "clientCurrentAge": 0, "spouseCurrentAge": 0, "clientYearsToSave1": 0, "clientYearsToSave2": 0, "clientYearsToSave3": 0, "spouseYearsToSave1": 0, "spouseYearsToSave2": 0, "spouseYearsToSave3": 0, "clientLumpSum1": "89500.00", "clientLumpSum2": "89500.00", "clientLumpSum3": "89500.00", "spouseLumpSum1": "89500.00", "spouseLumpSum2": "89500.00", "spouseLumpSum3": "89500.00", "clientAnnual1": "89500.00", "clientAnnual2": "89500.00", "clientAnnual3": "89500.00", "spouseAnnual1": "89500.00", "spouseAnnual2": "89500.00", "spouseAnnual3": "89500.00", "clientDailyBenefit1": "89500.00", "clientDailyBenefit2": "89500.00", "clientDailyBenefit3": "89500.00", "spouseDailyBenefit1": "89500.00", "spouseDailyBenefit2": "89500.00", "spouseDailyBenefit3": "89500.00", "clientPremiumsPaid1": "89500.00", "clientPremiumsPaid2": "89500.00", "clientPremiumsPaid3": "89500.00", "spousePremiumsPaid1": "89500.00", "spousePremiumsPaid2": "89500.00", "spousePremiumsPaid3": "89500.00", "clientBE1": 0, "clientBE2": 0, "clientBE3": 0, "spouseBE1": 0, "spouseBE2": 0, "spouseBE3": 0, "maritalStatus": "married", "ltcYears": [ { "year": 0, "availableCapital": "89500.00", "ltcNeed": "89500.00", "netCapital": "89500.00", "afterTaxInterest": "89500.00", "yearEndCapital": "89500.00", "needClient": "89500.00", "needSpouse": "89500.00" } ], "years": [ { "category": "category", "current": "current", "projected": "projected", "change": "change" } ] }
application/json

Disability Income Needs

POST
https://api.fincalc.com
/v2/calculators/disability-income

Disability Income Needs › Request Body

Inputs for the adv05 calculation.
Adv05Request
clientFirstName
​string · required
spouseFirstName
​string · required
clientLastName
​string · required
spouseLastName
​string · required
clientDOB
​string · required
spouseDOB
​string · required
clientAddress
​string · required
clientCity
​string · required
clientState
​string · required
clientZip
​string · required
clientPhone
​string · required
advisorName
​string · required
advisorCompanyName
​string · required
companyAddress1
​string · required
companyAddress2
​string · required
companyCity
​string · required
companyState
​string · required
companyZip
​string · required
companyPhone
​string · required
clientIncome
​number · required
Default: 0
spouseIncome
​number · required
Default: 0
clientPayIncreases
​number · min: 0 · max: 0.2 · required
Default: 0
spousePayIncreases
​number · min: 0 · max: 0.2 · required
Default: 0
clientRetirementAge
​integer · min: 1 · max: 120 · required
Default: 65
spouseRetirementAge
​integer · min: 1 · max: 120 · required
Default: 65
assetValue1
​number · required
Default: 0
assetValue2
​number · required
Default: 0
clientDisabilityPension
​number · required
Default: 0
spouseDisabilityPension
​number · required
Default: 0
clientDisabilityPensionIndex
​string · enum · required
Enum values:
N
Y
Default: N
spouseDisabilityPensionIndex
​string · enum · required
Enum values:
N
Y
Default: N
clientAge
​integer · min: 0 · max: 120 · required
Default: 0
spouseAge
​integer · min: 0 · max: 120 · required
Default: 0
disabilityCompany1
​string · required
disabilityPremium1
​number · required
Default: 0
disabilityInsured1
​string · enum · required
Enum values:
Client
Spouse
Default: Client
disabilityBenefit1
​number · required
Default: 0
disabilityWaiting1
​integer · required
Default: 0
disabilityBenefitYears1
​integer · required
Default: 0
disabilityMaximumAge1
​integer · min: 0 · max: 120 · required
Default: 0
disabilityIndexed1
​string · enum · required
Enum values:
N
Y
Default: N
disabilityCompany2
​string · required
disabilityPremium2
​number · required
Default: 0
disabilityInsured2
​string · enum · required
Enum values:
Client
Spouse
Default: Client
disabilityBenefit2
​number · required
Default: 0
disabilityWaiting2
​integer · required
Default: 0
disabilityBenefitYears2
​integer · required
Default: 0
disabilityMaximumAge2
​integer · min: 0 · max: 120 · required
Default: 0
disabilityIndexed2
​string · enum · required
Enum values:
N
Y
Default: N
disabilityCompany3
​string · required
disabilityPremium3
​number · required
Default: 0
disabilityInsured3
​string · enum · required
Enum values:
Client
Spouse
Default: Client
disabilityBenefit3
​number · required
Default: 0
disabilityWaiting3
​integer · required
Default: 0
disabilityBenefitYears3
​integer · required
Default: 0
disabilityMaximumAge3
​integer · min: 0 · max: 120 · required
Default: 0
disabilityIndexed3
​string · enum · required
Enum values:
N
Y
Default: N
disabilityCompany4
​string · required
disabilityPremium4
​number · required
Default: 0
disabilityInsured4
​string · enum · required
Enum values:
Client
Spouse
Default: Client
disabilityBenefit4
​number · required
Default: 0
disabilityWaiting4
​integer · required
Default: 0
disabilityBenefitYears4
​integer · required
Default: 0
disabilityMaximumAge4
​integer · min: 0 · max: 120 · required
Default: 0
disabilityIndexed4
​string · enum · required
Enum values:
N
Y
Default: N
clientSpending1
​number · required
Default: 0
​object[] · minItems: 1 · maxItems: 2 · required
clientSpending2
​number · required
Default: 0
spouseSpending1
​number · required
Default: 0
​object[] · minItems: 1 · maxItems: 2 · required
spouseSpending2
​number · required
Default: 0
spouseIncomeChange
​number · required
Default: 0
clientIncomeChange
​number · required
Default: 0
​object[] · minItems: 1 · maxItems: 6 · required
preRetirementReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
combinedMarginalTaxRate
​number · min: 0 · max: 0.75 · required
Default: 0.22
inflation
​number · min: 0 · max: 0.1 · required
Default: 0.03

Disability Income Needs › Responses

Calculation result.

Result of the adv05 calculation.
Adv05Result
clientAnnualShortfall
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientAverageEarnings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientAverageEarningsAnnual
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientAverageInsurance
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientAverageInsuranceAnnual
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientAverageInvestment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientAverageInvestmentAnnual
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientAverageNeed
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientAverageNeedAnnual
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientAveragePension
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientAveragePensionAnnual
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientAverageResources
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientAverageResourcesAnnual
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientAverageSS
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientAverageSSAnnual
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientAverageSurplus
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientAverageSurplusAnnual
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clientMonthlyShortfall
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​required
​required
​required
​required
​required
​required
​required
​required
​required
​required
​required
​required
​required
​required
​required
​required
​required
​required
clientCurrentAge
​number · required
spouseCurrentAge
​number · required
maritalStatus
​MaritalStatus · enum · required
Enum values:
married
single
​Adv05YearRow[] · required
POST/v2/calculators/disability-income
curl https://api.fincalc.com/v2/calculators/disability-income \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "clientFirstName": "clientFirstName", "spouseFirstName": "spouseFirstName", "clientLastName": "clientLastName", "spouseLastName": "spouseLastName", "clientDOB": "clientDOB", "spouseDOB": "spouseDOB", "clientAddress": "clientAddress", "clientCity": "clientCity", "clientState": "clientState", "clientZip": "clientZip", "clientPhone": "clientPhone", "advisorName": "advisorName", "advisorCompanyName": "advisorCompanyName", "companyAddress1": "companyAddress1", "companyAddress2": "companyAddress2", "companyCity": "companyCity", "companyState": "companyState", "companyZip": "companyZip", "companyPhone": "companyPhone", "clientIncome": 0, "spouseIncome": 0, "clientPayIncreases": 0, "spousePayIncreases": 0, "clientRetirementAge": 65, "spouseRetirementAge": 65, "assetValue1": 0, "assetValue2": 0, "clientDisabilityPension": 0, "spouseDisabilityPension": 0, "clientDisabilityPensionIndex": "N", "spouseDisabilityPensionIndex": "N", "clientAge": 0, "spouseAge": 0, "disabilityCompany1": "disabilityCompany1", "disabilityPremium1": 0, "disabilityInsured1": "Client", "disabilityBenefit1": 0, "disabilityWaiting1": 0, "disabilityBenefitYears1": 0, "disabilityMaximumAge1": 0, "disabilityIndexed1": "N", "disabilityCompany2": "disabilityCompany2", "disabilityPremium2": 0, "disabilityInsured2": "Client", "disabilityBenefit2": 0, "disabilityWaiting2": 0, "disabilityBenefitYears2": 0, "disabilityMaximumAge2": 0, "disabilityIndexed2": "N", "disabilityCompany3": "disabilityCompany3", "disabilityPremium3": 0, "disabilityInsured3": "Client", "disabilityBenefit3": 0, "disabilityWaiting3": 0, "disabilityBenefitYears3": 0, "disabilityMaximumAge3": 0, "disabilityIndexed3": "N", "disabilityCompany4": "disabilityCompany4", "disabilityPremium4": 0, "disabilityInsured4": "Client", "disabilityBenefit4": 0, "disabilityWaiting4": 0, "disabilityBenefitYears4": 0, "disabilityMaximumAge4": 0, "disabilityIndexed4": "N", "clientSpending1": 0, "clientSpendings": [ { "years": 0 } ], "clientSpending2": 0, "spouseSpending1": 0, "spouseSpendings": [ { "years": 0 } ], "spouseSpending2": 0, "spouseIncomeChange": 0, "clientIncomeChange": 0, "children": [ { "age": 0 } ], "preRetirementReturn": 0.08, "combinedMarginalTaxRate": 0.22, "inflation": 0.03 }'
Example Request Body
{ "clientFirstName": "clientFirstName", "spouseFirstName": "spouseFirstName", "clientLastName": "clientLastName", "spouseLastName": "spouseLastName", "clientDOB": "clientDOB", "spouseDOB": "spouseDOB", "clientAddress": "clientAddress", "clientCity": "clientCity", "clientState": "clientState", "clientZip": "clientZip", "clientPhone": "clientPhone", "advisorName": "advisorName", "advisorCompanyName": "advisorCompanyName", "companyAddress1": "companyAddress1", "companyAddress2": "companyAddress2", "companyCity": "companyCity", "companyState": "companyState", "companyZip": "companyZip", "companyPhone": "companyPhone", "clientIncome": 0, "spouseIncome": 0, "clientPayIncreases": 0, "spousePayIncreases": 0, "clientRetirementAge": 65, "spouseRetirementAge": 65, "assetValue1": 0, "assetValue2": 0, "clientDisabilityPension": 0, "spouseDisabilityPension": 0, "clientDisabilityPensionIndex": "N", "spouseDisabilityPensionIndex": "N", "clientAge": 0, "spouseAge": 0, "disabilityCompany1": "disabilityCompany1", "disabilityPremium1": 0, "disabilityInsured1": "Client", "disabilityBenefit1": 0, "disabilityWaiting1": 0, "disabilityBenefitYears1": 0, "disabilityMaximumAge1": 0, "disabilityIndexed1": "N", "disabilityCompany2": "disabilityCompany2", "disabilityPremium2": 0, "disabilityInsured2": "Client", "disabilityBenefit2": 0, "disabilityWaiting2": 0, "disabilityBenefitYears2": 0, "disabilityMaximumAge2": 0, "disabilityIndexed2": "N", "disabilityCompany3": "disabilityCompany3", "disabilityPremium3": 0, "disabilityInsured3": "Client", "disabilityBenefit3": 0, "disabilityWaiting3": 0, "disabilityBenefitYears3": 0, "disabilityMaximumAge3": 0, "disabilityIndexed3": "N", "disabilityCompany4": "disabilityCompany4", "disabilityPremium4": 0, "disabilityInsured4": "Client", "disabilityBenefit4": 0, "disabilityWaiting4": 0, "disabilityBenefitYears4": 0, "disabilityMaximumAge4": 0, "disabilityIndexed4": "N", "clientSpending1": 0, "clientSpendings": [ { "years": 0 } ], "clientSpending2": 0, "spouseSpending1": 0, "spouseSpendings": [ { "years": 0 } ], "spouseSpending2": 0, "spouseIncomeChange": 0, "clientIncomeChange": 0, "children": [ { "age": 0 } ], "preRetirementReturn": 0.08, "combinedMarginalTaxRate": 0.22, "inflation": 0.03 }
Example Responses
{ "clientAnnualShortfall": "89500.00", "clientAverageEarnings": "89500.00", "clientAverageEarningsAnnual": "89500.00", "clientAverageInsurance": "89500.00", "clientAverageInsuranceAnnual": "89500.00", "clientAverageInvestment": "89500.00", "clientAverageInvestmentAnnual": "89500.00", "clientAverageNeed": "89500.00", "clientAverageNeedAnnual": "89500.00", "clientAveragePension": "89500.00", "clientAveragePensionAnnual": "89500.00", "clientAverageResources": "89500.00", "clientAverageResourcesAnnual": "89500.00", "clientAverageSS": "89500.00", "clientAverageSSAnnual": "89500.00", "clientAverageSurplus": "89500.00", "clientAverageSurplusAnnual": "89500.00", "clientMonthlyShortfall": "89500.00", "spouseAnnualShortfall": "89500.00", "spouseAverageEarnings": "89500.00", "spouseAverageEarningsAnnual": "89500.00", "spouseAverageInsurance": "89500.00", "spouseAverageInsuranceAnnual": "89500.00", "spouseAverageInvestment": "89500.00", "spouseAverageInvestmentAnnual": "89500.00", "spouseAverageNeed": "89500.00", "spouseAverageNeedAnnual": "89500.00", "spouseAveragePension": "89500.00", "spouseAveragePensionAnnual": "89500.00", "spouseAverageResources": "89500.00", "spouseAverageResourcesAnnual": "89500.00", "spouseAverageSS": "89500.00", "spouseAverageSSAnnual": "89500.00", "spouseAverageSurplus": "89500.00", "spouseAverageSurplusAnnual": "89500.00", "spouseMonthlyShortfall": "89500.00", "clientCurrentAge": 0, "spouseCurrentAge": 0, "maritalStatus": "married", "years": [ { "category": "category", "current": "current", "projected": "projected", "change": "change" } ] }
application/json

Should I lease or purchase an auto?

POST
https://api.fincalc.com
/v2/calculators/should-i-lease-or-purchase-an-auto

Should I lease or purchase an auto? › Request Body

Inputs for the aut01 calculation.
Aut01Request
downPayment
​number · required
Default: 0
termMonths
​integer · min: 1 · max: 360 · required
Default: 36
rebate
​number · required
Default: 0
leasePayment
​number · required
Default: 0
leaseDeposit
​number · required
Default: 0
purchasePrice
​number · required
Default: 0
salesTax
​number · min: 0 · max: 0.75 · required
Default: 0.05
purchaseCosts
​number · required
Default: 0
loanRate
​number · min: 0 · max: 0.4 · required
Default: 0.06
residualValue
​number · required
Default: 0

Should I lease or purchase an auto? › Responses

Calculation result.

Result of the aut01 calculation.
Aut01Result
totalLease
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
yearlyLease
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
salesTaxO
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
interestPaid
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalPurchase
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
yearlyPurchase
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalLeasePayments
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
buySavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
leaseSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/should-i-lease-or-purchase-an-auto
curl https://api.fincalc.com/v2/calculators/should-i-lease-or-purchase-an-auto \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "downPayment": 0, "termMonths": 36, "rebate": 0, "leasePayment": 0, "leaseDeposit": 0, "purchasePrice": 0, "salesTax": 0.05, "purchaseCosts": 0, "loanRate": 0.06, "residualValue": 0 }'
Example Request Body
{
  "downPayment": 0,
  "termMonths": 36,
  "rebate": 0,
  "leasePayment": 0,
  "leaseDeposit": 0,
  "purchasePrice": 0,
  "salesTax": 0.05,
  "purchaseCosts": 0,
  "loanRate": 0.06,
  "residualValue": 0
}
Example Responses
{
  "totalLease": "89500.00",
  "yearlyLease": "89500.00",
  "salesTaxO": "89500.00",
  "interestPaid": "89500.00",
  "totalPurchase": "89500.00",
  "yearlyPurchase": "89500.00",
  "totalLeasePayments": "89500.00",
  "buySavings": "89500.00",
  "leaseSavings": "89500.00"
}
application/json

Is dealership financing better for me than traditional auto loan financing?

POST
https://api.fincalc.com
/v2/calculators/loan-vs-dealer-financing

Is dealership financing better for me than traditional auto loan financing? › Request Body

Inputs for the aut02 calculation.
Aut02Request
salesPrice
​number · required
Default: 0
rebate
​number · required
Default: 0
interestRate
​number · min: 0 · max: 0.4 · required
Default: 0
termYears
​integer · min: 1 · max: 30 · required
Default: 5

Is dealership financing better for me than traditional auto loan financing? › Responses

Calculation result.

Result of the aut02 calculation.
Aut02Result
monthsBreakEven
​integer · required
yearsBreakEven
​number · required
initialDifference
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Aut02YearRow[] · required
POST/v2/calculators/loan-vs-dealer-financing
curl https://api.fincalc.com/v2/calculators/loan-vs-dealer-financing \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "salesPrice": 0,
  "rebate": 0,
  "interestRate": 0,
  "termYears": 5
}'
Example Request Body
{
  "salesPrice": 0,
  "rebate": 0,
  "interestRate": 0,
  "termYears": 5
}
Example Responses
{ "monthsBreakEven": 0, "yearsBreakEven": 0, "initialDifference": "89500.00", "years": [ { "month": 0, "begBalance": "89500.00", "loanPayment": "89500.00", "interest": "89500.00", "loanEnding": "89500.00", "zeroPayment": "89500.00", "zeroEnding": "89500.00", "difference": "89500.00" } ] }
application/json

What would my auto payments be?

POST
https://api.fincalc.com
/v2/calculators/car-calculator

What would my auto payments be? › Request Body

Inputs for the aut03 calculation.
Aut03Request
purchasePrice
​number · required
Default: 0
cashRebate
​number · required
Default: 0
tradeIn
​number · required
Default: 0
tradeInOwed
​number · required
Default: 0
downPayment
​number · required
Default: 0
interestRate
​number · min: 0 · max: 0.4 · required
Default: 0.07
termMonths
​integer · min: 1 · max: 360 · required
Default: 48
amortization
​integer · enum · required
Enum values:
1
2
Default: 2

What would my auto payments be? › Responses

Calculation result.

Result of the aut03 calculation.
Aut03Result
monthlyPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
interestPaid
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Aut03YearRow[] · required
POST/v2/calculators/car-calculator
curl https://api.fincalc.com/v2/calculators/car-calculator \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "purchasePrice": 0, "cashRebate": 0, "tradeIn": 0, "tradeInOwed": 0, "downPayment": 0, "interestRate": 0.07, "termMonths": 48, "amortization": 2 }'
Example Request Body
{
  "purchasePrice": 0,
  "cashRebate": 0,
  "tradeIn": 0,
  "tradeInOwed": 0,
  "downPayment": 0,
  "interestRate": 0.07,
  "termMonths": 48,
  "amortization": 2
}
Example Responses
{
  "monthlyPayment": "89500.00",
  "interestPaid": "89500.00",
  "years": [
    {
      "period": 0,
      "beginningBalance": "89500.00",
      "interest": "89500.00",
      "payment": "89500.00",
      "endingBalance": "89500.00"
    }
  ]
}
application/json

Should I upgrade to a more fuel efficient vehicle?

POST
https://api.fincalc.com
/v2/calculators/should-i-upgrade-to-a-more-fuel-efficient-vehicle

Should I upgrade to a more fuel efficient vehicle? › Request Body

Inputs for the aut04 calculation.
Aut04Request
gasCost
​number · required
Default: 2
miles
​integer · min: 0 · max: 1000 · required
Default: 30
mpgOld
​integer · min: 0 · max: 1000 · required
Default: 15
mpgNew
​integer · min: 0 · max: 1000 · required
Default: 35
paymentOld
​number · required
Default: 0
termOld
​integer · min: 1 · max: 360 · required
Default: 36
salesOld
​number · required
Default: 0
paymentNew
​number · required
Default: 0
termNew
​integer · min: 1 · max: 360 · required
Default: 48
salesNew
​number · required
Default: 0
feesNew
​number · required
Default: 0
creditNew
​number · required
Default: 0

Should I upgrade to a more fuel efficient vehicle? › Responses

Calculation result.

Result of the aut04 calculation.
Aut04Result
netCostCompare
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
gasSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
breakEven
​integer · required
newCarNetCost
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
oldCarNetCost
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/should-i-upgrade-to-a-more-fuel-efficient-vehicle
curl https://api.fincalc.com/v2/calculators/should-i-upgrade-to-a-more-fuel-efficient-vehicle \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "gasCost": 2, "miles": 30, "mpgOld": 15, "mpgNew": 35, "paymentOld": 0, "termOld": 36, "salesOld": 0, "paymentNew": 0, "termNew": 48, "salesNew": 0, "feesNew": 0, "creditNew": 0 }'
Example Request Body
{ "gasCost": 2, "miles": 30, "mpgOld": 15, "mpgNew": 35, "paymentOld": 0, "termOld": 36, "salesOld": 0, "paymentNew": 0, "termNew": 48, "salesNew": 0, "feesNew": 0, "creditNew": 0 }
Example Responses
{
  "netCostCompare": "89500.00",
  "gasSavings": "89500.00",
  "breakEven": 0,
  "newCarNetCost": "89500.00",
  "oldCarNetCost": "89500.00"
}
application/json

Auto loan: Accelerated payoff

POST
https://api.fincalc.com
/v2/calculators/auto-loan-accelerated-payoff

Auto loan: Accelerated payoff › Request Body

Inputs for the aut05 calculation.
Aut05Request
loanAmount
​number · required
Default: 0
interestRate
​number · min: 0 · max: 0.4 · required
Default: 0
termMonths
​integer · min: 1 · max: 120 · required
Default: 48
paymentsMade
​integer · min: 1 · max: 360 · required
Default: 24
additionalPayment
​number · required
Default: 0

Auto loan: Accelerated payoff › Responses

Calculation result.

Result of the aut05 calculation.
Aut05Result
initialPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
remainingTerm
​integer · required
remainingPrincipal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
newPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
currentYears
​number · required
proposedYears
​number · required
savedYears
​number · required
currentInterest
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
proposedInterest
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalInterest
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Aut05YearRow[] · required
POST/v2/calculators/auto-loan-accelerated-payoff
curl https://api.fincalc.com/v2/calculators/auto-loan-accelerated-payoff \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "loanAmount": 0,
  "interestRate": 0,
  "termMonths": 48,
  "paymentsMade": 24,
  "additionalPayment": 0
}'
Example Request Body
{
  "loanAmount": 0,
  "interestRate": 0,
  "termMonths": 48,
  "paymentsMade": 24,
  "additionalPayment": 0
}
Example Responses
{ "initialPayment": "89500.00", "remainingTerm": 0, "remainingPrincipal": "89500.00", "newPayment": "89500.00", "currentYears": 0, "proposedYears": 0, "savedYears": 0, "currentInterest": "89500.00", "proposedInterest": "89500.00", "totalInterest": "89500.00", "years": [ { "year": 0, "beginningBalance": "89500.00", "currentInterest": "89500.00", "proposedInterest": "89500.00", "payment": "89500.00", "endingBalance": "89500.00" } ] }
application/json

How much vehicle can I afford?

POST
https://api.fincalc.com
/v2/calculators/how-much-vehicle-can-i-afford

How much vehicle can I afford? › Request Body

Inputs for the aut06 calculation.
Aut06Request
downPayment
​number · required
Default: 0
monthlyPayment
​number · required
Default: 0
interestRate
​number · min: 0 · max: 0.4 · required
Default: 0
termMonths
​integer · min: 1 · max: 360 · required
Default: 48

How much vehicle can I afford? › Responses

Calculation result.

Result of the aut06 calculation.
Aut06Result
loanAmount
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
vehicleAmount
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Aut06YearRow[] · required
POST/v2/calculators/how-much-vehicle-can-i-afford
curl https://api.fincalc.com/v2/calculators/how-much-vehicle-can-i-afford \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "downPayment": 0,
  "monthlyPayment": 0,
  "interestRate": 0,
  "termMonths": 48
}'
Example Request Body
{
  "downPayment": 0,
  "monthlyPayment": 0,
  "interestRate": 0,
  "termMonths": 48
}
Example Responses
{
  "loanAmount": "89500.00",
  "vehicleAmount": "89500.00",
  "years": [
    {
      "period": 0,
      "beginningBalance": "89500.00",
      "interest": "89500.00",
      "payment": "89500.00",
      "endingBalance": "89500.00"
    }
  ]
}
application/json

Should I refinance my auto loan at a lower rate?

POST
https://api.fincalc.com
/v2/calculators/auto-refinance-calculator

Should I refinance my auto loan at a lower rate? › Request Body

Inputs for the aut07 calculation.
Aut07Request
currentBalance
​number · required
Default: 0
currentRate
​number · min: 0 · max: 0.4 · required
Default: 0.07
currentPayment
​number · required
Default: 0
proposedRate
​number · min: 0 · max: 0.4 · required
Default: 0.05

Should I refinance my auto loan at a lower rate? › Responses

Calculation result.

Result of the aut07 calculation.
Aut07Result
proposedPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
currentMonths
​number · required
proposedMonths
​number · required
currentInterest
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
proposedInterest
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
interestSaved
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
currentPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
interestOnlyPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/auto-refinance-calculator
curl https://api.fincalc.com/v2/calculators/auto-refinance-calculator \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "currentBalance": 0,
  "currentRate": 0.07,
  "currentPayment": 0,
  "proposedRate": 0.05
}'
Example Request Body
{
  "currentBalance": 0,
  "currentRate": 0.07,
  "currentPayment": 0,
  "proposedRate": 0.05
}
Example Responses
{
  "proposedPayment": "89500.00",
  "currentMonths": 0,
  "proposedMonths": 0,
  "currentInterest": "89500.00",
  "proposedInterest": "89500.00",
  "interestSaved": "89500.00",
  "currentPayment": "89500.00",
  "interestOnlyPayment": "89500.00"
}
application/json

How much can I lower my monthly payment with a new auto loan?

POST
https://api.fincalc.com
/v2/calculators/auto-refinance-calculator-new-term

How much can I lower my monthly payment with a new auto loan? › Request Body

Inputs for the aut08 calculation.
Aut08Request
currentBalance
​number · required
Default: 0
currentRate
​number · min: 0 · max: 0.4 · required
Default: 0.07
currentPayment
​number · required
Default: 0
proposedRate
​number · min: 0 · max: 0.4 · required
Default: 0.05
proposedTerm
​integer · min: 1 · max: 120 · required
Default: 60

How much can I lower my monthly payment with a new auto loan? › Responses

Calculation result.

Result of the aut08 calculation.
Aut08Result
proposedPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
currentMonths
​number · required
proposedMonths
​number · required
currentInterest
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
proposedInterest
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
interestOnlyPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
currentPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
interestSaved
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/auto-refinance-calculator-new-term
curl https://api.fincalc.com/v2/calculators/auto-refinance-calculator-new-term \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "currentBalance": 0,
  "currentRate": 0.07,
  "currentPayment": 0,
  "proposedRate": 0.05,
  "proposedTerm": 60
}'
Example Request Body
{
  "currentBalance": 0,
  "currentRate": 0.07,
  "currentPayment": 0,
  "proposedRate": 0.05,
  "proposedTerm": 60
}
Example Responses
{
  "proposedPayment": "89500.00",
  "currentMonths": 0,
  "proposedMonths": 0,
  "currentInterest": "89500.00",
  "proposedInterest": "89500.00",
  "interestOnlyPayment": "89500.00",
  "currentPayment": "89500.00",
  "interestSaved": "89500.00"
}
application/json

How much might my vehicle depreciate?

POST
https://api.fincalc.com
/v2/calculators/how-much-might-my-vehicle-depreciate

How much might my vehicle depreciate? › Request Body

Inputs for the aut09 calculation.
Aut09Request
newUsed
​string · enum · required
Enum values:
1
2
Default: 1
value
​number · required
Default: 0

How much might my vehicle depreciate? › Responses

Calculation result.

Result of the aut09 calculation.
Aut09Result
year1Value
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
year2Value
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
year3Value
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
year4Value
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
year5Value
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
year6Value
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
year1Depreciation
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
year2Depreciation
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
year1DepreciationPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
year2DepreciationPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
year3Depreciation
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
year3DepreciationPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
year4Depreciation
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
year4DepreciationPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
year5Depreciation
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
year5DepreciationPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
year6Depreciation
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
year6DepreciationPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
newUsedN
​number · required
POST/v2/calculators/how-much-might-my-vehicle-depreciate
curl https://api.fincalc.com/v2/calculators/how-much-might-my-vehicle-depreciate \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "newUsed": "1",
  "value": 0
}'
Example Request Body
{
  "newUsed": "1",
  "value": 0
}
Example Responses
{ "year1Value": "89500.00", "year2Value": "89500.00", "year3Value": "89500.00", "year4Value": "89500.00", "year5Value": "89500.00", "year6Value": "89500.00", "year1Depreciation": "89500.00", "year2Depreciation": "89500.00", "year1DepreciationPercent": 0.06, "year2DepreciationPercent": 0.06, "year3Depreciation": "89500.00", "year3DepreciationPercent": 0.06, "year4Depreciation": "89500.00", "year4DepreciationPercent": 0.06, "year5Depreciation": "89500.00", "year5DepreciationPercent": 0.06, "year6Depreciation": "89500.00", "year6DepreciationPercent": 0.06, "newUsedN": 0 }
application/json

Calculate my RV loan payments including balloon

POST
https://api.fincalc.com
/v2/calculators/rv-loan-payments-with-balloon

Calculate my RV loan payments including balloon › Request Body

Inputs for the aut10 calculation.
Aut10Request
loanAmount
​number · required
Default: 0
interestRate
​number · min: 0 · max: 0.4 · required
Default: 0.0574
termYears
​string · enum · required
Enum values:
1
2
Default: 1
balloonYears
​string · enum · required
Enum values:
1
2
Default: 1
amortization
​integer · enum · required
Enum values:
1
2
Default: 2

Calculate my RV loan payments including balloon › Responses

Calculation result.

Result of the aut10 calculation.
Aut10Result
estimatedMonthlyPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
yearlyPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
balloonPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
interestPaid
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Aut10YearRow[] · required
POST/v2/calculators/rv-loan-payments-with-balloon
curl https://api.fincalc.com/v2/calculators/rv-loan-payments-with-balloon \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "loanAmount": 0,
  "interestRate": 0.0574,
  "termYears": "1",
  "balloonYears": "1",
  "amortization": 2
}'
Example Request Body
{
  "loanAmount": 0,
  "interestRate": 0.0574,
  "termYears": "1",
  "balloonYears": "1",
  "amortization": 2
}
Example Responses
{ "estimatedMonthlyPayment": "89500.00", "yearlyPayment": "89500.00", "balloonPayment": "89500.00", "interestPaid": "89500.00", "years": [ { "period": 0, "beginningBalance": "89500.00", "interest": "89500.00", "payment": "89500.00", "endingBalance": "89500.00" } ] }
application/json

Fuel Cost Calculator

POST
https://api.fincalc.com
/v2/calculators/fuel-cost-calculator

Fuel Cost Calculator › Request Body

Inputs for the aut11 calculation.
Aut11Request
tripType
​integer · enum · required
Enum values:
1
2
Default: 1
milesPerGallon
​integer · min: 1 · max: 99 · required
Default: 20
fuelCost
​number · required
Default: 5.19
tripMiles
​number · required
Default: 0
commuteMiles
​number · required
Default: 0

Fuel Cost Calculator › Responses

Calculation result.

Result of the aut11 calculation.
Aut11Result
commuteDayCost
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
commuteMonthCost
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
commuteYearCost
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
tripCost
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/fuel-cost-calculator
curl https://api.fincalc.com/v2/calculators/fuel-cost-calculator \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "tripType": 1,
  "milesPerGallon": 20,
  "fuelCost": 5.19,
  "tripMiles": 0,
  "commuteMiles": 0
}'
Example Request Body
{
  "tripType": 1,
  "milesPerGallon": 20,
  "fuelCost": 5.19,
  "tripMiles": 0,
  "commuteMiles": 0
}
Example Responses
{
  "commuteDayCost": "89500.00",
  "commuteMonthCost": "89500.00",
  "commuteYearCost": "89500.00",
  "tripCost": "89500.00"
}
application/json

Should I buy an electric or gas powered vehicle?

POST
https://api.fincalc.com
/v2/calculators/should-i-buy-an-electric-or-gas-powered-vehicle

Should I buy an electric or gas powered vehicle? › Request Body

Inputs for the aut12 calculation.
Aut12Request
kwh
​number · min: 0 · max: 1 · required
Default: 0.278
electricVehiclePurchase
​number · required
Default: 60000
monthlyMiles
​number · required
Default: 1000
electricityCostPerKwh
​number · min: 0 · max: 1 · required
Default: 0.12
gasCost
​number · required
Default: 3.75
gasVehiclePurchase
​number · required
Default: 50000
mpg
​number · min: 0 · max: 99 · required
Default: 20
gasVehicleMaintenance
​number · required
Default: 600

Should I buy an electric or gas powered vehicle? › Responses

Calculation result.

Result of the aut12 calculation.
Aut12Result
annualMaintenanceSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
monthlyGasCost
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
monthlyElectricityCost
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
annualEvSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
breakevenYears
​number · required
gasCostPerMile
​number · required
electricCostPerMile
​number · required
monthlyFuelSaving
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/should-i-buy-an-electric-or-gas-powered-vehicle
curl https://api.fincalc.com/v2/calculators/should-i-buy-an-electric-or-gas-powered-vehicle \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "kwh": 0.278, "electricVehiclePurchase": 60000, "monthlyMiles": 1000, "electricityCostPerKwh": 0.12, "gasCost": 3.75, "gasVehiclePurchase": 50000, "mpg": 20, "gasVehicleMaintenance": 600 }'
Example Request Body
{
  "kwh": 0.278,
  "electricVehiclePurchase": 60000,
  "monthlyMiles": 1000,
  "electricityCostPerKwh": 0.12,
  "gasCost": 3.75,
  "gasVehiclePurchase": 50000,
  "mpg": 20,
  "gasVehicleMaintenance": 600
}
Example Responses
{
  "annualMaintenanceSavings": "89500.00",
  "monthlyGasCost": "89500.00",
  "monthlyElectricityCost": "89500.00",
  "annualEvSavings": "89500.00",
  "breakevenYears": 0,
  "gasCostPerMile": 0,
  "electricCostPerMile": 0,
  "monthlyFuelSaving": "89500.00"
}
application/json

How does inflation impact my standard of living?

POST
https://api.fincalc.com
/v2/calculators/how-does-inflation-impact-my-standard-of-living

How does inflation impact my standard of living? › Request Body

Inputs for the bud01 calculation.
Bud01Request
numYears
​integer · min: 1 · max: 20 · required
Default: 20
inflation
​number · min: 0 · max: 0.1 · required
Default: 0.03
mode
​integer · enum · required
Enum values:
0
1
Default: 0
mortgage
​number · required
Default: 0
vacation
​number · required
Default: 0
autoloan
​number · required
Default: 0
persloan
​number · required
Default: 0
cc
​number · required
Default: 0
fedtaxes
​number · required
Default: 0
statetaxes
​number · required
Default: 0
fica
​number · required
Default: 0
retaxes
​number · required
Default: 0
othertaxes
​number · required
Default: 0
utilities
​number · required
Default: 0
repairs
​number · required
Default: 0
food
​number · required
Default: 0
clothing
​number · required
Default: 0
education
​number · required
Default: 0
childcare
​number · required
Default: 0
autoexp
​number · required
Default: 0
transexp
​number · required
Default: 0
lifeins
​number · required
Default: 0
homeowners
​number · required
Default: 0
autoins
​number · required
Default: 0
medical
​number · required
Default: 0
entertain
​number · required
Default: 0
travel
​number · required
Default: 0
club
​number · required
Default: 0
hobbies
​number · required
Default: 0
gifts
​number · required
Default: 0
homeimp
​number · required
Default: 0
services
​number · required
Default: 0
charity
​number · required
Default: 0
other
​number · required
Default: 0

How does inflation impact my standard of living? › Responses

Calculation result.

Result of the bud01 calculation.
Bud01Result
beginExpenses
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
endExpenses
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
increasePercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
​Bud01YearRow[] · required
POST/v2/calculators/how-does-inflation-impact-my-standard-of-living
curl https://api.fincalc.com/v2/calculators/how-does-inflation-impact-my-standard-of-living \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "numYears": 20, "inflation": 0.03, "mode": 0, "mortgage": 0, "vacation": 0, "autoloan": 0, "persloan": 0, "cc": 0, "fedtaxes": 0, "statetaxes": 0, "fica": 0, "retaxes": 0, "othertaxes": 0, "utilities": 0, "repairs": 0, "food": 0, "clothing": 0, "education": 0, "childcare": 0, "autoexp": 0, "transexp": 0, "lifeins": 0, "homeowners": 0, "autoins": 0, "medical": 0, "entertain": 0, "travel": 0, "club": 0, "hobbies": 0, "gifts": 0, "homeimp": 0, "services": 0, "charity": 0, "other": 0 }'
Example Request Body
{ "numYears": 20, "inflation": 0.03, "mode": 0, "mortgage": 0, "vacation": 0, "autoloan": 0, "persloan": 0, "cc": 0, "fedtaxes": 0, "statetaxes": 0, "fica": 0, "retaxes": 0, "othertaxes": 0, "utilities": 0, "repairs": 0, "food": 0, "clothing": 0, "education": 0, "childcare": 0, "autoexp": 0, "transexp": 0, "lifeins": 0, "homeowners": 0, "autoins": 0, "medical": 0, "entertain": 0, "travel": 0, "club": 0, "hobbies": 0, "gifts": 0, "homeimp": 0, "services": 0, "charity": 0, "other": 0 }
Example Responses
{
  "beginExpenses": "89500.00",
  "endExpenses": "89500.00",
  "increasePercent": 0.06,
  "years": [
    {
      "period": 0,
      "fv": "89500.00",
      "incPercent": 0.06,
      "incDollar": "89500.00"
    }
  ]
}
application/json

How much am I spending?

POST
https://api.fincalc.com
/v2/calculators/how-much-am-i-spending

How much am I spending? › Request Body

Inputs for the bud02 calculation.
Bud02Request
mode
​integer · enum · required
Enum values:
0
1
Default: 0
mortgage
​number · required
Default: 0
vacation
​number · required
Default: 0
autoloan
​number · required
Default: 0
persloan
​number · required
Default: 0
cc
​number · required
Default: 0
fedtaxes
​number · required
Default: 0
statetaxes
​number · required
Default: 0
fica
​number · required
Default: 0
retaxes
​number · required
Default: 0
othertaxes
​number · required
Default: 0
utilities
​number · required
Default: 0
repairs
​number · required
Default: 0
food
​number · required
Default: 0
clothing
​number · required
Default: 0
education
​number · required
Default: 0
childcare
​number · required
Default: 0
autoexp
​number · required
Default: 0
transexp
​number · required
Default: 0
lifeins
​number · required
Default: 0
homeowners
​number · required
Default: 0
autoins
​number · required
Default: 0
medical
​number · required
Default: 0
entertain
​number · required
Default: 0
travel
​number · required
Default: 0
club
​number · required
Default: 0
hobbies
​number · required
Default: 0
gifts
​number · required
Default: 0
homeimp
​number · required
Default: 0
services
​number · required
Default: 0
charity
​number · required
Default: 0
other
​number · required
Default: 0

How much am I spending? › Responses

Calculation result.

Result of the bud02 calculation.
Bud02Result
total
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Bud02YearRow[] · required
POST/v2/calculators/how-much-am-i-spending
curl https://api.fincalc.com/v2/calculators/how-much-am-i-spending \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "mode": 0, "mortgage": 0, "vacation": 0, "autoloan": 0, "persloan": 0, "cc": 0, "fedtaxes": 0, "statetaxes": 0, "fica": 0, "retaxes": 0, "othertaxes": 0, "utilities": 0, "repairs": 0, "food": 0, "clothing": 0, "education": 0, "childcare": 0, "autoexp": 0, "transexp": 0, "lifeins": 0, "homeowners": 0, "autoins": 0, "medical": 0, "entertain": 0, "travel": 0, "club": 0, "hobbies": 0, "gifts": 0, "homeimp": 0, "services": 0, "charity": 0, "other": 0 }'
Example Request Body
{ "mode": 0, "mortgage": 0, "vacation": 0, "autoloan": 0, "persloan": 0, "cc": 0, "fedtaxes": 0, "statetaxes": 0, "fica": 0, "retaxes": 0, "othertaxes": 0, "utilities": 0, "repairs": 0, "food": 0, "clothing": 0, "education": 0, "childcare": 0, "autoexp": 0, "transexp": 0, "lifeins": 0, "homeowners": 0, "autoins": 0, "medical": 0, "entertain": 0, "travel": 0, "club": 0, "hobbies": 0, "gifts": 0, "homeimp": 0, "services": 0, "charity": 0, "other": 0 }
Example Responses
{
  "total": "89500.00",
  "years": [
    {
      "category": "category",
      "amount": "89500.00",
      "percent": 0.06
    }
  ]
}
application/json

How much do I need for emergencies?

POST
https://api.fincalc.com
/v2/calculators/how-much-do-i-need-for-emergencies

How much do I need for emergencies? › Request Body

Inputs for the bud03 calculation.
Bud03Request
monthlyIncome
​number · required
Default: 0
fundsAvailable
​number · required
Default: 0
fundsLast
​integer · min: 1 · max: 360 · required
Default: 6
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22
monthsAccumulate
​integer · min: 1 · max: 360 · required
Default: 36
monthlyExpenses
​number · required
Default: 0
mortgage
​number · required
Default: 0
vacation
​number · required
Default: 0
autoloan
​number · required
Default: 0
persloan
​number · required
Default: 0
cc
​number · required
Default: 0
fedtaxes
​number · required
Default: 0
statetaxes
​number · required
Default: 0
fica
​number · required
Default: 0
retaxes
​number · required
Default: 0
othertaxes
​number · required
Default: 0
utilities
​number · required
Default: 0
repairs
​number · required
Default: 0
food
​number · required
Default: 0
clothing
​number · required
Default: 0
education
​number · required
Default: 0
childcare
​number · required
Default: 0
autoexp
​number · required
Default: 0
transexp
​number · required
Default: 0
lifeins
​number · required
Default: 0
homeowners
​number · required
Default: 0
autoins
​number · required
Default: 0
medical
​number · required
Default: 0
entertain
​number · required
Default: 0
travel
​number · required
Default: 0
club
​number · required
Default: 0
hobbies
​number · required
Default: 0
gifts
​number · required
Default: 0
homeimp
​number · required
Default: 0
services
​number · required
Default: 0
charity
​number · required
Default: 0
other
​number · required
Default: 0

How much do I need for emergencies? › Responses

Calculation result.

Result of the bud03 calculation.
Bud03Result
expenses
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
fundNeeded
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalShortfall
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
lumpsumNeeded
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
monthlyNeeded
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
monthlyCash
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
expensestoincomeRatio
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
reqsavingstoincomeRatio
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
​Bud03YearRow[] · required
POST/v2/calculators/how-much-do-i-need-for-emergencies
curl https://api.fincalc.com/v2/calculators/how-much-do-i-need-for-emergencies \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "monthlyIncome": 0, "fundsAvailable": 0, "fundsLast": 6, "beforeTaxReturn": 0.08, "taxBracket": 0.22, "monthsAccumulate": 36, "monthlyExpenses": 0, "mortgage": 0, "vacation": 0, "autoloan": 0, "persloan": 0, "cc": 0, "fedtaxes": 0, "statetaxes": 0, "fica": 0, "retaxes": 0, "othertaxes": 0, "utilities": 0, "repairs": 0, "food": 0, "clothing": 0, "education": 0, "childcare": 0, "autoexp": 0, "transexp": 0, "lifeins": 0, "homeowners": 0, "autoins": 0, "medical": 0, "entertain": 0, "travel": 0, "club": 0, "hobbies": 0, "gifts": 0, "homeimp": 0, "services": 0, "charity": 0, "other": 0 }'
Example Request Body
{ "monthlyIncome": 0, "fundsAvailable": 0, "fundsLast": 6, "beforeTaxReturn": 0.08, "taxBracket": 0.22, "monthsAccumulate": 36, "monthlyExpenses": 0, "mortgage": 0, "vacation": 0, "autoloan": 0, "persloan": 0, "cc": 0, "fedtaxes": 0, "statetaxes": 0, "fica": 0, "retaxes": 0, "othertaxes": 0, "utilities": 0, "repairs": 0, "food": 0, "clothing": 0, "education": 0, "childcare": 0, "autoexp": 0, "transexp": 0, "lifeins": 0, "homeowners": 0, "autoins": 0, "medical": 0, "entertain": 0, "travel": 0, "club": 0, "hobbies": 0, "gifts": 0, "homeimp": 0, "services": 0, "charity": 0, "other": 0 }
Example Responses
{ "expenses": "89500.00", "fundNeeded": "89500.00", "totalShortfall": "89500.00", "lumpsumNeeded": "89500.00", "monthlyNeeded": "89500.00", "monthlyCash": "89500.00", "expensestoincomeRatio": 0.06, "reqsavingstoincomeRatio": 0.06, "years": [ { "monthNumber": 0, "begBalance": "89500.00", "contribution": "89500.00", "earnings": "89500.00", "endBalance": "89500.00" } ] }
application/json

Should I pay down debt or invest my monthly surplus?

POST
https://api.fincalc.com
/v2/calculators/pay-down-debt-or-invest

Should I pay down debt or invest my monthly surplus? › Request Body

Inputs for the bud04 calculation.
Bud04Request
debtInterestRate
​number · min: 0 · max: 0.4 · required
Default: 0.06
interestDeductible
​string · enum · required
Enum values:
N
Y
Default: N
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
interestTaxable
​string · enum · required
Enum values:
N
Y
Default: Y
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0
monthlySurplus
​number · required
Default: 0

Should I pay down debt or invest my monthly surplus? › Responses

Calculation result.

Result of the bud04 calculation.
Bud04Result
afterTaxCostOfDebt
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
afterTaxInvestmentReturn
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
interestSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
interestAccumulation
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/pay-down-debt-or-invest
curl https://api.fincalc.com/v2/calculators/pay-down-debt-or-invest \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "debtInterestRate": 0.06,
  "interestDeductible": "N",
  "beforeTaxReturn": 0.08,
  "interestTaxable": "Y",
  "taxBracket": 0,
  "monthlySurplus": 0
}'
Example Request Body
{
  "debtInterestRate": 0.06,
  "interestDeductible": "N",
  "beforeTaxReturn": 0.08,
  "interestTaxable": "Y",
  "taxBracket": 0,
  "monthlySurplus": 0
}
Example Responses
{
  "afterTaxCostOfDebt": 0.06,
  "afterTaxInvestmentReturn": 0.06,
  "interestSavings": "89500.00",
  "interestAccumulation": "89500.00"
}
application/json

How long will my money last with systematic withdrawals?

POST
https://api.fincalc.com
/v2/calculators/how-long-will-my-money-last

How long will my money last with systematic withdrawals? › Request Body

Inputs for the bud05 calculation.
Bud05Request
savingsBalance
​number · required
Default: 0
monthlyWithdrawal
​number · required
Default: 0
withdrawalIncreases
​number · min: 0 · max: 0.4 · required
Default: 0
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22
amortization
​integer · enum · required
Enum values:
1
2
Default: 1

How long will my money last with systematic withdrawals? › Responses

Calculation result.

Result of the bud05 calculation.
Bud05Result
moneyRunsOutMonth
​integer · required
moneyRunsOutYear
​number · required
totalWithdrawals
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Bud05YearRow[] · required
POST/v2/calculators/how-long-will-my-money-last
curl https://api.fincalc.com/v2/calculators/how-long-will-my-money-last \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "savingsBalance": 0,
  "monthlyWithdrawal": 0,
  "withdrawalIncreases": 0,
  "beforeTaxReturn": 0.08,
  "taxBracket": 0.22,
  "amortization": 1
}'
Example Request Body
{
  "savingsBalance": 0,
  "monthlyWithdrawal": 0,
  "withdrawalIncreases": 0,
  "beforeTaxReturn": 0.08,
  "taxBracket": 0.22,
  "amortization": 1
}
Example Responses
{ "moneyRunsOutMonth": 0, "moneyRunsOutYear": 0, "totalWithdrawals": "89500.00", "years": [ { "month": 0, "beginningBalance": "89500.00", "interest": "89500.00", "taxes": "89500.00", "withdrawal": "89500.00", "endingBalance": "89500.00" } ] }
application/json

Should my spouse enter the work force?

POST
https://api.fincalc.com
/v2/calculators/should-my-spouse-enter-the-work-force

Should my spouse enter the work force? › Request Body

Inputs for the bud06 calculation.
Bud06Request
currDaycare
​number · required
Default: 0
currInsurance
​number · required
Default: 0
currMedical
​number · required
Default: 0
spouseIncome
​number · required
Default: 0
empplanCont
​number · min: 0 · max: 0.2 · required
Default: 0
empMatch
​number · min: 0 · max: 3 · required
Default: 1
maxMatch
​number · min: 0 · max: 0.2 · required
Default: 0.03
workInsurance
​number · required
Default: 0
workMedical
​number · required
Default: 0
workEntertain
​number · required
Default: 0
workDaycare
​number · required
Default: 0
workClothing
​number · required
Default: 0
workHousekeeping
​number · required
Default: 0
workMeals
​number · required
Default: 0
workTransportation
​number · required
Default: 0
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22
stateTaxBracket
​number · min: 0 · max: 0.75 · required
Default: 0
selfEmployed
​string · enum · required
Enum values:
N
Y
Default: N

Should my spouse enter the work force? › Responses

Calculation result.

Result of the bud06 calculation.
Bud06Result
saveInsurance
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
saveMedical
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
empDollarMatch
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
costDayCare
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
fedTaxes
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
stateTaxes
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
fica
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
netIncome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
businessEntertainment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
clothing
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
grossMonthlyEarnings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
housekeeping
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
meals
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
transportation
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/should-my-spouse-enter-the-work-force
curl https://api.fincalc.com/v2/calculators/should-my-spouse-enter-the-work-force \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "currDaycare": 0, "currInsurance": 0, "currMedical": 0, "spouseIncome": 0, "empplanCont": 0, "empMatch": 1, "maxMatch": 0.03, "workInsurance": 0, "workMedical": 0, "workEntertain": 0, "workDaycare": 0, "workClothing": 0, "workHousekeeping": 0, "workMeals": 0, "workTransportation": 0, "taxBracket": 0.22, "stateTaxBracket": 0, "selfEmployed": "N" }'
Example Request Body
{ "currDaycare": 0, "currInsurance": 0, "currMedical": 0, "spouseIncome": 0, "empplanCont": 0, "empMatch": 1, "maxMatch": 0.03, "workInsurance": 0, "workMedical": 0, "workEntertain": 0, "workDaycare": 0, "workClothing": 0, "workHousekeeping": 0, "workMeals": 0, "workTransportation": 0, "taxBracket": 0.22, "stateTaxBracket": 0, "selfEmployed": "N" }
Example Responses
{ "saveInsurance": "89500.00", "saveMedical": "89500.00", "empDollarMatch": "89500.00", "costDayCare": "89500.00", "fedTaxes": "89500.00", "stateTaxes": "89500.00", "fica": "89500.00", "netIncome": "89500.00", "businessEntertainment": "89500.00", "clothing": "89500.00", "grossMonthlyEarnings": "89500.00", "housekeeping": "89500.00", "meals": "89500.00", "transportation": "89500.00" }
application/json

What is my current net worth?

POST
https://api.fincalc.com
/v2/calculators/what-is-my-current-net-worth

What is my current net worth? › Request Body

Inputs for the bud07 calculation.
Bud07Request
residence
​number · required
Default: 0
residenceGrowth
​number · required
Default: 0
vacation
​number · required
Default: 0
vacationGrowth
​number · required
Default: 0
furnishings
​number · required
Default: 0
furnishingsGrowth
​number · required
Default: 0
autos
​number · required
Default: 0
autosGrowth
​number · required
Default: 0
realEstate
​number · required
Default: 0
realEstateGrowth
​number · required
Default: 0
art
​number · required
Default: 0
artGrowth
​number · required
Default: 0
stocks
​number · required
Default: 0
stocksGrowth
​number · required
Default: 0
varAnnuities
​number · required
Default: 0
varAnnuitiesGrowth
​number · required
Default: 0
limitedPartner
​number · required
Default: 0
limitedPartnerGrowth
​number · required
Default: 0
business
​number · required
Default: 0
businessGrowth
​number · required
Default: 0
fixedAnnuities
​number · required
Default: 0
fixedAnnuitiesGrowth
​number · required
Default: 0
trustDeeds
​number · required
Default: 0
trustDeedsGrowth
​number · required
Default: 0
otherFixed
​number · required
Default: 0
otherFixedGrowth
​number · required
Default: 0
govtBonds
​number · required
Default: 0
govtBondsGrowth
​number · required
Default: 0
muniBonds
​number · required
Default: 0
muniBondsGrowth
​number · required
Default: 0
corpBonds
​number · required
Default: 0
corpBondsGrowth
​number · required
Default: 0
faceCertificates
​number · required
Default: 0
faceCertificatesGrowth
​number · required
Default: 0
debtMutuals
​number · required
Default: 0
debtMutualsGrowth
​number · required
Default: 0
checking
​number · required
Default: 0
checkingGrowth
​number · required
Default: 0
savings
​number · required
Default: 0
savingsGrowth
​number · required
Default: 0
moneyMarket
​number · required
Default: 0
moneyMarketGrowth
​number · required
Default: 0
cd
​number · required
Default: 0
cdGrowth
​number · required
Default: 0
otherCash
​number · required
Default: 0
otherCashGrowth
​number · required
Default: 0
homeMortgage
​number · required
Default: 0
homeMortgageGrowth
​number · required
Default: 0
otherMortgage
​number · required
Default: 0
otherMortgageGrowth
​number · required
Default: 0
autoLoan
​number · required
Default: 0
autoLoanGrowth
​number · required
Default: 0
bankLoan
​number · required
Default: 0
bankLoanGrowth
​number · required
Default: 0
personalLoan
​number · required
Default: 0
personalLoanGrowth
​number · required
Default: 0
creditCards
​number · required
Default: 0
creditCardsGrowth
​number · required
Default: 0
otherDebts
​number · required
Default: 0
otherDebtsGrowth
​number · required
Default: 0
projectedYears
​integer · required
Default: -1

What is my current net worth? › Responses

Calculation result.

Result of the bud07 calculation.
Bud07Result
residencePercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
vacationPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
furnishingsPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
autosPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
realEstatePercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
artPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
stocksPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
varAnnuitiesPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
limitedPartnerPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
businessPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
fixedAnnuitiesPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
trustDeedsPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
otherFixedPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
govtBondsPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
muniBondsPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
corpBondsPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
faceCertificatesPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
debtMutualsPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
checkingPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
savingsPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
moneyMarketPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
cdPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
otherCashPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
homeMortgagePercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
otherMortgagePercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
autoLoanPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
bankLoanPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
personalLoanPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
creditCardsPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
otherDebtsPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
totalTangibleAssetsPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
totalEquityAssetsPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
totalFixedPrincipalAssetsPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
totalFixedRateAssetsPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
totalCashAssetsPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
totalTangibleAssets
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalEquityAssets
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalFixedPrincipalAssets
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalFixedRateAssets
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalCashAssets
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalAssets
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalLiabilities
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
netWorth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
netWorthProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
netWorthChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
residenceProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
residenceChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
vacationProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
vacationChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
furnishingsProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
furnishingsChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
autosProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
autosChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
realEstateProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
realEstateChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
artProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
artChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
stocksProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
stocksChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
varAnnuitiesProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
varAnnuitiesChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
limitedPartnerProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
limitedPartnerChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
businessProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
businessChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
fixedAnnuitiesProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
fixedAnnuitiesChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
trustDeedsProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
trustDeedsChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
otherFixedProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
otherFixedChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
govtBondsProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
govtBondsChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
muniBondsProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
muniBondsChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
corpBondsProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
corpBondsChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
faceCertificatesProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
faceCertificatesChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
debtMutualsProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
debtMutualsChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
checkingProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
checkingChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
savingsProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
savingsChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
moneyMarketProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
moneyMarketChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
cdProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
cdChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
otherCashProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
otherCashChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
homeMortgageProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
homeMortgageChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
otherMortgageProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
otherMortgageChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
autoLoanProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
autoLoanChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
bankLoanProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
bankLoanChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
personalLoanProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
personalLoanChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
creditCardsProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
creditCardsChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
otherDebtsProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
otherDebtsChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalTangibleAssetsProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalTangibleAssetsChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalEquityAssetsProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalEquityAssetsChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalFixedPrincipalAssetsProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalFixedPrincipalAssetsChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalFixedRateAssetsProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalFixedRateAssetsChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalCashAssetsProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalCashAssetsChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalAssetsProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalAssetsChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalLiabilitiesProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalLiabilitiesChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/what-is-my-current-net-worth
curl https://api.fincalc.com/v2/calculators/what-is-my-current-net-worth \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "residence": 0, "residenceGrowth": 0, "vacation": 0, "vacationGrowth": 0, "furnishings": 0, "furnishingsGrowth": 0, "autos": 0, "autosGrowth": 0, "realEstate": 0, "realEstateGrowth": 0, "art": 0, "artGrowth": 0, "stocks": 0, "stocksGrowth": 0, "varAnnuities": 0, "varAnnuitiesGrowth": 0, "limitedPartner": 0, "limitedPartnerGrowth": 0, "business": 0, "businessGrowth": 0, "fixedAnnuities": 0, "fixedAnnuitiesGrowth": 0, "trustDeeds": 0, "trustDeedsGrowth": 0, "otherFixed": 0, "otherFixedGrowth": 0, "govtBonds": 0, "govtBondsGrowth": 0, "muniBonds": 0, "muniBondsGrowth": 0, "corpBonds": 0, "corpBondsGrowth": 0, "faceCertificates": 0, "faceCertificatesGrowth": 0, "debtMutuals": 0, "debtMutualsGrowth": 0, "checking": 0, "checkingGrowth": 0, "savings": 0, "savingsGrowth": 0, "moneyMarket": 0, "moneyMarketGrowth": 0, "cd": 0, "cdGrowth": 0, "otherCash": 0, "otherCashGrowth": 0, "homeMortgage": 0, "homeMortgageGrowth": 0, "otherMortgage": 0, "otherMortgageGrowth": 0, "autoLoan": 0, "autoLoanGrowth": 0, "bankLoan": 0, "bankLoanGrowth": 0, "personalLoan": 0, "personalLoanGrowth": 0, "creditCards": 0, "creditCardsGrowth": 0, "otherDebts": 0, "otherDebtsGrowth": 0, "projectedYears": -1 }'
Example Request Body
{ "residence": 0, "residenceGrowth": 0, "vacation": 0, "vacationGrowth": 0, "furnishings": 0, "furnishingsGrowth": 0, "autos": 0, "autosGrowth": 0, "realEstate": 0, "realEstateGrowth": 0, "art": 0, "artGrowth": 0, "stocks": 0, "stocksGrowth": 0, "varAnnuities": 0, "varAnnuitiesGrowth": 0, "limitedPartner": 0, "limitedPartnerGrowth": 0, "business": 0, "businessGrowth": 0, "fixedAnnuities": 0, "fixedAnnuitiesGrowth": 0, "trustDeeds": 0, "trustDeedsGrowth": 0, "otherFixed": 0, "otherFixedGrowth": 0, "govtBonds": 0, "govtBondsGrowth": 0, "muniBonds": 0, "muniBondsGrowth": 0, "corpBonds": 0, "corpBondsGrowth": 0, "faceCertificates": 0, "faceCertificatesGrowth": 0, "debtMutuals": 0, "debtMutualsGrowth": 0, "checking": 0, "checkingGrowth": 0, "savings": 0, "savingsGrowth": 0, "moneyMarket": 0, "moneyMarketGrowth": 0, "cd": 0, "cdGrowth": 0, "otherCash": 0, "otherCashGrowth": 0, "homeMortgage": 0, "homeMortgageGrowth": 0, "otherMortgage": 0, "otherMortgageGrowth": 0, "autoLoan": 0, "autoLoanGrowth": 0, "bankLoan": 0, "bankLoanGrowth": 0, "personalLoan": 0, "personalLoanGrowth": 0, "creditCards": 0, "creditCardsGrowth": 0, "otherDebts": 0, "otherDebtsGrowth": 0, "projectedYears": -1 }
Example Responses
{ "residencePercent": 0.06, "vacationPercent": 0.06, "furnishingsPercent": 0.06, "autosPercent": 0.06, "realEstatePercent": 0.06, "artPercent": 0.06, "stocksPercent": 0.06, "varAnnuitiesPercent": 0.06, "limitedPartnerPercent": 0.06, "businessPercent": 0.06, "fixedAnnuitiesPercent": 0.06, "trustDeedsPercent": 0.06, "otherFixedPercent": 0.06, "govtBondsPercent": 0.06, "muniBondsPercent": 0.06, "corpBondsPercent": 0.06, "faceCertificatesPercent": 0.06, "debtMutualsPercent": 0.06, "checkingPercent": 0.06, "savingsPercent": 0.06, "moneyMarketPercent": 0.06, "cdPercent": 0.06, "otherCashPercent": 0.06, "homeMortgagePercent": 0.06, "otherMortgagePercent": 0.06, "autoLoanPercent": 0.06, "bankLoanPercent": 0.06, "personalLoanPercent": 0.06, "creditCardsPercent": 0.06, "otherDebtsPercent": 0.06, "totalTangibleAssetsPercent": 0.06, "totalEquityAssetsPercent": 0.06, "totalFixedPrincipalAssetsPercent": 0.06, "totalFixedRateAssetsPercent": 0.06, "totalCashAssetsPercent": 0.06, "totalTangibleAssets": "89500.00", "totalEquityAssets": "89500.00", "totalFixedPrincipalAssets": "89500.00", "totalFixedRateAssets": "89500.00", "totalCashAssets": "89500.00", "totalAssets": "89500.00", "totalLiabilities": "89500.00", "netWorth": "89500.00", "netWorthProjected": "89500.00", "netWorthChange": "89500.00", "residenceProjected": "89500.00", "residenceChange": "89500.00", "vacationProjected": "89500.00", "vacationChange": "89500.00", "furnishingsProjected": "89500.00", "furnishingsChange": "89500.00", "autosProjected": "89500.00", "autosChange": "89500.00", "realEstateProjected": "89500.00", "realEstateChange": "89500.00", "artProjected": "89500.00", "artChange": "89500.00", "stocksProjected": "89500.00", "stocksChange": "89500.00", "varAnnuitiesProjected": "89500.00", "varAnnuitiesChange": "89500.00", "limitedPartnerProjected": "89500.00", "limitedPartnerChange": "89500.00", "businessProjected": "89500.00", "businessChange": "89500.00", "fixedAnnuitiesProjected": "89500.00", "fixedAnnuitiesChange": "89500.00", "trustDeedsProjected": "89500.00", "trustDeedsChange": "89500.00", "otherFixedProjected": "89500.00", "otherFixedChange": "89500.00", "govtBondsProjected": "89500.00", "govtBondsChange": "89500.00", "muniBondsProjected": "89500.00", "muniBondsChange": "89500.00", "corpBondsProjected": "89500.00", "corpBondsChange": "89500.00", "faceCertificatesProjected": "89500.00", "faceCertificatesChange": "89500.00", "debtMutualsProjected": "89500.00", "debtMutualsChange": "89500.00", "checkingProjected": "89500.00", "checkingChange": "89500.00", "savingsProjected": "89500.00", "savingsChange": "89500.00", "moneyMarketProjected": "89500.00", "moneyMarketChange": "89500.00", "cdProjected": "89500.00", "cdChange": "89500.00", "otherCashProjected": "89500.00", "otherCashChange": "89500.00", "homeMortgageProjected": "89500.00", "homeMortgageChange": "89500.00", "otherMortgageProjected": "89500.00", "otherMortgageChange": "89500.00", "autoLoanProjected": "89500.00", "autoLoanChange": "89500.00", "bankLoanProjected": "89500.00", "bankLoanChange": "89500.00", "personalLoanProjected": "89500.00", "personalLoanChange": "89500.00", "creditCardsProjected": "89500.00", "creditCardsChange": "89500.00", "otherDebtsProjected": "89500.00", "otherDebtsChange": "89500.00", "totalTangibleAssetsProjected": "89500.00", "totalTangibleAssetsChange": "89500.00", "totalEquityAssetsProjected": "89500.00", "totalEquityAssetsChange": "89500.00", "totalFixedPrincipalAssetsProjected": "89500.00", "totalFixedPrincipalAssetsChange": "89500.00", "totalFixedRateAssetsProjected": "89500.00", "totalFixedRateAssetsChange": "89500.00", "totalCashAssetsProjected": "89500.00", "totalCashAssetsChange": "89500.00", "totalAssetsProjected": "89500.00", "totalAssetsChange": "89500.00", "totalLiabilitiesProjected": "89500.00", "totalLiabilitiesChange": "89500.00" }
application/json

What is my projected net worth?

POST
https://api.fincalc.com
/v2/calculators/what-is-my-projected-net-worth

What is my projected net worth? › Request Body

Inputs for the bud08 calculation.
Bud08Request
projectedYears
​integer · min: 1 · max: 120 · required
Default: 5
residence
​number · required
Default: 0
residenceGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
vacation
​number · required
Default: 0
vacationGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
furnishings
​number · required
Default: 0
furnishingsGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
autos
​number · required
Default: 0
autosGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
realEstate
​number · required
Default: 0
realEstateGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
art
​number · required
Default: 0
artGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
stocks
​number · required
Default: 0
stocksGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
varAnnuities
​number · required
Default: 0
varAnnuitiesGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
limitedPartner
​number · required
Default: 0
limitedPartnerGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
business
​number · required
Default: 0
businessGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
fixedAnnuities
​number · required
Default: 0
fixedAnnuitiesGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
trustDeeds
​number · required
Default: 0
trustDeedsGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
otherFixed
​number · required
Default: 0
otherFixedGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
govtBonds
​number · required
Default: 0
govtBondsGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
muniBonds
​number · required
Default: 0
muniBondsGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
corpBonds
​number · required
Default: 0
corpBondsGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
faceCertificates
​number · required
Default: 0
faceCertificatesGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
debtMutuals
​number · required
Default: 0
debtMutualsGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
checking
​number · required
Default: 0
checkingGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
savings
​number · required
Default: 0
savingsGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
moneyMarket
​number · required
Default: 0
moneyMarketGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
cd
​number · required
Default: 0
cdGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
otherCash
​number · required
Default: 0
otherCashGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
homeMortgage
​number · required
Default: 0
homeMortgageGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
otherMortgage
​number · required
Default: 0
otherMortgageGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
autoLoan
​number · required
Default: 0
autoLoanGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
bankLoan
​number · required
Default: 0
bankLoanGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
personalLoan
​number · required
Default: 0
personalLoanGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
creditCards
​number · required
Default: 0
creditCardsGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
otherDebts
​number · required
Default: 0
otherDebtsGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0

What is my projected net worth? › Responses

Calculation result.

Result of the bud08 calculation.
Bud08Result
residenceProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
vacationProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
furnishingsProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
autosProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
realEstateProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
artProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
stocksProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
varAnnuitiesProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
limitedPartnerProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
businessProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
fixedAnnuitiesProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
trustDeedsProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
otherFixedProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
govtBondsProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
muniBondsProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
corpBondsProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
faceCertificatesProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
debtMutualsProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
checkingProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
savingsProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
moneyMarketProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
cdProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
otherCashProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
homeMortgageProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
otherMortgageProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
autoLoanProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
bankLoanProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
personalLoanProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
creditCardsProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
otherDebtsProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
residenceChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
vacationChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
furnishingsChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
autosChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
realEstateChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
artChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
stocksChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
varAnnuitiesChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
limitedPartnerChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
businessChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
fixedAnnuitiesChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
trustDeedsChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
otherFixedChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
govtBondsChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
muniBondsChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
corpBondsChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
faceCertificatesChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
debtMutualsChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
checkingChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
savingsChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
moneyMarketChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
cdChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
otherCashChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
homeMortgageChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
otherMortgageChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
autoLoanChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
bankLoanChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
personalLoanChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
creditCardsChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
otherDebtsChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalTangibleAssets
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalEquityAssets
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalFixedPrincipalAssets
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalFixedRateAssets
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalCashAssets
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalTangibleAssetsProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalEquityAssetsProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalFixedPrincipalAssetsProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalFixedRateAssetsProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalCashAssetsProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalTangibleAssetsChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalEquityAssetsChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalFixedPrincipalAssetsChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalFixedRateAssetsChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalCashAssetsChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalAssets
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalAssetsProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalAssetsChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalLiabilities
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalLiabilitiesProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalLiabilitiesChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
netWorth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
netWorthProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
netWorthChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/what-is-my-projected-net-worth
curl https://api.fincalc.com/v2/calculators/what-is-my-projected-net-worth \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "projectedYears": 5, "residence": 0, "residenceGrowth": 0, "vacation": 0, "vacationGrowth": 0, "furnishings": 0, "furnishingsGrowth": 0, "autos": 0, "autosGrowth": 0, "realEstate": 0, "realEstateGrowth": 0, "art": 0, "artGrowth": 0, "stocks": 0, "stocksGrowth": 0, "varAnnuities": 0, "varAnnuitiesGrowth": 0, "limitedPartner": 0, "limitedPartnerGrowth": 0, "business": 0, "businessGrowth": 0, "fixedAnnuities": 0, "fixedAnnuitiesGrowth": 0, "trustDeeds": 0, "trustDeedsGrowth": 0, "otherFixed": 0, "otherFixedGrowth": 0, "govtBonds": 0, "govtBondsGrowth": 0, "muniBonds": 0, "muniBondsGrowth": 0, "corpBonds": 0, "corpBondsGrowth": 0, "faceCertificates": 0, "faceCertificatesGrowth": 0, "debtMutuals": 0, "debtMutualsGrowth": 0, "checking": 0, "checkingGrowth": 0, "savings": 0, "savingsGrowth": 0, "moneyMarket": 0, "moneyMarketGrowth": 0, "cd": 0, "cdGrowth": 0, "otherCash": 0, "otherCashGrowth": 0, "homeMortgage": 0, "homeMortgageGrowth": 0, "otherMortgage": 0, "otherMortgageGrowth": 0, "autoLoan": 0, "autoLoanGrowth": 0, "bankLoan": 0, "bankLoanGrowth": 0, "personalLoan": 0, "personalLoanGrowth": 0, "creditCards": 0, "creditCardsGrowth": 0, "otherDebts": 0, "otherDebtsGrowth": 0 }'
Example Request Body
{ "projectedYears": 5, "residence": 0, "residenceGrowth": 0, "vacation": 0, "vacationGrowth": 0, "furnishings": 0, "furnishingsGrowth": 0, "autos": 0, "autosGrowth": 0, "realEstate": 0, "realEstateGrowth": 0, "art": 0, "artGrowth": 0, "stocks": 0, "stocksGrowth": 0, "varAnnuities": 0, "varAnnuitiesGrowth": 0, "limitedPartner": 0, "limitedPartnerGrowth": 0, "business": 0, "businessGrowth": 0, "fixedAnnuities": 0, "fixedAnnuitiesGrowth": 0, "trustDeeds": 0, "trustDeedsGrowth": 0, "otherFixed": 0, "otherFixedGrowth": 0, "govtBonds": 0, "govtBondsGrowth": 0, "muniBonds": 0, "muniBondsGrowth": 0, "corpBonds": 0, "corpBondsGrowth": 0, "faceCertificates": 0, "faceCertificatesGrowth": 0, "debtMutuals": 0, "debtMutualsGrowth": 0, "checking": 0, "checkingGrowth": 0, "savings": 0, "savingsGrowth": 0, "moneyMarket": 0, "moneyMarketGrowth": 0, "cd": 0, "cdGrowth": 0, "otherCash": 0, "otherCashGrowth": 0, "homeMortgage": 0, "homeMortgageGrowth": 0, "otherMortgage": 0, "otherMortgageGrowth": 0, "autoLoan": 0, "autoLoanGrowth": 0, "bankLoan": 0, "bankLoanGrowth": 0, "personalLoan": 0, "personalLoanGrowth": 0, "creditCards": 0, "creditCardsGrowth": 0, "otherDebts": 0, "otherDebtsGrowth": 0 }
Example Responses
{ "residenceProjected": "89500.00", "vacationProjected": "89500.00", "furnishingsProjected": "89500.00", "autosProjected": "89500.00", "realEstateProjected": "89500.00", "artProjected": "89500.00", "stocksProjected": "89500.00", "varAnnuitiesProjected": "89500.00", "limitedPartnerProjected": "89500.00", "businessProjected": "89500.00", "fixedAnnuitiesProjected": "89500.00", "trustDeedsProjected": "89500.00", "otherFixedProjected": "89500.00", "govtBondsProjected": "89500.00", "muniBondsProjected": "89500.00", "corpBondsProjected": "89500.00", "faceCertificatesProjected": "89500.00", "debtMutualsProjected": "89500.00", "checkingProjected": "89500.00", "savingsProjected": "89500.00", "moneyMarketProjected": "89500.00", "cdProjected": "89500.00", "otherCashProjected": "89500.00", "homeMortgageProjected": "89500.00", "otherMortgageProjected": "89500.00", "autoLoanProjected": "89500.00", "bankLoanProjected": "89500.00", "personalLoanProjected": "89500.00", "creditCardsProjected": "89500.00", "otherDebtsProjected": "89500.00", "residenceChange": "89500.00", "vacationChange": "89500.00", "furnishingsChange": "89500.00", "autosChange": "89500.00", "realEstateChange": "89500.00", "artChange": "89500.00", "stocksChange": "89500.00", "varAnnuitiesChange": "89500.00", "limitedPartnerChange": "89500.00", "businessChange": "89500.00", "fixedAnnuitiesChange": "89500.00", "trustDeedsChange": "89500.00", "otherFixedChange": "89500.00", "govtBondsChange": "89500.00", "muniBondsChange": "89500.00", "corpBondsChange": "89500.00", "faceCertificatesChange": "89500.00", "debtMutualsChange": "89500.00", "checkingChange": "89500.00", "savingsChange": "89500.00", "moneyMarketChange": "89500.00", "cdChange": "89500.00", "otherCashChange": "89500.00", "homeMortgageChange": "89500.00", "otherMortgageChange": "89500.00", "autoLoanChange": "89500.00", "bankLoanChange": "89500.00", "personalLoanChange": "89500.00", "creditCardsChange": "89500.00", "otherDebtsChange": "89500.00", "totalTangibleAssets": "89500.00", "totalEquityAssets": "89500.00", "totalFixedPrincipalAssets": "89500.00", "totalFixedRateAssets": "89500.00", "totalCashAssets": "89500.00", "totalTangibleAssetsProjected": "89500.00", "totalEquityAssetsProjected": "89500.00", "totalFixedPrincipalAssetsProjected": "89500.00", "totalFixedRateAssetsProjected": "89500.00", "totalCashAssetsProjected": "89500.00", "totalTangibleAssetsChange": "89500.00", "totalEquityAssetsChange": "89500.00", "totalFixedPrincipalAssetsChange": "89500.00", "totalFixedRateAssetsChange": "89500.00", "totalCashAssetsChange": "89500.00", "totalAssets": "89500.00", "totalAssetsProjected": "89500.00", "totalAssetsChange": "89500.00", "totalLiabilities": "89500.00", "totalLiabilitiesProjected": "89500.00", "totalLiabilitiesChange": "89500.00", "netWorth": "89500.00", "netWorthProjected": "89500.00", "netWorthChange": "89500.00" }
application/json

What is my current cash flow?

POST
https://api.fincalc.com
/v2/calculators/what-is-my-current-cash-flow

What is my current cash flow? › Request Body

Inputs for the bud09 calculation.
Bud09Request
mode
​integer · enum · required
Enum values:
0
1
Default: 0
wages
​number · required
Default: 0
interest
​number · required
Default: 0
dividends
​number · required
Default: 0
socialsecurity
​number · required
Default: 0
pensions
​number · required
Default: 0
alimony
​number · required
Default: 0
otherincome
​number · required
Default: 0
charity
​number · required
Default: 0
mortgage
​number · required
Default: 0
vacation
​number · required
Default: 0
autoloan
​number · required
Default: 0
persloan
​number · required
Default: 0
cc
​number · required
Default: 0
fedtaxes
​number · required
Default: 0
statetaxes
​number · required
Default: 0
fica
​number · required
Default: 0
retaxes
​number · required
Default: 0
othertaxes
​number · required
Default: 0
utilities
​number · required
Default: 0
repairs
​number · required
Default: 0
food
​number · required
Default: 0
clothing
​number · required
Default: 0
education
​number · required
Default: 0
childcare
​number · required
Default: 0
autoexp
​number · required
Default: 0
transexp
​number · required
Default: 0
lifeins
​number · required
Default: 0
homeowners
​number · required
Default: 0
autoins
​number · required
Default: 0
medical
​number · required
Default: 0
entertain
​number · required
Default: 0
travel
​number · required
Default: 0
club
​number · required
Default: 0
hobbies
​number · required
Default: 0
gifts
​number · required
Default: 0
homeimp
​number · required
Default: 0
services
​number · required
Default: 0
other
​number · required
Default: 0

What is my current cash flow? › Responses

Calculation result.

Result of the bud09 calculation.
Bud09Result
totalIncome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalExpenses
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalNet
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalNetPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
​Bud09YearRow[] · required
POST/v2/calculators/what-is-my-current-cash-flow
curl https://api.fincalc.com/v2/calculators/what-is-my-current-cash-flow \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "mode": 0, "wages": 0, "interest": 0, "dividends": 0, "socialsecurity": 0, "pensions": 0, "alimony": 0, "otherincome": 0, "charity": 0, "mortgage": 0, "vacation": 0, "autoloan": 0, "persloan": 0, "cc": 0, "fedtaxes": 0, "statetaxes": 0, "fica": 0, "retaxes": 0, "othertaxes": 0, "utilities": 0, "repairs": 0, "food": 0, "clothing": 0, "education": 0, "childcare": 0, "autoexp": 0, "transexp": 0, "lifeins": 0, "homeowners": 0, "autoins": 0, "medical": 0, "entertain": 0, "travel": 0, "club": 0, "hobbies": 0, "gifts": 0, "homeimp": 0, "services": 0, "other": 0 }'
Example Request Body
{ "mode": 0, "wages": 0, "interest": 0, "dividends": 0, "socialsecurity": 0, "pensions": 0, "alimony": 0, "otherincome": 0, "charity": 0, "mortgage": 0, "vacation": 0, "autoloan": 0, "persloan": 0, "cc": 0, "fedtaxes": 0, "statetaxes": 0, "fica": 0, "retaxes": 0, "othertaxes": 0, "utilities": 0, "repairs": 0, "food": 0, "clothing": 0, "education": 0, "childcare": 0, "autoexp": 0, "transexp": 0, "lifeins": 0, "homeowners": 0, "autoins": 0, "medical": 0, "entertain": 0, "travel": 0, "club": 0, "hobbies": 0, "gifts": 0, "homeimp": 0, "services": 0, "other": 0 }
Example Responses
{ "totalIncome": "89500.00", "totalExpenses": "89500.00", "totalNet": "89500.00", "totalNetPercent": 0.06, "years": [ { "category": "category", "monthly": "89500.00", "annual": "89500.00", "percent": 0.06 } ] }
application/json

What is my projected cash flow?

POST
https://api.fincalc.com
/v2/calculators/what-is-my-projected-cash-flow

What is my projected cash flow? › Request Body

Inputs for the bud10 calculation.
Bud10Request
mode
​integer · enum · required
Enum values:
0
1
Default: 1
projectedYears
​integer · min: 1 · max: 120 · required
Default: 5
wages
​number · required
Default: 0
wagesGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
alimony
​number · required
Default: 0
alimonyGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
dividends
​number · required
Default: 0
dividendsGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
interest
​number · required
Default: 0
interestGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
socialsecurity
​number · required
Default: 0
socialsecurityGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
pensions
​number · required
Default: 0
pensionsGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
otherincome
​number · required
Default: 0
otherincomeGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
mortgage
​number · required
Default: 0
mortgageGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
vacation
​number · required
Default: 0
vacationGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
autoloan
​number · required
Default: 0
autoloanGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
persloan
​number · required
Default: 0
persloanGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
cc
​number · required
Default: 0
ccGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
fedtaxes
​number · required
Default: 0
fedtaxesGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
statetaxes
​number · required
Default: 0
statetaxesGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
fica
​number · required
Default: 0
ficaGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
retaxes
​number · required
Default: 0
retaxesGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
othertaxes
​number · required
Default: 0
othertaxesGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
utilities
​number · required
Default: 0
utilitiesGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
repairs
​number · required
Default: 0
repairsGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
food
​number · required
Default: 0
foodGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
clothing
​number · required
Default: 0
clothingGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
education
​number · required
Default: 0
educationGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
childcare
​number · required
Default: 0
childcareGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
autoexp
​number · required
Default: 0
autoexpGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
transexp
​number · required
Default: 0
transexpGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
lifeins
​number · required
Default: 0
lifeinsGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
homeowners
​number · required
Default: 0
homeownersGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
autoins
​number · required
Default: 0
autoinsGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
medical
​number · required
Default: 0
medicalGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
entertain
​number · required
Default: 0
entertainGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
travel
​number · required
Default: 0
travelGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
club
​number · required
Default: 0
clubGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
hobbies
​number · required
Default: 0
hobbiesGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
gifts
​number · required
Default: 0
giftsGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
homeimp
​number · required
Default: 0
homeimpGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
services
​number · required
Default: 0
servicesGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
charity
​number · required
Default: 0
charityGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0
other
​number · required
Default: 0
otherGrowth
​number · min: -0.12 · max: 0.12 · required
Default: 0

What is my projected cash flow? › Responses

Calculation result.

Result of the bud10 calculation.
Bud10Result
income
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
incomeProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
incomeChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
expenses
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
expensesProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
expensesChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
netCashFlow
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
netCashFlowProjected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
netCashFlowChange
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Bud10YearRow[] · required
POST/v2/calculators/what-is-my-projected-cash-flow
curl https://api.fincalc.com/v2/calculators/what-is-my-projected-cash-flow \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "mode": 1, "projectedYears": 5, "wages": 0, "wagesGrowth": 0, "alimony": 0, "alimonyGrowth": 0, "dividends": 0, "dividendsGrowth": 0, "interest": 0, "interestGrowth": 0, "socialsecurity": 0, "socialsecurityGrowth": 0, "pensions": 0, "pensionsGrowth": 0, "otherincome": 0, "otherincomeGrowth": 0, "mortgage": 0, "mortgageGrowth": 0, "vacation": 0, "vacationGrowth": 0, "autoloan": 0, "autoloanGrowth": 0, "persloan": 0, "persloanGrowth": 0, "cc": 0, "ccGrowth": 0, "fedtaxes": 0, "fedtaxesGrowth": 0, "statetaxes": 0, "statetaxesGrowth": 0, "fica": 0, "ficaGrowth": 0, "retaxes": 0, "retaxesGrowth": 0, "othertaxes": 0, "othertaxesGrowth": 0, "utilities": 0, "utilitiesGrowth": 0, "repairs": 0, "repairsGrowth": 0, "food": 0, "foodGrowth": 0, "clothing": 0, "clothingGrowth": 0, "education": 0, "educationGrowth": 0, "childcare": 0, "childcareGrowth": 0, "autoexp": 0, "autoexpGrowth": 0, "transexp": 0, "transexpGrowth": 0, "lifeins": 0, "lifeinsGrowth": 0, "homeowners": 0, "homeownersGrowth": 0, "autoins": 0, "autoinsGrowth": 0, "medical": 0, "medicalGrowth": 0, "entertain": 0, "entertainGrowth": 0, "travel": 0, "travelGrowth": 0, "club": 0, "clubGrowth": 0, "hobbies": 0, "hobbiesGrowth": 0, "gifts": 0, "giftsGrowth": 0, "homeimp": 0, "homeimpGrowth": 0, "services": 0, "servicesGrowth": 0, "charity": 0, "charityGrowth": 0, "other": 0, "otherGrowth": 0 }'
Example Request Body
{ "mode": 1, "projectedYears": 5, "wages": 0, "wagesGrowth": 0, "alimony": 0, "alimonyGrowth": 0, "dividends": 0, "dividendsGrowth": 0, "interest": 0, "interestGrowth": 0, "socialsecurity": 0, "socialsecurityGrowth": 0, "pensions": 0, "pensionsGrowth": 0, "otherincome": 0, "otherincomeGrowth": 0, "mortgage": 0, "mortgageGrowth": 0, "vacation": 0, "vacationGrowth": 0, "autoloan": 0, "autoloanGrowth": 0, "persloan": 0, "persloanGrowth": 0, "cc": 0, "ccGrowth": 0, "fedtaxes": 0, "fedtaxesGrowth": 0, "statetaxes": 0, "statetaxesGrowth": 0, "fica": 0, "ficaGrowth": 0, "retaxes": 0, "retaxesGrowth": 0, "othertaxes": 0, "othertaxesGrowth": 0, "utilities": 0, "utilitiesGrowth": 0, "repairs": 0, "repairsGrowth": 0, "food": 0, "foodGrowth": 0, "clothing": 0, "clothingGrowth": 0, "education": 0, "educationGrowth": 0, "childcare": 0, "childcareGrowth": 0, "autoexp": 0, "autoexpGrowth": 0, "transexp": 0, "transexpGrowth": 0, "lifeins": 0, "lifeinsGrowth": 0, "homeowners": 0, "homeownersGrowth": 0, "autoins": 0, "autoinsGrowth": 0, "medical": 0, "medicalGrowth": 0, "entertain": 0, "entertainGrowth": 0, "travel": 0, "travelGrowth": 0, "club": 0, "clubGrowth": 0, "hobbies": 0, "hobbiesGrowth": 0, "gifts": 0, "giftsGrowth": 0, "homeimp": 0, "homeimpGrowth": 0, "services": 0, "servicesGrowth": 0, "charity": 0, "charityGrowth": 0, "other": 0, "otherGrowth": 0 }
Example Responses
{ "income": "89500.00", "incomeProjected": "89500.00", "incomeChange": "89500.00", "expenses": "89500.00", "expensesProjected": "89500.00", "expensesChange": "89500.00", "netCashFlow": "89500.00", "netCashFlowProjected": "89500.00", "netCashFlowChange": "89500.00", "years": [ { "category": "category", "current": "89500.00", "projected": "89500.00", "change": "89500.00" } ] }
application/json

What is the value of reducing, postponing or foregoing expenses?

POST
https://api.fincalc.com
/v2/calculators/value-of-reducing-expenses

What is the value of reducing, postponing or foregoing expenses? › Request Body

Inputs for the bud11 calculation.
Bud11Request
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.05
years
​integer · min: 1 · max: 30 · required
Default: 10
description1
​string · required
Default: eat out less
savings1
​number · required
Default: 150
description2
​string · required
Default: carpool to work
savings2
​number · required
Default: 100
description3
​string · required
Default: drink less bottled water
savings3
​number · required
Default: 15
description4
​string · required
Default: [type here]
savings4
​number · required
Default: 0
description5
​string · required
Default: [type here]
savings5
​number · required
Default: 0
description6
​string · required
Default: [type here]
savings6
​number · required
Default: 0

What is the value of reducing, postponing or foregoing expenses? › Responses

Calculation result.

Result of the bud11 calculation.
Bud11Result
annualSavings1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
cumulativeSavings1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
projectedFutureValue1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
annualSavings2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
cumulativeSavings2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
projectedFutureValue2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
annualSavings3
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
cumulativeSavings3
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
projectedFutureValue3
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
annualSavings4
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
cumulativeSavings4
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
projectedFutureValue4
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
annualSavings5
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
cumulativeSavings5
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
projectedFutureValue5
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
annualSavings6
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
cumulativeSavings6
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
projectedFutureValue6
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalAnnualSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalCumulativeSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalProjectedFutureValue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/value-of-reducing-expenses
curl https://api.fincalc.com/v2/calculators/value-of-reducing-expenses \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "beforeTaxReturn": 0.05, "years": 10, "description1": "eat out less", "savings1": 150, "description2": "carpool to work", "savings2": 100, "description3": "drink less bottled water", "savings3": 15, "description4": "[type here]", "savings4": 0, "description5": "[type here]", "savings5": 0, "description6": "[type here]", "savings6": 0 }'
Example Request Body
{ "beforeTaxReturn": 0.05, "years": 10, "description1": "eat out less", "savings1": 150, "description2": "carpool to work", "savings2": 100, "description3": "drink less bottled water", "savings3": 15, "description4": "[type here]", "savings4": 0, "description5": "[type here]", "savings5": 0, "description6": "[type here]", "savings6": 0 }
Example Responses
{ "annualSavings1": "89500.00", "cumulativeSavings1": "89500.00", "projectedFutureValue1": "89500.00", "annualSavings2": "89500.00", "cumulativeSavings2": "89500.00", "projectedFutureValue2": "89500.00", "annualSavings3": "89500.00", "cumulativeSavings3": "89500.00", "projectedFutureValue3": "89500.00", "annualSavings4": "89500.00", "cumulativeSavings4": "89500.00", "projectedFutureValue4": "89500.00", "annualSavings5": "89500.00", "cumulativeSavings5": "89500.00", "projectedFutureValue5": "89500.00", "annualSavings6": "89500.00", "cumulativeSavings6": "89500.00", "projectedFutureValue6": "89500.00", "totalAnnualSavings": "89500.00", "totalCumulativeSavings": "89500.00", "totalProjectedFutureValue": "89500.00" }
application/json

Historical inflation - Compare purchasing power

POST
https://api.fincalc.com
/v2/calculators/historical-inflation-compare-purchasing-power

Historical inflation - Compare purchasing power › Request Body

Inputs for the bud12 calculation.
Bud12Request
startAmount
​number · required
Default: 1
beginYear
​integer · min: 1914 · max: 2025 · required
Default: 1950
endYear
​integer · min: 1914 · max: 2025 · required
Default: 2025

Historical inflation - Compare purchasing power › Responses

Calculation result.

Result of the bud12 calculation.
Bud12Result
purchasingPower
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Bud12YearRow[] · required
POST/v2/calculators/historical-inflation-compare-purchasing-power
curl https://api.fincalc.com/v2/calculators/historical-inflation-compare-purchasing-power \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "startAmount": 1,
  "beginYear": 1950,
  "endYear": 2025
}'
Example Request Body
{
  "startAmount": 1,
  "beginYear": 1950,
  "endYear": 2025
}
Example Responses
{
  "purchasingPower": "89500.00",
  "years": [
    {
      "year": 0,
      "inflation": 0.06
    }
  ]
}
application/json

Balance My Checkbook

POST
https://api.fincalc.com
/v2/calculators/checkbook-balancer-calculator

Balance My Checkbook › Request Body

Inputs for the bud13 calculation.
Bud13Request
beginningBalance
​number · required
Default: 0
deposit1
​number · required
Default: 0
deposit2
​number · required
Default: 0
deposit3
​number · required
Default: 0
deposit4
​number · required
Default: 0
deposit5
​number · required
Default: 0
check1
​number · required
Default: 0
check2
​number · required
Default: 0
check3
​number · required
Default: 0
check4
​number · required
Default: 0
check5
​number · required
Default: 0
check6
​number · required
Default: 0
check7
​number · required
Default: 0
check8
​number · required
Default: 0
check9
​number · required
Default: 0
check10
​number · required
Default: 0

Balance My Checkbook › Responses

Calculation result.

Result of the bud13 calculation.
Bud13Result
totalDeposits
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalChecks
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
registerBalance
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
statementBalance
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/checkbook-balancer-calculator
curl https://api.fincalc.com/v2/calculators/checkbook-balancer-calculator \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "beginningBalance": 0, "deposit1": 0, "deposit2": 0, "deposit3": 0, "deposit4": 0, "deposit5": 0, "check1": 0, "check2": 0, "check3": 0, "check4": 0, "check5": 0, "check6": 0, "check7": 0, "check8": 0, "check9": 0, "check10": 0 }'
Example Request Body
{ "beginningBalance": 0, "deposit1": 0, "deposit2": 0, "deposit3": 0, "deposit4": 0, "deposit5": 0, "check1": 0, "check2": 0, "check3": 0, "check4": 0, "check5": 0, "check6": 0, "check7": 0, "check8": 0, "check9": 0, "check10": 0 }
Example Responses
{
  "totalDeposits": "89500.00",
  "totalChecks": "89500.00",
  "registerBalance": "89500.00",
  "statementBalance": "89500.00"
}
application/json

Cost of Living Comparison

POST
https://api.fincalc.com
/v2/calculators/cost-of-living-comparison

Cost of Living Comparison › Request Body

Inputs for the bud14 calculation.
Bud14Request
householdIncome
​number · required
Default: 100000
currentCity
​string · enum · required
Enum values:
1
2
3
4
5
6
7
8
Default: 306
newCity
​string · enum · required
Enum values:
1
2
3
4
5
6
7
8
Default: 30

Cost of Living Comparison › Responses

Calculation result.

Result of the bud14 calculation.
Bud14Result
newIncome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
incomeChange
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
POST/v2/calculators/cost-of-living-comparison
curl https://api.fincalc.com/v2/calculators/cost-of-living-comparison \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "householdIncome": 100000,
  "currentCity": "306",
  "newCity": "30"
}'
Example Request Body
{
  "householdIncome": 100000,
  "currentCity": "306",
  "newCity": "30"
}
Example Responses
{
  "newIncome": "89500.00",
  "incomeChange": 0.06
}
application/json

What are the tax savings of a qualified retirement/cafeteria plan?

POST
https://api.fincalc.com
/v2/calculators/tax-savings-of-a-qualified-plan

What are the tax savings of a qualified retirement/cafeteria plan? › Request Body

Inputs for the bus01 calculation.
Bus01Request
grossPay
​number · required
Default: 0
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22
postTaxSavings
​number · required
Default: 0
postTaxExpenses
​number · required
Default: 0
sameTakeHome
​string · enum · required
Enum values:
N
Y
Default: Y
employerMatch
​number · required
Default: 0
employees
​integer · required
Default: 0

What are the tax savings of a qualified retirement/cafeteria plan? › Responses

Calculation result.

Result of the bus01 calculation.
Bus01Result
increasedTakeHome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
increasedRetirement
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
ficaSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
beforeGrossPay
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
beforeQualified
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
beforeCafeteria
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
beforeReducedPay
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
beforeTaxesPaid
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
beforeFica
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
beforeTakeHome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
beforePostTaxRetirement
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
beforePostTaxInsurance
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
beforeNetTakeHome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
afterGrossPay
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
afterQualified
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
afterCafeteria
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
afterReducedPay
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
afterTaxesPaid
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
afterFica
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
afterTakeHome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
afterPostTaxRetirement
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
afterPostTaxInsurance
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
afterNetTakeHome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/tax-savings-of-a-qualified-plan
curl https://api.fincalc.com/v2/calculators/tax-savings-of-a-qualified-plan \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "grossPay": 0,
  "taxBracket": 0.22,
  "postTaxSavings": 0,
  "postTaxExpenses": 0,
  "sameTakeHome": "Y",
  "employerMatch": 0,
  "employees": 0
}'
Example Request Body
{
  "grossPay": 0,
  "taxBracket": 0.22,
  "postTaxSavings": 0,
  "postTaxExpenses": 0,
  "sameTakeHome": "Y",
  "employerMatch": 0,
  "employees": 0
}
Example Responses
{ "increasedTakeHome": "89500.00", "increasedRetirement": "89500.00", "ficaSavings": "89500.00", "beforeGrossPay": "89500.00", "beforeQualified": "89500.00", "beforeCafeteria": "89500.00", "beforeReducedPay": "89500.00", "beforeTaxesPaid": "89500.00", "beforeFica": "89500.00", "beforeTakeHome": "89500.00", "beforePostTaxRetirement": "89500.00", "beforePostTaxInsurance": "89500.00", "beforeNetTakeHome": "89500.00", "afterGrossPay": "89500.00", "afterQualified": "89500.00", "afterCafeteria": "89500.00", "afterReducedPay": "89500.00", "afterTaxesPaid": "89500.00", "afterFica": "89500.00", "afterTakeHome": "89500.00", "afterPostTaxRetirement": "89500.00", "afterPostTaxInsurance": "89500.00", "afterNetTakeHome": "89500.00" }
application/json

What are my new business startup costs?

POST
https://api.fincalc.com
/v2/calculators/what-are-my-new-business-startup-costs

What are my new business startup costs? › Request Body

Inputs for the bus02 calculation.
Bus02Request
months
​integer · required
Default: 3
ownerSalaries
​number · required
Default: 0
employeeSalaries
​number · required
Default: 0
rent
​number · required
Default: 0
advertising
​number · required
Default: 0
postage
​number · required
Default: 0
supplies
​number · required
Default: 0
telephone
​number · required
Default: 0
utilities
​number · required
Default: 0
insurance
​number · required
Default: 0
taxes
​number · required
Default: 0
interest
​number · required
Default: 0
maintenance
​number · required
Default: 0
legal
​number · required
Default: 0
monthlyMisc
​number · required
Default: 0
office
​number · required
Default: 0
building
​number · required
Default: 0
rentDeposit
​number · required
Default: 0
inventory
​number · required
Default: 0
utilityDeposit
​number · required
Default: 0
professionalFees
​number · required
Default: 0
licenses
​number · required
Default: 0
website
​number · required
Default: 0
cash
​number · required
Default: 0
onetimeMisc
​number · required
Default: 0

What are my new business startup costs? › Responses

Calculation result.

Result of the bus02 calculation.
Bus02Result
totalCapital
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalMonthly
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
ownerSalariesTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
ownerSalariesPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
employeeSalariesTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
employeeSalariesPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
rentTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
rentPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
advertisingTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
advertisingPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
postageTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
postagePercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
suppliesTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
suppliesPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
telephoneTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
telephonePercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
utilitiesTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
utilitiesPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
insuranceTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
insurancePercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
taxesTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
taxesPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
interestTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
interestPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
maintenanceTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
maintenancePercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
legalTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
legalPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
miscellaneousTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
miscellaneousPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
totalMonthlyPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
officePercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
buildingPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
rentDepositPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
inventoryPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
utilityDepositPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
professionalFeesPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
licensesPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
websitePercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
cashPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
onetimeMiscPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
totalOneTimePercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
totalOneTime
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/what-are-my-new-business-startup-costs
curl https://api.fincalc.com/v2/calculators/what-are-my-new-business-startup-costs \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "months": 3, "ownerSalaries": 0, "employeeSalaries": 0, "rent": 0, "advertising": 0, "postage": 0, "supplies": 0, "telephone": 0, "utilities": 0, "insurance": 0, "taxes": 0, "interest": 0, "maintenance": 0, "legal": 0, "monthlyMisc": 0, "office": 0, "building": 0, "rentDeposit": 0, "inventory": 0, "utilityDeposit": 0, "professionalFees": 0, "licenses": 0, "website": 0, "cash": 0, "onetimeMisc": 0 }'
Example Request Body
{ "months": 3, "ownerSalaries": 0, "employeeSalaries": 0, "rent": 0, "advertising": 0, "postage": 0, "supplies": 0, "telephone": 0, "utilities": 0, "insurance": 0, "taxes": 0, "interest": 0, "maintenance": 0, "legal": 0, "monthlyMisc": 0, "office": 0, "building": 0, "rentDeposit": 0, "inventory": 0, "utilityDeposit": 0, "professionalFees": 0, "licenses": 0, "website": 0, "cash": 0, "onetimeMisc": 0 }
Example Responses
{ "totalCapital": "89500.00", "totalMonthly": "89500.00", "ownerSalariesTotal": "89500.00", "ownerSalariesPercent": 0.06, "employeeSalariesTotal": "89500.00", "employeeSalariesPercent": 0.06, "rentTotal": "89500.00", "rentPercent": 0.06, "advertisingTotal": "89500.00", "advertisingPercent": 0.06, "postageTotal": "89500.00", "postagePercent": 0.06, "suppliesTotal": "89500.00", "suppliesPercent": 0.06, "telephoneTotal": "89500.00", "telephonePercent": 0.06, "utilitiesTotal": "89500.00", "utilitiesPercent": 0.06, "insuranceTotal": "89500.00", "insurancePercent": 0.06, "taxesTotal": "89500.00", "taxesPercent": 0.06, "interestTotal": "89500.00", "interestPercent": 0.06, "maintenanceTotal": "89500.00", "maintenancePercent": 0.06, "legalTotal": "89500.00", "legalPercent": 0.06, "miscellaneousTotal": "89500.00", "miscellaneousPercent": 0.06, "totalMonthlyPercent": 0.06, "officePercent": 0.06, "buildingPercent": 0.06, "rentDepositPercent": 0.06, "inventoryPercent": 0.06, "utilityDepositPercent": 0.06, "professionalFeesPercent": 0.06, "licensesPercent": 0.06, "websitePercent": 0.06, "cashPercent": 0.06, "onetimeMiscPercent": 0.06, "totalOneTimePercent": 0.06, "totalOneTime": "89500.00" }
application/json

Should I pay or charge monthly, quarterly or annually?

POST
https://api.fincalc.com
/v2/calculators/modal-premium-apr-calculator

Should I pay or charge monthly, quarterly or annually? › Request Body

Inputs for the bus03 calculation.
Bus03Request
modalPayment
​number · required
Default: 0
paymentFrequency
​string · enum · required
Enum values:
s
q
m
Default: m
annualPayment
​number · required
Default: 0

Should I pay or charge monthly, quarterly or annually? › Responses

Calculation result.

Result of the bus03 calculation.
Bus03Result
numPayments
​number · required
totalPayments
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
semiannualAPR
​number · required
quarterlyAPR
​number · required
monthlyAPR
​number · required
valueUsed
​number · required
extraAmountPaid
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Bus03YearRow[] · required
POST/v2/calculators/modal-premium-apr-calculator
curl https://api.fincalc.com/v2/calculators/modal-premium-apr-calculator \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "modalPayment": 0,
  "paymentFrequency": "m",
  "annualPayment": 0
}'
Example Request Body
{
  "modalPayment": 0,
  "paymentFrequency": "m",
  "annualPayment": 0
}
Example Responses
{ "numPayments": 0, "totalPayments": "89500.00", "semiannualAPR": 0, "quarterlyAPR": 0, "monthlyAPR": 0, "valueUsed": 0, "extraAmountPaid": "89500.00", "years": [ { "paymentNumber": 0, "beginningBalance": "89500.00", "paymentAmount": "89500.00", "endingBalance": "89500.00" } ] }
application/json

What is the value of my business?

POST
https://api.fincalc.com
/v2/calculators/business-valuation

What is the value of my business? › Request Body

Inputs for the bus04 calculation.
Bus04Request
earnings
​number · required
Default: 0
compensation
​number · required
Default: 0
earningsGrowth
​number · min: 0 · max: 1 · required
Default: 0
years
​integer · min: 0 · max: 10 · required
Default: 10
risk
​string · enum · required
Enum values:
1
2
3
4
5
Default: 3
size
​number · min: -1 · max: 1 · required
Default: 0.22

What is the value of my business? › Responses

Calculation result.

Result of the bus04 calculation.
Bus04Result
futureEarnings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
calculatedDiscount
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
todayEarnings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
adjustment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
businessValue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Bus04YearRow[] · required
POST/v2/calculators/business-valuation
curl https://api.fincalc.com/v2/calculators/business-valuation \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "earnings": 0,
  "compensation": 0,
  "earningsGrowth": 0,
  "years": 10,
  "risk": "3",
  "size": 0.22
}'
Example Request Body
{
  "earnings": 0,
  "compensation": 0,
  "earningsGrowth": 0,
  "years": 10,
  "risk": "3",
  "size": 0.22
}
Example Responses
{ "futureEarnings": "89500.00", "calculatedDiscount": 0.06, "todayEarnings": "89500.00", "adjustment": "89500.00", "businessValue": "89500.00", "years": [ { "year": 0, "futureEarnPlusComp": "89500.00", "todaysDiscountedValue": "89500.00" } ] }
application/json

How many units do I need to sell to breakeven?

POST
https://api.fincalc.com
/v2/calculators/breakeven-analysis

How many units do I need to sell to breakeven? › Request Body

Inputs for the bus05 calculation.
Bus05Request
fixedCosts
​number · required
Default: 0
variableCosts
​number · required
Default: 0
salesPrice
​number · required
Default: 0
expectedSales
​integer · required
Default: 0

How many units do I need to sell to breakeven? › Responses

Calculation result.

Result of the bus05 calculation.
Bus05Result
breakevenUnits
​number · required
expectedProfit
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Bus05YearRow[] · required
POST/v2/calculators/breakeven-analysis
curl https://api.fincalc.com/v2/calculators/breakeven-analysis \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "fixedCosts": 0,
  "variableCosts": 0,
  "salesPrice": 0,
  "expectedSales": 0
}'
Example Request Body
{
  "fixedCosts": 0,
  "variableCosts": 0,
  "salesPrice": 0,
  "expectedSales": 0
}
Example Responses
{
  "breakevenUnits": 0,
  "expectedProfit": "89500.00",
  "years": [
    {
      "unitsSold": 0,
      "salesRevenues": "89500.00",
      "variableCosts": "89500.00",
      "fixedCosts": "89500.00",
      "operatingProfit": "89500.00"
    }
  ]
}
application/json

Should I lease or buy equipment?

POST
https://api.fincalc.com
/v2/calculators/lease-vs-buy-equipment

Should I lease or buy equipment? › Request Body

Inputs for the bus06 calculation.
Bus06Request
purchasePrice
​number · required
Default: 0
downPayment
​number · required
Default: 0
salesTax
​number · min: 0 · max: 0.75 · required
Default: 0
leaseTerm
​integer · min: 1 · max: 360 · required
Default: 24
residualValue
​number · required
Default: 0
leaseRate
​number · min: 0 · max: 0.75 · required
Default: 0.08
leaseCosts
​number · required
Default: 0
loanRate
​number · min: 0 · max: 0.4 · required
Default: 0.06
termMonths
​integer · min: 1 · max: 360 · required
Default: 60
purchaseCosts
​number · required
Default: 0

Should I lease or buy equipment? › Responses

Calculation result.

Result of the bus06 calculation.
Bus06Result
leasePayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalLeasePayments
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalLease
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
yearlyLease
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
loanPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalLoanPayments
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
loanBalance
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalPurchase
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
yearlyPurchase
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
buySavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
leaseSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/lease-vs-buy-equipment
curl https://api.fincalc.com/v2/calculators/lease-vs-buy-equipment \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "purchasePrice": 0, "downPayment": 0, "salesTax": 0, "leaseTerm": 24, "residualValue": 0, "leaseRate": 0.08, "leaseCosts": 0, "loanRate": 0.06, "termMonths": 60, "purchaseCosts": 0 }'
Example Request Body
{
  "purchasePrice": 0,
  "downPayment": 0,
  "salesTax": 0,
  "leaseTerm": 24,
  "residualValue": 0,
  "leaseRate": 0.08,
  "leaseCosts": 0,
  "loanRate": 0.06,
  "termMonths": 60,
  "purchaseCosts": 0
}
Example Responses
{
  "leasePayment": "89500.00",
  "totalLeasePayments": "89500.00",
  "totalLease": "89500.00",
  "yearlyLease": "89500.00",
  "loanPayment": "89500.00",
  "totalLoanPayments": "89500.00",
  "loanBalance": "89500.00",
  "totalPurchase": "89500.00",
  "yearlyPurchase": "89500.00",
  "buySavings": "89500.00",
  "leaseSavings": "89500.00"
}
application/json

What are my business financial ratios?

POST
https://api.fincalc.com
/v2/calculators/financial-ratio-analysis

What are my business financial ratios? › Request Body

Inputs for the bus07 calculation.
Bus07Request
cash
​number · required
Default: 0
accountsReceivable
​number · required
Default: 0
inventory
​number · required
Default: 0
currentAssets
​number · required
Default: 0
fixedAssets
​number · required
Default: 0
currentLiabilities
​number · required
Default: 0
longTermLiabilities
​number · required
Default: 0
shareHolderEquity
​number · required
Default: 0
sales
​number · required
Default: 0
cogs
​number · required
Default: 0
grossProfit
​number · required
Default: 0
operatingExpenses
​number · required
Default: 0
excessCompensation
​number · required
Default: 0
operatingIncome
​number · required
Default: 0
investmentIncome
​number · required
Default: 0
interestExpense
​number · required
Default: 0
incomeBeforeTaxes
​number · required
Default: 0
taxes
​number · required
Default: 0
netProfit
​number · required
Default: 0
adjustedNetProfit
​number · required
Default: 0

What are my business financial ratios? › Responses

Calculation result.

Result of the bus07 calculation.
Bus07Result
income
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
expenses
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
netProfit
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
currentRatio
​number · required
quickRatio
​number · required
inventoryRatio
​number · required
fixedTurnoverRatio
​number · required
assetTurnoverRatio
​number · required
tieRatio
​number · required
collectionRatio
​number · required
debtAssetRatio
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
profitMarginRatio
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
earningPowerRatio
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
roaRatio
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
roeRatio
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
POST/v2/calculators/financial-ratio-analysis
curl https://api.fincalc.com/v2/calculators/financial-ratio-analysis \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "cash": 0, "accountsReceivable": 0, "inventory": 0, "currentAssets": 0, "fixedAssets": 0, "currentLiabilities": 0, "longTermLiabilities": 0, "shareHolderEquity": 0, "sales": 0, "cogs": 0, "grossProfit": 0, "operatingExpenses": 0, "excessCompensation": 0, "operatingIncome": 0, "investmentIncome": 0, "interestExpense": 0, "incomeBeforeTaxes": 0, "taxes": 0, "netProfit": 0, "adjustedNetProfit": 0 }'
Example Request Body
{ "cash": 0, "accountsReceivable": 0, "inventory": 0, "currentAssets": 0, "fixedAssets": 0, "currentLiabilities": 0, "longTermLiabilities": 0, "shareHolderEquity": 0, "sales": 0, "cogs": 0, "grossProfit": 0, "operatingExpenses": 0, "excessCompensation": 0, "operatingIncome": 0, "investmentIncome": 0, "interestExpense": 0, "incomeBeforeTaxes": 0, "taxes": 0, "netProfit": 0, "adjustedNetProfit": 0 }
Example Responses
{ "income": "89500.00", "expenses": "89500.00", "netProfit": "89500.00", "currentRatio": 0, "quickRatio": 0, "inventoryRatio": 0, "fixedTurnoverRatio": 0, "assetTurnoverRatio": 0, "tieRatio": 0, "collectionRatio": 0, "debtAssetRatio": 0.06, "profitMarginRatio": 0.06, "earningPowerRatio": 0.06, "roaRatio": 0.06, "roeRatio": 0.06 }
application/json

What is my employee total compensation package worth?

POST
https://api.fincalc.com
/v2/calculators/total-compensation

What is my employee total compensation package worth? › Request Body

Inputs for the bus08 calculation.
Bus08Request
income
​number · required
Default: 0
dailyWage
​number · required
Default: 0
vacation
​integer · min: 0 · max: 365 · required
Default: 10
holidays
​integer · min: 0 · max: 365 · required
Default: 7
personal
​integer · min: 0 · max: 365 · required
Default: 10
breakMinutes
​integer · min: 0 · max: 360 · required
Default: 20
workersComp
​number · min: 0 · max: 1 · required
Default: 0.01
unemployment
​number · required
Default: 250
medical
​number · required
Default: 0
life
​number · required
Default: 0
disability
​number · required
Default: 0
dental
​number · required
Default: 0
supplemental
​number · required
Default: 0
otherInsurance
​number · required
Default: 0
retirementPercent
​number · min: 0 · max: 1 · required
Default: 0
retirementDollar
​number · required
Default: 0
otherName1
​string · required
Default: Parking
otherAmount1
​number · required
Default: 0
otherName2
​string · required
Default: CE/Tuition
otherAmount2
​number · required
Default: 0
otherName3
​string · required
Default: Gym membership
otherAmount3
​number · required
Default: 0

What is my employee total compensation package worth? › Responses

Calculation result.

Result of the bus08 calculation.
Bus08Result
income
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
dailyWage
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
vacationValue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
vacationPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
holidayValue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
holidayPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
personalValue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
personalPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
breakMinutesValue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
breakMinutesPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
totalTimeOffValue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalTimeOffPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
socialSecValue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
socialSecPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
workersCompValue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
workersCompPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
unemploymentValue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
unemploymentPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
medicalValue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
medicalPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
lifeValue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
lifePercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
disabilityValue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
disabilityPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
dentalValue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
dentalPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
supplementalValue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
supplementalPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
otherInsValue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
otherInsPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
retire1Value
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
retire1Percent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
retire2Value
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
retire2Percent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
otherAmount1Value
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
otherAmount1Percent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
otherAmount2Value
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
otherAmount2Percent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
otherAmount3Value
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
otherAmount3Percent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
benefitsDollar
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
benefitsPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
totalComp
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/total-compensation
curl https://api.fincalc.com/v2/calculators/total-compensation \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "income": 0, "dailyWage": 0, "vacation": 10, "holidays": 7, "personal": 10, "breakMinutes": 20, "workersComp": 0.01, "unemployment": 250, "medical": 0, "life": 0, "disability": 0, "dental": 0, "supplemental": 0, "otherInsurance": 0, "retirementPercent": 0, "retirementDollar": 0, "otherName1": "Parking", "otherAmount1": 0, "otherName2": "CE/Tuition", "otherAmount2": 0, "otherName3": "Gym membership", "otherAmount3": 0 }'
Example Request Body
{ "income": 0, "dailyWage": 0, "vacation": 10, "holidays": 7, "personal": 10, "breakMinutes": 20, "workersComp": 0.01, "unemployment": 250, "medical": 0, "life": 0, "disability": 0, "dental": 0, "supplemental": 0, "otherInsurance": 0, "retirementPercent": 0, "retirementDollar": 0, "otherName1": "Parking", "otherAmount1": 0, "otherName2": "CE/Tuition", "otherAmount2": 0, "otherName3": "Gym membership", "otherAmount3": 0 }
Example Responses
{ "income": "89500.00", "dailyWage": "89500.00", "vacationValue": "89500.00", "vacationPercent": 0.06, "holidayValue": "89500.00", "holidayPercent": 0.06, "personalValue": "89500.00", "personalPercent": 0.06, "breakMinutesValue": "89500.00", "breakMinutesPercent": 0.06, "totalTimeOffValue": "89500.00", "totalTimeOffPercent": 0.06, "socialSecValue": "89500.00", "socialSecPercent": 0.06, "workersCompValue": "89500.00", "workersCompPercent": 0.06, "unemploymentValue": "89500.00", "unemploymentPercent": 0.06, "medicalValue": "89500.00", "medicalPercent": 0.06, "lifeValue": "89500.00", "lifePercent": 0.06, "disabilityValue": "89500.00", "disabilityPercent": 0.06, "dentalValue": "89500.00", "dentalPercent": 0.06, "supplementalValue": "89500.00", "supplementalPercent": 0.06, "otherInsValue": "89500.00", "otherInsPercent": 0.06, "retire1Value": "89500.00", "retire1Percent": 0.06, "retire2Value": "89500.00", "retire2Percent": 0.06, "otherAmount1Value": "89500.00", "otherAmount1Percent": 0.06, "otherAmount2Value": "89500.00", "otherAmount2Percent": 0.06, "otherAmount3Value": "89500.00", "otherAmount3Percent": 0.06, "benefitsDollar": "89500.00", "benefitsPercent": 0.06, "totalComp": "89500.00" }
application/json

What are my tax savings with Section 179 deduction?

POST
https://api.fincalc.com
/v2/calculators/section-179-deduction

What are my tax savings with Section 179 deduction? › Request Body

Inputs for the bus09 calculation.
Bus09Request
equipmentCost
​number · required
Default: 0

What are my tax savings with Section 179 deduction? › Responses

Calculation result.

Result of the bus09 calculation.
Bus09Result
section179
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
adjustedBaseFirst
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
bonusDepreciation
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
adjustedBaseSecond
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
firstYearDepreciation
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
finalAdjustedGross
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
firstYearDeduction
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
taxSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
costAfterTax
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
discountPercentage
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
POST/v2/calculators/section-179-deduction
curl https://api.fincalc.com/v2/calculators/section-179-deduction \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "equipmentCost": 0
}'
Example Request Body
{
  "equipmentCost": 0
}
Example Responses
{
  "section179": "89500.00",
  "adjustedBaseFirst": "89500.00",
  "bonusDepreciation": "89500.00",
  "adjustedBaseSecond": "89500.00",
  "firstYearDepreciation": "89500.00",
  "finalAdjustedGross": "89500.00",
  "firstYearDeduction": "89500.00",
  "taxSavings": "89500.00",
  "costAfterTax": "89500.00",
  "discountPercentage": 0.06
}
application/json

Employer FSA Savings Calculator

POST
https://api.fincalc.com
/v2/calculators/employer-fsa-savings-calculator

Employer FSA Savings Calculator › Request Body

Inputs for the bus10 calculation.
Bus10Request
initialHealthParticipation
​number · min: 0 · max: 1 · required
Default: 0.2
averageHealthContribution
​number · min: 0 · max: 3400 · required
Default: 2000
initialDependentParticipation
​number · min: 0 · max: 1 · required
Default: 0.03
averageDependentContribution
​number · min: 0 · max: 7500 · required
Default: 4000
numberEmployees
​number · required
Default: 0
healthParticipationIncrease
​number · min: 0 · max: 1 · required
Default: 0.1
dependentParticipationIncrease
​number · min: 0 · max: 1 · required
Default: 0.05
earningLessSS
​number · min: 0 · max: 1 · required
Default: 0.9
earningGreaterSS
​number · min: 0 · max: 1 · required
Default: 0.1

Employer FSA Savings Calculator › Responses

Calculation result.

Result of the bus10 calculation.
Bus10Result
year1DependentSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
year1HealthSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
year1TotalSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
year2DependentSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
year2HealthSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
year2TotalSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/employer-fsa-savings-calculator
curl https://api.fincalc.com/v2/calculators/employer-fsa-savings-calculator \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "initialHealthParticipation": 0.2, "averageHealthContribution": 2000, "initialDependentParticipation": 0.03, "averageDependentContribution": 4000, "numberEmployees": 0, "healthParticipationIncrease": 0.1, "dependentParticipationIncrease": 0.05, "earningLessSS": 0.9, "earningGreaterSS": 0.1 }'
Example Request Body
{
  "initialHealthParticipation": 0.2,
  "averageHealthContribution": 2000,
  "initialDependentParticipation": 0.03,
  "averageDependentContribution": 4000,
  "numberEmployees": 0,
  "healthParticipationIncrease": 0.1,
  "dependentParticipationIncrease": 0.05,
  "earningLessSS": 0.9,
  "earningGreaterSS": 0.1
}
Example Responses
{
  "year1DependentSavings": "89500.00",
  "year1HealthSavings": "89500.00",
  "year1TotalSavings": "89500.00",
  "year2DependentSavings": "89500.00",
  "year2HealthSavings": "89500.00",
  "year2TotalSavings": "89500.00"
}
application/json

What should I price my product/service in order to be profitable?

POST
https://api.fincalc.com
/v2/calculators/price-my-product-for-profit

What should I price my product/service in order to be profitable? › Request Body

Inputs for the bus11 calculation.
Bus11Request
itemCost
​number · required
Default: 0
packagingCost
​number · required
Default: 0
shippingCost
​number · required
Default: 0
advertisingFees
​number · required
Default: 0
websiteFees
​number · required
Default: 0
overheadCosts
​number · required
Default: 0
itemsSold
​number · required
Default: 0
desiredProfit
​number · min: 0 · max: 0.8 · required
Default: 0

What should I price my product/service in order to be profitable? › Responses

Calculation result.

Result of the bus11 calculation.
Bus11Result
optimalPrice
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Bus11YearRow[] · required
POST/v2/calculators/price-my-product-for-profit
curl https://api.fincalc.com/v2/calculators/price-my-product-for-profit \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "itemCost": 0, "packagingCost": 0, "shippingCost": 0, "advertisingFees": 0, "websiteFees": 0, "overheadCosts": 0, "itemsSold": 0, "desiredProfit": 0 }'
Example Request Body
{
  "itemCost": 0,
  "packagingCost": 0,
  "shippingCost": 0,
  "advertisingFees": 0,
  "websiteFees": 0,
  "overheadCosts": 0,
  "itemsSold": 0,
  "desiredProfit": 0
}
Example Responses
{
  "optimalPrice": "89500.00",
  "years": [
    {
      "unitsSold": 0,
      "revenue": "89500.00",
      "fixedExpenses": "89500.00",
      "totalOperatingCosts": "89500.00"
    }
  ]
}
application/json

How much should I be saving for college?

POST
https://api.fincalc.com
/v2/calculators/saving-for-college

How much should I be saving for college? › Request Body

Inputs for the col01 calculation.
Col01Request
collegeInflation
​number · min: 0 · max: 0.1 · required
Default: 0.06
amountSaved
​number · required
Default: 0
​object[] · minItems: 1 · maxItems: 6 · required
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22
annualIncreases
​number · min: 0 · max: 0.2 · required
Default: 0

How much should I be saving for college? › Responses

Calculation result.

Result of the col01 calculation.
Col01Result
totalCost
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
monthlySavingsNeeded
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
lumpSumNeeded
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Col01YearRow[] · required
POST/v2/calculators/saving-for-college
curl https://api.fincalc.com/v2/calculators/saving-for-college \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "collegeInflation": 0.06, "amountSaved": 0, "children": [ { "name": "name here", "age": 0, "schoolage": 18, "years": 4, "amount": 0 } ], "beforeTaxReturn": 0.08, "taxBracket": 0.22, "annualIncreases": 0 }'
Example Request Body
{ "collegeInflation": 0.06, "amountSaved": 0, "children": [ { "name": "name here", "age": 0, "schoolage": 18, "years": 4, "amount": 0 } ], "beforeTaxReturn": 0.08, "taxBracket": 0.22, "annualIncreases": 0 }
Example Responses
{ "totalCost": "89500.00", "monthlySavingsNeeded": "89500.00", "lumpSumNeeded": "89500.00", "years": [ { "year": 0, "beginCapital": "89500.00", "annualSavings": "89500.00", "collegeNeed": "89500.00", "netCapital": "89500.00", "afterTaxInterest": "89500.00", "endCapital": "89500.00" } ] }
application/json

Calculate your ability to pay back student loans.

POST
https://api.fincalc.com
/v2/calculators/student-loan-repayment

Calculate your ability to pay back student loans. › Request Body

Inputs for the col02 calculation.
Col02Request
expectedIncome
​number · required
Default: 0
loanAmount
​number · required
Default: 0
interestRate
​number · min: 0 · max: 0.4 · required
Default: 0.055
termMonths
​integer · min: 1 · max: 480 · required
Default: 120

Calculate your ability to pay back student loans. › Responses

Calculation result.

Result of the col02 calculation.
Col02Result
monthlyPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
debtRatio
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
trafficLight
​TrafficLight · enum · required
Enum values:
green
red
yellow
POST/v2/calculators/student-loan-repayment
curl https://api.fincalc.com/v2/calculators/student-loan-repayment \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "expectedIncome": 0,
  "loanAmount": 0,
  "interestRate": 0.055,
  "termMonths": 120
}'
Example Request Body
{
  "expectedIncome": 0,
  "loanAmount": 0,
  "interestRate": 0.055,
  "termMonths": 120
}
Example Responses
{
  "monthlyPayment": "89500.00",
  "debtRatio": 0.06,
  "trafficLight": "green"
}
application/json

What are the advantages of a Coverdell ESA?

POST
https://api.fincalc.com
/v2/calculators/coverdell-esa

What are the advantages of a Coverdell ESA? › Request Body

Inputs for the col03 calculation.
Col03Request
annualSavings
​number · min: 0 · max: 2000 · required
Default: 0
numYears
​integer · min: 0 · max: 30 · required
Default: 18
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22

What are the advantages of a Coverdell ESA? › Responses

Calculation result.

Result of the col03 calculation.
Col03Result
afterTaxCoverdell
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
taxableAccumulation
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
taxAdvantagedAccumulation
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Col03YearRow[] · required
POST/v2/calculators/coverdell-esa
curl https://api.fincalc.com/v2/calculators/coverdell-esa \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "annualSavings": 0,
  "numYears": 18,
  "beforeTaxReturn": 0.08,
  "taxBracket": 0.22
}'
Example Request Body
{
  "annualSavings": 0,
  "numYears": 18,
  "beforeTaxReturn": 0.08,
  "taxBracket": 0.22
}
Example Responses
{ "afterTaxCoverdell": "89500.00", "taxableAccumulation": "89500.00", "taxAdvantagedAccumulation": "89500.00", "years": [ { "yearNumber": 0, "annualSavings": "89500.00", "beginningBalanceTaxable": "89500.00", "interestTaxable": "89500.00", "taxes": "89500.00", "endingBalanceTaxable": "89500.00", "beginningBalanceTaxdeferred": "89500.00", "interestTaxdeferred": "89500.00", "endingBalanceTaxdeferred": "89500.00" } ] }
application/json

What are the advantages of a 529 college savings plan?

POST
https://api.fincalc.com
/v2/calculators/529-college-savings-plan

What are the advantages of a 529 college savings plan? › Request Body

Inputs for the col04 calculation.
Col04Request
initialDeposit
​number · required
Default: 0
annualSavings
​number · required
Default: 0
numYears
​integer · min: 0 · max: 30 · required
Default: 18
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22

What are the advantages of a 529 college savings plan? › Responses

Calculation result.

Result of the col04 calculation.
Col04Result
afterTaxValue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
taxableAccumulation
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
taxAdvantagedAccumulation
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Col04YearRow[] · required
POST/v2/calculators/529-college-savings-plan
curl https://api.fincalc.com/v2/calculators/529-college-savings-plan \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "initialDeposit": 0,
  "annualSavings": 0,
  "numYears": 18,
  "beforeTaxReturn": 0.08,
  "taxBracket": 0.22
}'
Example Request Body
{
  "initialDeposit": 0,
  "annualSavings": 0,
  "numYears": 18,
  "beforeTaxReturn": 0.08,
  "taxBracket": 0.22
}
Example Responses
{ "afterTaxValue": "89500.00", "taxableAccumulation": "89500.00", "taxAdvantagedAccumulation": "89500.00", "years": [ { "yearNumber": 0, "annualSavings": "89500.00", "beginningBalanceTaxable": "89500.00", "interestTaxable": "89500.00", "taxes": "89500.00", "endingBalanceTaxable": "89500.00", "beginningBalanceTaxdeferred": "89500.00", "interestTaxdeferred": "89500.00", "endingBalanceTaxdeferred": "89500.00" } ] }
application/json

What is the value of a college education?

POST
https://api.fincalc.com
/v2/calculators/value-of-college-education

What is the value of a college education? › Request Body

Inputs for the col05 calculation.
Col05Request
currentAge
​integer · min: 1 · max: 120 · required
Default: 25
retirementAge
​integer · min: 1 · max: 120 · required
Default: 65
uneducatedIncome
​number · required
Default: 46228
uneducatedIncreases
​number · min: 0 · max: 0.1 · required
Default: 0.03
educatedIncome
​number · required
Default: 82576
educatedIncreases
​number · min: 0 · max: 0.1 · required
Default: 0.03

What is the value of a college education? › Responses

Calculation result.

Result of the col05 calculation.
Col05Result
difference
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalNoDegree
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalWithDegree
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Col05YearRow[] · required
POST/v2/calculators/value-of-college-education
curl https://api.fincalc.com/v2/calculators/value-of-college-education \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "currentAge": 25,
  "retirementAge": 65,
  "uneducatedIncome": 46228,
  "uneducatedIncreases": 0.03,
  "educatedIncome": 82576,
  "educatedIncreases": 0.03
}'
Example Request Body
{
  "currentAge": 25,
  "retirementAge": 65,
  "uneducatedIncome": 46228,
  "uneducatedIncreases": 0.03,
  "educatedIncome": 82576,
  "educatedIncreases": 0.03
}
Example Responses
{ "difference": "89500.00", "totalNoDegree": "89500.00", "totalWithDegree": "89500.00", "years": [ { "year": 0, "salary1": "89500.00", "accumulatedEarnings1": "89500.00", "salary2": "89500.00", "accumulatedEarnings2": "89500.00" } ] }
application/json

What are the payments on a parental (PLUS) loan?

POST
https://api.fincalc.com
/v2/calculators/parent-plus-loan

What are the payments on a parental (PLUS) loan? › Request Body

Inputs for the col06 calculation.
Col06Request
loanYear1
​number · required
Default: 0
loanYear2
​number · required
Default: 0
loanYear3
​number · required
Default: 0
loanYear4
​number · required
Default: 0
interestRate
​number · min: 0 · max: 0.4 · required
Default: 0.0275
termMonths
​integer · min: 1 · max: 360 · required
Default: 120
amortization
​integer · enum · required
Enum values:
1
2
Default: 2

What are the payments on a parental (PLUS) loan? › Responses

Calculation result.

Result of the col06 calculation.
Col06Result
monthlyPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
loanAmount
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
interestPaid
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Col06YearRow[] · required
POST/v2/calculators/parent-plus-loan
curl https://api.fincalc.com/v2/calculators/parent-plus-loan \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "loanYear1": 0,
  "loanYear2": 0,
  "loanYear3": 0,
  "loanYear4": 0,
  "interestRate": 0.0275,
  "termMonths": 120,
  "amortization": 2
}'
Example Request Body
{
  "loanYear1": 0,
  "loanYear2": 0,
  "loanYear3": 0,
  "loanYear4": 0,
  "interestRate": 0.0275,
  "termMonths": 120,
  "amortization": 2
}
Example Responses
{ "monthlyPayment": "89500.00", "loanAmount": "89500.00", "interestPaid": "89500.00", "years": [ { "period": 0, "beginningBalance": "89500.00", "interest": "89500.00", "payment": "89500.00", "endingBalance": "89500.00" } ] }
application/json

Should I live at home, on campus, or off campus?

POST
https://api.fincalc.com
/v2/calculators/living-on-or-off-campus

Should I live at home, on campus, or off campus? › Request Body

Inputs for the col07 calculation.
Col07Request
years
​integer · min: 0 · max: 10 · required
Default: 0
inflationRate
​number · min: 0 · max: 0.1 · required
Default: 0
mosRecurring
​integer · min: 1 · max: 12 · required
Default: 9
cellphone1
​number · required
Default: 0
cellphone2
​number · required
Default: 0
cellphone3
​number · required
Default: 0
clothing1
​number · required
Default: 0
clothing2
​number · required
Default: 0
clothing3
​number · required
Default: 0
fees1
​number · required
Default: 0
fees2
​number · required
Default: 0
fees3
​number · required
Default: 0
computer1
​number · required
Default: 0
computer2
​number · required
Default: 0
computer3
​number · required
Default: 0
entertainment1
​number · required
Default: 0
entertainment2
​number · required
Default: 0
entertainment3
​number · required
Default: 0
meals1
​number · required
Default: 0
meals2
​number · required
Default: 0
meals3
​number · required
Default: 0
snacks1
​number · required
Default: 0
snacks2
​number · required
Default: 0
snacks3
​number · required
Default: 0
furnishingsone1
​number · required
Default: 0
furnishingsone2
​number · required
Default: 0
furnishingsone3
​number · required
Default: 0
furnishingsmany1
​number · required
Default: 0
furnishingsmany2
​number · required
Default: 0
furnishingsmany3
​number · required
Default: 0
health1
​number · required
Default: 0
health2
​number · required
Default: 0
health3
​number · required
Default: 0
cable1
​number · required
Default: 0
cable2
​number · required
Default: 0
cable3
​number · required
Default: 0
rentins1
​number · required
Default: 0
rentins2
​number · required
Default: 0
rentins3
​number · required
Default: 0
utilities1
​number · required
Default: 0
utilities2
​number · required
Default: 0
utilities3
​number · required
Default: 0
rent1
​number · required
Default: 0
rent2
​number · required
Default: 0
rent3
​number · required
Default: 0
housedeposit1
​number · required
Default: 0
housedeposit2
​number · required
Default: 0
housedeposit3
​number · required
Default: 0
internet1
​number · required
Default: 0
internet2
​number · required
Default: 0
internet3
​number · required
Default: 0
laundry1
​number · required
Default: 0
laundry2
​number · required
Default: 0
laundry3
​number · required
Default: 0
membership1
​number · required
Default: 0
membership2
​number · required
Default: 0
membership3
​number · required
Default: 0
parking1
​number · required
Default: 0
parking2
​number · required
Default: 0
parking3
​number · required
Default: 0
personal1
​number · required
Default: 0
personal2
​number · required
Default: 0
personal3
​number · required
Default: 0
phone1
​number · required
Default: 0
phone2
​number · required
Default: 0
phone3
​number · required
Default: 0
gas1
​number · required
Default: 0
gas2
​number · required
Default: 0
gas3
​number · required
Default: 0
autoins1
​number · required
Default: 0
autoins2
​number · required
Default: 0
autoins3
​number · required
Default: 0
automaint1
​number · required
Default: 0
automaint2
​number · required
Default: 0
automaint3
​number · required
Default: 0
autopayments1
​number · required
Default: 0
autopayments2
​number · required
Default: 0
autopayments3
​number · required
Default: 0
travel1
​number · required
Default: 0
travel2
​number · required
Default: 0
travel3
​number · required
Default: 0
utilityDeposit1
​number · required
Default: 0
utilityDeposit2
​number · required
Default: 0
utilityDeposit3
​number · required
Default: 0

Should I live at home, on campus, or off campus? › Responses

Calculation result.

Result of the col07 calculation.
Col07Result
currentOneHome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
currentOneOn
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
currentOneOff
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
currentMonthlyHome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
currentMonthlyOn
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
currentMonthlyOff
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
currentAnnualHome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
currentAnnualOn
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
currentAnnualOff
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
projectedOneHome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
projectedOneOn
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
projectedOneOff
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
projectedMonthlyHome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
projectedMonthlyOn
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
projectedMonthlyOff
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
projectedAnnualHome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
projectedAnnualOn
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
projectedAnnualOff
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
highestCost
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
lowestCost
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
spreadCost
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/living-on-or-off-campus
curl https://api.fincalc.com/v2/calculators/living-on-or-off-campus \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "years": 0, "inflationRate": 0, "mosRecurring": 9, "cellphone1": 0, "cellphone2": 0, "cellphone3": 0, "clothing1": 0, "clothing2": 0, "clothing3": 0, "fees1": 0, "fees2": 0, "fees3": 0, "computer1": 0, "computer2": 0, "computer3": 0, "entertainment1": 0, "entertainment2": 0, "entertainment3": 0, "meals1": 0, "meals2": 0, "meals3": 0, "snacks1": 0, "snacks2": 0, "snacks3": 0, "furnishingsone1": 0, "furnishingsone2": 0, "furnishingsone3": 0, "furnishingsmany1": 0, "furnishingsmany2": 0, "furnishingsmany3": 0, "health1": 0, "health2": 0, "health3": 0, "cable1": 0, "cable2": 0, "cable3": 0, "rentins1": 0, "rentins2": 0, "rentins3": 0, "utilities1": 0, "utilities2": 0, "utilities3": 0, "rent1": 0, "rent2": 0, "rent3": 0, "housedeposit1": 0, "housedeposit2": 0, "housedeposit3": 0, "internet1": 0, "internet2": 0, "internet3": 0, "laundry1": 0, "laundry2": 0, "laundry3": 0, "membership1": 0, "membership2": 0, "membership3": 0, "parking1": 0, "parking2": 0, "parking3": 0, "personal1": 0, "personal2": 0, "personal3": 0, "phone1": 0, "phone2": 0, "phone3": 0, "gas1": 0, "gas2": 0, "gas3": 0, "autoins1": 0, "autoins2": 0, "autoins3": 0, "automaint1": 0, "automaint2": 0, "automaint3": 0, "autopayments1": 0, "autopayments2": 0, "autopayments3": 0, "travel1": 0, "travel2": 0, "travel3": 0, "utilityDeposit1": 0, "utilityDeposit2": 0, "utilityDeposit3": 0 }'
Example Request Body
{ "years": 0, "inflationRate": 0, "mosRecurring": 9, "cellphone1": 0, "cellphone2": 0, "cellphone3": 0, "clothing1": 0, "clothing2": 0, "clothing3": 0, "fees1": 0, "fees2": 0, "fees3": 0, "computer1": 0, "computer2": 0, "computer3": 0, "entertainment1": 0, "entertainment2": 0, "entertainment3": 0, "meals1": 0, "meals2": 0, "meals3": 0, "snacks1": 0, "snacks2": 0, "snacks3": 0, "furnishingsone1": 0, "furnishingsone2": 0, "furnishingsone3": 0, "furnishingsmany1": 0, "furnishingsmany2": 0, "furnishingsmany3": 0, "health1": 0, "health2": 0, "health3": 0, "cable1": 0, "cable2": 0, "cable3": 0, "rentins1": 0, "rentins2": 0, "rentins3": 0, "utilities1": 0, "utilities2": 0, "utilities3": 0, "rent1": 0, "rent2": 0, "rent3": 0, "housedeposit1": 0, "housedeposit2": 0, "housedeposit3": 0, "internet1": 0, "internet2": 0, "internet3": 0, "laundry1": 0, "laundry2": 0, "laundry3": 0, "membership1": 0, "membership2": 0, "membership3": 0, "parking1": 0, "parking2": 0, "parking3": 0, "personal1": 0, "personal2": 0, "personal3": 0, "phone1": 0, "phone2": 0, "phone3": 0, "gas1": 0, "gas2": 0, "gas3": 0, "autoins1": 0, "autoins2": 0, "autoins3": 0, "automaint1": 0, "automaint2": 0, "automaint3": 0, "autopayments1": 0, "autopayments2": 0, "autopayments3": 0, "travel1": 0, "travel2": 0, "travel3": 0, "utilityDeposit1": 0, "utilityDeposit2": 0, "utilityDeposit3": 0 }
Example Responses
{ "currentOneHome": "89500.00", "currentOneOn": "89500.00", "currentOneOff": "89500.00", "currentMonthlyHome": "89500.00", "currentMonthlyOn": "89500.00", "currentMonthlyOff": "89500.00", "currentAnnualHome": "89500.00", "currentAnnualOn": "89500.00", "currentAnnualOff": "89500.00", "projectedOneHome": "89500.00", "projectedOneOn": "89500.00", "projectedOneOff": "89500.00", "projectedMonthlyHome": "89500.00", "projectedMonthlyOn": "89500.00", "projectedMonthlyOff": "89500.00", "projectedAnnualHome": "89500.00", "projectedAnnualOn": "89500.00", "projectedAnnualOff": "89500.00", "highestCost": "89500.00", "lowestCost": "89500.00", "spreadCost": "89500.00" }
application/json

When should I begin saving for my child's college?

POST
https://api.fincalc.com
/v2/calculators/when-to-start-saving-for-college

When should I begin saving for my child's college? › Request Body

Inputs for the col08 calculation.
Col08Request
currentAge
​integer · min: 0 · max: 17 · required
Default: 2
monthlySavings
​number · required
Default: 0
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.06
compounding
​integer · enum · required
Enum values:
52
26
24
12
1
Default: 12
currentSavings
​number · required
Default: 0

When should I begin saving for my child's college? › Responses

Calculation result.

Result of the col08 calculation.
Col08Result
​required
​required
​Col08YearRow[] · required
POST/v2/calculators/when-to-start-saving-for-college
curl https://api.fincalc.com/v2/calculators/when-to-start-saving-for-college \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "currentAge": 2,
  "monthlySavings": 0,
  "beforeTaxReturn": 0.06,
  "compounding": 12,
  "currentSavings": 0
}'
Example Request Body
{
  "currentAge": 2,
  "monthlySavings": 0,
  "beforeTaxReturn": 0.06,
  "compounding": 12,
  "currentSavings": 0
}
Example Responses
{ "futureColValueNow": "89500.00", "futureColValueWait": "89500.00", "years": [ { "yearsToWait": 0, "age": 0, "yearsToSave": 0, "yearlyAmount": "89500.00", "fvBeforetax": "89500.00", "fvAftertax": "89500.00" } ] }
application/json

What expenses should I expect before college?

POST
https://api.fincalc.com
/v2/calculators/what-expenses-should-i-expect-before-college

What expenses should I expect before college? › Request Body

Inputs for the col09 calculation.
Col09Request
numApplications
​integer · min: 1 · max: 100 · required
Default: 10
avgApplicationFee
​number · required
Default: 60
examFees
​number · required
Default: 100
numCollegeVisits
​integer · min: 1 · max: 20 · required
Default: 5
avgVisitCost
​number · required
Default: 200
laptopCost
​number · required
Default: 600
dormFurnitureCost
​number · required
Default: 600

What expenses should I expect before college? › Responses

Calculation result.

Result of the col09 calculation.
Col09Result
totalApplicationCosts
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalCollegeVisitCosts
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalEquipmentCosts
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalPreEducationCosts
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/what-expenses-should-i-expect-before-college
curl https://api.fincalc.com/v2/calculators/what-expenses-should-i-expect-before-college \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "numApplications": 10,
  "avgApplicationFee": 60,
  "examFees": 100,
  "numCollegeVisits": 5,
  "avgVisitCost": 200,
  "laptopCost": 600,
  "dormFurnitureCost": 600
}'
Example Request Body
{
  "numApplications": 10,
  "avgApplicationFee": 60,
  "examFees": 100,
  "numCollegeVisits": 5,
  "avgVisitCost": 200,
  "laptopCost": 600,
  "dormFurnitureCost": 600
}
Example Responses
{
  "totalApplicationCosts": "89500.00",
  "totalCollegeVisitCosts": "89500.00",
  "totalEquipmentCosts": "89500.00",
  "totalPreEducationCosts": "89500.00"
}
application/json

How soon can I breakeven if I refinance?

POST
https://api.fincalc.com
/v2/calculators/how-soon-can-i-breakeven-if-i-refinance

How soon can I breakeven if I refinance? › Request Body

Inputs for the cus106 calculation.
Cus106Request
loanAmount
​number · required
Default: 0
interestRate
​number · min: 0 · max: 0.4 · required
Default: 0.05
currentTerm
​integer · min: 1 · max: 480 · required
Default: 360
refinanceRate
​number · min: 0 · max: 0.4 · required
Default: 0.035
refinanceTerm
​integer · min: 1 · max: 480 · required
Default: 360
originationFee
​number · min: 0 · max: 0.05 · required
Default: 0.01
discountPoints
​number · min: 0 · max: 0.05 · required
Default: 0
refinanceFees
​number · required
Default: 2500

How soon can I breakeven if I refinance? › Responses

Calculation result.

Result of the cus106 calculation.
Cus106Result
currentTerm
​number · required
traditionalTerm
​number · required
currentPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
traditionalPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
traditionalBreakeven
​string · required
currentInterest
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
traditionalInterest
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/how-soon-can-i-breakeven-if-i-refinance
curl https://api.fincalc.com/v2/calculators/how-soon-can-i-breakeven-if-i-refinance \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "loanAmount": 0, "interestRate": 0.05, "currentTerm": 360, "refinanceRate": 0.035, "refinanceTerm": 360, "originationFee": 0.01, "discountPoints": 0, "refinanceFees": 2500 }'
Example Request Body
{
  "loanAmount": 0,
  "interestRate": 0.05,
  "currentTerm": 360,
  "refinanceRate": 0.035,
  "refinanceTerm": 360,
  "originationFee": 0.01,
  "discountPoints": 0,
  "refinanceFees": 2500
}
Example Responses
{
  "currentTerm": 0,
  "traditionalTerm": 0,
  "currentPayment": "89500.00",
  "traditionalPayment": "89500.00",
  "traditionalBreakeven": "traditionalBreakeven",
  "currentInterest": "89500.00",
  "traditionalInterest": "89500.00"
}
application/json

Evaluate Your Saving Strategy

POST
https://api.fincalc.com
/v2/calculators/evaluate-your-saving-strategy

Evaluate Your Saving Strategy › Request Body

Inputs for the cus14 calculation.
Cus14Request
currentAge
​integer · min: 1 · max: 120 · required
Default: 25
clientIncome
​number · required
Default: 0
retirementSavings
​number · required
Default: 0
savingsPercent
​number · min: 0 · max: 1 · required
Default: 0

Evaluate Your Saving Strategy › Responses

Calculation result.

Result of the cus14 calculation.
Cus14Result
yearsToRetirement
​number · required
yearsOfRetirement
​number · required
amtNeededAtRetirement
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
annualAmtToSave
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
recommendSavings
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
currSavingsToRetirement
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalNeededAtRetirement
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
currSavingsProvides
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
light
​Light · enum · required
Enum values:
beforetax401k
roth401k
roth401ksamenetpay
POST/v2/calculators/evaluate-your-saving-strategy
curl https://api.fincalc.com/v2/calculators/evaluate-your-saving-strategy \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "currentAge": 25,
  "clientIncome": 0,
  "retirementSavings": 0,
  "savingsPercent": 0
}'
Example Request Body
{
  "currentAge": 25,
  "clientIncome": 0,
  "retirementSavings": 0,
  "savingsPercent": 0
}
Example Responses
{
  "yearsToRetirement": 0,
  "yearsOfRetirement": 0,
  "amtNeededAtRetirement": "89500.00",
  "annualAmtToSave": "89500.00",
  "recommendSavings": 0.06,
  "currSavingsToRetirement": "89500.00",
  "totalNeededAtRetirement": "89500.00",
  "currSavingsProvides": 0.06,
  "light": "beforetax401k"
}
application/json

Compare Roth 401(k) Versus Before-Tax

POST
https://api.fincalc.com
/v2/calculators/compare-roth-401-k-versus-before-tax

Compare Roth 401(k) Versus Before-Tax › Request Body

Inputs for the cus15 calculation.
Cus15Request
currentAge
​integer · min: 1 · max: 99 · required
Default: 40
clientIncome
​number · required
Default: 0
salaryIncreases
​number · min: 0 · max: 0.2 · required
Default: 0
compounding
​integer · enum · required
Enum values:
52
26
24
12
1
Default: 26
yearsToRetirement
​integer · min: 1 · max: 40 · required
Default: 20
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.24
taxBracketState
​number · min: 0 · max: 0.75 · required
Default: 0.03
projectedTaxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.24
projectedTaxBracketState
​number · min: 0 · max: 0.75 · required
Default: 0.03
currentContribution
​number · min: 0 · max: 1 · required
Default: 0
maximumMatch
​number · min: 0 · max: 0.2 · required
Default: 0
employerMatch
​number · min: 0 · max: 3 · required
Default: 0
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0

Compare Roth 401(k) Versus Before-Tax › Responses

Calculation result.

Result of the cus15 calculation.
Cus15Result
light
​Light · enum · required
Enum values:
beforetax401k
roth401k
roth401ksamenetpay
accountRetirement
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
accountRetirementRoth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
annualTaxSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
annualTaxSavingsRoth
​string · required
contAmt
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
contAmtPeriod
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
contAtAmt
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
contATAmtPeriod
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
contAtRate
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
contRate
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
fvTaxSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
fvTaxSavingsRoth
​string · required
netBt401
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
netBtRoth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
subTotalBt401
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
subTotalBtRoth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
taxesBt401
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
taxesBtRoth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
taxImpactBt401
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
taxImpactBtRoth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
taxRatesCurrent
​string · required
taxRatesRetirement
​string · required
POST/v2/calculators/compare-roth-401-k-versus-before-tax
curl https://api.fincalc.com/v2/calculators/compare-roth-401-k-versus-before-tax \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "currentAge": 40, "clientIncome": 0, "salaryIncreases": 0, "compounding": 26, "yearsToRetirement": 20, "taxBracket": 0.24, "taxBracketState": 0.03, "projectedTaxBracket": 0.24, "projectedTaxBracketState": 0.03, "currentContribution": 0, "maximumMatch": 0, "employerMatch": 0, "beforeTaxReturn": 0 }'
Example Request Body
{ "currentAge": 40, "clientIncome": 0, "salaryIncreases": 0, "compounding": 26, "yearsToRetirement": 20, "taxBracket": 0.24, "taxBracketState": 0.03, "projectedTaxBracket": 0.24, "projectedTaxBracketState": 0.03, "currentContribution": 0, "maximumMatch": 0, "employerMatch": 0, "beforeTaxReturn": 0 }
Example Responses
{ "light": "beforetax401k", "accountRetirement": "89500.00", "accountRetirementRoth": "89500.00", "annualTaxSavings": "89500.00", "annualTaxSavingsRoth": "annualTaxSavingsRoth", "contAmt": "89500.00", "contAmtPeriod": "89500.00", "contAtAmt": "89500.00", "contATAmtPeriod": "89500.00", "contAtRate": 0.06, "contRate": 0.06, "fvTaxSavings": "89500.00", "fvTaxSavingsRoth": "fvTaxSavingsRoth", "netBt401": "89500.00", "netBtRoth": "89500.00", "subTotalBt401": "89500.00", "subTotalBtRoth": "89500.00", "taxesBt401": "89500.00", "taxesBtRoth": "89500.00", "taxImpactBt401": "89500.00", "taxImpactBtRoth": "89500.00", "taxRatesCurrent": "taxRatesCurrent", "taxRatesRetirement": "taxRatesRetirement" }
application/json

How long will it take to pay off my credit card?

POST
https://api.fincalc.com
/v2/calculators/how-long-will-it-take-to-pay-off-my-credit-card

How long will it take to pay off my credit card? › Request Body

Inputs for the det01 calculation.
Det01Request
ccBalance
​number · required
Default: 0
ccRate
​number · min: 0 · max: 0.4 · required
Default: 0.18
minpaymentRate
​number · min: 0.001 · max: 0.1 · required
Default: 0.03
minpaymentAmount
​number · required
Default: 35
additionalPayment
​number · required
Default: 0
amortization
​integer · enum · required
Enum values:
1
2
Default: 2

How long will it take to pay off my credit card? › Responses

Calculation result.

Result of the det01 calculation.
Det01Result
totalPayments
​integer · required
totalYears
​number · required
yearsSavings
​number · required
totalInterest
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
interestSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Det01YearRow[] · required
POST/v2/calculators/how-long-will-it-take-to-pay-off-my-credit-card
curl https://api.fincalc.com/v2/calculators/how-long-will-it-take-to-pay-off-my-credit-card \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "ccBalance": 0,
  "ccRate": 0.18,
  "minpaymentRate": 0.03,
  "minpaymentAmount": 35,
  "additionalPayment": 0,
  "amortization": 2
}'
Example Request Body
{
  "ccBalance": 0,
  "ccRate": 0.18,
  "minpaymentRate": 0.03,
  "minpaymentAmount": 35,
  "additionalPayment": 0,
  "amortization": 2
}
Example Responses
{ "totalPayments": 0, "totalYears": 0, "yearsSavings": 0, "totalInterest": "89500.00", "interestSavings": "89500.00", "years": [ { "year": 0, "beginningBalance": "89500.00", "interest": "89500.00", "interestCurrent": "89500.00", "payment": "89500.00", "endingBalance": "89500.00" } ] }
application/json

How long until my loan is paid off?

POST
https://api.fincalc.com
/v2/calculators/pay-off-loan

How long until my loan is paid off? › Request Body

Inputs for the det02 calculation.
Det02Request
loanBalance
​number · required
Default: 0
interestRate
​number · min: 0 · max: 0.4 · required
Default: 0.18
monthlyPayment
​number · required
Default: 0

How long until my loan is paid off? › Responses

Calculation result.

Result of the det02 calculation.
Det02Result
numPayments
​integer · required
yearsToPayoff
​number · required
interestPaid
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Det02YearRow[] · required
POST/v2/calculators/pay-off-loan
curl https://api.fincalc.com/v2/calculators/pay-off-loan \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "loanBalance": 0,
  "interestRate": 0.18,
  "monthlyPayment": 0
}'
Example Request Body
{
  "loanBalance": 0,
  "interestRate": 0.18,
  "monthlyPayment": 0
}
Example Responses
{ "numPayments": 0, "yearsToPayoff": 0, "interestPaid": "89500.00", "years": [ { "year": 0, "beginningBalance": "89500.00", "interest": "89500.00", "payment": "89500.00", "endingBalance": "89500.00" } ] }
application/json

What would my loan payments be?

POST
https://api.fincalc.com
/v2/calculators/loan-payment-calculator

What would my loan payments be? › Request Body

Inputs for the det03 calculation.
Det03Request
loanAmount
​number · required
Default: 0
interestRate
​number · min: 0 · max: 0.4 · required
Default: 0
termMonths
​integer · min: 1 · max: 360 · required
Default: 60
amortization
​integer · enum · required
Enum values:
1
2
3
Default: 2

What would my loan payments be? › Responses

Calculation result.

Result of the det03 calculation.
Det03Result
monthlyPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
interestPaid
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Det03YearRow[] · required
POST/v2/calculators/loan-payment-calculator
curl https://api.fincalc.com/v2/calculators/loan-payment-calculator \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "loanAmount": 0,
  "interestRate": 0,
  "termMonths": 60,
  "amortization": 2
}'
Example Request Body
{
  "loanAmount": 0,
  "interestRate": 0,
  "termMonths": 60,
  "amortization": 2
}
Example Responses
{
  "monthlyPayment": "89500.00",
  "interestPaid": "89500.00",
  "years": [
    {
      "period": 0,
      "beginningBalance": "89500.00",
      "interest": "89500.00",
      "payment": "89500.00",
      "endingBalance": "89500.00"
    }
  ]
}
application/json

Do I have too much debt?

POST
https://api.fincalc.com
/v2/calculators/too-much-debt

Do I have too much debt? › Request Body

Inputs for the det04 calculation.
Det04Request
expectedIncome
​number · required
Default: 0
mortgage
​number · required
Default: 0
loanAmount
​number · required
Default: 0

Do I have too much debt? › Responses

Calculation result.

Result of the det04 calculation.
Det04Result
takeHomePay
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
mortgagePayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
consumerPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
disposableIncome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
shortTermPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
mortgagePaymentPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
remainingPercent
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
debtRatio
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
totalPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
trafficLight
​TrafficLight · enum · required
Enum values:
green
red
yellow
POST/v2/calculators/too-much-debt
curl https://api.fincalc.com/v2/calculators/too-much-debt \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "expectedIncome": 0,
  "mortgage": 0,
  "loanAmount": 0
}'
Example Request Body
{
  "expectedIncome": 0,
  "mortgage": 0,
  "loanAmount": 0
}
Example Responses
{
  "takeHomePay": "89500.00",
  "mortgagePayment": "89500.00",
  "consumerPayment": "89500.00",
  "disposableIncome": "89500.00",
  "shortTermPercent": 0.06,
  "mortgagePaymentPercent": 0.06,
  "remainingPercent": 0.06,
  "debtRatio": 0.06,
  "totalPayment": "89500.00",
  "trafficLight": "green"
}
application/json

What is the balance on my loan?

POST
https://api.fincalc.com
/v2/calculators/loan-balance

What is the balance on my loan? › Request Body

Inputs for the det05 calculation.
Det05Request
paymentAmount
​number · required
Default: 0
interestRate
​number · min: 0 · max: 0.4 · required
Default: 0
termMonths
​integer · min: 1 · max: 360 · required
Default: 60
amortization
​integer · enum · required
Enum values:
1
2
Default: 2

What is the balance on my loan? › Responses

Calculation result.

Result of the det05 calculation.
Det05Result
loanBalance
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Det05YearRow[] · required
POST/v2/calculators/loan-balance
curl https://api.fincalc.com/v2/calculators/loan-balance \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "paymentAmount": 0,
  "interestRate": 0,
  "termMonths": 60,
  "amortization": 2
}'
Example Request Body
{
  "paymentAmount": 0,
  "interestRate": 0,
  "termMonths": 60,
  "amortization": 2
}
Example Responses
{
  "loanBalance": "89500.00",
  "years": [
    {
      "period": 0,
      "beginningBalance": "89500.00",
      "interest": "89500.00",
      "payment": "89500.00",
      "endingBalance": "89500.00"
    }
  ]
}
application/json

Will consolidating my debt into a new loan be beneficial?

POST
https://api.fincalc.com
/v2/calculators/debt-consolidation-calculator

Will consolidating my debt into a new loan be beneficial? › Request Body

Inputs for the det06 calculation.
Det06Request
interestRate
​number · min: 0 · max: 0.4 · required
Default: 0.06
termYears
​integer · min: 1 · max: 40 · required
Default: 15
​object[] · minItems: 1 · maxItems: 4 · required
​object[] · minItems: 1 · maxItems: 2 · required
rvBalance
​number · required
Default: 0
rvPayment
​number · required
Default: 0
rvRate
​number · min: 0 · max: 0.4 · required
Default: 0
​object[] · minItems: 1 · maxItems: 3 · required

Will consolidating my debt into a new loan be beneficial? › Responses

Calculation result.

Result of the det06 calculation.
Det06Result
debtPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
debtInterest
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
debtTerm
​integer · required
consBalance
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
consPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
consInterest
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
consTerm
​integer · required
recommendSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
recommendTerm
​integer · required
recommendInterest
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
recommendYears
​number · required
interestSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
debtBalance
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Det06YearRow[] · required
POST/v2/calculators/debt-consolidation-calculator
curl https://api.fincalc.com/v2/calculators/debt-consolidation-calculator \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "interestRate": 0.06, "termYears": 15, "ccs": [ { "balance": 0, "payment": 0, "rate": 0 } ], "autos": [ { "balance": 0, "payment": 0, "rate": 0 } ], "rvBalance": 0, "rvPayment": 0, "rvRate": 0, "others": [ { "balance": 0, "payment": 0, "rate": 0 } ] }'
Example Request Body
{ "interestRate": 0.06, "termYears": 15, "ccs": [ { "balance": 0, "payment": 0, "rate": 0 } ], "autos": [ { "balance": 0, "payment": 0, "rate": 0 } ], "rvBalance": 0, "rvPayment": 0, "rvRate": 0, "others": [ { "balance": 0, "payment": 0, "rate": 0 } ] }
Example Responses
{ "debtPayment": "89500.00", "debtInterest": "89500.00", "debtTerm": 0, "consBalance": "89500.00", "consPayment": "89500.00", "consInterest": "89500.00", "consTerm": 0, "recommendSavings": "89500.00", "recommendTerm": 0, "recommendInterest": "89500.00", "recommendYears": 0, "interestSavings": "89500.00", "debtBalance": "89500.00", "years": [ { "year": 0, "beginningBalance": "89500.00", "interest": "89500.00", "payment": "89500.00", "endingBalance": "89500.00" } ] }
application/json

Restructuring debts for accelerated payoff

POST
https://api.fincalc.com
/v2/calculators/restructuring-debt

Restructuring debts for accelerated payoff › Request Body

Inputs for the det07 calculation.
Det07Request
creditor1
​string · required
Default: Creditor 1
balance1
​number · required
Default: 0
minimumPayment1
​number · required
Default: 0
actualPayment1
​number · required
Default: 0
rate1
​number · min: 0 · max: 0.4 · required
Default: 0
creditor2
​string · required
Default: Creditor 2
balance2
​number · required
Default: 0
minimumPayment2
​number · required
Default: 0
actualPayment2
​number · required
Default: 0
rate2
​number · min: 0 · max: 0.4 · required
Default: 0
creditor3
​string · required
Default: Creditor 3
balance3
​number · required
Default: 0
minimumPayment3
​number · required
Default: 0
actualPayment3
​number · required
Default: 0
rate3
​number · min: 0 · max: 0.4 · required
Default: 0
creditor4
​string · required
Default: Creditor 4
balance4
​number · required
Default: 0
minimumPayment4
​number · required
Default: 0
actualPayment4
​number · required
Default: 0
rate4
​number · min: 0 · max: 0.4 · required
Default: 0
creditor5
​string · required
Default: Creditor 5
balance5
​number · required
Default: 0
minimumPayment5
​number · required
Default: 0
actualPayment5
​number · required
Default: 0
rate5
​number · min: 0 · max: 0.4 · required
Default: 0
creditor6
​string · required
Default: Creditor 6
balance6
​number · required
Default: 0
minimumPayment6
​number · required
Default: 0
actualPayment6
​number · required
Default: 0
rate6
​number · min: 0 · max: 0.4 · required
Default: 0
creditor7
​string · required
Default: Creditor 7
balance7
​number · required
Default: 0
minimumPayment7
​number · required
Default: 0
actualPayment7
​number · required
Default: 0
rate7
​number · min: 0 · max: 0.4 · required
Default: 0
creditor8
​string · required
Default: Creditor 8
balance8
​number · required
Default: 0
minimumPayment8
​number · required
Default: 0
actualPayment8
​number · required
Default: 0
rate8
​number · min: 0 · max: 0.4 · required
Default: 0
creditor9
​string · required
Default: Creditor 9
balance9
​number · required
Default: 0
minimumPayment9
​number · required
Default: 0
actualPayment9
​number · required
Default: 0
rate9
​number · min: 0 · max: 0.4 · required
Default: 0
creditor10
​string · required
Default: Creditor 10
balance10
​number · required
Default: 0
minimumPayment10
​number · required
Default: 0
actualPayment10
​number · required
Default: 0
rate10
​number · min: 0 · max: 0.4 · required
Default: 0
creditor11
​string · required
Default: Creditor 11
balance11
​number · required
Default: 0
minimumPayment11
​number · required
Default: 0
actualPayment11
​number · required
Default: 0
rate11
​number · min: 0 · max: 0.4 · required
Default: 0
creditor12
​string · required
Default: Creditor 12
balance12
​number · required
Default: 0
minimumPayment12
​number · required
Default: 0
actualPayment12
​number · required
Default: 0
rate12
​number · min: 0 · max: 0.4 · required
Default: 0
creditor13
​string · required
Default: Creditor 13
balance13
​number · required
Default: 0
minimumPayment13
​number · required
Default: 0
actualPayment13
​number · required
Default: 0
rate13
​number · min: 0 · max: 0.4 · required
Default: 0
creditor14
​string · required
Default: Creditor 14
balance14
​number · required
Default: 0
minimumPayment14
​number · required
Default: 0
actualPayment14
​number · required
Default: 0
rate14
​number · min: 0 · max: 0.4 · required
Default: 0
creditor15
​string · required
Default: Creditor 15
balance15
​number · required
Default: 0
minimumPayment15
​number · required
Default: 0
actualPayment15
​number · required
Default: 0
rate15
​number · min: 0 · max: 0.4 · required
Default: 0
creditor16
​string · required
Default: Creditor 16
balance16
​number · required
Default: 0
minimumPayment16
​number · required
Default: 0
actualPayment16
​number · required
Default: 0
rate16
​number · min: 0 · max: 0.4 · required
Default: 0
creditor17
​string · required
Default: Creditor 17
balance17
​number · required
Default: 0
minimumPayment17
​number · required
Default: 0
actualPayment17
​number · required
Default: 0
rate17
​number · min: 0 · max: 0.4 · required
Default: 0
creditor18
​string · required
Default: Creditor 18
balance18
​number · required
Default: 0
minimumPayment18
​number · required
Default: 0
actualPayment18
​number · required
Default: 0
rate18
​number · min: 0 · max: 0.4 · required
Default: 0
creditor19
​string · required
Default: Creditor 19
balance19
​number · required
Default: 0
minimumPayment19
​number · required
Default: 0
actualPayment19
​number · required
Default: 0
rate19
​number · min: 0 · max: 0.4 · required
Default: 0
creditor20
​string · required
Default: Creditor 20
balance20
​number · required
Default: 0
minimumPayment20
​number · required
Default: 0
actualPayment20
​number · required
Default: 0
rate20
​number · min: 0 · max: 0.4 · required
Default: 0
creditor21
​string · required
Default: Creditor 21
balance21
​number · required
Default: 0
minimumPayment21
​number · required
Default: 0
actualPayment21
​number · required
Default: 0
rate21
​number · min: 0 · max: 0.4 · required
Default: 0
creditor22
​string · required
Default: Creditor 22
balance22
​number · required
Default: 0
minimumPayment22
​number · required
Default: 0
actualPayment22
​number · required
Default: 0
rate22
​number · min: 0 · max: 0.4 · required
Default: 0
creditor23
​string · required
Default: Creditor 23
balance23
​number · required
Default: 0
minimumPayment23
​number · required
Default: 0
actualPayment23
​number · required
Default: 0
rate23
​number · min: 0 · max: 0.4 · required
Default: 0
creditor24
​string · required
Default: Creditor 24
balance24
​number · required
Default: 0
minimumPayment24
​number · required
Default: 0
actualPayment24
​number · required
Default: 0
rate24
​number · min: 0 · max: 0.4 · required
Default: 0
creditor25
​string · required
Default: Creditor 25
balance25
​number · required
Default: 0
minimumPayment25
​number · required
Default: 0
actualPayment25
​number · required
Default: 0
rate25
​number · min: 0 · max: 0.4 · required
Default: 0
creditor26
​string · required
Default: Creditor 26
balance26
​number · required
Default: 0
minimumPayment26
​number · required
Default: 0
actualPayment26
​number · required
Default: 0
rate26
​number · min: 0 · max: 0.4 · required
Default: 0
creditor27
​string · required
Default: Creditor 27
balance27
​number · required
Default: 0
minimumPayment27
​number · required
Default: 0
actualPayment27
​number · required
Default: 0
rate27
​number · min: 0 · max: 0.4 · required
Default: 0
creditor28
​string · required
Default: Creditor 28
balance28
​number · required
Default: 0
minimumPayment28
​number · required
Default: 0
actualPayment28
​number · required
Default: 0
rate28
​number · min: 0 · max: 0.4 · required
Default: 0
creditor29
​string · required
Default: Creditor 29
balance29
​number · required
Default: 0
minimumPayment29
​number · required
Default: 0
actualPayment29
​number · required
Default: 0
rate29
​number · min: 0 · max: 0.4 · required
Default: 0
creditor30
​string · required
Default: Creditor 30
balance30
​number · required
Default: 0
minimumPayment30
​number · required
Default: 0
actualPayment30
​number · required
Default: 0
rate30
​number · min: 0 · max: 0.4 · required
Default: 0
creditor31
​string · required
Default: Creditor 31
balance31
​number · required
Default: 0
minimumPayment31
​number · required
Default: 0
actualPayment31
​number · required
Default: 0
rate31
​number · min: 0 · max: 0.4 · required
Default: 0
creditor32
​string · required
Default: Creditor 32
balance32
​number · required
Default: 0
minimumPayment32
​number · required
Default: 0
actualPayment32
​number · required
Default: 0
rate32
​number · min: 0 · max: 0.4 · required
Default: 0
creditor33
​string · required
Default: Creditor 33
balance33
​number · required
Default: 0
minimumPayment33
​number · required
Default: 0
actualPayment33
​number · required
Default: 0
rate33
​number · min: 0 · max: 0.4 · required
Default: 0
creditor34
​string · required
Default: Creditor 34
balance34
​number · required
Default: 0
minimumPayment34
​number · required
Default: 0
actualPayment34
​number · required
Default: 0
rate34
​number · min: 0 · max: 0.4 · required
Default: 0
creditor35
​string · required
Default: Creditor 35
balance35
​number · required
Default: 0
minimumPayment35
​number · required
Default: 0
actualPayment35
​number · required
Default: 0
rate35
​number · min: 0 · max: 0.4 · required
Default: 0
creditor36
​string · required
Default: Creditor 36
balance36
​number · required
Default: 0
minimumPayment36
​number · required
Default: 0
actualPayment36
​number · required
Default: 0
rate36
​number · min: 0 · max: 0.4 · required
Default: 0
creditor37
​string · required
Default: Creditor 37
balance37
​number · required
Default: 0
minimumPayment37
​number · required
Default: 0
actualPayment37
​number · required
Default: 0
rate37
​number · min: 0 · max: 0.4 · required
Default: 0
creditor38
​string · required
Default: Creditor 38
balance38
​number · required
Default: 0
minimumPayment38
​number · required
Default: 0
actualPayment38
​number · required
Default: 0
rate38
​number · min: 0 · max: 0.4 · required
Default: 0
creditor39
​string · required
Default: Creditor 39
balance39
​number · required
Default: 0
minimumPayment39
​number · required
Default: 0
actualPayment39
​number · required
Default: 0
rate39
​number · min: 0 · max: 0.4 · required
Default: 0
creditor40
​string · required
Default: Creditor 40
balance40
​number · required
Default: 0
minimumPayment40
​number · required
Default: 0
actualPayment40
​number · required
Default: 0
rate40
​number · min: 0 · max: 0.4 · required
Default: 0
creditor41
​string · required
Default: Creditor 41
balance41
​number · required
Default: 0
minimumPayment41
​number · required
Default: 0
actualPayment41
​number · required
Default: 0
rate41
​number · min: 0 · max: 0.4 · required
Default: 0
creditor42
​string · required
Default: Creditor 42
balance42
​number · required
Default: 0
minimumPayment42
​number · required
Default: 0
actualPayment42
​number · required
Default: 0
rate42
​number · min: 0 · max: 0.4 · required
Default: 0
creditor43
​string · required
Default: Creditor 43
balance43
​number · required
Default: 0
minimumPayment43
​number · required
Default: 0
actualPayment43
​number · required
Default: 0
rate43
​number · min: 0 · max: 0.4 · required
Default: 0
creditor44
​string · required
Default: Creditor 44
balance44
​number · required
Default: 0
minimumPayment44
​number · required
Default: 0
actualPayment44
​number · required
Default: 0
rate44
​number · min: 0 · max: 0.4 · required
Default: 0
creditor45
​string · required
Default: Creditor 45
balance45
​number · required
Default: 0
minimumPayment45
​number · required
Default: 0
actualPayment45
​number · required
Default: 0
rate45
​number · min: 0 · max: 0.4 · required
Default: 0
creditor46
​string · required
Default: Creditor 46
balance46
​number · required
Default: 0
minimumPayment46
​number · required
Default: 0
actualPayment46
​number · required
Default: 0
rate46
​number · min: 0 · max: 0.4 · required
Default: 0
creditor47
​string · required
Default: Creditor 47
balance47
​number · required
Default: 0
minimumPayment47
​number · required
Default: 0
actualPayment47
​number · required
Default: 0
rate47
​number · min: 0 · max: 0.4 · required
Default: 0
creditor48
​string · required
Default: Creditor 48
balance48
​number · required
Default: 0
minimumPayment48
​number · required
Default: 0
actualPayment48
​number · required
Default: 0
rate48
​number · min: 0 · max: 0.4 · required
Default: 0
creditor49
​string · required
Default: Creditor 49
balance49
​number · required
Default: 0
minimumPayment49
​number · required
Default: 0
actualPayment49
​number · required
Default: 0
rate49
​number · min: 0 · max: 0.4 · required
Default: 0
creditor50
​string · required
Default: Creditor 50
balance50
​number · required
Default: 0
minimumPayment50
​number · required
Default: 0
actualPayment50
​number · required
Default: 0
rate50
​number · min: 0 · max: 0.4 · required
Default: 0
creditor51
​string · required
Default: Creditor 51
balance51
​number · required
Default: 0
minimumPayment51
​number · required
Default: 0
actualPayment51
​number · required
Default: 0
rate51
​number · min: 0 · max: 0.4 · required
Default: 0
creditor52
​string · required
Default: Creditor 52
balance52
​number · required
Default: 0
minimumPayment52
​number · required
Default: 0
actualPayment52
​number · required
Default: 0
rate52
​number · min: 0 · max: 0.4 · required
Default: 0
creditor53
​string · required
Default: Creditor 53
balance53
​number · required
Default: 0
minimumPayment53
​number · required
Default: 0
actualPayment53
​number · required
Default: 0
rate53
​number · min: 0 · max: 0.4 · required
Default: 0
creditor54
​string · required
Default: Creditor 54
balance54
​number · required
Default: 0
minimumPayment54
​number · required
Default: 0
actualPayment54
​number · required
Default: 0
rate54
​number · min: 0 · max: 0.4 · required
Default: 0
creditor55
​string · required
Default: Creditor 55
balance55
​number · required
Default: 0
minimumPayment55
​number · required
Default: 0
actualPayment55
​number · required
Default: 0
rate55
​number · min: 0 · max: 0.4 · required
Default: 0
creditor56
​string · required
Default: Creditor 56
balance56
​number · required
Default: 0
minimumPayment56
​number · required
Default: 0
actualPayment56
​number · required
Default: 0
rate56
​number · min: 0 · max: 0.4 · required
Default: 0
creditor57
​string · required
Default: Creditor 57
balance57
​number · required
Default: 0
minimumPayment57
​number · required
Default: 0
actualPayment57
​number · required
Default: 0
rate57
​number · min: 0 · max: 0.4 · required
Default: 0
creditor58
​string · required
Default: Creditor 58
balance58
​number · required
Default: 0
minimumPayment58
​number · required
Default: 0
actualPayment58
​number · required
Default: 0
rate58
​number · min: 0 · max: 0.4 · required
Default: 0
creditor59
​string · required
Default: Creditor 59
balance59
​number · required
Default: 0
minimumPayment59
​number · required
Default: 0
actualPayment59
​number · required
Default: 0
rate59
​number · min: 0 · max: 0.4 · required
Default: 0
creditor60
​string · required
Default: Creditor 60
balance60
​number · required
Default: 0
minimumPayment60
​number · required
Default: 0
actualPayment60
​number · required
Default: 0
rate60
​number · min: 0 · max: 0.4 · required
Default: 0
creditor61
​string · required
Default: Creditor 61
balance61
​number · required
Default: 0
minimumPayment61
​number · required
Default: 0
actualPayment61
​number · required
Default: 0
rate61
​number · min: 0 · max: 0.4 · required
Default: 0
creditor62
​string · required
Default: Creditor 62
balance62
​number · required
Default: 0
minimumPayment62
​number · required
Default: 0
actualPayment62
​number · required
Default: 0
rate62
​number · min: 0 · max: 0.4 · required
Default: 0
creditor63
​string · required
Default: Creditor 63
balance63
​number · required
Default: 0
minimumPayment63
​number · required
Default: 0
actualPayment63
​number · required
Default: 0
rate63
​number · min: 0 · max: 0.4 · required
Default: 0
creditor64
​string · required
Default: Creditor 64
balance64
​number · required
Default: 0
minimumPayment64
​number · required
Default: 0
actualPayment64
​number · required
Default: 0
rate64
​number · min: 0 · max: 0.4 · required
Default: 0
creditor65
​string · required
Default: Creditor 65
balance65
​number · required
Default: 0
minimumPayment65
​number · required
Default: 0
actualPayment65
​number · required
Default: 0
rate65
​number · min: 0 · max: 0.4 · required
Default: 0
creditor66
​string · required
Default: Creditor 66
balance66
​number · required
Default: 0
minimumPayment66
​number · required
Default: 0
actualPayment66
​number · required
Default: 0
rate66
​number · min: 0 · max: 0.4 · required
Default: 0
creditor67
​string · required
Default: Creditor 67
balance67
​number · required
Default: 0
minimumPayment67
​number · required
Default: 0
actualPayment67
​number · required
Default: 0
rate67
​number · min: 0 · max: 0.4 · required
Default: 0
creditor68
​string · required
Default: Creditor 68
balance68
​number · required
Default: 0
minimumPayment68
​number · required
Default: 0
actualPayment68
​number · required
Default: 0
rate68
​number · min: 0 · max: 0.4 · required
Default: 0
creditor69
​string · required
Default: Creditor 69
balance69
​number · required
Default: 0
minimumPayment69
​number · required
Default: 0
actualPayment69
​number · required
Default: 0
rate69
​number · min: 0 · max: 0.4 · required
Default: 0
creditor70
​string · required
Default: Creditor 70
balance70
​number · required
Default: 0
minimumPayment70
​number · required
Default: 0
actualPayment70
​number · required
Default: 0
rate70
​number · min: 0 · max: 0.4 · required
Default: 0
creditor71
​string · required
Default: Creditor 71
balance71
​number · required
Default: 0
minimumPayment71
​number · required
Default: 0
actualPayment71
​number · required
Default: 0
rate71
​number · min: 0 · max: 0.4 · required
Default: 0
creditor72
​string · required
Default: Creditor 72
balance72
​number · required
Default: 0
minimumPayment72
​number · required
Default: 0
actualPayment72
​number · required
Default: 0
rate72
​number · min: 0 · max: 0.4 · required
Default: 0
creditor73
​string · required
Default: Creditor 73
balance73
​number · required
Default: 0
minimumPayment73
​number · required
Default: 0
actualPayment73
​number · required
Default: 0
rate73
​number · min: 0 · max: 0.4 · required
Default: 0
creditor74
​string · required
Default: Creditor 74
balance74
​number · required
Default: 0
minimumPayment74
​number · required
Default: 0
actualPayment74
​number · required
Default: 0
rate74
​number · min: 0 · max: 0.4 · required
Default: 0
creditor75
​string · required
Default: Creditor 75
balance75
​number · required
Default: 0
minimumPayment75
​number · required
Default: 0
actualPayment75
​number · required
Default: 0
rate75
​number · min: 0 · max: 0.4 · required
Default: 0
creditor76
​string · required
Default: Creditor 76
balance76
​number · required
Default: 0
minimumPayment76
​number · required
Default: 0
actualPayment76
​number · required
Default: 0
rate76
​number · min: 0 · max: 0.4 · required
Default: 0
creditor77
​string · required
Default: Creditor 77
balance77
​number · required
Default: 0
minimumPayment77
​number · required
Default: 0
actualPayment77
​number · required
Default: 0
rate77
​number · min: 0 · max: 0.4 · required
Default: 0
creditor78
​string · required
Default: Creditor 78
balance78
​number · required
Default: 0
minimumPayment78
​number · required
Default: 0
actualPayment78
​number · required
Default: 0
rate78
​number · min: 0 · max: 0.4 · required
Default: 0
creditor79
​string · required
Default: Creditor 79
balance79
​number · required
Default: 0
minimumPayment79
​number · required
Default: 0
actualPayment79
​number · required
Default: 0
rate79
​number · min: 0 · max: 0.4 · required
Default: 0
creditor80
​string · required
Default: Creditor 80
balance80
​number · required
Default: 0
minimumPayment80
​number · required
Default: 0
actualPayment80
​number · required
Default: 0
rate80
​number · min: 0 · max: 0.4 · required
Default: 0
creditor81
​string · required
Default: Creditor 81
balance81
​number · required
Default: 0
minimumPayment81
​number · required
Default: 0
actualPayment81
​number · required
Default: 0
rate81
​number · min: 0 · max: 0.4 · required
Default: 0
creditor82
​string · required
Default: Creditor 82
balance82
​number · required
Default: 0
minimumPayment82
​number · required
Default: 0
actualPayment82
​number · required
Default: 0
rate82
​number · min: 0 · max: 0.4 · required
Default: 0
creditor83
​string · required
Default: Creditor 83
balance83
​number · required
Default: 0
minimumPayment83
​number · required
Default: 0
actualPayment83
​number · required
Default: 0
rate83
​number · min: 0 · max: 0.4 · required
Default: 0
creditor84
​string · required
Default: Creditor 84
balance84
​number · required
Default: 0
minimumPayment84
​number · required
Default: 0
actualPayment84
​number · required
Default: 0
rate84
​number · min: 0 · max: 0.4 · required
Default: 0
creditor85
​string · required
Default: Creditor 85
balance85
​number · required
Default: 0
minimumPayment85
​number · required
Default: 0
actualPayment85
​number · required
Default: 0
rate85
​number · min: 0 · max: 0.4 · required
Default: 0
creditor86
​string · required
Default: Creditor 86
balance86
​number · required
Default: 0
minimumPayment86
​number · required
Default: 0
actualPayment86
​number · required
Default: 0
rate86
​number · min: 0 · max: 0.4 · required
Default: 0
creditor87
​string · required
Default: Creditor 87
balance87
​number · required
Default: 0
minimumPayment87
​number · required
Default: 0
actualPayment87
​number · required
Default: 0
rate87
​number · min: 0 · max: 0.4 · required
Default: 0
creditor88
​string · required
Default: Creditor 88
balance88
​number · required
Default: 0
minimumPayment88
​number · required
Default: 0
actualPayment88
​number · required
Default: 0
rate88
​number · min: 0 · max: 0.4 · required
Default: 0
creditor89
​string · required
Default: Creditor 89
balance89
​number · required
Default: 0
minimumPayment89
​number · required
Default: 0
actualPayment89
​number · required
Default: 0
rate89
​number · min: 0 · max: 0.4 · required
Default: 0
creditor90
​string · required
Default: Creditor 90
balance90
​number · required
Default: 0
minimumPayment90
​number · required
Default: 0
actualPayment90
​number · required
Default: 0
rate90
​number · min: 0 · max: 0.4 · required
Default: 0
creditor91
​string · required
Default: Creditor 91
balance91
​number · required
Default: 0
minimumPayment91
​number · required
Default: 0
actualPayment91
​number · required
Default: 0
rate91
​number · min: 0 · max: 0.4 · required
Default: 0
creditor92
​string · required
Default: Creditor 92
balance92
​number · required
Default: 0
minimumPayment92
​number · required
Default: 0
actualPayment92
​number · required
Default: 0
rate92
​number · min: 0 · max: 0.4 · required
Default: 0
creditor93
​string · required
Default: Creditor 93
balance93
​number · required
Default: 0
minimumPayment93
​number · required
Default: 0
actualPayment93
​number · required
Default: 0
rate93
​number · min: 0 · max: 0.4 · required
Default: 0
creditor94
​string · required
Default: Creditor 94
balance94
​number · required
Default: 0
minimumPayment94
​number · required
Default: 0
actualPayment94
​number · required
Default: 0
rate94
​number · min: 0 · max: 0.4 · required
Default: 0
creditor95
​string · required
Default: Creditor 95
balance95
​number · required
Default: 0
minimumPayment95
​number · required
Default: 0
actualPayment95
​number · required
Default: 0
rate95
​number · min: 0 · max: 0.4 · required
Default: 0
creditor96
​string · required
Default: Creditor 96
balance96
​number · required
Default: 0
minimumPayment96
​number · required
Default: 0
actualPayment96
​number · required
Default: 0
rate96
​number · min: 0 · max: 0.4 · required
Default: 0
creditor97
​string · required
Default: Creditor 97
balance97
​number · required
Default: 0
minimumPayment97
​number · required
Default: 0
actualPayment97
​number · required
Default: 0
rate97
​number · min: 0 · max: 0.4 · required
Default: 0
creditor98
​string · required
Default: Creditor 98
balance98
​number · required
Default: 0
minimumPayment98
​number · required
Default: 0
actualPayment98
​number · required
Default: 0
rate98
​number · min: 0 · max: 0.4 · required
Default: 0
creditor99
​string · required
Default: Creditor 99
balance99
​number · required
Default: 0
minimumPayment99
​number · required
Default: 0
actualPayment99
​number · required
Default: 0
rate99
​number · min: 0 · max: 0.4 · required
Default: 0
creditor100
​string · required
Default: Creditor 100
balance100
​number · required
Default: 0
minimumPayment100
​number · required
Default: 0
actualPayment100
​number · required
Default: 0
rate100
​number · min: 0 · max: 0.4 · required
Default: 0
extraPayment
​number · required
Default: 0
oneTimePaymentAmount
​number · required
Default: 0
oneTimePaymentMonth
​string · enum · required
Enum values:
1
2
3
4
5
6
7
8
Default: 1
oneTimePaymentYear
​integer · min: 2026 · max: 2050 · required
Default: 2027
startMonth
​string · enum · required
Enum values:
1
2
3
4
5
6
7
8
Default: 1
startYear
​integer · min: 2026 · max: 2050 · required
Default: 2027
debtOrderMethod
​integer · enum · required
Enum values:
1
2
3
Default: 2
savingsRate
​number · min: -0.12 · max: 0.12 · required
Default: 0.05

Restructuring debts for accelerated payoff › Responses

Calculation result.

Result of the det07 calculation.
Det07Result
currentPayoffMonths
​integer · required
rollupPayoffMonths
​integer · required
currentPayoffYears
​number · required
rollupPayoffYears
​number · required
currentInterestPaid
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
rollupInterestPaid
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalMonthlyPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalRollupMonthlyPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalCurrentDebtPayments
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalRollupDebtPayments
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
savings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Det07DebtRow[] · required
POST/v2/calculators/restructuring-debt
curl https://api.fincalc.com/v2/calculators/restructuring-debt \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "creditor1": "Creditor 1", "balance1": 0, "minimumPayment1": 0, "actualPayment1": 0, "rate1": 0, "creditor2": "Creditor 2", "balance2": 0, "minimumPayment2": 0, "actualPayment2": 0, "rate2": 0, "creditor3": "Creditor 3", "balance3": 0, "minimumPayment3": 0, "actualPayment3": 0, "rate3": 0, "creditor4": "Creditor 4", "balance4": 0, "minimumPayment4": 0, "actualPayment4": 0, "rate4": 0, "creditor5": "Creditor 5", "balance5": 0, "minimumPayment5": 0, "actualPayment5": 0, "rate5": 0, "creditor6": "Creditor 6", "balance6": 0, "minimumPayment6": 0, "actualPayment6": 0, "rate6": 0, "creditor7": "Creditor 7", "balance7": 0, "minimumPayment7": 0, "actualPayment7": 0, "rate7": 0, "creditor8": "Creditor 8", "balance8": 0, "minimumPayment8": 0, "actualPayment8": 0, "rate8": 0, "creditor9": "Creditor 9", "balance9": 0, "minimumPayment9": 0, "actualPayment9": 0, "rate9": 0, "creditor10": "Creditor 10", "balance10": 0, "minimumPayment10": 0, "actualPayment10": 0, "rate10": 0, "creditor11": "Creditor 11", "balance11": 0, "minimumPayment11": 0, "actualPayment11": 0, "rate11": 0, "creditor12": "Creditor 12", "balance12": 0, "minimumPayment12": 0, "actualPayment12": 0, "rate12": 0, "creditor13": "Creditor 13", "balance13": 0, "minimumPayment13": 0, "actualPayment13": 0, "rate13": 0, "creditor14": "Creditor 14", "balance14": 0, "minimumPayment14": 0, "actualPayment14": 0, "rate14": 0, "creditor15": "Creditor 15", "balance15": 0, "minimumPayment15": 0, "actualPayment15": 0, "rate15": 0, "creditor16": "Creditor 16", "balance16": 0, "minimumPayment16": 0, "actualPayment16": 0, "rate16": 0, "creditor17": "Creditor 17", "balance17": 0, "minimumPayment17": 0, "actualPayment17": 0, "rate17": 0, "creditor18": "Creditor 18", "balance18": 0, "minimumPayment18": 0, "actualPayment18": 0, "rate18": 0, "creditor19": "Creditor 19", "balance19": 0, "minimumPayment19": 0, "actualPayment19": 0, "rate19": 0, "creditor20": "Creditor 20", "balance20": 0, "minimumPayment20": 0, "actualPayment20": 0, "rate20": 0, "creditor21": "Creditor 21", "balance21": 0, "minimumPayment21": 0, "actualPayment21": 0, "rate21": 0, "creditor22": "Creditor 22", "balance22": 0, "minimumPayment22": 0, "actualPayment22": 0, "rate22": 0, "creditor23": "Creditor 23", "balance23": 0, "minimumPayment23": 0, "actualPayment23": 0, "rate23": 0, "creditor24": "Creditor 24", "balance24": 0, "minimumPayment24": 0, "actualPayment24": 0, "rate24": 0, "creditor25": "Creditor 25", "balance25": 0, "minimumPayment25": 0, "actualPayment25": 0, "rate25": 0, "creditor26": "Creditor 26", "balance26": 0, "minimumPayment26": 0, "actualPayment26": 0, "rate26": 0, "creditor27": "Creditor 27", "balance27": 0, "minimumPayment27": 0, "actualPayment27": 0, "rate27": 0, "creditor28": "Creditor 28", "balance28": 0, "minimumPayment28": 0, "actualPayment28": 0, "rate28": 0, "creditor29": "Creditor 29", "balance29": 0, "minimumPayment29": 0, "actualPayment29": 0, "rate29": 0, "creditor30": "Creditor 30", "balance30": 0, "minimumPayment30": 0, "actualPayment30": 0, "rate30": 0, "creditor31": "Creditor 31", "balance31": 0, "minimumPayment31": 0, "actualPayment31": 0, "rate31": 0, "creditor32": "Creditor 32", "balance32": 0, "minimumPayment32": 0, "actualPayment32": 0, "rate32": 0, "creditor33": "Creditor 33", "balance33": 0, "minimumPayment33": 0, "actualPayment33": 0, "rate33": 0, "creditor34": "Creditor 34", "balance34": 0, "minimumPayment34": 0, "actualPayment34": 0, "rate34": 0, "creditor35": "Creditor 35", "balance35": 0, "minimumPayment35": 0, "actualPayment35": 0, "rate35": 0, "creditor36": "Creditor 36", "balance36": 0, "minimumPayment36": 0, "actualPayment36": 0, "rate36": 0, "creditor37": "Creditor 37", "balance37": 0, "minimumPayment37": 0, "actualPayment37": 0, "rate37": 0, "creditor38": "Creditor 38", "balance38": 0, "minimumPayment38": 0, "actualPayment38": 0, "rate38": 0, "creditor39": "Creditor 39", "balance39": 0, "minimumPayment39": 0, "actualPayment39": 0, "rate39": 0, "creditor40": "Creditor 40", "balance40": 0, "minimumPayment40": 0, "actualPayment40": 0, "rate40": 0, "creditor41": "Creditor 41", "balance41": 0, "minimumPayment41": 0, "actualPayment41": 0, "rate41": 0, "creditor42": "Creditor 42", "balance42": 0, "minimumPayment42": 0, "actualPayment42": 0, "rate42": 0, "creditor43": "Creditor 43", "balance43": 0, "minimumPayment43": 0, "actualPayment43": 0, "rate43": 0, "creditor44": "Creditor 44", "balance44": 0, "minimumPayment44": 0, "actualPayment44": 0, "rate44": 0, "creditor45": "Creditor 45", "balance45": 0, "minimumPayment45": 0, "actualPayment45": 0, "rate45": 0, "creditor46": "Creditor 46", "balance46": 0, "minimumPayment46": 0, "actualPayment46": 0, "rate46": 0, "creditor47": "Creditor 47", "balance47": 0, "minimumPayment47": 0, "actualPayment47": 0, "rate47": 0, "creditor48": "Creditor 48", "balance48": 0, "minimumPayment48": 0, "actualPayment48": 0, "rate48": 0, "creditor49": "Creditor 49", "balance49": 0, "minimumPayment49": 0, "actualPayment49": 0, "rate49": 0, "creditor50": "Creditor 50", "balance50": 0, "minimumPayment50": 0, "actualPayment50": 0, "rate50": 0, "creditor51": "Creditor 51", "balance51": 0, "minimumPayment51": 0, "actualPayment51": 0, "rate51": 0, "creditor52": "Creditor 52", "balance52": 0, "minimumPayment52": 0, "actualPayment52": 0, "rate52": 0, "creditor53": "Creditor 53", "balance53": 0, "minimumPayment53": 0, "actualPayment53": 0, "rate53": 0, "creditor54": "Creditor 54", "balance54": 0, "minimumPayment54": 0, "actualPayment54": 0, "rate54": 0, "creditor55": "Creditor 55", "balance55": 0, "minimumPayment55": 0, "actualPayment55": 0, "rate55": 0, "creditor56": "Creditor 56", "balance56": 0, "minimumPayment56": 0, "actualPayment56": 0, "rate56": 0, "creditor57": "Creditor 57", "balance57": 0, "minimumPayment57": 0, "actualPayment57": 0, "rate57": 0, "creditor58": "Creditor 58", "balance58": 0, "minimumPayment58": 0, "actualPayment58": 0, "rate58": 0, "creditor59": "Creditor 59", "balance59": 0, "minimumPayment59": 0, "actualPayment59": 0, "rate59": 0, "creditor60": "Creditor 60", "balance60": 0, "minimumPayment60": 0, "actualPayment60": 0, "rate60": 0, "creditor61": "Creditor 61", "balance61": 0, "minimumPayment61": 0, "actualPayment61": 0, "rate61": 0, "creditor62": "Creditor 62", "balance62": 0, "minimumPayment62": 0, "actualPayment62": 0, "rate62": 0, "creditor63": "Creditor 63", "balance63": 0, "minimumPayment63": 0, "actualPayment63": 0, "rate63": 0, "creditor64": "Creditor 64", "balance64": 0, "minimumPayment64": 0, "actualPayment64": 0, "rate64": 0, "creditor65": "Creditor 65", "balance65": 0, "minimumPayment65": 0, "actualPayment65": 0, "rate65": 0, "creditor66": "Creditor 66", "balance66": 0, "minimumPayment66": 0, "actualPayment66": 0, "rate66": 0, "creditor67": "Creditor 67", "balance67": 0, "minimumPayment67": 0, "actualPayment67": 0, "rate67": 0, "creditor68": "Creditor 68", "balance68": 0, "minimumPayment68": 0, "actualPayment68": 0, "rate68": 0, "creditor69": "Creditor 69", "balance69": 0, "minimumPayment69": 0, "actualPayment69": 0, "rate69": 0, "creditor70": "Creditor 70", "balance70": 0, "minimumPayment70": 0, "actualPayment70": 0, "rate70": 0, "creditor71": "Creditor 71", "balance71": 0, "minimumPayment71": 0, "actualPayment71": 0, "rate71": 0, "creditor72": "Creditor 72", "balance72": 0, "minimumPayment72": 0, "actualPayment72": 0, "rate72": 0, "creditor73": "Creditor 73", "balance73": 0, "minimumPayment73": 0, "actualPayment73": 0, "rate73": 0, "creditor74": "Creditor 74", "balance74": 0, "minimumPayment74": 0, "actualPayment74": 0, "rate74": 0, "creditor75": "Creditor 75", "balance75": 0, "minimumPayment75": 0, "actualPayment75": 0, "rate75": 0, "creditor76": "Creditor 76", "balance76": 0, "minimumPayment76": 0, "actualPayment76": 0, "rate76": 0, "creditor77": "Creditor 77", "balance77": 0, "minimumPayment77": 0, "actualPayment77": 0, "rate77": 0, "creditor78": "Creditor 78", "balance78": 0, "minimumPayment78": 0, "actualPayment78": 0, "rate78": 0, "creditor79": "Creditor 79", "balance79": 0, "minimumPayment79": 0, "actualPayment79": 0, "rate79": 0, "creditor80": "Creditor 80", "balance80": 0, "minimumPayment80": 0, "actualPayment80": 0, "rate80": 0, "creditor81": "Creditor 81", "balance81": 0, "minimumPayment81": 0, "actualPayment81": 0, "rate81": 0, "creditor82": "Creditor 82", "balance82": 0, "minimumPayment82": 0, "actualPayment82": 0, "rate82": 0, "creditor83": "Creditor 83", "balance83": 0, "minimumPayment83": 0, "actualPayment83": 0, "rate83": 0, "creditor84": "Creditor 84", "balance84": 0, "minimumPayment84": 0, "actualPayment84": 0, "rate84": 0, "creditor85": "Creditor 85", "balance85": 0, "minimumPayment85": 0, "actualPayment85": 0, "rate85": 0, "creditor86": "Creditor 86", "balance86": 0, "minimumPayment86": 0, "actualPayment86": 0, "rate86": 0, "creditor87": "Creditor 87", "balance87": 0, "minimumPayment87": 0, "actualPayment87": 0, "rate87": 0, "creditor88": "Creditor 88", "balance88": 0, "minimumPayment88": 0, "actualPayment88": 0, "rate88": 0, "creditor89": "Creditor 89", "balance89": 0, "minimumPayment89": 0, "actualPayment89": 0, "rate89": 0, "creditor90": "Creditor 90", "balance90": 0, "minimumPayment90": 0, "actualPayment90": 0, "rate90": 0, "creditor91": "Creditor 91", "balance91": 0, "minimumPayment91": 0, "actualPayment91": 0, "rate91": 0, "creditor92": "Creditor 92", "balance92": 0, "minimumPayment92": 0, "actualPayment92": 0, "rate92": 0, "creditor93": "Creditor 93", "balance93": 0, "minimumPayment93": 0, "actualPayment93": 0, "rate93": 0, "creditor94": "Creditor 94", "balance94": 0, "minimumPayment94": 0, "actualPayment94": 0, "rate94": 0, "creditor95": "Creditor 95", "balance95": 0, "minimumPayment95": 0, "actualPayment95": 0, "rate95": 0, "creditor96": "Creditor 96", "balance96": 0, "minimumPayment96": 0, "actualPayment96": 0, "rate96": 0, "creditor97": "Creditor 97", "balance97": 0, "minimumPayment97": 0, "actualPayment97": 0, "rate97": 0, "creditor98": "Creditor 98", "balance98": 0, "minimumPayment98": 0, "actualPayment98": 0, "rate98": 0, "creditor99": "Creditor 99", "balance99": 0, "minimumPayment99": 0, "actualPayment99": 0, "rate99": 0, "creditor100": "Creditor 100", "balance100": 0, "minimumPayment100": 0, "actualPayment100": 0, "rate100": 0, "extraPayment": 0, "oneTimePaymentAmount": 0, "oneTimePaymentMonth": "1", "oneTimePaymentYear": 2027, "startMonth": "1", "startYear": 2027, "debtOrderMethod": 2, "savingsRate": 0.05 }'
Example Request Body
{ "creditor1": "Creditor 1", "balance1": 0, "minimumPayment1": 0, "actualPayment1": 0, "rate1": 0, "creditor2": "Creditor 2", "balance2": 0, "minimumPayment2": 0, "actualPayment2": 0, "rate2": 0, "creditor3": "Creditor 3", "balance3": 0, "minimumPayment3": 0, "actualPayment3": 0, "rate3": 0, "creditor4": "Creditor 4", "balance4": 0, "minimumPayment4": 0, "actualPayment4": 0, "rate4": 0, "creditor5": "Creditor 5", "balance5": 0, "minimumPayment5": 0, "actualPayment5": 0, "rate5": 0, "creditor6": "Creditor 6", "balance6": 0, "minimumPayment6": 0, "actualPayment6": 0, "rate6": 0, "creditor7": "Creditor 7", "balance7": 0, "minimumPayment7": 0, "actualPayment7": 0, "rate7": 0, "creditor8": "Creditor 8", "balance8": 0, "minimumPayment8": 0, "actualPayment8": 0, "rate8": 0, "creditor9": "Creditor 9", "balance9": 0, "minimumPayment9": 0, "actualPayment9": 0, "rate9": 0, "creditor10": "Creditor 10", "balance10": 0, "minimumPayment10": 0, "actualPayment10": 0, "rate10": 0, "creditor11": "Creditor 11", "balance11": 0, "minimumPayment11": 0, "actualPayment11": 0, "rate11": 0, "creditor12": "Creditor 12", "balance12": 0, "minimumPayment12": 0, "actualPayment12": 0, "rate12": 0, "creditor13": "Creditor 13", "balance13": 0, "minimumPayment13": 0, "actualPayment13": 0, "rate13": 0, "creditor14": "Creditor 14", "balance14": 0, "minimumPayment14": 0, "actualPayment14": 0, "rate14": 0, "creditor15": "Creditor 15", "balance15": 0, "minimumPayment15": 0, "actualPayment15": 0, "rate15": 0, "creditor16": "Creditor 16", "balance16": 0, "minimumPayment16": 0, "actualPayment16": 0, "rate16": 0, "creditor17": "Creditor 17", "balance17": 0, "minimumPayment17": 0, "actualPayment17": 0, "rate17": 0, "creditor18": "Creditor 18", "balance18": 0, "minimumPayment18": 0, "actualPayment18": 0, "rate18": 0, "creditor19": "Creditor 19", "balance19": 0, "minimumPayment19": 0, "actualPayment19": 0, "rate19": 0, "creditor20": "Creditor 20", "balance20": 0, "minimumPayment20": 0, "actualPayment20": 0, "rate20": 0, "creditor21": "Creditor 21", "balance21": 0, "minimumPayment21": 0, "actualPayment21": 0, "rate21": 0, "creditor22": "Creditor 22", "balance22": 0, "minimumPayment22": 0, "actualPayment22": 0, "rate22": 0, "creditor23": "Creditor 23", "balance23": 0, "minimumPayment23": 0, "actualPayment23": 0, "rate23": 0, "creditor24": "Creditor 24", "balance24": 0, "minimumPayment24": 0, "actualPayment24": 0, "rate24": 0, "creditor25": "Creditor 25", "balance25": 0, "minimumPayment25": 0, "actualPayment25": 0, "rate25": 0, "creditor26": "Creditor 26", "balance26": 0, "minimumPayment26": 0, "actualPayment26": 0, "rate26": 0, "creditor27": "Creditor 27", "balance27": 0, "minimumPayment27": 0, "actualPayment27": 0, "rate27": 0, "creditor28": "Creditor 28", "balance28": 0, "minimumPayment28": 0, "actualPayment28": 0, "rate28": 0, "creditor29": "Creditor 29", "balance29": 0, "minimumPayment29": 0, "actualPayment29": 0, "rate29": 0, "creditor30": "Creditor 30", "balance30": 0, "minimumPayment30": 0, "actualPayment30": 0, "rate30": 0, "creditor31": "Creditor 31", "balance31": 0, "minimumPayment31": 0, "actualPayment31": 0, "rate31": 0, "creditor32": "Creditor 32", "balance32": 0, "minimumPayment32": 0, "actualPayment32": 0, "rate32": 0, "creditor33": "Creditor 33", "balance33": 0, "minimumPayment33": 0, "actualPayment33": 0, "rate33": 0, "creditor34": "Creditor 34", "balance34": 0, "minimumPayment34": 0, "actualPayment34": 0, "rate34": 0, "creditor35": "Creditor 35", "balance35": 0, "minimumPayment35": 0, "actualPayment35": 0, "rate35": 0, "creditor36": "Creditor 36", "balance36": 0, "minimumPayment36": 0, "actualPayment36": 0, "rate36": 0, "creditor37": "Creditor 37", "balance37": 0, "minimumPayment37": 0, "actualPayment37": 0, "rate37": 0, "creditor38": "Creditor 38", "balance38": 0, "minimumPayment38": 0, "actualPayment38": 0, "rate38": 0, "creditor39": "Creditor 39", "balance39": 0, "minimumPayment39": 0, "actualPayment39": 0, "rate39": 0, "creditor40": "Creditor 40", "balance40": 0, "minimumPayment40": 0, "actualPayment40": 0, "rate40": 0, "creditor41": "Creditor 41", "balance41": 0, "minimumPayment41": 0, "actualPayment41": 0, "rate41": 0, "creditor42": "Creditor 42", "balance42": 0, "minimumPayment42": 0, "actualPayment42": 0, "rate42": 0, "creditor43": "Creditor 43", "balance43": 0, "minimumPayment43": 0, "actualPayment43": 0, "rate43": 0, "creditor44": "Creditor 44", "balance44": 0, "minimumPayment44": 0, "actualPayment44": 0, "rate44": 0, "creditor45": "Creditor 45", "balance45": 0, "minimumPayment45": 0, "actualPayment45": 0, "rate45": 0, "creditor46": "Creditor 46", "balance46": 0, "minimumPayment46": 0, "actualPayment46": 0, "rate46": 0, "creditor47": "Creditor 47", "balance47": 0, "minimumPayment47": 0, "actualPayment47": 0, "rate47": 0, "creditor48": "Creditor 48", "balance48": 0, "minimumPayment48": 0, "actualPayment48": 0, "rate48": 0, "creditor49": "Creditor 49", "balance49": 0, "minimumPayment49": 0, "actualPayment49": 0, "rate49": 0, "creditor50": "Creditor 50", "balance50": 0, "minimumPayment50": 0, "actualPayment50": 0, "rate50": 0, "creditor51": "Creditor 51", "balance51": 0, "minimumPayment51": 0, "actualPayment51": 0, "rate51": 0, "creditor52": "Creditor 52", "balance52": 0, "minimumPayment52": 0, "actualPayment52": 0, "rate52": 0, "creditor53": "Creditor 53", "balance53": 0, "minimumPayment53": 0, "actualPayment53": 0, "rate53": 0, "creditor54": "Creditor 54", "balance54": 0, "minimumPayment54": 0, "actualPayment54": 0, "rate54": 0, "creditor55": "Creditor 55", "balance55": 0, "minimumPayment55": 0, "actualPayment55": 0, "rate55": 0, "creditor56": "Creditor 56", "balance56": 0, "minimumPayment56": 0, "actualPayment56": 0, "rate56": 0, "creditor57": "Creditor 57", "balance57": 0, "minimumPayment57": 0, "actualPayment57": 0, "rate57": 0, "creditor58": "Creditor 58", "balance58": 0, "minimumPayment58": 0, "actualPayment58": 0, "rate58": 0, "creditor59": "Creditor 59", "balance59": 0, "minimumPayment59": 0, "actualPayment59": 0, "rate59": 0, "creditor60": "Creditor 60", "balance60": 0, "minimumPayment60": 0, "actualPayment60": 0, "rate60": 0, "creditor61": "Creditor 61", "balance61": 0, "minimumPayment61": 0, "actualPayment61": 0, "rate61": 0, "creditor62": "Creditor 62", "balance62": 0, "minimumPayment62": 0, "actualPayment62": 0, "rate62": 0, "creditor63": "Creditor 63", "balance63": 0, "minimumPayment63": 0, "actualPayment63": 0, "rate63": 0, "creditor64": "Creditor 64", "balance64": 0, "minimumPayment64": 0, "actualPayment64": 0, "rate64": 0, "creditor65": "Creditor 65", "balance65": 0, "minimumPayment65": 0, "actualPayment65": 0, "rate65": 0, "creditor66": "Creditor 66", "balance66": 0, "minimumPayment66": 0, "actualPayment66": 0, "rate66": 0, "creditor67": "Creditor 67", "balance67": 0, "minimumPayment67": 0, "actualPayment67": 0, "rate67": 0, "creditor68": "Creditor 68", "balance68": 0, "minimumPayment68": 0, "actualPayment68": 0, "rate68": 0, "creditor69": "Creditor 69", "balance69": 0, "minimumPayment69": 0, "actualPayment69": 0, "rate69": 0, "creditor70": "Creditor 70", "balance70": 0, "minimumPayment70": 0, "actualPayment70": 0, "rate70": 0, "creditor71": "Creditor 71", "balance71": 0, "minimumPayment71": 0, "actualPayment71": 0, "rate71": 0, "creditor72": "Creditor 72", "balance72": 0, "minimumPayment72": 0, "actualPayment72": 0, "rate72": 0, "creditor73": "Creditor 73", "balance73": 0, "minimumPayment73": 0, "actualPayment73": 0, "rate73": 0, "creditor74": "Creditor 74", "balance74": 0, "minimumPayment74": 0, "actualPayment74": 0, "rate74": 0, "creditor75": "Creditor 75", "balance75": 0, "minimumPayment75": 0, "actualPayment75": 0, "rate75": 0, "creditor76": "Creditor 76", "balance76": 0, "minimumPayment76": 0, "actualPayment76": 0, "rate76": 0, "creditor77": "Creditor 77", "balance77": 0, "minimumPayment77": 0, "actualPayment77": 0, "rate77": 0, "creditor78": "Creditor 78", "balance78": 0, "minimumPayment78": 0, "actualPayment78": 0, "rate78": 0, "creditor79": "Creditor 79", "balance79": 0, "minimumPayment79": 0, "actualPayment79": 0, "rate79": 0, "creditor80": "Creditor 80", "balance80": 0, "minimumPayment80": 0, "actualPayment80": 0, "rate80": 0, "creditor81": "Creditor 81", "balance81": 0, "minimumPayment81": 0, "actualPayment81": 0, "rate81": 0, "creditor82": "Creditor 82", "balance82": 0, "minimumPayment82": 0, "actualPayment82": 0, "rate82": 0, "creditor83": "Creditor 83", "balance83": 0, "minimumPayment83": 0, "actualPayment83": 0, "rate83": 0, "creditor84": "Creditor 84", "balance84": 0, "minimumPayment84": 0, "actualPayment84": 0, "rate84": 0, "creditor85": "Creditor 85", "balance85": 0, "minimumPayment85": 0, "actualPayment85": 0, "rate85": 0, "creditor86": "Creditor 86", "balance86": 0, "minimumPayment86": 0, "actualPayment86": 0, "rate86": 0, "creditor87": "Creditor 87", "balance87": 0, "minimumPayment87": 0, "actualPayment87": 0, "rate87": 0, "creditor88": "Creditor 88", "balance88": 0, "minimumPayment88": 0, "actualPayment88": 0, "rate88": 0, "creditor89": "Creditor 89", "balance89": 0, "minimumPayment89": 0, "actualPayment89": 0, "rate89": 0, "creditor90": "Creditor 90", "balance90": 0, "minimumPayment90": 0, "actualPayment90": 0, "rate90": 0, "creditor91": "Creditor 91", "balance91": 0, "minimumPayment91": 0, "actualPayment91": 0, "rate91": 0, "creditor92": "Creditor 92", "balance92": 0, "minimumPayment92": 0, "actualPayment92": 0, "rate92": 0, "creditor93": "Creditor 93", "balance93": 0, "minimumPayment93": 0, "actualPayment93": 0, "rate93": 0, "creditor94": "Creditor 94", "balance94": 0, "minimumPayment94": 0, "actualPayment94": 0, "rate94": 0, "creditor95": "Creditor 95", "balance95": 0, "minimumPayment95": 0, "actualPayment95": 0, "rate95": 0, "creditor96": "Creditor 96", "balance96": 0, "minimumPayment96": 0, "actualPayment96": 0, "rate96": 0, "creditor97": "Creditor 97", "balance97": 0, "minimumPayment97": 0, "actualPayment97": 0, "rate97": 0, "creditor98": "Creditor 98", "balance98": 0, "minimumPayment98": 0, "actualPayment98": 0, "rate98": 0, "creditor99": "Creditor 99", "balance99": 0, "minimumPayment99": 0, "actualPayment99": 0, "rate99": 0, "creditor100": "Creditor 100", "balance100": 0, "minimumPayment100": 0, "actualPayment100": 0, "rate100": 0, "extraPayment": 0, "oneTimePaymentAmount": 0, "oneTimePaymentMonth": "1", "oneTimePaymentYear": 2027, "startMonth": "1", "startYear": 2027, "debtOrderMethod": 2, "savingsRate": 0.05 }
Example Responses
{ "currentPayoffMonths": 0, "rollupPayoffMonths": 0, "currentPayoffYears": 0, "rollupPayoffYears": 0, "currentInterestPaid": "89500.00", "rollupInterestPaid": "89500.00", "totalMonthlyPayment": "89500.00", "totalRollupMonthlyPayment": "89500.00", "totalCurrentDebtPayments": "89500.00", "totalRollupDebtPayments": "89500.00", "savings": "89500.00", "debts": [ { "creditor": "creditor", "balance": "89500.00", "minimumPayment": "89500.00", "actualPayment": "89500.00", "rate": 0.06 } ] }
application/json

Which is better: Cash up front or payments over time?

POST
https://api.fincalc.com
/v2/calculators/lump-sum-or-payments

Which is better: Cash up front or payments over time? › Request Body

Inputs for the det08 calculation.
Det08Request
lumpSum
​number · required
Default: 0
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
frequency
​integer · enum · required
Enum values:
0
1
Default: 1
paymentAmount
​number · required
Default: 0
growth
​number · min: -0.12 · max: 0.12 · required
Default: 0
term
​integer · min: 1 · max: 480 · required
Default: 1

Which is better: Cash up front or payments over time? › Responses

Calculation result.

Result of the det08 calculation.
Det08Result
cashUpFront
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
paymentsOverTime
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/lump-sum-or-payments
curl https://api.fincalc.com/v2/calculators/lump-sum-or-payments \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "lumpSum": 0,
  "beforeTaxReturn": 0.08,
  "frequency": 1,
  "paymentAmount": 0,
  "growth": 0,
  "term": 1
}'
Example Request Body
{
  "lumpSum": 0,
  "beforeTaxReturn": 0.08,
  "frequency": 1,
  "paymentAmount": 0,
  "growth": 0,
  "term": 1
}
Example Responses
{
  "cashUpFront": "89500.00",
  "paymentsOverTime": "89500.00"
}
application/json

What is the impact of making extra payments on my debt?

POST
https://api.fincalc.com
/v2/calculators/extra-payment-calculator

What is the impact of making extra payments on my debt? › Request Body

Inputs for the det09 calculation.
Det09Request
loanAmount
​number · required
Default: 0
interestRate
​number · min: 0 · max: 0.4 · required
Default: 0
termMonths
​integer · min: 1 · max: 360 · required
Default: 360
paymentsMade
​integer · min: 0 · max: 999 · required
Default: 24
additionalPayment
​number · required
Default: 0

What is the impact of making extra payments on my debt? › Responses

Calculation result.

Result of the det09 calculation.
Det09Result
initialPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
remainingTerm
​integer · required
remainingPrincipal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
newPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
currentYears
​number · required
proposedYears
​number · required
savedYears
​number · required
currentInterest
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
proposedInterest
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalInterest
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Det09YearRow[] · required
POST/v2/calculators/extra-payment-calculator
curl https://api.fincalc.com/v2/calculators/extra-payment-calculator \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "loanAmount": 0,
  "interestRate": 0,
  "termMonths": 360,
  "paymentsMade": 24,
  "additionalPayment": 0
}'
Example Request Body
{
  "loanAmount": 0,
  "interestRate": 0,
  "termMonths": 360,
  "paymentsMade": 24,
  "additionalPayment": 0
}
Example Responses
{ "initialPayment": "89500.00", "remainingTerm": 0, "remainingPrincipal": "89500.00", "newPayment": "89500.00", "currentYears": 0, "proposedYears": 0, "savedYears": 0, "currentInterest": "89500.00", "proposedInterest": "89500.00", "totalInterest": "89500.00", "years": [ { "year": 0, "beginningBalance": "89500.00", "interest": "89500.00", "interestCurrent": "89500.00", "payment": "89500.00", "endingBalance": "89500.00" } ] }
application/json

Should I pay off debt or invest?

POST
https://api.fincalc.com
/v2/calculators/pay-off-debt-or-invest

Should I pay off debt or invest? › Request Body

Inputs for the det10 calculation.
Det10Request
debtInterestRate
​number · min: 0 · max: 0.4 · required
Default: 0.08
interestDeductible
​string · enum · required
Enum values:
N
Y
Default: N
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
interestTaxable
​string · enum · required
Enum values:
N
Y
Default: N
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0

Should I pay off debt or invest? › Responses

Calculation result.

Result of the det10 calculation.
Det10Result
afterTaxDebt
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
afterTaxReturn
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
POST/v2/calculators/pay-off-debt-or-invest
curl https://api.fincalc.com/v2/calculators/pay-off-debt-or-invest \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "debtInterestRate": 0.08,
  "interestDeductible": "N",
  "beforeTaxReturn": 0.08,
  "interestTaxable": "N",
  "taxBracket": 0
}'
Example Request Body
{
  "debtInterestRate": 0.08,
  "interestDeductible": "N",
  "beforeTaxReturn": 0.08,
  "interestTaxable": "N",
  "taxBracket": 0
}
Example Responses
{
  "afterTaxDebt": 0.06,
  "afterTaxReturn": 0.06
}
application/json

Should I transfer my credit card balances?

POST
https://api.fincalc.com
/v2/calculators/balance-transfer

Should I transfer my credit card balances? › Request Body

Inputs for the det11 calculation.
Det11Request
currentBalance1
​number · required
Default: 0
currentRate1
​number · min: 0 · max: 0.4 · required
Default: 0
currentBalance2
​number · required
Default: 0
currentRate2
​number · min: 0 · max: 0.4 · required
Default: 0
currentBalance3
​number · required
Default: 0
currentRate3
​number · min: 0 · max: 0.4 · required
Default: 0
currentBalance4
​number · required
Default: 0
currentRate4
​number · min: 0 · max: 0.4 · required
Default: 0
introRate
​number · min: 0 · max: 0.4 · required
Default: 0
introTerm
​integer · min: 0 · max: 120 · required
Default: 0
regularRate
​number · min: 0 · max: 0.4 · required
Default: 0
annualFee
​number · required
Default: 0
transferFeePercent
​number · min: 0 · max: 1 · required
Default: 0
transferFeeMaximum
​number · required
Default: 0

Should I transfer my credit card balances? › Responses

Calculation result.

Result of the det11 calculation.
Det11Result
introSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
introFees
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
regularSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
currentCardInterest
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
newCardInterest
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
newCardFees
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/balance-transfer
curl https://api.fincalc.com/v2/calculators/balance-transfer \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "currentBalance1": 0, "currentRate1": 0, "currentBalance2": 0, "currentRate2": 0, "currentBalance3": 0, "currentRate3": 0, "currentBalance4": 0, "currentRate4": 0, "introRate": 0, "introTerm": 0, "regularRate": 0, "annualFee": 0, "transferFeePercent": 0, "transferFeeMaximum": 0 }'
Example Request Body
{ "currentBalance1": 0, "currentRate1": 0, "currentBalance2": 0, "currentRate2": 0, "currentBalance3": 0, "currentRate3": 0, "currentBalance4": 0, "currentRate4": 0, "introRate": 0, "introTerm": 0, "regularRate": 0, "annualFee": 0, "transferFeePercent": 0, "transferFeeMaximum": 0 }
Example Responses
{
  "introSavings": "89500.00",
  "introFees": "89500.00",
  "regularSavings": "89500.00",
  "currentCardInterest": "89500.00",
  "newCardInterest": "89500.00",
  "newCardFees": "89500.00"
}
application/json

What is my credit score?

POST
https://api.fincalc.com
/v2/calculators/credit-score-calculator

What is my credit score? › Request Body

Inputs for the det12 calculation.
Det12Request
creditReportAvail
​string · enum · required
Enum values:
N
Y
Default: Y
creditLength
​integer · required
Default: 0
creditTypes
​string · required
appliedCredit
​integer · enum · required
Enum values:
0
2
5
8
9
Default: 0
missedPayment
​integer · enum · required
Enum values:
0
3
6
12
24
25
Default: 0
totalCreditLimit
​number · required
Default: 0
totalCreditBalance
​number · required
Default: 0
negativeReport
​string · enum · required
Enum values:
N
Y
Default: N
negativeReportTime
​integer · enum · required
Enum values:
0
3
6
12
24
36
48
60
Default: 0

What is my credit score? › Responses

Calculation result.

Result of the det12 calculation.
Det12Result
lowerRange
​integer · required
upperRange
​integer · required
creditScore
​integer · required
POST/v2/calculators/credit-score-calculator
curl https://api.fincalc.com/v2/calculators/credit-score-calculator \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "creditReportAvail": "Y", "creditLength": 0, "creditTypes": "creditTypes", "appliedCredit": 0, "missedPayment": 0, "totalCreditLimit": 0, "totalCreditBalance": 0, "negativeReport": "N", "negativeReportTime": 0 }'
Example Request Body
{
  "creditReportAvail": "Y",
  "creditLength": 0,
  "creditTypes": "creditTypes",
  "appliedCredit": 0,
  "missedPayment": 0,
  "totalCreditLimit": 0,
  "totalCreditBalance": 0,
  "negativeReport": "N",
  "negativeReportTime": 0
}
Example Responses
{
  "lowerRange": 0,
  "upperRange": 0,
  "creditScore": 0
}
application/json

How much can I afford to borrow?

POST
https://api.fincalc.com
/v2/calculators/how-much-can-i-afford-to-borrow

How much can I afford to borrow? › Request Body

Inputs for the det13 calculation.
Det13Request
recurringPayments
​number · required
Default: 0
interestRate
​number · min: 0 · max: 0.12 · required
Default: 0
termMonths
​integer · min: 1 · max: 360 · required
Default: 120

How much can I afford to borrow? › Responses

Calculation result.

Result of the det13 calculation.
Det13Result
totalInterest
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
borrowAmount
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Det13MonthRow[] · required
POST/v2/calculators/how-much-can-i-afford-to-borrow
curl https://api.fincalc.com/v2/calculators/how-much-can-i-afford-to-borrow \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "recurringPayments": 0,
  "interestRate": 0,
  "termMonths": 120
}'
Example Request Body
{
  "recurringPayments": 0,
  "interestRate": 0,
  "termMonths": 120
}
Example Responses
{
  "totalInterest": "89500.00",
  "borrowAmount": "89500.00",
  "months": [
    {
      "month": 0,
      "beginningBalance": "89500.00",
      "deposit": "89500.00",
      "interest": "89500.00",
      "endingBalance": "89500.00"
    }
  ]
}
application/json

What is my loan rate?

POST
https://api.fincalc.com
/v2/calculators/what-is-my-loan-rate

What is my loan rate? › Request Body

Inputs for the det16 calculation.
Det16Request
loanAmount
​number · required
Default: 0
recurringPayments
​number · required
Default: 0
termMonths
​integer · min: 1 · max: 360 · required
Default: 120

What is my loan rate? › Responses

Calculation result.

Result of the det16 calculation.
Det16Result
totalDeposits
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalInterest
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
endingBalance
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
interestRate
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
​Det16MonthRow[] · required
POST/v2/calculators/what-is-my-loan-rate
curl https://api.fincalc.com/v2/calculators/what-is-my-loan-rate \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "loanAmount": 0,
  "recurringPayments": 0,
  "termMonths": 120
}'
Example Request Body
{
  "loanAmount": 0,
  "recurringPayments": 0,
  "termMonths": 120
}
Example Responses
{ "totalDeposits": "89500.00", "totalInterest": "89500.00", "endingBalance": "89500.00", "interestRate": 0.06, "months": [ { "month": 0, "beginningBalance": "89500.00", "deposit": "89500.00", "interest": "89500.00", "endingBalance": "89500.00" } ] }
application/json

What monthly payments are needed to pay off my loan sooner?

POST
https://api.fincalc.com
/v2/calculators/payments-to-pay-off-my-loan-sooner

What monthly payments are needed to pay off my loan sooner? › Request Body

Inputs for the det17 calculation.
Det17Request
loanBalance
​number · required
Default: 0
currentMonthlyPayment
​number · required
Default: 0
interestRate
​number · min: 0 · max: 0.4 · required
Default: 0
desiredMonths
​integer · min: 1 · max: 360 · required
Default: 5

What monthly payments are needed to pay off my loan sooner? › Responses

Calculation result.

Result of the det17 calculation.
Det17Result
totalCurrentInterest
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalProposedInterest
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
interestDifference
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
newPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
paymentDifference
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
previousMonths
​number · required
​Det17YearRow[] · required
POST/v2/calculators/payments-to-pay-off-my-loan-sooner
curl https://api.fincalc.com/v2/calculators/payments-to-pay-off-my-loan-sooner \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "loanBalance": 0,
  "currentMonthlyPayment": 0,
  "interestRate": 0,
  "desiredMonths": 5
}'
Example Request Body
{
  "loanBalance": 0,
  "currentMonthlyPayment": 0,
  "interestRate": 0,
  "desiredMonths": 5
}
Example Responses
{ "totalCurrentInterest": "89500.00", "totalProposedInterest": "89500.00", "interestDifference": "89500.00", "newPayment": "89500.00", "paymentDifference": "89500.00", "previousMonths": 0, "years": [ { "period": 0, "beginningBalance": "89500.00", "interest": "89500.00", "payment": "89500.00", "endingBalance": "89500.00" } ] }
application/json

How much house can I afford?

POST
https://api.fincalc.com
/v2/calculators/home-affordability

How much house can I afford? › Request Body

Inputs for the hom01 calculation.
Hom01Request
combinedIncome
​number · required
Default: 0
childSupport
​number · required
Default: 0
autoPayments
​number · required
Default: 0
ccPayments
​number · required
Default: 0
associationFees
​number · required
Default: 0
otherObligations
​number · required
Default: 0
mortgageRate
​number · min: 0 · max: 0.4 · required
Default: 0.05
mortgageTerm
​integer · enum · required
Enum values:
15
20
30
40
Default: 30
downPayment
​number · required
Default: 0
propertyTaxes
​number · required
Default: 0
hazardInsurance
​number · required
Default: 0
frontRatio
​number · enum · required
Enum values:
1
2
3
Default: 1
backRatio
​number · enum · required
Enum values:
1
2
3
Default: 1

How much house can I afford? › Responses

Calculation result.

Result of the hom01 calculation.
Hom01Result
monthlyIncome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
front
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
frontPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
otherDebts
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
otherPercentage
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
back
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
backPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
minimumPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
taxesInsurance
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
maximumPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
mortgageAmount
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
homeValue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/home-affordability
curl https://api.fincalc.com/v2/calculators/home-affordability \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "combinedIncome": 0, "childSupport": 0, "autoPayments": 0, "ccPayments": 0, "associationFees": 0, "otherObligations": 0, "mortgageRate": 0.05, "mortgageTerm": 30, "downPayment": 0, "propertyTaxes": 0, "hazardInsurance": 0, "frontRatio": 1, "backRatio": 1 }'
Example Request Body
{ "combinedIncome": 0, "childSupport": 0, "autoPayments": 0, "ccPayments": 0, "associationFees": 0, "otherObligations": 0, "mortgageRate": 0.05, "mortgageTerm": 30, "downPayment": 0, "propertyTaxes": 0, "hazardInsurance": 0, "frontRatio": 1, "backRatio": 1 }
Example Responses
{ "monthlyIncome": "89500.00", "front": 0.06, "frontPayment": "89500.00", "otherDebts": "89500.00", "otherPercentage": 0.06, "back": 0.06, "backPayment": "89500.00", "minimumPayment": "89500.00", "taxesInsurance": "89500.00", "maximumPayment": "89500.00", "mortgageAmount": "89500.00", "homeValue": "89500.00" }
application/json

Should I refinance my mortgage?

POST
https://api.fincalc.com
/v2/calculators/refinance-calculator

Should I refinance my mortgage? › Request Body

Inputs for the hom02 calculation.
Hom02Request
loanAmount
​number · required
Default: 0
interestRate
​number · min: 0 · max: 0.4 · required
Default: 0.05
currentTerm
​integer · min: 1 · max: 480 · required
Default: 360
monthlyMortgage
​number · required
Default: 0
refinanceRate
​number · min: 0 · max: 0.4 · required
Default: 0.035
refinanceTerm
​integer · min: 1 · max: 480 · required
Default: 360
originationFee
​number · min: 0 · max: 0.05 · required
Default: 0.01
discountPoints
​number · min: 0 · max: 0.05 · required
Default: 0
refinanceFees
​number · required
Default: 2500
includeClosingCosts
​string · enum · required
Enum values:
N
Y
Default: Y

Should I refinance my mortgage? › Responses

Calculation result.

Result of the hom02 calculation.
Hom02Result
currentTermO
​number · required
traditionalTerm
​number · required
enhancedTerm
​number · required
currentPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
traditionalPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
enhancedPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
traditionalBreakeven
​number | null · required
enhancedBreakeven
​number | null · required
currentInterest
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
traditionalInterest
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
enhancedInterest
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/refinance-calculator
curl https://api.fincalc.com/v2/calculators/refinance-calculator \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "loanAmount": 0, "interestRate": 0.05, "currentTerm": 360, "monthlyMortgage": 0, "refinanceRate": 0.035, "refinanceTerm": 360, "originationFee": 0.01, "discountPoints": 0, "refinanceFees": 2500, "includeClosingCosts": "Y" }'
Example Request Body
{
  "loanAmount": 0,
  "interestRate": 0.05,
  "currentTerm": 360,
  "monthlyMortgage": 0,
  "refinanceRate": 0.035,
  "refinanceTerm": 360,
  "originationFee": 0.01,
  "discountPoints": 0,
  "refinanceFees": 2500,
  "includeClosingCosts": "Y"
}
Example Responses
{
  "currentTermO": 0,
  "traditionalTerm": 0,
  "enhancedTerm": 0,
  "currentPayment": "89500.00",
  "traditionalPayment": "89500.00",
  "enhancedPayment": "89500.00",
  "traditionalBreakeven": 0,
  "enhancedBreakeven": 0,
  "currentInterest": "89500.00",
  "traditionalInterest": "89500.00",
  "enhancedInterest": "89500.00"
}
application/json

Estimate my monthly mortgage payment

POST
https://api.fincalc.com
/v2/calculators/mortgage-calculator

Estimate my monthly mortgage payment › Request Body

Inputs for the hom03 calculation.
Hom03Request
loanAmount
​number · required
Default: 0
interestRate
​number · min: 0 · max: 0.4 · required
Default: 0.05
termMonths
​integer · min: 1 · max: 480 · required
Default: 360
amortization
​integer · enum · required
Enum values:
1
2
Default: 2
propertyValue
​number · required
Default: 0
estimateTipmi
​string · enum · required
Enum values:
N
Y
Default: N
propertyTaxes
​number · required
Default: 0
hazardInsurance
​number · required
Default: 0
pmi
​number · required
Default: 0

Estimate my monthly mortgage payment › Responses

Calculation result.

Result of the hom03 calculation.
Hom03Result
pandi
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
monthlyTaxes
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
monthlyInsurance
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
monthlyPmi
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
pandiTipmi
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
interestPaid
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Hom03YearRow[] · required
POST/v2/calculators/mortgage-calculator
curl https://api.fincalc.com/v2/calculators/mortgage-calculator \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "loanAmount": 0, "interestRate": 0.05, "termMonths": 360, "amortization": 2, "propertyValue": 0, "estimateTipmi": "N", "propertyTaxes": 0, "hazardInsurance": 0, "pmi": 0 }'
Example Request Body
{
  "loanAmount": 0,
  "interestRate": 0.05,
  "termMonths": 360,
  "amortization": 2,
  "propertyValue": 0,
  "estimateTipmi": "N",
  "propertyTaxes": 0,
  "hazardInsurance": 0,
  "pmi": 0
}
Example Responses
{ "pandi": "89500.00", "monthlyTaxes": "89500.00", "monthlyInsurance": "89500.00", "monthlyPmi": "89500.00", "pandiTipmi": "89500.00", "interestPaid": "89500.00", "years": [ { "period": 0, "beginningBalance": "89500.00", "principal": "89500.00", "interest": "89500.00", "payment": "89500.00", "endingBalance": "89500.00" } ] }
application/json

Comparing mortgage terms

POST
https://api.fincalc.com
/v2/calculators/comparing-mortgage-terms

Comparing mortgage terms › Request Body

Inputs for the hom04 calculation.
Hom04Request
loanAmount
​number · required
Default: 0
termYears1
​integer · min: 1 · max: 40 · required
Default: 15
termYears2
​integer · min: 1 · max: 40 · required
Default: 20
termYears3
​integer · min: 1 · max: 40 · required
Default: 30
interestRate1
​number · min: 0 · max: 0.4 · required
Default: 0.06
interestRate2
​number · min: 0 · max: 0.4 · required
Default: 0.0625
interestRate3
​number · min: 0 · max: 0.4 · required
Default: 0.065
comparisonRate
​number · enum · required
Enum values:
0
0.035
0.99
Default: 0
overrideRate
​number · min: 0 · max: 0.4 · required
Default: 0.08
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22
comparisonYear
​integer · min: 1 · max: 30 · required
Default: 30

Comparing mortgage terms › Responses

Calculation result.

Result of the hom04 calculation.
Hom04Result
monthlyPayment1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
monthlyPayment2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
monthlyPayment3
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
pvLoan1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
pvLoan2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
pvLoan3
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
remainingBalance1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
remainingBalance2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
remainingBalance3
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalCost1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalCost2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalCost3
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
investmentReturn
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
POST/v2/calculators/comparing-mortgage-terms
curl https://api.fincalc.com/v2/calculators/comparing-mortgage-terms \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "loanAmount": 0, "termYears1": 15, "termYears2": 20, "termYears3": 30, "interestRate1": 0.06, "interestRate2": 0.0625, "interestRate3": 0.065, "comparisonRate": 0, "overrideRate": 0.08, "taxBracket": 0.22, "comparisonYear": 30 }'
Example Request Body
{
  "loanAmount": 0,
  "termYears1": 15,
  "termYears2": 20,
  "termYears3": 30,
  "interestRate1": 0.06,
  "interestRate2": 0.0625,
  "interestRate3": 0.065,
  "comparisonRate": 0,
  "overrideRate": 0.08,
  "taxBracket": 0.22,
  "comparisonYear": 30
}
Example Responses
{ "monthlyPayment1": "89500.00", "monthlyPayment2": "89500.00", "monthlyPayment3": "89500.00", "pvLoan1": "89500.00", "pvLoan2": "89500.00", "pvLoan3": "89500.00", "remainingBalance1": "89500.00", "remainingBalance2": "89500.00", "remainingBalance3": "89500.00", "totalCost1": "89500.00", "totalCost2": "89500.00", "totalCost3": "89500.00", "investmentReturn": 0.06 }
application/json

Should I pay discount points for a lower interest rate?

POST
https://api.fincalc.com
/v2/calculators/should-i-pay-discount-points-for-a-lower-interest-rate

Should I pay discount points for a lower interest rate? › Request Body

Inputs for the hom05 calculation.
Hom05Request
loanAmount
​number · required
Default: 0
termYears
​integer · min: 1 · max: 40 · required
Default: 30
interestRate1
​number · min: 0 · max: 0.4 · required
Default: 0.055
interestRate2
​number · min: 0 · max: 0.4 · required
Default: 0.0525
discountPoints1
​number · min: 0 · max: 0.05 · required
Default: 0
discountPoints2
​number · min: 0 · max: 0.05 · required
Default: 0.01

Should I pay discount points for a lower interest rate? › Responses

Calculation result.

Result of the hom05 calculation.
Hom05Result
monthlyPayment1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
monthlyPayment2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
discountSpread
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
monthlySavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
breakeven
​number · required
discountPoints1Amount
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
discountPoints2Amount
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/should-i-pay-discount-points-for-a-lower-interest-rate
curl https://api.fincalc.com/v2/calculators/should-i-pay-discount-points-for-a-lower-interest-rate \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "loanAmount": 0,
  "termYears": 30,
  "interestRate1": 0.055,
  "interestRate2": 0.0525,
  "discountPoints1": 0,
  "discountPoints2": 0.01
}'
Example Request Body
{
  "loanAmount": 0,
  "termYears": 30,
  "interestRate1": 0.055,
  "interestRate2": 0.0525,
  "discountPoints1": 0,
  "discountPoints2": 0.01
}
Example Responses
{
  "monthlyPayment1": "89500.00",
  "monthlyPayment2": "89500.00",
  "discountSpread": "89500.00",
  "monthlySavings": "89500.00",
  "breakeven": 0,
  "discountPoints1Amount": "89500.00",
  "discountPoints2Amount": "89500.00"
}
application/json

Should I rent or buy a home?

POST
https://api.fincalc.com
/v2/calculators/rent-vs-buy-home

Should I rent or buy a home? › Request Body

Inputs for the hom06 calculation.
Hom06Request
rent
​number · required
Default: 0
fees
​number · required
Default: 0
rentIns
​number · required
Default: 0
rentIncr
​number · min: 0 · max: 0.1 · required
Default: 0
purchase
​number · required
Default: 0
growth
​number · min: 0 · max: 0.1 · required
Default: 0.05
realtorFees
​number · min: 0 · max: 1 · required
Default: 0
loan
​number · required
Default: 0
rate
​number · min: 0 · max: 0.4 · required
Default: 0.05
term
​integer · min: 1 · max: 40 · required
Default: 30
closingCosts
​number · required
Default: 0
homeowners
​number · required
Default: 0
taxes
​number · required
Default: 0
maint
​number · required
Default: 0
analysis
​integer · min: 1 · max: 30 · required
Default: 30
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
inf
​number · min: 0 · max: 0.1 · required
Default: 0.035
standardDeduction
​string · enum · required
Enum values:
N
Y
Default: N

Should I rent or buy a home? › Responses

Calculation result.

Result of the hom06 calculation.
Hom06Result
rentTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
paymentsTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
insuranceTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
taxesTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
maintenanceTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
oppcostTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
taxsavingsTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
appreciationTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
principalTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalcostRent
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalcostBuy
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
pvtotalcostRent
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
pvtotalcostBuy
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
difference
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
closingCostsTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
realtorFeesTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Hom06YearRow[] · required
POST/v2/calculators/rent-vs-buy-home
curl https://api.fincalc.com/v2/calculators/rent-vs-buy-home \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "rent": 0, "fees": 0, "rentIns": 0, "rentIncr": 0, "purchase": 0, "growth": 0.05, "realtorFees": 0, "loan": 0, "rate": 0.05, "term": 30, "closingCosts": 0, "homeowners": 0, "taxes": 0, "maint": 0, "analysis": 30, "taxBracket": 0.22, "beforeTaxReturn": 0.08, "inf": 0.035, "standardDeduction": "N" }'
Example Request Body
{ "rent": 0, "fees": 0, "rentIns": 0, "rentIncr": 0, "purchase": 0, "growth": 0.05, "realtorFees": 0, "loan": 0, "rate": 0.05, "term": 30, "closingCosts": 0, "homeowners": 0, "taxes": 0, "maint": 0, "analysis": 30, "taxBracket": 0.22, "beforeTaxReturn": 0.08, "inf": 0.035, "standardDeduction": "N" }
Example Responses
{ "rentTotal": "89500.00", "paymentsTotal": "89500.00", "insuranceTotal": "89500.00", "taxesTotal": "89500.00", "maintenanceTotal": "89500.00", "oppcostTotal": "89500.00", "taxsavingsTotal": "89500.00", "appreciationTotal": "89500.00", "principalTotal": "89500.00", "totalcostRent": "89500.00", "totalcostBuy": "89500.00", "pvtotalcostRent": "89500.00", "pvtotalcostBuy": "89500.00", "difference": "89500.00", "closingCostsTotal": "89500.00", "realtorFeesTotal": "89500.00", "years": [ { "yearNumber": 0, "rentFees": "89500.00", "payments": "89500.00", "insuranceMaintenance": "89500.00", "oppcost": "89500.00", "taxsavings": "89500.00", "homeAppreciation": "89500.00", "principalReduction": "89500.00", "costPurchase": "89500.00" } ] }
application/json

Should I convert to a bi-weekly payment schedule?

POST
https://api.fincalc.com
/v2/calculators/should-i-convert-to-a-bi-weekly-payment-schedule

Should I convert to a bi-weekly payment schedule? › Request Body

Inputs for the hom07 calculation.
Hom07Request
loanAmount
​number · required
Default: 0
interestRate
​number · min: 0 · max: 0.4 · required
Default: 0.05
termMonths
​integer · min: 1 · max: 480 · required
Default: 360
paymentMade
​integer · min: 0 · max: 999 · required
Default: 0

Should I convert to a bi-weekly payment schedule? › Responses

Calculation result.

Result of the hom07 calculation.
Hom07Result
​Hom07YearRow[] · required
POST/v2/calculators/should-i-convert-to-a-bi-weekly-payment-schedule
curl https://api.fincalc.com/v2/calculators/should-i-convert-to-a-bi-weekly-payment-schedule \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "loanAmount": 0,
  "interestRate": 0.05,
  "termMonths": 360,
  "paymentMade": 0
}'
Example Request Body
{
  "loanAmount": 0,
  "interestRate": 0.05,
  "termMonths": 360,
  "paymentMade": 0
}
Example Responses
{
  "years": [
    {
      "year": 0,
      "beginningBalance": "89500.00",
      "currentBalance": "89500.00",
      "interest": "89500.00",
      "payment": "89500.00",
      "endingBalance": "89500.00"
    }
  ]
}
application/json

Compare a 'no-cost' vs. traditional mortgage

POST
https://api.fincalc.com
/v2/calculators/compare-a-no-cost-vs-traditional-mortgage

Compare a 'no-cost' vs. traditional mortgage › Request Body

Inputs for the hom08 calculation.
Hom08Request
loanAmount
​number · required
Default: 0
termYears
​integer · min: 1 · max: 40 · required
Default: 30
nocostRate
​number · min: 0 · max: 0.4 · required
Default: 0.055
traditionalRate
​number · min: 0 · max: 0.4 · required
Default: 0.05
discount
​number · min: 0 · max: 0.05 · required
Default: 0
origination
​number · min: 0 · max: 0.05 · required
Default: 0.01
lender
​number · required
Default: 600
credit
​number · required
Default: 50
appraisal
​number · required
Default: 300
titleInsurance
​number · required
Default: 800
reconveyance
​number · required
Default: 75
recording
​number · required
Default: 45
wire
​number · required
Default: 55
endorsement
​number · required
Default: 75
closing
​number · required
Default: 125
docprep
​number · required
Default: 30
other
​number · required
Default: 0
payCosts
​string · enum · required
Enum values:
roll
closing
Default: roll
comparisonRate
​number · enum · required
Enum values:
0
0.035
0.99
Default: 0
overrideRate
​number · min: 0 · max: 0.4 · required
Default: 0.08
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22
comparisonYear
​integer · min: 1 · max: 40 · required
Default: 30

Compare a 'no-cost' vs. traditional mortgage › Responses

Calculation result.

Result of the hom08 calculation.
Hom08Result
monthlyPayment1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
monthlyPayment2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
pvLoan1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
pvLoan2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
remainingBalance1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
remainingBalance2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
closingCosts
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalCost1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalCost2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
investmentReturn
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
​Hom08YearRow[] · required
POST/v2/calculators/compare-a-no-cost-vs-traditional-mortgage
curl https://api.fincalc.com/v2/calculators/compare-a-no-cost-vs-traditional-mortgage \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "loanAmount": 0, "termYears": 30, "nocostRate": 0.055, "traditionalRate": 0.05, "discount": 0, "origination": 0.01, "lender": 600, "credit": 50, "appraisal": 300, "titleInsurance": 800, "reconveyance": 75, "recording": 45, "wire": 55, "endorsement": 75, "closing": 125, "docprep": 30, "other": 0, "payCosts": "roll", "comparisonRate": 0, "overrideRate": 0.08, "taxBracket": 0.22, "comparisonYear": 30 }'
Example Request Body
{ "loanAmount": 0, "termYears": 30, "nocostRate": 0.055, "traditionalRate": 0.05, "discount": 0, "origination": 0.01, "lender": 600, "credit": 50, "appraisal": 300, "titleInsurance": 800, "reconveyance": 75, "recording": 45, "wire": 55, "endorsement": 75, "closing": 125, "docprep": 30, "other": 0, "payCosts": "roll", "comparisonRate": 0, "overrideRate": 0.08, "taxBracket": 0.22, "comparisonYear": 30 }
Example Responses
{ "monthlyPayment1": "89500.00", "monthlyPayment2": "89500.00", "pvLoan1": "89500.00", "pvLoan2": "89500.00", "remainingBalance1": "89500.00", "remainingBalance2": "89500.00", "closingCosts": "89500.00", "totalCost1": "89500.00", "totalCost2": "89500.00", "investmentReturn": 0.06, "years": [ { "yearNumber": 0, "nocostPayment": "89500.00", "nocostSavings": "89500.00", "nocostBalance": "89500.00", "nocostPv": "89500.00", "traditionalPayment": "89500.00", "traditionalSavings": "89500.00", "traditionalBalance": "89500.00", "traditionalPv": "89500.00" } ] }
application/json

What are the tax savings generated by my mortgage?

POST
https://api.fincalc.com
/v2/calculators/tax-savings-from-my-mortgage

What are the tax savings generated by my mortgage? › Request Body

Inputs for the hom09 calculation.
Hom09Request
loanAmount
​number · min: 0 · max: 750000 · required
Default: 0
interestRate
​number · min: 0 · max: 0.4 · required
Default: 0.05
termMonths
​integer · min: 1 · max: 480 · required
Default: 360
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22
amortization
​integer · enum · required
Enum values:
1
2
Default: 2

What are the tax savings generated by my mortgage? › Responses

Calculation result.

Result of the hom09 calculation.
Hom09Result
taxesSaved
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Hom09YearRow[] · required
POST/v2/calculators/tax-savings-from-my-mortgage
curl https://api.fincalc.com/v2/calculators/tax-savings-from-my-mortgage \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "loanAmount": 0,
  "interestRate": 0.05,
  "termMonths": 360,
  "taxBracket": 0.22,
  "amortization": 2
}'
Example Request Body
{
  "loanAmount": 0,
  "interestRate": 0.05,
  "termMonths": 360,
  "taxBracket": 0.22,
  "amortization": 2
}
Example Responses
{
  "taxesSaved": "89500.00",
  "years": [
    {
      "period": 0,
      "beginningBalance": "89500.00",
      "interest": "89500.00",
      "payment": "89500.00",
      "endingBalance": "89500.00",
      "taxSavings": "89500.00"
    }
  ]
}
application/json

Which is better: Fixed or adjustable-rate mortgage?

POST
https://api.fincalc.com
/v2/calculators/fixed-or-adjustable-rate-mortgage

Which is better: Fixed or adjustable-rate mortgage? › Request Body

Inputs for the hom10 calculation.
Hom10Request
loanAmount
​number · required
Default: 0
interestRate1
​number · min: 0 · max: 0.4 · required
Default: 0.05
interestRate2
​number · min: 0 · max: 0.4 · required
Default: 0.04
termYears1
​integer · min: 1 · max: 40 · required
Default: 30
termYears2
​integer · min: 1 · max: 40 · required
Default: 30
indexRate
​number · min: 0 · max: 0.4 · required
Default: 0.02
lendersMargin
​number · min: 0 · max: 0.4 · required
Default: 0.0225
indexAdjustment
​number · min: 0 · max: 2 · required
Default: 0.0025
indexMonths
​integer · min: 1 · max: 480 · required
Default: 12
ratesForecast
​integer · enum · required
Enum values:
0
1
2
Default: 1
adjustment
​number · min: 0 · max: 2 · required
Default: 0.005
absminRate
​number · min: 0 · max: 0.4 · required
Default: 0.04
absmaxRate
​number · min: 0 · max: 0.4 · required
Default: 0.12
monthsBeforeadj
​integer · min: 1 · max: 360 · required
Default: 12
monthsBetweenadj
​integer · min: 1 · max: 480 · required
Default: 12
comparisonRate
​number · enum · required
Enum values:
0
0.035
0.99
Default: 0
overrideRate
​number · min: 0 · max: 0.4 · required
Default: 0.08
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22
comparisonYear
​integer · min: 1 · max: 40 · required
Default: 30

Which is better: Fixed or adjustable-rate mortgage? › Responses

Calculation result.

Result of the hom10 calculation.
Hom10Result
monthlyPayment1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
pvLoan1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
remainingBalance1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalCost1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
monthlyPayment2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
pvLoan2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
remainingBalance2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalCost2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
investmentReturn
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
costDifference
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Hom10YearRow[] · required
POST/v2/calculators/fixed-or-adjustable-rate-mortgage
curl https://api.fincalc.com/v2/calculators/fixed-or-adjustable-rate-mortgage \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "loanAmount": 0, "interestRate1": 0.05, "interestRate2": 0.04, "termYears1": 30, "termYears2": 30, "indexRate": 0.02, "lendersMargin": 0.0225, "indexAdjustment": 0.0025, "indexMonths": 12, "ratesForecast": 1, "adjustment": 0.005, "absminRate": 0.04, "absmaxRate": 0.12, "monthsBeforeadj": 12, "monthsBetweenadj": 12, "comparisonRate": 0, "overrideRate": 0.08, "taxBracket": 0.22, "comparisonYear": 30 }'
Example Request Body
{ "loanAmount": 0, "interestRate1": 0.05, "interestRate2": 0.04, "termYears1": 30, "termYears2": 30, "indexRate": 0.02, "lendersMargin": 0.0225, "indexAdjustment": 0.0025, "indexMonths": 12, "ratesForecast": 1, "adjustment": 0.005, "absminRate": 0.04, "absmaxRate": 0.12, "monthsBeforeadj": 12, "monthsBetweenadj": 12, "comparisonRate": 0, "overrideRate": 0.08, "taxBracket": 0.22, "comparisonYear": 30 }
Example Responses
{ "monthlyPayment1": "89500.00", "pvLoan1": "89500.00", "remainingBalance1": "89500.00", "totalCost1": "89500.00", "monthlyPayment2": "89500.00", "pvLoan2": "89500.00", "remainingBalance2": "89500.00", "totalCost2": "89500.00", "investmentReturn": "89500.00", "costDifference": "89500.00", "years": [ { "month": 0, "fixedPandi": "89500.00", "fixedBalance": "89500.00", "adjustableRate": 0.06, "adjustablePandi": "89500.00", "adjustableBalance": "89500.00" } ] }
application/json

Adjustable rate mortgage calculator

POST
https://api.fincalc.com
/v2/calculators/adjustable-rate-mortgage-calculator

Adjustable rate mortgage calculator › Request Body

Inputs for the hom11 calculation.
Hom11Request
loanAmount
​number · required
Default: 0
interestRate
​number · min: 0 · max: 0.4 · required
Default: 0.05
termMonths
​integer · min: 1 · max: 480 · required
Default: 360
absminRate
​number · min: 0 · max: 0.4 · required
Default: 0.04
absmaxRate
​number · min: 0 · max: 0.4 · required
Default: 0.12
monthsBeforeadj
​integer · min: 1 · max: 360 · required
Default: 12
monthsBetweenadj
​integer · min: 1 · max: 480 · required
Default: 12
ratesForecast
​integer · enum · required
Enum values:
0
1
2
Default: 1
adjustment
​number · min: 0 · max: 2 · required
Default: 0.0025

Adjustable rate mortgage calculator › Responses

Calculation result.

Result of the hom11 calculation.
Hom11Result
totalPayments
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalInterest
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Hom11YearRow[] · required
POST/v2/calculators/adjustable-rate-mortgage-calculator
curl https://api.fincalc.com/v2/calculators/adjustable-rate-mortgage-calculator \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "loanAmount": 0, "interestRate": 0.05, "termMonths": 360, "absminRate": 0.04, "absmaxRate": 0.12, "monthsBeforeadj": 12, "monthsBetweenadj": 12, "ratesForecast": 1, "adjustment": 0.0025 }'
Example Request Body
{
  "loanAmount": 0,
  "interestRate": 0.05,
  "termMonths": 360,
  "absminRate": 0.04,
  "absmaxRate": 0.12,
  "monthsBeforeadj": 12,
  "monthsBetweenadj": 12,
  "ratesForecast": 1,
  "adjustment": 0.0025
}
Example Responses
{ "totalPayments": "89500.00", "totalInterest": "89500.00", "years": [ { "period": 0, "beginningBalance": "89500.00", "interest": "89500.00", "payment": "89500.00", "endingBalance": "89500.00", "rate": 0.06 } ] }
application/json

How do closing costs impact the interest rate?

POST
https://api.fincalc.com
/v2/calculators/how-do-closing-costs-impact-the-interest-rate

How do closing costs impact the interest rate? › Request Body

Inputs for the hom12 calculation.
Hom12Request
loanAmount
​number · required
Default: 0
termYears
​integer · min: 1 · max: 40 · required
Default: 30
statedRate
​number · min: 0 · max: 0.1 · required
Default: 0.05
discount
​number · min: 0 · max: 1 · required
Default: 0
origination
​number · min: 0 · max: 1 · required
Default: 0.01
lender
​number · required
Default: 600
creditReport
​number · required
Default: 50
appraisal
​number · required
Default: 300
titleIns
​number · required
Default: 800
reconveyance
​number · required
Default: 75
recording
​number · required
Default: 45
wire
​number · required
Default: 55
endorsement
​number · required
Default: 75
titleClosing
​number · required
Default: 125
documentPrep
​number · required
Default: 30
other
​number · required
Default: 0

How do closing costs impact the interest rate? › Responses

Calculation result.

Result of the hom12 calculation.
Hom12Result
totalFees
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
apr
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
moPaymentsWith
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
moPaymentsWithout
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/how-do-closing-costs-impact-the-interest-rate
curl https://api.fincalc.com/v2/calculators/how-do-closing-costs-impact-the-interest-rate \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "loanAmount": 0, "termYears": 30, "statedRate": 0.05, "discount": 0, "origination": 0.01, "lender": 600, "creditReport": 50, "appraisal": 300, "titleIns": 800, "reconveyance": 75, "recording": 45, "wire": 55, "endorsement": 75, "titleClosing": 125, "documentPrep": 30, "other": 0 }'
Example Request Body
{ "loanAmount": 0, "termYears": 30, "statedRate": 0.05, "discount": 0, "origination": 0.01, "lender": 600, "creditReport": 50, "appraisal": 300, "titleIns": 800, "reconveyance": 75, "recording": 45, "wire": 55, "endorsement": 75, "titleClosing": 125, "documentPrep": 30, "other": 0 }
Example Responses
{
  "totalFees": "89500.00",
  "apr": 0.06,
  "moPaymentsWith": "89500.00",
  "moPaymentsWithout": "89500.00"
}
application/json

Compare an interest-only vs. traditional mortgage

POST
https://api.fincalc.com
/v2/calculators/interest-only-vs-traditional-mortgage

Compare an interest-only vs. traditional mortgage › Request Body

Inputs for the hom13 calculation.
Hom13Request
loanAmount
​number · required
Default: 0
interestRate
​number · min: 0 · max: 0.4 · required
Default: 0.05
termYears
​integer · min: 1 · max: 30 · required
Default: 30
termInterestOnly
​integer · min: 1 · max: 30 · required
Default: 15

Compare an interest-only vs. traditional mortgage › Responses

Calculation result.

Result of the hom13 calculation.
Hom13Result
initialMonthlyPaymentIO
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
remainingTermIO
​number · required
newMonthlyPaymentIO
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
monthlyPaymentTrad
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalInterestTrad
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalInterestIO
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
interestDiff
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Hom13YearRow[] · required
POST/v2/calculators/interest-only-vs-traditional-mortgage
curl https://api.fincalc.com/v2/calculators/interest-only-vs-traditional-mortgage \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "loanAmount": 0,
  "interestRate": 0.05,
  "termYears": 30,
  "termInterestOnly": 15
}'
Example Request Body
{
  "loanAmount": 0,
  "interestRate": 0.05,
  "termYears": 30,
  "termInterestOnly": 15
}
Example Responses
{ "initialMonthlyPaymentIO": "89500.00", "remainingTermIO": 0, "newMonthlyPaymentIO": "89500.00", "monthlyPaymentTrad": "89500.00", "totalInterestTrad": "89500.00", "totalInterestIO": "89500.00", "interestDiff": "89500.00", "years": [ { "period": 0, "beginningBalance": "89500.00", "interest": "89500.00", "payment": "89500.00", "endingBalance": "89500.00", "beginningBalanceIO": "89500.00", "interestIO": "89500.00", "paymentIO": "89500.00", "endingBalanceIO": "89500.00" } ] }
application/json

Calculate Your Estimated Borrowing Capacity Using A Home Equity Line of Credit (HELOC)

POST
https://api.fincalc.com
/v2/calculators/how-much-can-i-borrow-from-my-home-equity-heloc

Calculate Your Estimated Borrowing Capacity Using A Home Equity Line of Credit (HELOC) › Request Body

Inputs for the hom14 calculation.
Hom14Request
homeValue
​number · required
Default: 0
mortgageBalance
​number · required
Default: 0
ltv
​number · min: 0 · max: 0.9 · required
Default: 0.7

Calculate Your Estimated Borrowing Capacity Using A Home Equity Line of Credit (HELOC) › Responses

Calculation result.

Result of the hom14 calculation.
Hom14Result
ltvCol1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
ltvCol2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
ltvCol3
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
ltvCol4
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
ltvCol5
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
lineCol1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
lineCol2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
lineCol3
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
lineCol4
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
lineCol5
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/how-much-can-i-borrow-from-my-home-equity-heloc
curl https://api.fincalc.com/v2/calculators/how-much-can-i-borrow-from-my-home-equity-heloc \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "homeValue": 0,
  "mortgageBalance": 0,
  "ltv": 0.7
}'
Example Request Body
{
  "homeValue": 0,
  "mortgageBalance": 0,
  "ltv": 0.7
}
Example Responses
{
  "ltvCol1": "89500.00",
  "ltvCol2": "89500.00",
  "ltvCol3": "89500.00",
  "ltvCol4": "89500.00",
  "ltvCol5": "89500.00",
  "lineCol1": "89500.00",
  "lineCol2": "89500.00",
  "lineCol3": "89500.00",
  "lineCol4": "89500.00",
  "lineCol5": "89500.00"
}
application/json

Discover the better option between loans.

POST
https://api.fincalc.com
/v2/calculators/loan-comparison-calculator

Discover the better option between loans. › Request Body

Inputs for the hom15 calculation.
Hom15Request
loanAmount1
​number · required
Default: 0
loanAmount2
​number · required
Default: 0
loanAmount3
​number · required
Default: 0
termYears1
​integer · min: 1 · max: 40 · required
Default: 30
termYears2
​integer · min: 1 · max: 40 · required
Default: 30
termYears3
​integer · min: 1 · max: 40 · required
Default: 30
statedRate1
​number · min: 0 · max: 0.4 · required
Default: 0.04
statedRate2
​number · min: 0 · max: 0.4 · required
Default: 0.045
statedRate3
​number · min: 0 · max: 0.4 · required
Default: 0.05
discount1
​number · min: 0 · max: 0.05 · required
Default: 0
discount2
​number · min: 0 · max: 0.05 · required
Default: 0
discount3
​number · min: 0 · max: 0.05 · required
Default: 0
origination1
​number · min: 0 · max: 0.05 · required
Default: 0.01
origination2
​number · min: 0 · max: 0.05 · required
Default: 0.01
origination3
​number · min: 0 · max: 0.05 · required
Default: 0.01
lender1
​number · required
Default: 600
lender2
​number · required
Default: 600
lender3
​number · required
Default: 600
title1
​number · required
Default: 50
title2
​number · required
Default: 50
title3
​number · required
Default: 50
other1
​number · required
Default: 300
other2
​number · required
Default: 300
other3
​number · required
Default: 300

Discover the better option between loans. › Responses

Calculation result.

Result of the hom15 calculation.
Hom15Result
moPaymentsWithout1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
moPaymentsWithout2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
moPaymentsWithout3
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
moPaymentsWith1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
moPaymentsWith2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
moPaymentsWith3
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
apr1
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
apr2
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
apr3
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
POST/v2/calculators/loan-comparison-calculator
curl https://api.fincalc.com/v2/calculators/loan-comparison-calculator \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "loanAmount1": 0, "loanAmount2": 0, "loanAmount3": 0, "termYears1": 30, "termYears2": 30, "termYears3": 30, "statedRate1": 0.04, "statedRate2": 0.045, "statedRate3": 0.05, "discount1": 0, "discount2": 0, "discount3": 0, "origination1": 0.01, "origination2": 0.01, "origination3": 0.01, "lender1": 600, "lender2": 600, "lender3": 600, "title1": 50, "title2": 50, "title3": 50, "other1": 300, "other2": 300, "other3": 300 }'
Example Request Body
{ "loanAmount1": 0, "loanAmount2": 0, "loanAmount3": 0, "termYears1": 30, "termYears2": 30, "termYears3": 30, "statedRate1": 0.04, "statedRate2": 0.045, "statedRate3": 0.05, "discount1": 0, "discount2": 0, "discount3": 0, "origination1": 0.01, "origination2": 0.01, "origination3": 0.01, "lender1": 600, "lender2": 600, "lender3": 600, "title1": 50, "title2": 50, "title3": 50, "other1": 300, "other2": 300, "other3": 300 }
Example Responses
{
  "moPaymentsWithout1": "89500.00",
  "moPaymentsWithout2": "89500.00",
  "moPaymentsWithout3": "89500.00",
  "moPaymentsWith1": "89500.00",
  "moPaymentsWith2": "89500.00",
  "moPaymentsWith3": "89500.00",
  "apr1": 0.06,
  "apr2": 0.06,
  "apr3": 0.06
}
application/json

How does a reverse mortgage work?

POST
https://api.fincalc.com
/v2/calculators/how-does-a-reverse-mortgage-work

How does a reverse mortgage work? › Request Body

Inputs for the hom16 calculation.
Hom16Request
homeValue
​number · required
Default: 0
homeAppreciation
​number · min: 0 · max: 0.12 · required
Default: 0.03
months
​integer · min: 1 · max: 360 · required
Default: 120
reverseLoanAmount
​number · required
Default: 0
interestRate
​number · min: 0 · max: 0.12 · required
Default: 0.05

How does a reverse mortgage work? › Responses

Calculation result.

Result of the hom16 calculation.
Hom16Result
futureEquity
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Hom16MonthRow[] · required
POST/v2/calculators/how-does-a-reverse-mortgage-work
curl https://api.fincalc.com/v2/calculators/how-does-a-reverse-mortgage-work \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "homeValue": 0,
  "homeAppreciation": 0.03,
  "months": 120,
  "reverseLoanAmount": 0,
  "interestRate": 0.05
}'
Example Request Body
{
  "homeValue": 0,
  "homeAppreciation": 0.03,
  "months": 120,
  "reverseLoanAmount": 0,
  "interestRate": 0.05
}
Example Responses
{
  "futureEquity": "89500.00",
  "months": [
    {
      "month": 0,
      "beginningBalance": "89500.00",
      "interest": "89500.00",
      "rmBalanceInterest": "89500.00",
      "homeValue": "89500.00",
      "remainingEquity": "89500.00"
    }
  ]
}
application/json

What are my HELOC payments?

POST
https://api.fincalc.com
/v2/calculators/what-are-my-heloc-payments

What are my HELOC payments? › Request Body

Inputs for the hom17 calculation.
Hom17Request
loanAmount
​number · required
Default: 0
rate
​number · min: 0 · max: 0.4 · required
Default: 0
termInterestOnly
​integer · min: 0 · max: 15 · required
Default: 5
termAmortization
​integer · min: 0 · max: 25 · required
Default: 15

What are my HELOC payments? › Responses

Calculation result.

Result of the hom17 calculation.
Hom17Result
amortizedPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
interestOnlyPayment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalInterest
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Hom17YearRow[] · required
POST/v2/calculators/what-are-my-heloc-payments
curl https://api.fincalc.com/v2/calculators/what-are-my-heloc-payments \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "loanAmount": 0,
  "rate": 0,
  "termInterestOnly": 5,
  "termAmortization": 15
}'
Example Request Body
{
  "loanAmount": 0,
  "rate": 0,
  "termInterestOnly": 5,
  "termAmortization": 15
}
Example Responses
{ "amortizedPayment": "89500.00", "interestOnlyPayment": "89500.00", "totalInterest": "89500.00", "years": [ { "period": 0, "totalPayments": "89500.00", "principal": "89500.00", "interest": "89500.00", "endingBalance": "89500.00" } ] }
application/json

Balloon mortgage

POST
https://api.fincalc.com
/v2/calculators/balloon-mortgage

Balloon mortgage › Request Body

Inputs for the hom20 calculation.
Hom20Request
loanAmount
​number · required
Default: 0
term
​string · enum · required
Enum values:
1
2
Default: 1
rate
​number · min: 0 · max: 0.12 · required
Default: 0.045

Balloon mortgage › Responses

Calculation result.

Result of the hom20 calculation.
Hom20Result
estimatedMonthlyPayment
​number · required
calculatedYearlyPayment
​number · required
balloonPayment
​number · required
totalInterestPaid
​number · required
POST/v2/calculators/balloon-mortgage
curl https://api.fincalc.com/v2/calculators/balloon-mortgage \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "loanAmount": 0,
  "term": "1",
  "rate": 0.045
}'
Example Request Body
{
  "loanAmount": 0,
  "term": "1",
  "rate": 0.045
}
Example Responses
{
  "estimatedMonthlyPayment": 0,
  "calculatedYearlyPayment": 0,
  "balloonPayment": 0,
  "totalInterestPaid": 0
}
application/json

Comparing Mortgage Terms (i.e. 15, 20, 30 year)

POST
https://api.fincalc.com
/v2/calculators/comparing-mortgage-terms-15-20-30-year

Comparing Mortgage Terms (i.e. 15, 20, 30 year) › Request Body

Inputs for the hom39 calculation.
Hom39Request
loanAmount
​number · required
Default: 0
termYears1
​integer · min: 1 · max: 40 · required
Default: 15
termYears2
​integer · min: 1 · max: 40 · required
Default: 20
interestRate1
​number · min: 0 · max: 0.4 · required
Default: 0.04
interestRate2
​number · min: 0 · max: 0.4 · required
Default: 0.045

Comparing Mortgage Terms (i.e. 15, 20, 30 year) › Responses

Calculation result.

Result of the hom39 calculation.
Hom39Result
monthlyPayment1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
monthlyPayment2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
interest1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
interest2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
interestDifference
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
paymentDifference
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/comparing-mortgage-terms-15-20-30-year
curl https://api.fincalc.com/v2/calculators/comparing-mortgage-terms-15-20-30-year \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "loanAmount": 0,
  "termYears1": 15,
  "termYears2": 20,
  "interestRate1": 0.04,
  "interestRate2": 0.045
}'
Example Request Body
{
  "loanAmount": 0,
  "termYears1": 15,
  "termYears2": 20,
  "interestRate1": 0.04,
  "interestRate2": 0.045
}
Example Responses
{
  "monthlyPayment1": "89500.00",
  "monthlyPayment2": "89500.00",
  "interest1": "89500.00",
  "interest2": "89500.00",
  "interestDifference": "89500.00",
  "paymentDifference": "89500.00"
}
application/json

What is my potential estate tax liability?

POST
https://api.fincalc.com
/v2/calculators/what-is-my-potential-estate-tax-liability

What is my potential estate tax liability? › Request Body

Inputs for the inc01 calculation.
Inc01Request
personalAssets
​number · required
Default: 0
personalGrowth
​number · min: 0 · max: 5 · required
Default: 0
personalDebts
​number · required
Default: 0
investmentAssets
​number · required
Default: 0
investmentGrowth
​number · min: 0 · max: 5 · required
Default: 0
investmentDebts
​number · required
Default: 0
businessAssets
​number · required
Default: 0
businessGrowth
​number · min: 0 · max: 5 · required
Default: 0
businessDebts
​number · required
Default: 0
charitableDonations
​number · required
Default: 0
probate
​number · min: 0 · max: 1 · required
Default: 0.03
growthYears
​integer · min: 0 · max: 120 · required
Default: 0

What is my potential estate tax liability? › Responses

Calculation result.

Result of the inc01 calculation.
Inc01Result
futurePersonal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
futureInvestment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
futureBusiness
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
futureEstate
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
estateExpenses
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
charitableTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
futureNetEstate
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
tentativeTax
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
unifiedCredit
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
estateTax
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
estateReduction
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
POST/v2/calculators/what-is-my-potential-estate-tax-liability
curl https://api.fincalc.com/v2/calculators/what-is-my-potential-estate-tax-liability \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "personalAssets": 0, "personalGrowth": 0, "personalDebts": 0, "investmentAssets": 0, "investmentGrowth": 0, "investmentDebts": 0, "businessAssets": 0, "businessGrowth": 0, "businessDebts": 0, "charitableDonations": 0, "probate": 0.03, "growthYears": 0 }'
Example Request Body
{ "personalAssets": 0, "personalGrowth": 0, "personalDebts": 0, "investmentAssets": 0, "investmentGrowth": 0, "investmentDebts": 0, "businessAssets": 0, "businessGrowth": 0, "businessDebts": 0, "charitableDonations": 0, "probate": 0.03, "growthYears": 0 }
Example Responses
{
  "futurePersonal": "89500.00",
  "futureInvestment": "89500.00",
  "futureBusiness": "89500.00",
  "futureEstate": "89500.00",
  "estateExpenses": "89500.00",
  "charitableTotal": "89500.00",
  "futureNetEstate": "89500.00",
  "tentativeTax": "89500.00",
  "unifiedCredit": "89500.00",
  "estateTax": "89500.00",
  "estateReduction": 0.06
}
application/json

Should I adjust my payroll withholdings?

POST
https://api.fincalc.com
/v2/calculators/payroll-tax-withholding-calculator

Should I adjust my payroll withholdings? › Request Body

Inputs for the inc03 calculation.
Inc03Request
taxStatus
​string · enum · required
Enum values:
S
H
MS
MJ
T
Default: MJ
clientIncome
​number · min: 0 · max: 99999999 · required
Default: 0
qualifiedSavings
​number · min: 0 · max: 99999999 · required
Default: 0
itemizedDeductions
​number · min: 0 · max: 99999999 · required
Default: 0
dependents
​integer · min: 0 · max: 15 · required
Default: 0
notQualifiedDependents
​integer · min: 0 · max: 15 · required
Default: 2
unearnedIncome
​number · min: 0 · max: 99999999 · required
Default: 0
taxesStateLocal
​number · min: 0 · max: 99999999 · required
Default: 0
qualifiedTips
​number · min: 0 · max: 99999999 · required
Default: 0
qualifiedOvertime
​number · min: 0 · max: 99999999 · required
Default: 0
qualifiedCarInterest
​number · min: 0 · max: 99999999 · required
Default: 0
additionalDeduction
​string · enum · required
Enum values:
0
1
2
Default: 0
additionalAgeDeduction
​string · enum · required
Enum values:
0
1
2
Default: 0
passThrough
​number · min: -999999999 · max: 999999999 · required
Default: 0
ownershipPercentage
​number · min: 0 · max: 1 · required
Default: 1
totalAssets
​number · min: 0 · max: 99999999 · required
Default: 0
totalBusinessWages
​number · min: 0 · max: 99999999 · required
Default: 0
taxWithheld
​number · min: 0 · max: 99999999 · required
Default: 0
taxesLastPaycheck
​number · required
Default: 0
payperiod
​integer · enum · required
Enum values:
52
26
24
12
1
Default: 24

Should I adjust my payroll withholdings? › Responses

Calculation result.

Result of the inc03 calculation.
Inc03Result
avgTaxRate
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
marginalRate
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
adjGrossIncome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
deductions
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
exemptions
​string · required
taxableIncome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
taxLiabBeforeCredit
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
childTaxCredit
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
estimatedTaxLiability
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
curTaxesWithheld
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
futTaxesWithheld
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalWithheld
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
shortfallSurplus
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
yearlyWithholdings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/payroll-tax-withholding-calculator
curl https://api.fincalc.com/v2/calculators/payroll-tax-withholding-calculator \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "taxStatus": "MJ", "clientIncome": 0, "qualifiedSavings": 0, "itemizedDeductions": 0, "dependents": 0, "notQualifiedDependents": 2, "unearnedIncome": 0, "taxesStateLocal": 0, "qualifiedTips": 0, "qualifiedOvertime": 0, "qualifiedCarInterest": 0, "additionalDeduction": "0", "additionalAgeDeduction": "0", "passThrough": 0, "ownershipPercentage": 1, "totalAssets": 0, "totalBusinessWages": 0, "taxWithheld": 0, "taxesLastPaycheck": 0, "payperiod": 24 }'
Example Request Body
{ "taxStatus": "MJ", "clientIncome": 0, "qualifiedSavings": 0, "itemizedDeductions": 0, "dependents": 0, "notQualifiedDependents": 2, "unearnedIncome": 0, "taxesStateLocal": 0, "qualifiedTips": 0, "qualifiedOvertime": 0, "qualifiedCarInterest": 0, "additionalDeduction": "0", "additionalAgeDeduction": "0", "passThrough": 0, "ownershipPercentage": 1, "totalAssets": 0, "totalBusinessWages": 0, "taxWithheld": 0, "taxesLastPaycheck": 0, "payperiod": 24 }
Example Responses
{ "avgTaxRate": 0.06, "marginalRate": 0.06, "adjGrossIncome": "89500.00", "deductions": "89500.00", "exemptions": "exemptions", "taxableIncome": "89500.00", "taxLiabBeforeCredit": "89500.00", "childTaxCredit": "89500.00", "estimatedTaxLiability": "89500.00", "curTaxesWithheld": "89500.00", "futTaxesWithheld": "89500.00", "totalWithheld": "89500.00", "shortfallSurplus": "89500.00", "yearlyWithholdings": "89500.00" }
application/json

Will my investment interest be deductible?

POST
https://api.fincalc.com
/v2/calculators/will-my-investment-interest-be-deductible

Will my investment interest be deductible? › Request Body

Inputs for the inc04 calculation.
Inc04Request
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22
dividend
​number · required
Default: 0
interest
​number · required
Default: 0
stCapGain
​number · required
Default: 0
margin
​number · required
Default: 0
other
​number · required
Default: 0

Will my investment interest be deductible? › Responses

Calculation result.

Result of the inc04 calculation.
Inc04Result
interestEarned
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
interestPaid
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
interestDeductible
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
taxSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
carryOver
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/will-my-investment-interest-be-deductible
curl https://api.fincalc.com/v2/calculators/will-my-investment-interest-be-deductible \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "taxBracket": 0.22,
  "dividend": 0,
  "interest": 0,
  "stCapGain": 0,
  "margin": 0,
  "other": 0
}'
Example Request Body
{
  "taxBracket": 0.22,
  "dividend": 0,
  "interest": 0,
  "stCapGain": 0,
  "margin": 0,
  "other": 0
}
Example Responses
{
  "interestEarned": "89500.00",
  "interestPaid": "89500.00",
  "interestDeductible": "89500.00",
  "taxSavings": "89500.00",
  "carryOver": "89500.00"
}
application/json

How much self-employment tax will I pay?

POST
https://api.fincalc.com
/v2/calculators/self-employment-tax-calculator

How much self-employment tax will I pay? › Request Body

Inputs for the inc05 calculation.
Inc05Request
selfEmployedIncome
​number · required
Default: 0
employerIncome
​number · required
Default: 0
taxStatus
​string · enum · required
Enum values:
S
H
MS
MJ
Default: MJ

How much self-employment tax will I pay? › Responses

Calculation result.

Result of the inc05 calculation.
Inc05Result
ssEarnings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
ssDeduction
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
ssTaxable
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
ssTax
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
medicareEarnings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
medicareDeduction
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
medicareTaxable
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
medicareTax
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalSETax
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/self-employment-tax-calculator
curl https://api.fincalc.com/v2/calculators/self-employment-tax-calculator \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "selfEmployedIncome": 0,
  "employerIncome": 0,
  "taxStatus": "MJ"
}'
Example Request Body
{
  "selfEmployedIncome": 0,
  "employerIncome": 0,
  "taxStatus": "MJ"
}
Example Responses
{
  "ssEarnings": "89500.00",
  "ssDeduction": "89500.00",
  "ssTaxable": "89500.00",
  "ssTax": "89500.00",
  "medicareEarnings": "89500.00",
  "medicareDeduction": "89500.00",
  "medicareTaxable": "89500.00",
  "medicareTax": "89500.00",
  "totalSETax": "89500.00"
}
application/json

Long-term Capital Gains Tax Estimator

POST
https://api.fincalc.com
/v2/calculators/long-term-capital-gains-tax-estimator

Long-term Capital Gains Tax Estimator › Request Body

Inputs for the inc06 calculation.
Inc06Request
filingStatus
​integer · enum · required
Enum values:
1
2
3
4
Default: 2
taxableIncome
​number · required
Default: 0
purchasePrice1
​number · required
Default: 0
salesPrice1
​number · required
Default: 0
purchasePrice2
​number · required
Default: 0
salesPrice2
​number · required
Default: 0
purchasePrice3
​number · required
Default: 0
salesPrice3
​number · required
Default: 0
purchasePrice4
​number · required
Default: 0
salesPrice4
​number · required
Default: 0

Long-term Capital Gains Tax Estimator › Responses

Calculation result.

Result of the inc06 calculation.
Inc06Result
ltCapLosses
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
ltNetGain
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
ltTaxesDue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
ltCapGains
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/long-term-capital-gains-tax-estimator
curl https://api.fincalc.com/v2/calculators/long-term-capital-gains-tax-estimator \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "filingStatus": 2, "taxableIncome": 0, "purchasePrice1": 0, "salesPrice1": 0, "purchasePrice2": 0, "salesPrice2": 0, "purchasePrice3": 0, "salesPrice3": 0, "purchasePrice4": 0, "salesPrice4": 0 }'
Example Request Body
{
  "filingStatus": 2,
  "taxableIncome": 0,
  "purchasePrice1": 0,
  "salesPrice1": 0,
  "purchasePrice2": 0,
  "salesPrice2": 0,
  "purchasePrice3": 0,
  "salesPrice3": 0,
  "purchasePrice4": 0,
  "salesPrice4": 0
}
Example Responses
{
  "ltCapLosses": "89500.00",
  "ltNetGain": "89500.00",
  "ltTaxesDue": "89500.00",
  "ltCapGains": "89500.00"
}
application/json

Compare taxable, tax-deferred and tax-free investment growth

POST
https://api.fincalc.com
/v2/calculators/compare-taxable-tax-deferred-and-tax-free-investment-growth

Compare taxable, tax-deferred and tax-free investment growth › Request Body

Inputs for the inc07 calculation.
Inc07Request
initialBalance
​number · required
Default: 0
annualSavings
​number · required
Default: 0
years
​integer · min: 1 · max: 50 · required
Default: 20
btReturnTaxable
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
btReturnDeferred
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
btReturnFree
​number · min: -0.12 · max: 0.12 · required
Default: 0.05
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.25

Compare taxable, tax-deferred and tax-free investment growth › Responses

Calculation result.

Result of the inc07 calculation.
Inc07Result
atReturnTaxable
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
fvTaxable
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
fvDeferred
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
fvFree
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
fvatTaxable
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
fvatDeferred
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
fvatFree
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Inc07YearRow[] · required
POST/v2/calculators/compare-taxable-tax-deferred-and-tax-free-investment-growth
curl https://api.fincalc.com/v2/calculators/compare-taxable-tax-deferred-and-tax-free-investment-growth \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "initialBalance": 0,
  "annualSavings": 0,
  "years": 20,
  "btReturnTaxable": 0.08,
  "btReturnDeferred": 0.08,
  "btReturnFree": 0.05,
  "taxBracket": 0.25
}'
Example Request Body
{
  "initialBalance": 0,
  "annualSavings": 0,
  "years": 20,
  "btReturnTaxable": 0.08,
  "btReturnDeferred": 0.08,
  "btReturnFree": 0.05,
  "taxBracket": 0.25
}
Example Responses
{ "atReturnTaxable": 0.06, "fvTaxable": "89500.00", "fvDeferred": "89500.00", "fvFree": "89500.00", "fvatTaxable": "89500.00", "fvatDeferred": "89500.00", "fvatFree": "89500.00", "years": [ { "yearNumber": 0, "fullyTaxable": 0, "taxDeferred": 0, "taxFree": 0 } ] }
application/json

How much of my social security benefit may be taxed?

POST
https://api.fincalc.com
/v2/calculators/how-much-of-my-social-security-benefit-may-be-taxed

How much of my social security benefit may be taxed? › Request Body

Inputs for the inc08 calculation.
Inc08Request
taxStatus
​string · enum · required
Enum values:
1
2
3
4
Default: 1
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22
ltCapGains
​number · min: -999999999 · max: 999999999 · required
Default: 0
stCapGains
​number · min: -999999999 · max: 999999999 · required
Default: 0
dividends
​number · required
Default: 0
taxableInterest
​number · required
Default: 0
taxFreeInterest
​number · required
Default: 0
pension
​number · required
Default: 0
ira
​number · required
Default: 0
other
​number · required
Default: 0
wages
​number · required
Default: 0
seIncome
​number · min: -999999999 · max: 999999999 · required
Default: 0
deductibleIRA
​number · required
Default: 0
ssBenefits
​number · required
Default: 0

How much of my social security benefit may be taxed? › Responses

Calculation result.

Result of the inc08 calculation.
Inc08Result
line1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
line2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
line3
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
line4
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
line5
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
line6
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
line7
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
line8
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
line9
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
line10
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
line11
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
line12
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
line13
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
line14
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
line15
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
line16
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
line17
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
line18
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
taxableSSBenefit
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
percentTaxable
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
taxesDue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/how-much-of-my-social-security-benefit-may-be-taxed
curl https://api.fincalc.com/v2/calculators/how-much-of-my-social-security-benefit-may-be-taxed \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "taxStatus": "1", "taxBracket": 0.22, "ltCapGains": 0, "stCapGains": 0, "dividends": 0, "taxableInterest": 0, "taxFreeInterest": 0, "pension": 0, "ira": 0, "other": 0, "wages": 0, "seIncome": 0, "deductibleIRA": 0, "ssBenefits": 0 }'
Example Request Body
{ "taxStatus": "1", "taxBracket": 0.22, "ltCapGains": 0, "stCapGains": 0, "dividends": 0, "taxableInterest": 0, "taxFreeInterest": 0, "pension": 0, "ira": 0, "other": 0, "wages": 0, "seIncome": 0, "deductibleIRA": 0, "ssBenefits": 0 }
Example Responses
{ "line1": "89500.00", "line2": "89500.00", "line3": "89500.00", "line4": "89500.00", "line5": "89500.00", "line6": "89500.00", "line7": "89500.00", "line8": "89500.00", "line9": "89500.00", "line10": "89500.00", "line11": "89500.00", "line12": "89500.00", "line13": "89500.00", "line14": "89500.00", "line15": "89500.00", "line16": "89500.00", "line17": "89500.00", "line18": "89500.00", "taxableSSBenefit": "89500.00", "percentTaxable": 0.06, "taxesDue": "89500.00" }
application/json

What are the tax implications of paying interest?

POST
https://api.fincalc.com
/v2/calculators/what-are-the-tax-implications-of-paying-interest

What are the tax implications of paying interest? › Request Body

Inputs for the inc09 calculation.
Inc09Request
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22
firstMortgage
​number · required
Default: 0
secondMortgage
​number · required
Default: 0
homeEquity
​number · required
Default: 0
investmentPaid
​number · required
Default: 0
investmentReceived
​number · required
Default: 0
stCapGains
​number · min: -999999999 · max: 999999999 · required
Default: 0
business
​number · required
Default: 0
creditCard
​number · required
Default: 0
auto
​number · required
Default: 0
other
​number · required
Default: 0

What are the tax implications of paying interest? › Responses

Calculation result.

Result of the inc09 calculation.
Inc09Result
mortgageTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
mortgageDeductible
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
mortgageSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
investmentTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
investmentDeductible
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
investmentSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
businessTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
businessDeductible
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
businessSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
personalTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
personalDeductible
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
personalSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
interestTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
interestDeductible
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
interestSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/what-are-the-tax-implications-of-paying-interest
curl https://api.fincalc.com/v2/calculators/what-are-the-tax-implications-of-paying-interest \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "taxBracket": 0.22, "firstMortgage": 0, "secondMortgage": 0, "homeEquity": 0, "investmentPaid": 0, "investmentReceived": 0, "stCapGains": 0, "business": 0, "creditCard": 0, "auto": 0, "other": 0 }'
Example Request Body
{
  "taxBracket": 0.22,
  "firstMortgage": 0,
  "secondMortgage": 0,
  "homeEquity": 0,
  "investmentPaid": 0,
  "investmentReceived": 0,
  "stCapGains": 0,
  "business": 0,
  "creditCard": 0,
  "auto": 0,
  "other": 0
}
Example Responses
{ "mortgageTotal": "89500.00", "mortgageDeductible": "89500.00", "mortgageSavings": "89500.00", "investmentTotal": "89500.00", "investmentDeductible": "89500.00", "investmentSavings": "89500.00", "businessTotal": "89500.00", "businessDeductible": "89500.00", "businessSavings": "89500.00", "personalTotal": "89500.00", "personalDeductible": "89500.00", "personalSavings": "89500.00", "interestTotal": "89500.00", "interestDeductible": "89500.00", "interestSavings": "89500.00" }
application/json

Should I itemize or take the standard deduction?

POST
https://api.fincalc.com
/v2/calculators/should-i-itemize-or-take-the-standard-deduction

Should I itemize or take the standard deduction? › Request Body

Inputs for the inc10 calculation.
Inc10Request
agi
​number · required
Default: 0
taxStatus
​string · enum · required
Enum values:
1
2
3
4
Default: 2
blind
​integer · min: 0 · max: 10 · required
Default: 0
senior
​integer · min: 0 · max: 10 · required
Default: 0
medical
​number · required
Default: 0
dental
​number · required
Default: 0
stateTaxes
​number · required
Default: 0
realEstateTaxes
​number · required
Default: 0
propertyTaxes
​number · required
Default: 0
otherTaxes
​number · required
Default: 0
mortgageInterest
​number · required
Default: 0
interestReceived
​number · required
Default: 0
interestPaid
​number · required
Default: 0
charityCash
​number · required
Default: 0
charityInKind
​number · required
Default: 0
charityCarryOver
​number · required
Default: 0

Should I itemize or take the standard deduction? › Responses

Calculation result.

Result of the inc10 calculation.
Inc10Result
itemizeMedical
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
itemizeTaxes
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
itemizeInterest
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
itemizeCharity
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
itemizeTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
standard
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/should-i-itemize-or-take-the-standard-deduction
curl https://api.fincalc.com/v2/calculators/should-i-itemize-or-take-the-standard-deduction \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "agi": 0, "taxStatus": "2", "blind": 0, "senior": 0, "medical": 0, "dental": 0, "stateTaxes": 0, "realEstateTaxes": 0, "propertyTaxes": 0, "otherTaxes": 0, "mortgageInterest": 0, "interestReceived": 0, "interestPaid": 0, "charityCash": 0, "charityInKind": 0, "charityCarryOver": 0 }'
Example Request Body
{ "agi": 0, "taxStatus": "2", "blind": 0, "senior": 0, "medical": 0, "dental": 0, "stateTaxes": 0, "realEstateTaxes": 0, "propertyTaxes": 0, "otherTaxes": 0, "mortgageInterest": 0, "interestReceived": 0, "interestPaid": 0, "charityCash": 0, "charityInKind": 0, "charityCarryOver": 0 }
Example Responses
{
  "itemizeMedical": "89500.00",
  "itemizeTaxes": "89500.00",
  "itemizeInterest": "89500.00",
  "itemizeCharity": "89500.00",
  "itemizeTotal": "89500.00",
  "standard": "89500.00"
}
application/json

What is my tax-equivalent yield?

POST
https://api.fincalc.com
/v2/calculators/what-is-my-tax-equivalent-yield

What is my tax-equivalent yield? › Request Body

Inputs for the inc11 calculation.
Inc11Request
taxFree
​number · min: -0.12 · max: 0.12 · required
Default: 0.05
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.05
stateTaxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.07

What is my tax-equivalent yield? › Responses

Calculation result.

Result of the inc11 calculation.
Inc11Result
totTaxRate
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
teyFed
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
teyFedState
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
POST/v2/calculators/what-is-my-tax-equivalent-yield
curl https://api.fincalc.com/v2/calculators/what-is-my-tax-equivalent-yield \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "taxFree": 0.05,
  "taxBracket": 0.05,
  "stateTaxBracket": 0.07
}'
Example Request Body
{
  "taxFree": 0.05,
  "taxBracket": 0.05,
  "stateTaxBracket": 0.07
}
Example Responses
{
  "totTaxRate": 0.06,
  "teyFed": 0.06,
  "teyFedState": 0.06
}
application/json

How much life insurance do I need?

POST
https://api.fincalc.com
/v2/calculators/life-insurance-calculator

How much life insurance do I need? › Request Body

Inputs for the ins01 calculation.
Ins01Request
clientAge
​integer · min: 1 · max: 120 · required
Default: 1
clientIncome
​number · required
Default: 0
spouseIncome
​number · required
Default: 0
spouseAge
​integer · min: 0 · max: 100 · required
Default: 0
spouseRetAge
​integer · min: 0 · max: 100 · required
Default: 0
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.05
inflation
​number · min: 0 · max: 0.1 · required
Default: 0.02
funeral
​number · required
Default: 0
finalExpenses
​number · required
Default: 0
mortgageBalance
​number · required
Default: 0
otherDebts
​number · required
Default: 0
desiredIncome
​number · required
Default: 0
term
​integer · min: 1 · max: 70 · required
Default: 20
collegeNeeds
​number · required
Default: 0
investmentAssets
​number · required
Default: 0
lifeInsurance
​number · required
Default: 0
includeSocsec
​string · enum · required
Enum values:
N
Y
Default: N
​object[] · minItems: 1 · maxItems: 4 · required

How much life insurance do I need? › Responses

Calculation result.

Result of the ins01 calculation.
Ins01Result
immediateNeeds
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
longtermNeeds
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalNeeds
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
spousesEarnings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
socialSecurity
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalResources
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
shortfall
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
lifeInsuranceNeeded
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Ins01YearRow[] · required
POST/v2/calculators/life-insurance-calculator
curl https://api.fincalc.com/v2/calculators/life-insurance-calculator \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "clientAge": 1, "clientIncome": 0, "spouseIncome": 0, "spouseAge": 0, "spouseRetAge": 0, "beforeTaxReturn": 0.05, "inflation": 0.02, "funeral": 0, "finalExpenses": 0, "mortgageBalance": 0, "otherDebts": 0, "desiredIncome": 0, "term": 20, "collegeNeeds": 0, "investmentAssets": 0, "lifeInsurance": 0, "includeSocsec": "N", "children": [ { "age": 0 } ] }'
Example Request Body
{ "clientAge": 1, "clientIncome": 0, "spouseIncome": 0, "spouseAge": 0, "spouseRetAge": 0, "beforeTaxReturn": 0.05, "inflation": 0.02, "funeral": 0, "finalExpenses": 0, "mortgageBalance": 0, "otherDebts": 0, "desiredIncome": 0, "term": 20, "collegeNeeds": 0, "investmentAssets": 0, "lifeInsurance": 0, "includeSocsec": "N", "children": [ { "age": 0 } ] }
Example Responses
{ "immediateNeeds": "89500.00", "longtermNeeds": "89500.00", "totalNeeds": "89500.00", "spousesEarnings": "89500.00", "socialSecurity": "89500.00", "totalResources": "89500.00", "shortfall": "89500.00", "lifeInsuranceNeeded": "89500.00", "years": [ { "yearNumber": 0, "spouseAge": 0, "spouseIncome": "89500.00", "socSec": "89500.00", "availableIncome": "89500.00", "desiredIncome": "89500.00", "surplusShortfall": "89500.00", "availableResources": "89500.00", "insuranceNeeded": "89500.00" } ] }
application/json

Calculate Your Estimated Life Expectancy

POST
https://api.fincalc.com
/v2/calculators/estimated-life-expectancy

Calculate Your Estimated Life Expectancy › Request Body

Inputs for the ins02 calculation.
Ins02Request
gender
​string · enum · required
Enum values:
M
F
Default: M
currentAge
​integer · min: 1 · max: 120 · required
Default: 35

Calculate Your Estimated Life Expectancy › Responses

Calculation result.

Result of the ins02 calculation.
Ins02Result
yearsToDeath
​number · required
deathAge
​number · required
POST/v2/calculators/estimated-life-expectancy
curl https://api.fincalc.com/v2/calculators/estimated-life-expectancy \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "gender": "M",
  "currentAge": 35
}'
Example Request Body
{
  "gender": "M",
  "currentAge": 35
}
Example Responses
{
  "yearsToDeath": 0,
  "deathAge": 0
}
application/json

What are my needs for burial and final expenses?

POST
https://api.fincalc.com
/v2/calculators/what-are-my-needs-for-burial-and-final-expenses

What are my needs for burial and final expenses? › Request Body

Inputs for the ins03 calculation.
Ins03Request
basicServices
​number · required
Default: 650
embalming
​number · required
Default: 690
preparations
​number · required
Default: 385
viewing
​number · required
Default: 900
cemetary
​number · required
Default: 600
transfer
​number · required
Default: 195
hearse
​number · required
Default: 250
limousine
​number · required
Default: 175
casket
​number · required
Default: 3500
vault
​number · required
Default: 2500
memorial
​number · required
Default: 1000
clothing
​number · required
Default: 0
floral
​number · required
Default: 300
food
​number · required
Default: 0
airfare
​number · required
Default: 0
other
​number · required
Default: 0

What are my needs for burial and final expenses? › Responses

Calculation result.

Result of the ins03 calculation.
Ins03Result
totalExpenses
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
facilitiesStaff
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
merchandise
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
otherExpenses
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
professionalServices
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
transportationServices
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/what-are-my-needs-for-burial-and-final-expenses
curl https://api.fincalc.com/v2/calculators/what-are-my-needs-for-burial-and-final-expenses \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "basicServices": 650, "embalming": 690, "preparations": 385, "viewing": 900, "cemetary": 600, "transfer": 195, "hearse": 250, "limousine": 175, "casket": 3500, "vault": 2500, "memorial": 1000, "clothing": 0, "floral": 300, "food": 0, "airfare": 0, "other": 0 }'
Example Request Body
{ "basicServices": 650, "embalming": 690, "preparations": 385, "viewing": 900, "cemetary": 600, "transfer": 195, "hearse": 250, "limousine": 175, "casket": 3500, "vault": 2500, "memorial": 1000, "clothing": 0, "floral": 300, "food": 0, "airfare": 0, "other": 0 }
Example Responses
{
  "totalExpenses": "89500.00",
  "facilitiesStaff": "89500.00",
  "merchandise": "89500.00",
  "otherExpenses": "89500.00",
  "professionalServices": "89500.00",
  "transportationServices": "89500.00"
}
application/json

How much disability income insurance do I need?

POST
https://api.fincalc.com
/v2/calculators/how-much-disability-income-do-i-need

How much disability income insurance do I need? › Request Body

Inputs for the ins04 calculation.
Ins04Request
spouseAftertaxIncome
​number · required
Default: 0
investmentIncome
​number · required
Default: 0
disabilityIncome
​number · required
Default: 0
otherIncome
​number · required
Default: 0
mortgage
​number · required
Default: 0
loans
​number · required
Default: 0
utilities
​number · required
Default: 0
food
​number · required
Default: 0
clothing
​number · required
Default: 0
transportation
​number · required
Default: 0
education
​number · required
Default: 0
medical
​number · required
Default: 0
insurance
​number · required
Default: 0
otherExpenses
​number · required
Default: 0

How much disability income insurance do I need? › Responses

Calculation result.

Result of the ins04 calculation.
Ins04Result
disabilityShortfall
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
monthlyExpenses
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
monthlyIncome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
monthlySurplusShortfall
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/how-much-disability-income-do-i-need
curl https://api.fincalc.com/v2/calculators/how-much-disability-income-do-i-need \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "spouseAftertaxIncome": 0, "investmentIncome": 0, "disabilityIncome": 0, "otherIncome": 0, "mortgage": 0, "loans": 0, "utilities": 0, "food": 0, "clothing": 0, "transportation": 0, "education": 0, "medical": 0, "insurance": 0, "otherExpenses": 0 }'
Example Request Body
{ "spouseAftertaxIncome": 0, "investmentIncome": 0, "disabilityIncome": 0, "otherIncome": 0, "mortgage": 0, "loans": 0, "utilities": 0, "food": 0, "clothing": 0, "transportation": 0, "education": 0, "medical": 0, "insurance": 0, "otherExpenses": 0 }
Example Responses
{
  "disabilityShortfall": "89500.00",
  "monthlyExpenses": "89500.00",
  "monthlyIncome": "89500.00",
  "monthlySurplusShortfall": "89500.00"
}
application/json

What are my chances of becoming disabled?

POST
https://api.fincalc.com
/v2/calculators/chances-of-becoming-disabled

What are my chances of becoming disabled? › Request Body

Inputs for the ins05 calculation.
Ins05Request
age
​integer · min: 25 · max: 64 · required
Default: 30

What are my chances of becoming disabled? › Responses

Calculation result.

Result of the ins05 calculation.
Ins05Result
odds
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
odds2
​string · required
POST/v2/calculators/chances-of-becoming-disabled
curl https://api.fincalc.com/v2/calculators/chances-of-becoming-disabled \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "age": 30
}'
Example Request Body
{
  "age": 30
}
Example Responses
{
  "odds": 0.06,
  "odds2": "odds2"
}
application/json

What are my long-term care insurance needs?

POST
https://api.fincalc.com
/v2/calculators/what-are-my-long-term-care-needs

What are my long-term care insurance needs? › Request Body

Inputs for the ins06 calculation.
Ins06Request
clientAge
​integer · min: 1 · max: 120 · required
Default: 60
ltcAge
​integer · min: 1 · max: 120 · required
Default: 65
ltcCost
​number · required
Default: 50000
ltcInflation
​number · min: 0 · max: 0.1 · required
Default: 0.03
ltcYears
​integer · min: 1 · max: 40 · required
Default: 3
ltcAssets
​number · required
Default: 0
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22
ltcIncreases
​number · min: 0 · max: 0.1 · required
Default: 0

What are my long-term care insurance needs? › Responses

Calculation result.

Result of the ins06 calculation.
Ins06Result
legacy
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
ltcTotalCost
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
neededSavingsLumpsum
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
neededSavingsYear
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Ins06YearRow[] · required
POST/v2/calculators/what-are-my-long-term-care-needs
curl https://api.fincalc.com/v2/calculators/what-are-my-long-term-care-needs \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "clientAge": 60, "ltcAge": 65, "ltcCost": 50000, "ltcInflation": 0.03, "ltcYears": 3, "ltcAssets": 0, "beforeTaxReturn": 0.08, "taxBracket": 0.22, "ltcIncreases": 0 }'
Example Request Body
{
  "clientAge": 60,
  "ltcAge": 65,
  "ltcCost": 50000,
  "ltcInflation": 0.03,
  "ltcYears": 3,
  "ltcAssets": 0,
  "beforeTaxReturn": 0.08,
  "taxBracket": 0.22,
  "ltcIncreases": 0
}
Example Responses
{ "legacy": "89500.00", "ltcTotalCost": "89500.00", "neededSavingsLumpsum": "89500.00", "neededSavingsYear": "89500.00", "years": [ { "year": 0, "beginningCapital": "89500.00", "annualSavings": "89500.00", "LTCNeed": "89500.00", "netCapital": "89500.00", "aftertaxInterest": "89500.00", "endingCapital": "89500.00" } ] }
application/json

How much will I earn in my lifetime?

POST
https://api.fincalc.com
/v2/calculators/how-much-will-i-earn-in-my-lifetime

How much will I earn in my lifetime? › Request Body

Inputs for the ins07 calculation.
Ins07Request
currentAge
​integer · min: 1 · max: 120 · required
Default: 35
retirementAge
​integer · min: 1 · max: 120 · required
Default: 65
currentIncome
​number · required
Default: 0
salaryIncreases
​number · min: 0 · max: 0.1 · required
Default: 0.05

How much will I earn in my lifetime? › Responses

Calculation result.

Result of the ins07 calculation.
Ins07Result
lifetimeEarnings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
yearsLeft
​integer · required
​Ins07YearRow[] · required
POST/v2/calculators/how-much-will-i-earn-in-my-lifetime
curl https://api.fincalc.com/v2/calculators/how-much-will-i-earn-in-my-lifetime \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "currentAge": 35,
  "retirementAge": 65,
  "currentIncome": 0,
  "salaryIncreases": 0.05
}'
Example Request Body
{
  "currentAge": 35,
  "retirementAge": 65,
  "currentIncome": 0,
  "salaryIncreases": 0.05
}
Example Responses
{
  "lifetimeEarnings": "89500.00",
  "yearsLeft": 0,
  "years": [
    {
      "age": 0,
      "annualSalary": "89500.00",
      "accEarnings": "89500.00"
    }
  ]
}
application/json

What are the tax advantages of an annuity?

POST
https://api.fincalc.com
/v2/calculators/what-are-the-tax-advantages-of-an-annuity

What are the tax advantages of an annuity? › Request Body

Inputs for the ins08 calculation.
Ins08Request
initialBalance
​number · required
Default: 0
annualSavings
​number · required
Default: 0
savingsIncrease
​number · min: 0 · max: 0.1 · required
Default: 0
numYears
​integer · min: 1 · max: 50 · required
Default: 20
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.04
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22
taxBracketRetirement
​number · min: 0 · max: 0.75 · required
Default: 0.22

What are the tax advantages of an annuity? › Responses

Calculation result.

Result of the ins08 calculation.
Ins08Result
afterTaxSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
taxableSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
annuitySavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
difference
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Ins08YearRow[] · required
POST/v2/calculators/what-are-the-tax-advantages-of-an-annuity
curl https://api.fincalc.com/v2/calculators/what-are-the-tax-advantages-of-an-annuity \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "initialBalance": 0,
  "annualSavings": 0,
  "savingsIncrease": 0,
  "numYears": 20,
  "beforeTaxReturn": 0.04,
  "taxBracket": 0.22,
  "taxBracketRetirement": 0.22
}'
Example Request Body
{
  "initialBalance": 0,
  "annualSavings": 0,
  "savingsIncrease": 0,
  "numYears": 20,
  "beforeTaxReturn": 0.04,
  "taxBracket": 0.22,
  "taxBracketRetirement": 0.22
}
Example Responses
{ "afterTaxSavings": "89500.00", "taxableSavings": "89500.00", "annuitySavings": "89500.00", "difference": "89500.00", "years": [ { "yearNumber": 0, "annualSavings": "89500.00", "beginningBalanceTaxable": "89500.00", "interestTaxable": "89500.00", "taxes": "89500.00", "endingBalanceTaxable": "89500.00", "beginningBalanceTaxdeferred": "89500.00", "interestTaxdeferred": "89500.00", "endingBalanceTaxdeferred": "89500.00" } ] }
application/json

How long will my current life insurance proceeds last?

POST
https://api.fincalc.com
/v2/calculators/duration-of-life-insurance-proceeds

How long will my current life insurance proceeds last? › Request Body

Inputs for the ins09 calculation.
Ins09Request
lifeInsurance
​number · required
Default: 0
survivorNeeds
​number · required
Default: 0
inflation
​number · min: 0 · max: 0.1 · required
Default: 0
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22
amortization
​integer · enum · required
Enum values:
1
2
Default: 2

How long will my current life insurance proceeds last? › Responses

Calculation result.

Result of the ins09 calculation.
Ins09Result
period
​integer · required
yearsLast
​number · required
totalWithdrawals
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Ins09YearRow[] · required
POST/v2/calculators/duration-of-life-insurance-proceeds
curl https://api.fincalc.com/v2/calculators/duration-of-life-insurance-proceeds \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "lifeInsurance": 0,
  "survivorNeeds": 0,
  "inflation": 0,
  "beforeTaxReturn": 0.08,
  "taxBracket": 0.22,
  "amortization": 2
}'
Example Request Body
{
  "lifeInsurance": 0,
  "survivorNeeds": 0,
  "inflation": 0,
  "beforeTaxReturn": 0.08,
  "taxBracket": 0.22,
  "amortization": 2
}
Example Responses
{ "period": 0, "yearsLast": 0, "totalWithdrawals": "89500.00", "years": [ { "month": 0, "beginningBalance": "89500.00", "interest": "89500.00", "taxes": "89500.00", "withdrawal": "89500.00", "endingBalance": "89500.00" } ] }
application/json

What is the future value of an annuity?

POST
https://api.fincalc.com
/v2/calculators/what-is-the-future-value-of-an-annuity

What is the future value of an annuity? › Request Body

Inputs for the ins10 calculation.
Ins10Request
initialBalance
​number · required
Default: 0
annualSavings
​number · required
Default: 0
savingsIncrease
​number · min: 0 · max: 0.1 · required
Default: 0
​object[] · minItems: 1 · maxItems: 10 · required
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.25
taxBracketRetirement
​number · min: 0 · max: 0.75 · required
Default: 0.25
introRate
​number · min: -0.12 · max: 0.12 · required
Default: 0
introRateYears
​integer · min: 1 · max: 50 · required
Default: 1
annuityRate
​number · min: -0.12 · max: 0.12 · required
Default: 0
annuityRateMinimum
​number · min: -0.12 · max: 0.12 · required
Default: 0

What is the future value of an annuity? › Responses

Calculation result.

Result of the ins10 calculation.
Ins10Result
taxableSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
accumulationExpected
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
accumulationMinimum
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
accumulationExpectedSurrender
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
accumulationMinimumSurrender
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
afterTaxFutureValue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
guaranteedSurrenderValue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Ins10YearRow[] · required
POST/v2/calculators/what-is-the-future-value-of-an-annuity
curl https://api.fincalc.com/v2/calculators/what-is-the-future-value-of-an-annuity \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "initialBalance": 0, "annualSavings": 0, "savingsIncrease": 0, "years": [ { "surrender": 0 } ], "beforeTaxReturn": 0.08, "taxBracket": 0.25, "taxBracketRetirement": 0.25, "introRate": 0, "introRateYears": 1, "annuityRate": 0, "annuityRateMinimum": 0 }'
Example Request Body
{ "initialBalance": 0, "annualSavings": 0, "savingsIncrease": 0, "years": [ { "surrender": 0 } ], "beforeTaxReturn": 0.08, "taxBracket": 0.25, "taxBracketRetirement": 0.25, "introRate": 0, "introRateYears": 1, "annuityRate": 0, "annuityRateMinimum": 0 }
Example Responses
{ "taxableSavings": "89500.00", "accumulationExpected": "89500.00", "accumulationMinimum": "89500.00", "accumulationExpectedSurrender": "89500.00", "accumulationMinimumSurrender": "89500.00", "afterTaxFutureValue": "89500.00", "guaranteedSurrenderValue": "89500.00", "years": [ { "yearNumber": 0, "annualSavings": "89500.00", "interestTaxable": "89500.00", "endingBalanceTaxable": "89500.00", "interestExpected": "89500.00", "endingBalanceExpected": "89500.00", "interestMinimum": "89500.00", "endingBalanceMinimum": "89500.00" } ] }
application/json

Which is better, comprehensive plan or high-deductible plan with HSA?

POST
https://api.fincalc.com
/v2/calculators/comprehensive-vs-high-deductible-plan

Which is better, comprehensive plan or high-deductible plan with HSA? › Request Body

Inputs for the ins11 calculation.
Ins11Request
chpDeductible
​number · required
Default: 500
chpCoinsurance
​number · min: 0 · max: 1 · required
Default: 0.2
chpMaxOop
​number · required
Default: 3000
chpPremium
​number · required
Default: 1200
hdpDeductible
​number · required
Default: 7500
hdpCoinsurance
​number · min: 0 · max: 1 · required
Default: 0
hdpMaxOop
​number · required
Default: 4500
hdpPremium
​number · required
Default: 1000
yearlyMedicalCosts
​number · required
Default: 10000
totalTaxRate
​number · min: 0 · max: 0.75 · required
Default: 0.3
planType
​string · enum · required
Enum values:
S
F
Default: S
employerContribution
​number · required
Default: 0

Which is better, comprehensive plan or high-deductible plan with HSA? › Responses

Calculation result.

Result of the ins11 calculation.
Ins11Result
chpOopStated
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
chpMedExpensesMaximum
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
hdpOopStated
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
hdpMedExpensesMaximum
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
insurancePremiumSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Ins11AmountRow[] · required
POST/v2/calculators/comprehensive-vs-high-deductible-plan
curl https://api.fincalc.com/v2/calculators/comprehensive-vs-high-deductible-plan \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "chpDeductible": 500, "chpCoinsurance": 0.2, "chpMaxOop": 3000, "chpPremium": 1200, "hdpDeductible": 7500, "hdpCoinsurance": 0, "hdpMaxOop": 4500, "hdpPremium": 1000, "yearlyMedicalCosts": 10000, "totalTaxRate": 0.3, "planType": "S", "employerContribution": 0 }'
Example Request Body
{ "chpDeductible": 500, "chpCoinsurance": 0.2, "chpMaxOop": 3000, "chpPremium": 1200, "hdpDeductible": 7500, "hdpCoinsurance": 0, "hdpMaxOop": 4500, "hdpPremium": 1000, "yearlyMedicalCosts": 10000, "totalTaxRate": 0.3, "planType": "S", "employerContribution": 0 }
Example Responses
{ "chpOopStated": "89500.00", "chpMedExpensesMaximum": "89500.00", "hdpOopStated": "89500.00", "hdpMedExpensesMaximum": "89500.00", "insurancePremiumSavings": "89500.00", "amounts": [ { "yearlyExpense": "89500.00", "chpOop": "89500.00", "hdpBeforeHsa": "89500.00", "hsa": "89500.00", "hdpWithHsa": "89500.00" } ] }
application/json

Compare a taxable investment to a tax-deferred annuity

POST
https://api.fincalc.com
/v2/calculators/annuity-calculator

Compare a taxable investment to a tax-deferred annuity › Request Body

Inputs for the ins12 calculation.
Ins12Request
currentAge
​integer · min: 30 · max: 99 · required
Default: 40
initialBalance
​number · required
Default: 0
annualSavings
​number · required
Default: 0
savingsIncrease
​number · min: 0 · max: 2 · required
Default: 0
distributionAge
​integer · min: 30 · max: 99 · required
Default: 65
distributionYears
​integer · min: 1 · max: 40 · required
Default: 20
withdrawal
​number · required
Default: 0
distributionsIncrease
​number · min: 0 · max: 1 · required
Default: 0
taxBracketWithdrawals
​number · min: 0 · max: 0.75 · required
Default: 0.25
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.06
beforeTaxReturnAnnuity
​number · min: -0.12 · max: 0.12 · required
Default: 0.06
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.25
qualified
​string · enum · required
Enum values:
N
Y
Default: N

Compare a taxable investment to a tax-deferred annuity › Responses

Calculation result.

Result of the ins12 calculation.
Ins12Result
yearsUntilWithdrawal
​integer · required
totalYearsOfAnalysis
​integer · required
cumulativeBasis
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
taxableAccumulation
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
taxAdvantagedAccumulation
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
taxableRunsOut
​number · required
taxAdvantagedRunsOut
​number · required
​Ins12YearRow[] · required
POST/v2/calculators/annuity-calculator
curl https://api.fincalc.com/v2/calculators/annuity-calculator \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "currentAge": 40, "initialBalance": 0, "annualSavings": 0, "savingsIncrease": 0, "distributionAge": 65, "distributionYears": 20, "withdrawal": 0, "distributionsIncrease": 0, "taxBracketWithdrawals": 0.25, "beforeTaxReturn": 0.06, "beforeTaxReturnAnnuity": 0.06, "taxBracket": 0.25, "qualified": "N" }'
Example Request Body
{ "currentAge": 40, "initialBalance": 0, "annualSavings": 0, "savingsIncrease": 0, "distributionAge": 65, "distributionYears": 20, "withdrawal": 0, "distributionsIncrease": 0, "taxBracketWithdrawals": 0.25, "beforeTaxReturn": 0.06, "beforeTaxReturnAnnuity": 0.06, "taxBracket": 0.25, "qualified": "N" }
Example Responses
{ "yearsUntilWithdrawal": 0, "totalYearsOfAnalysis": 0, "cumulativeBasis": "89500.00", "taxableAccumulation": "89500.00", "taxAdvantagedAccumulation": "89500.00", "taxableRunsOut": 0, "taxAdvantagedRunsOut": 0, "years": [ { "age": 0, "annualSavings": "89500.00", "taxableInterest": "89500.00", "taxableWithdrawals": "89500.00", "taxableEndingBalance": "89500.00", "qualBeforeTaxInterest": "89500.00", "qualWithdrawals": "89500.00", "qualEndingBalance": "89500.00", "nonQualBeforeTaxInterest": "89500.00", "nonQualWithdrawals1": "89500.00", "nonQualWithdrawals2": "89500.00", "nonQualEndingBalance": "89500.00" } ] }
application/json

What are the payments on an immediate annuity?

POST
https://api.fincalc.com
/v2/calculators/what-are-the-payments-on-an-immediate-annuity

What are the payments on an immediate annuity? › Request Body

Inputs for the ins13 calculation.
Ins13Request
initialInvestment
​number · required
Default: 0
interestRate
​number · min: 0 · max: 0.1 · required
Default: 0.05
paymentMonths
​integer · min: 1 · max: 120 · required
Default: 120

What are the payments on an immediate annuity? › Responses

Calculation result.

Result of the ins13 calculation.
Ins13Result
paymentAmount
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalPayout
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
payoutYears
​number · required
POST/v2/calculators/what-are-the-payments-on-an-immediate-annuity
curl https://api.fincalc.com/v2/calculators/what-are-the-payments-on-an-immediate-annuity \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "initialInvestment": 0,
  "interestRate": 0.05,
  "paymentMonths": 120
}'
Example Request Body
{
  "initialInvestment": 0,
  "interestRate": 0.05,
  "paymentMonths": 120
}
Example Responses
{
  "paymentAmount": "89500.00",
  "totalPayout": "89500.00",
  "payoutYears": 0
}
application/json

How should I allocate my assets?

POST
https://api.fincalc.com
/v2/calculators/how-should-i-allocate-my-assets

How should I allocate my assets? › Request Body

Inputs for the inv01 calculation.
Inv01Request
timeHorizon
​string · enum · required
Enum values:
A
B
C
D
E
Default: A
withdrawalPeriod
​string · enum · required
Enum values:
A
B
C
D
E
Default: A
emergencyReserve
​string · enum · required
Enum values:
A
B
C
D
E
Default: A
incomeStability
​string · enum · required
Enum values:
A
B
C
D
E
Default: A
guaranteedIncomeShare
​string · enum · required
Enum values:
A
B
C
D
E
Default: A
goalFlexibility
​string · enum · required
Enum values:
A
B
C
D
E
Default: A
drawdownResponse
​string · enum · required
Enum values:
A
B
C
D
E
Default: A
priorDownturnBehavior
​string · enum · required
Enum values:
A
B
C
D
E
Default: A
returnRangePreference
​string · enum · required
Enum values:
A
B
C
D
E
Default: A
steadyGrowthPreference
​string · enum · required
Enum values:
A
B
C
D
E
Default: A

How should I allocate my assets? › Responses

Calculation result.

Result of the inv01 calculation.
Inv01Result
cash
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
fixed
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
equity
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
realAssets
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
shortTermBonds
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
coreBonds
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
inflationProtected
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
internationalBonds
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
usLargeCap
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
usSmallMidCap
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
internationalEquity
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
emergingMarkets
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
recommendedProfile
​RecommendedProfile · enum · required
Enum values:
aggressive
conservative
defensive
moderate
moderately_aggressive
very_aggressive
very_defensive
recommendedProfileType
​integer · required
capacityIndex
​integer · required
toleranceIndex
​integer · required
toleranceProfile
​RecommendedProfile · enum · required
Enum values:
aggressive
conservative
defensive
moderate
moderately_aggressive
very_aggressive
very_defensive
toleranceProfileType
​integer · required
governingIndex
​integer · required
riskGap
​integer · required
bindingConstraint
​BindingConstraint · enum · required
Enum values:
ability
balanced
willingness
toleranceEvidence
​ToleranceEvidence · enum · required
Enum values:
observed
stated
POST/v2/calculators/how-should-i-allocate-my-assets
curl https://api.fincalc.com/v2/calculators/how-should-i-allocate-my-assets \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "timeHorizon": "A", "withdrawalPeriod": "A", "emergencyReserve": "A", "incomeStability": "A", "guaranteedIncomeShare": "A", "goalFlexibility": "A", "drawdownResponse": "A", "priorDownturnBehavior": "A", "returnRangePreference": "A", "steadyGrowthPreference": "A" }'
Example Request Body
{
  "timeHorizon": "A",
  "withdrawalPeriod": "A",
  "emergencyReserve": "A",
  "incomeStability": "A",
  "guaranteedIncomeShare": "A",
  "goalFlexibility": "A",
  "drawdownResponse": "A",
  "priorDownturnBehavior": "A",
  "returnRangePreference": "A",
  "steadyGrowthPreference": "A"
}
Example Responses
{ "cash": 0.06, "fixed": 0.06, "equity": 0.06, "realAssets": 0.06, "shortTermBonds": 0.06, "coreBonds": 0.06, "inflationProtected": 0.06, "internationalBonds": 0.06, "usLargeCap": 0.06, "usSmallMidCap": 0.06, "internationalEquity": 0.06, "emergingMarkets": 0.06, "recommendedProfile": "aggressive", "recommendedProfileType": 0, "capacityIndex": 0, "toleranceIndex": 0, "toleranceProfile": "aggressive", "toleranceProfileType": 0, "governingIndex": 0, "riskGap": 0, "bindingConstraint": "ability", "toleranceEvidence": "observed" }
application/json

Compare taxable vs. tax-free investment return

POST
https://api.fincalc.com
/v2/calculators/taxable-vs-tax-free-investment-return

Compare taxable vs. tax-free investment return › Request Body

Inputs for the inv02 calculation.
Inv02Request
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22
stateTaxBracket
​number · min: 0 · max: 0.75 · required
Default: 0
itemize
​string · enum · required
Enum values:
N
Y
Default: N

Compare taxable vs. tax-free investment return › Responses

Calculation result.

Result of the inv02 calculation.
Inv02Result
fedTaxes
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
stateTaxes
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
itemizeAdjust
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
afterTaxReturn
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
​Inv02YieldRow[] · required
POST/v2/calculators/taxable-vs-tax-free-investment-return
curl https://api.fincalc.com/v2/calculators/taxable-vs-tax-free-investment-return \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "beforeTaxReturn": 0.08,
  "taxBracket": 0.22,
  "stateTaxBracket": 0,
  "itemize": "N"
}'
Example Request Body
{
  "beforeTaxReturn": 0.08,
  "taxBracket": 0.22,
  "stateTaxBracket": 0,
  "itemize": "N"
}
Example Responses
{ "fedTaxes": 0.06, "stateTaxes": 0.06, "itemizeAdjust": 0.06, "afterTaxReturn": 0.06, "yields": [ { "beforeTax": 0.06, "fullyTaxable": 0.06, "stateOnly": 0.06, "fedOnly": 0.06, "notTaxable": 0.06 } ] }
application/json

What is the value of a bond?

POST
https://api.fincalc.com
/v2/calculators/what-is-the-value-of-a-bond

What is the value of a bond? › Request Body

Inputs for the inv03 calculation.
Inv03Request
bondFace
​number · required
Default: 0
mostomaturity
​integer · min: 1 · max: 40 · required
Default: 5
couponRate
​number · min: -0.12 · max: 0.12 · required
Default: 0
marketRate
​number · min: -0.12 · max: 0.12 · required
Default: 0
desiredYield
​number · min: -0.12 · max: 0.12 · required
Default: 0

What is the value of a bond? › Responses

Calculation result.

Result of the inv03 calculation.
Inv03Result
coupon
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
marketPrice
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
yieldPrice
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/what-is-the-value-of-a-bond
curl https://api.fincalc.com/v2/calculators/what-is-the-value-of-a-bond \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "bondFace": 0,
  "mostomaturity": 5,
  "couponRate": 0,
  "marketRate": 0,
  "desiredYield": 0
}'
Example Request Body
{
  "bondFace": 0,
  "mostomaturity": 5,
  "couponRate": 0,
  "marketRate": 0,
  "desiredYield": 0
}
Example Responses
{
  "coupon": "89500.00",
  "marketPrice": "89500.00",
  "yieldPrice": "89500.00"
}
application/json

What is the return on my real estate investment?

POST
https://api.fincalc.com
/v2/calculators/what-is-the-return-on-my-real-estate-investment

What is the return on my real estate investment? › Request Body

Inputs for the inv04 calculation.
Inv04Request
purchasePrice
​number · required
Default: 0
marketValue
​number · required
Default: 0
cash
​number · required
Default: 0
realEstate
​number · min: 0 · max: 3 · required
Default: 0.8
interestOnly
​string · enum · required
Enum values:
N
Y
Default: N
loanAmount
​number · required
Default: 0
interestRate
​number · min: 0 · max: 0.4 · required
Default: 0
loanTerm
​integer · min: 1 · max: 50 · required
Default: 5
closingCosts
​number · required
Default: 0
rentalIncome
​number · required
Default: 0
incomeFrequency
​integer · enum · required
Enum values:
0
1
Default: 0
rentIncreases
​number · min: 0 · max: 0.1 · required
Default: 0
occupancyRate
​number · min: 0 · max: 1 · required
Default: 1
propertyTax
​number · required
Default: 0
insurance
​number · required
Default: 0
maintenance
​number · required
Default: 0
hoa
​number · required
Default: 0
expenseIncreases
​number · min: 0 · max: 0.1 · required
Default: 0
analysisYears
​integer · min: 0 · max: 20 · required
Default: 20
realtorFees
​number · min: 0 · max: 0.4 · required
Default: 0
appreciation
​number · min: 0 · max: 0.75 · required
Default: 0
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22
capitalGains
​number · min: 0 · max: 0.75 · required
Default: 0.15

What is the return on my real estate investment? › Responses

Calculation result.

Result of the inv04 calculation.
Inv04Result
​Inv04YearRow[] · required
POST/v2/calculators/what-is-the-return-on-my-real-estate-investment
curl https://api.fincalc.com/v2/calculators/what-is-the-return-on-my-real-estate-investment \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "purchasePrice": 0, "marketValue": 0, "cash": 0, "realEstate": 0.8, "interestOnly": "N", "loanAmount": 0, "interestRate": 0, "loanTerm": 5, "closingCosts": 0, "rentalIncome": 0, "incomeFrequency": 0, "rentIncreases": 0, "occupancyRate": 1, "propertyTax": 0, "insurance": 0, "maintenance": 0, "hoa": 0, "expenseIncreases": 0, "analysisYears": 20, "realtorFees": 0, "appreciation": 0, "taxBracket": 0.22, "capitalGains": 0.15 }'
Example Request Body
{ "purchasePrice": 0, "marketValue": 0, "cash": 0, "realEstate": 0.8, "interestOnly": "N", "loanAmount": 0, "interestRate": 0, "loanTerm": 5, "closingCosts": 0, "rentalIncome": 0, "incomeFrequency": 0, "rentIncreases": 0, "occupancyRate": 1, "propertyTax": 0, "insurance": 0, "maintenance": 0, "hoa": 0, "expenseIncreases": 0, "analysisYears": 20, "realtorFees": 0, "appreciation": 0, "taxBracket": 0.22, "capitalGains": 0.15 }
Example Responses
{
  "years": [
    {
      "year": 0,
      "cashInvested": "89500.00",
      "cashFlow": "89500.00",
      "taxes": "89500.00",
      "netGain": "89500.00"
    }
  ]
}
application/json

What is the value of compound interest?

POST
https://api.fincalc.com
/v2/calculators/interest-calculator

What is the value of compound interest? › Request Body

Inputs for the inv05 calculation.
Inv05Request
initialBalance
​number · required
Default: 0
annualSavings
​number · required
Default: 0
savingsIncrease
​number · min: 0 · max: 0.1 · required
Default: 0
numYears
​integer · min: 1 · max: 50 · required
Default: 20
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08

What is the value of compound interest? › Responses

Calculation result.

Result of the inv05 calculation.
Inv05Result
​Inv05YearRow[] · required
POST/v2/calculators/interest-calculator
curl https://api.fincalc.com/v2/calculators/interest-calculator \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "initialBalance": 0,
  "annualSavings": 0,
  "savingsIncrease": 0,
  "numYears": 20,
  "beforeTaxReturn": 0.08
}'
Example Request Body
{
  "initialBalance": 0,
  "annualSavings": 0,
  "savingsIncrease": 0,
  "numYears": 20,
  "beforeTaxReturn": 0.08
}
Example Responses
{
  "years": [
    {
      "yearNumber": 0,
      "beginningBalance": "89500.00",
      "annualSavings": "89500.00",
      "interest": "89500.00",
      "endingBalance": "89500.00"
    }
  ]
}
application/json

What is the value of a call or put option?

POST
https://api.fincalc.com
/v2/calculators/what-is-the-value-of-a-call-or-put-option

What is the value of a call or put option? › Request Body

Inputs for the inv06 calculation.
Inv06Request
callPut
​integer · enum · required
Enum values:
1
2
Default: 1
purchasePrice
​number · required
Default: 0
totalShares
​integer · required
Default: 0
strikePrice
​number · required
Default: 0
currentPrice
​number · required
Default: 0

What is the value of a call or put option? › Responses

Calculation result.

Result of the inv06 calculation.
Inv06Result
shareValue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
exercisePrice
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
grossValue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
currentValue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
netValue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
optionStatus
​OptionStatus · enum · required
Enum values:
in the money
out of the money
POST/v2/calculators/what-is-the-value-of-a-call-or-put-option
curl https://api.fincalc.com/v2/calculators/what-is-the-value-of-a-call-or-put-option \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "callPut": 1,
  "purchasePrice": 0,
  "totalShares": 0,
  "strikePrice": 0,
  "currentPrice": 0
}'
Example Request Body
{
  "callPut": 1,
  "purchasePrice": 0,
  "totalShares": 0,
  "strikePrice": 0,
  "currentPrice": 0
}
Example Responses
{
  "shareValue": "89500.00",
  "exercisePrice": "89500.00",
  "grossValue": "89500.00",
  "currentValue": "89500.00",
  "netValue": "89500.00",
  "optionStatus": "in the money"
}
application/json

Taxable vs. tax-advantaged savings?

POST
https://api.fincalc.com
/v2/calculators/taxable-vs-tax-advantaged-savings

Taxable vs. tax-advantaged savings? › Request Body

Inputs for the inv07 calculation.
Inv07Request
initialBalance
​number · required
Default: 0
annualSavings
​number · required
Default: 0
savingsIncrease
​number · min: 0 · max: 1 · required
Default: 0
years
​integer · min: 1 · max: 50 · required
Default: 30
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.25
compounding
​integer · enum · required
Enum values:
52
26
24
12
1
Default: 1

Taxable vs. tax-advantaged savings? › Responses

Calculation result.

Result of the inv07 calculation.
Inv07Result
taxableAccumulation
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
taxAdvantagedAccumulation
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Inv07YearRow[] · required
POST/v2/calculators/taxable-vs-tax-advantaged-savings
curl https://api.fincalc.com/v2/calculators/taxable-vs-tax-advantaged-savings \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "initialBalance": 0,
  "annualSavings": 0,
  "savingsIncrease": 0,
  "years": 30,
  "beforeTaxReturn": 0.08,
  "taxBracket": 0.25,
  "compounding": 1
}'
Example Request Body
{
  "initialBalance": 0,
  "annualSavings": 0,
  "savingsIncrease": 0,
  "years": 30,
  "beforeTaxReturn": 0.08,
  "taxBracket": 0.25,
  "compounding": 1
}
Example Responses
{ "taxableAccumulation": "89500.00", "taxAdvantagedAccumulation": "89500.00", "years": [ { "year": 0, "savings": "89500.00", "taxableBeginningBalance": "89500.00", "taxableReturn": "89500.00", "taxableTaxes": "89500.00", "taxableEndingBalance": "89500.00", "taxDefBeginningBalance": "89500.00", "taxDefReturn": "89500.00", "taxDefEndingBalance": "89500.00" } ] }
application/json

What is my risk tolerance?

POST
https://api.fincalc.com
/v2/calculators/what-is-my-risk-tolerance

What is my risk tolerance? › Request Body

Inputs for the inv08 calculation.
Inv08Request
drawdownResponse
​string · enum · required
Enum values:
A
B
C
D
E
Default: A
priorDownturnBehavior
​string · enum · required
Enum values:
A
B
C
D
E
Default: A
returnRangePreference
​string · enum · required
Enum values:
A
B
C
D
E
Default: A
steadyGrowthPreference
​string · enum · required
Enum values:
A
B
C
D
E
Default: A

What is my risk tolerance? › Responses

Calculation result.

Result of the inv08 calculation.
Inv08Result
toleranceIndex
​integer · required
toleranceProfileType
​integer · required
toleranceProfile
​string · required
toleranceEvidence
​ToleranceEvidence · enum · required
Enum values:
observed
stated
POST/v2/calculators/what-is-my-risk-tolerance
curl https://api.fincalc.com/v2/calculators/what-is-my-risk-tolerance \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "drawdownResponse": "A",
  "priorDownturnBehavior": "A",
  "returnRangePreference": "A",
  "steadyGrowthPreference": "A"
}'
Example Request Body
{
  "drawdownResponse": "A",
  "priorDownturnBehavior": "A",
  "returnRangePreference": "A",
  "steadyGrowthPreference": "A"
}
Example Responses
{
  "toleranceIndex": 0,
  "toleranceProfileType": 0,
  "toleranceProfile": "toleranceProfile",
  "toleranceEvidence": "observed"
}
application/json

What is the long-term impact of increased investment return?

POST
https://api.fincalc.com
/v2/calculators/long-term-impact-of-increased-return

What is the long-term impact of increased investment return? › Request Body

Inputs for the inv09 calculation.
Inv09Request
initialBalance
​number · required
Default: 0
annualContributions
​number · required
Default: 0
projectionYears
​integer · min: 1 · max: 40 · required
Default: 20
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.25

What is the long-term impact of increased investment return? › Responses

Calculation result.

Result of the inv09 calculation.
Inv09Result
currentReturn
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
returnPlusOne
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
returnPlusTwo
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
returnPlusThree
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
afterTaxRate
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
afterTaxRatePlusOne
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
afterTaxRatePlusTwo
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
afterTaxRatePlusThree
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
​Inv09YearRow[] · required
POST/v2/calculators/long-term-impact-of-increased-return
curl https://api.fincalc.com/v2/calculators/long-term-impact-of-increased-return \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "initialBalance": 0,
  "annualContributions": 0,
  "projectionYears": 20,
  "beforeTaxReturn": 0.08,
  "taxBracket": 0.25
}'
Example Request Body
{
  "initialBalance": 0,
  "annualContributions": 0,
  "projectionYears": 20,
  "beforeTaxReturn": 0.08,
  "taxBracket": 0.25
}
Example Responses
{ "currentReturn": "89500.00", "returnPlusOne": "89500.00", "returnPlusTwo": "89500.00", "returnPlusThree": "89500.00", "afterTaxRate": 0.06, "afterTaxRatePlusOne": 0.06, "afterTaxRatePlusTwo": 0.06, "afterTaxRatePlusThree": 0.06, "years": [ { "year": 0, "currentReturn": "89500.00", "returnPlusOne": "89500.00", "returnPlusTwo": "89500.00", "returnPlusThree": "89500.00" } ] }
application/json

Calculate Your Certificate of Deposit (CD) Value

POST
https://api.fincalc.com
/v2/calculators/certificate-of-deposit-value

Calculate Your Certificate of Deposit (CD) Value › Request Body

Inputs for the inv10 calculation.
Inv10Request
initialBalance
​number · required
Default: 0
months
​integer · min: 1 · max: 120 · required
Default: 60
cdRate
​number · min: -0.12 · max: 0.12 · required
Default: 0.02
compoundingFrequency
​integer · enum · required
Enum values:
365
12
4
2
1
Default: 12
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.25

Calculate Your Certificate of Deposit (CD) Value › Responses

Calculation result.

Result of the inv10 calculation.
Inv10Result
frequency
​Frequency · enum · required
Enum values:
annually
daily
monthly
quarterly
semiannual
endingBalance
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
apy
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
​Inv10YearRow[] · required
POST/v2/calculators/certificate-of-deposit-value
curl https://api.fincalc.com/v2/calculators/certificate-of-deposit-value \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "initialBalance": 0,
  "months": 60,
  "cdRate": 0.02,
  "compoundingFrequency": 12,
  "taxBracket": 0.25
}'
Example Request Body
{
  "initialBalance": 0,
  "months": 60,
  "cdRate": 0.02,
  "compoundingFrequency": 12,
  "taxBracket": 0.25
}
Example Responses
{ "frequency": "annually", "endingBalance": "89500.00", "apy": 0.06, "years": [ { "yearNumber": 0, "beginningBalance": "89500.00", "interest": "89500.00", "endingBalance": "89500.00", "taxes": "89500.00" } ] }
application/json

What is the dividend yield on a stock?

POST
https://api.fincalc.com
/v2/calculators/what-is-the-dividend-yield-on-a-stock

What is the dividend yield on a stock? › Request Body

Inputs for the inv11 calculation.
Inv11Request
sharePrice
​number · required
Default: 0
sharesOwned
​integer · required
Default: 0
dividend
​number · required
Default: 0
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22

What is the dividend yield on a stock? › Responses

Calculation result.

Result of the inv11 calculation.
Inv11Result
preTaxYield
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
afterTaxYield
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
quarterlyReturn
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
quarterlyTaxes
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/what-is-the-dividend-yield-on-a-stock
curl https://api.fincalc.com/v2/calculators/what-is-the-dividend-yield-on-a-stock \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "sharePrice": 0,
  "sharesOwned": 0,
  "dividend": 0,
  "taxBracket": 0.22
}'
Example Request Body
{
  "sharePrice": 0,
  "sharesOwned": 0,
  "dividend": 0,
  "taxBracket": 0.22
}
Example Responses
{
  "preTaxYield": 0.06,
  "afterTaxYield": 0.06,
  "quarterlyReturn": "89500.00",
  "quarterlyTaxes": "89500.00"
}
application/json

How do expenses impact mutual fund returns?

POST
https://api.fincalc.com
/v2/calculators/expenses-impact-mutual-fund-returns

How do expenses impact mutual fund returns? › Request Body

Inputs for the inv12 calculation.
Inv12Request
initialDeposit
​number · required
Default: 0
frontLoad
​number · min: 0 · max: 1 · required
Default: 0
backLoad
​number · min: 0 · max: 1 · required
Default: 0
operatingExpenses
​number · min: 0 · max: 1 · required
Default: 0
otherFees
​number · required
Default: 0
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
holdingPeriod
​integer · min: 1 · max: 30 · required
Default: 30

How do expenses impact mutual fund returns? › Responses

Calculation result.

Result of the inv12 calculation.
Inv12Result
frontLoadAmount
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
backLoadAmount
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
operatingExpensesAmount
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
opportunityCost
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalExpenses
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
endingValue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Inv12YearRow[] · required
POST/v2/calculators/expenses-impact-mutual-fund-returns
curl https://api.fincalc.com/v2/calculators/expenses-impact-mutual-fund-returns \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "initialDeposit": 0,
  "frontLoad": 0,
  "backLoad": 0,
  "operatingExpenses": 0,
  "otherFees": 0,
  "beforeTaxReturn": 0.08,
  "holdingPeriod": 30
}'
Example Request Body
{
  "initialDeposit": 0,
  "frontLoad": 0,
  "backLoad": 0,
  "operatingExpenses": 0,
  "otherFees": 0,
  "beforeTaxReturn": 0.08,
  "holdingPeriod": 30
}
Example Responses
{ "frontLoadAmount": "89500.00", "backLoadAmount": "89500.00", "operatingExpensesAmount": "89500.00", "opportunityCost": "89500.00", "totalExpenses": "89500.00", "endingValue": "89500.00", "years": [ { "year": 0, "beginningBalance": "89500.00", "interest": "89500.00", "expenses": "89500.00", "endingBalance": "89500.00" } ] }
application/json

Certificate of deposit (CD) laddering strategy

POST
https://api.fincalc.com
/v2/calculators/cd-laddering-strategy

Certificate of deposit (CD) laddering strategy › Request Body

Inputs for the inv13 calculation.
Inv13Request
initialBalance
​number · required
Default: 0
compoundingFrequency
​integer · enum · required
Enum values:
365
12
4
2
1
Default: 12
years
​integer · min: 1 · max: 5 · required
Default: 5
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0
cdRate
​number · min: 0 · max: 0.12 · required
Default: 0.0275
cdRate2
​number · min: 0 · max: 0.12 · required
Default: 0.03
cdRate3
​number · min: 0 · max: 0.12 · required
Default: 0.0325
cdRate4
​number · min: 0 · max: 0.12 · required
Default: 0.035
cdRate5
​number · min: 0 · max: 0.12 · required
Default: 0.0375

Certificate of deposit (CD) laddering strategy › Responses

Calculation result.

Result of the inv13 calculation.
Inv13Result
frequency
​Frequency · enum · required
Enum values:
annually
daily
monthly
quarterly
semiannual
totalSingleCd
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalCdLaddering
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
additionalAfterTaxSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
initialInvestments
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Inv13YearRow[] · required
POST/v2/calculators/cd-laddering-strategy
curl https://api.fincalc.com/v2/calculators/cd-laddering-strategy \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "initialBalance": 0, "compoundingFrequency": 12, "years": 5, "taxBracket": 0, "cdRate": 0.0275, "cdRate2": 0.03, "cdRate3": 0.0325, "cdRate4": 0.035, "cdRate5": 0.0375 }'
Example Request Body
{
  "initialBalance": 0,
  "compoundingFrequency": 12,
  "years": 5,
  "taxBracket": 0,
  "cdRate": 0.0275,
  "cdRate2": 0.03,
  "cdRate3": 0.0325,
  "cdRate4": 0.035,
  "cdRate5": 0.0375
}
Example Responses
{ "frequency": "annually", "totalSingleCd": "89500.00", "totalCdLaddering": "89500.00", "additionalAfterTaxSavings": "89500.00", "initialInvestments": "89500.00", "years": [ { "year": 0, "beginningBalance": "89500.00", "interest": "89500.00", "taxes": "89500.00", "endingBalanceSingleCd": "89500.00", "endingBalanceCdLaddering": "89500.00" } ] }
application/json

What return do I need to get back to where I started?

POST
https://api.fincalc.com
/v2/calculators/return-needed-to-break-even

What return do I need to get back to where I started? › Request Body

Inputs for the inv16 calculation.
Inv16Request
futureValue
​number · required
Default: 5000
percentLoss
​number · min: 0 · max: 0.99 · required
Default: 0.15
presentValue
​number · required
Default: 0

What return do I need to get back to where I started? › Responses

Calculation result.

Result of the inv16 calculation.
Inv16Result
percentLossReturn
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
balanceLossReturn
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
balanceReduction
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
reduction
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
POST/v2/calculators/return-needed-to-break-even
curl https://api.fincalc.com/v2/calculators/return-needed-to-break-even \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "futureValue": 5000,
  "percentLoss": 0.15,
  "presentValue": 0
}'
Example Request Body
{
  "futureValue": 5000,
  "percentLoss": 0.15,
  "presentValue": 0
}
Example Responses
{
  "percentLossReturn": 0.06,
  "balanceLossReturn": 0.06,
  "balanceReduction": 0.06,
  "reduction": 0.06
}
application/json

How much will my company bonus net after taxes?

POST
https://api.fincalc.com
/v2/calculators/how-much-will-my-company-bonus-net-after-taxes

How much will my company bonus net after taxes? › Request Body

Inputs for the pay01 calculation.
Pay01Request
bonus
​number · min: 0 · max: 99999999 · required
Default: 0
payperiod
​integer · enum · required
Enum values:
52
26
24
12
1
Default: 26
pay1
​number · min: 0 · max: 99999999 · required
Default: 0
file1
​string · enum · required
Enum values:
M
S
Default: M
allow1
​integer · min: 0 · max: 25 · required
Default: 2
pretax1
​number · min: 0 · max: 99999999 · required
Default: 0
cont1
​number · min: 0 · max: 1 · required
Default: 0
posttax1
​number · min: 0 · max: 99999999 · required
Default: 0
reimb1
​number · min: 0 · max: 99999999 · required
Default: 0

How much will my company bonus net after taxes? › Responses

Calculation result.

Result of the pay01 calculation.
Pay01Result
fedtax1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
fedtaxdiff
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
fica1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
ficadiff
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
ficahi1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
ficahidiff
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
cont1dollar
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
contdollardiff
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totdeduct1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totdeductdiff
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
takehome1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
takehomediff
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/how-much-will-my-company-bonus-net-after-taxes
curl https://api.fincalc.com/v2/calculators/how-much-will-my-company-bonus-net-after-taxes \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "bonus": 0, "payperiod": 26, "pay1": 0, "file1": "M", "allow1": 2, "pretax1": 0, "cont1": 0, "posttax1": 0, "reimb1": 0 }'
Example Request Body
{
  "bonus": 0,
  "payperiod": 26,
  "pay1": 0,
  "file1": "M",
  "allow1": 2,
  "pretax1": 0,
  "cont1": 0,
  "posttax1": 0,
  "reimb1": 0
}
Example Responses
{ "fedtax1": "89500.00", "fedtaxdiff": "89500.00", "fica1": "89500.00", "ficadiff": "89500.00", "ficahi1": "89500.00", "ficahidiff": "89500.00", "cont1dollar": "89500.00", "contdollardiff": "89500.00", "totdeduct1": "89500.00", "totdeductdiff": "89500.00", "takehome1": "89500.00", "takehomediff": "89500.00" }
application/json

How will payroll adjustments affect my take-home pay?

POST
https://api.fincalc.com
/v2/calculators/impact-of-payroll-adjustments

How will payroll adjustments affect my take-home pay? › Request Body

Inputs for the pay02 calculation.
Pay02Request
payperiod
​integer · enum · required
Enum values:
52
26
24
12
1
Default: 26
pay1
​number · min: 0 · max: 99999999 · required
Default: 0
pay2
​number · min: 0 · max: 99999999 · required
Default: 0
file1
​string · enum · required
Enum values:
M
S
Default: M
file2
​string · enum · required
Enum values:
M
S
Default: M
allow1
​integer · min: 0 · max: 25 · required
Default: 2
allow2
​integer · min: 0 · max: 25 · required
Default: 2
pretax1
​number · min: 0 · max: 99999999 · required
Default: 0
pretax2
​number · min: 0 · max: 99999999 · required
Default: 0
cont1
​number · min: 0 · max: 1 · required
Default: 0
cont2
​number · min: 0 · max: 1 · required
Default: 0
posttax1
​number · min: 0 · max: 99999999 · required
Default: 0
posttax2
​number · min: 0 · max: 99999999 · required
Default: 0
reimb1
​number · min: 0 · max: 99999999 · required
Default: 0
reimb2
​number · min: 0 · max: 99999999 · required
Default: 0

How will payroll adjustments affect my take-home pay? › Responses

Calculation result.

Result of the pay02 calculation.
Pay02Result
paydiff
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
allowdiff
​number · required
fedtax1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
fedtax2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
fedtaxdiff
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
pretaxdiff
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
fica1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
fica2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
ficadiff
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
ficahi1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
ficahi2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
ficahidiff
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
contdiff
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
cont1dollar
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
cont2dollar
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
contdollardiff
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
posttaxdiff
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
reimbdiff
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totdeduct1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totdeduct2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totdeductdiff
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
takehome1
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
takehome2
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
takehomediff
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/impact-of-payroll-adjustments
curl https://api.fincalc.com/v2/calculators/impact-of-payroll-adjustments \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "payperiod": 26, "pay1": 0, "pay2": 0, "file1": "M", "file2": "M", "allow1": 2, "allow2": 2, "pretax1": 0, "pretax2": 0, "cont1": 0, "cont2": 0, "posttax1": 0, "posttax2": 0, "reimb1": 0, "reimb2": 0 }'
Example Request Body
{ "payperiod": 26, "pay1": 0, "pay2": 0, "file1": "M", "file2": "M", "allow1": 2, "allow2": 2, "pretax1": 0, "pretax2": 0, "cont1": 0, "cont2": 0, "posttax1": 0, "posttax2": 0, "reimb1": 0, "reimb2": 0 }
Example Responses
{ "paydiff": "89500.00", "allowdiff": 0, "fedtax1": "89500.00", "fedtax2": "89500.00", "fedtaxdiff": "89500.00", "pretaxdiff": "89500.00", "fica1": "89500.00", "fica2": "89500.00", "ficadiff": "89500.00", "ficahi1": "89500.00", "ficahi2": "89500.00", "ficahidiff": "89500.00", "contdiff": 0.06, "cont1dollar": "89500.00", "cont2dollar": "89500.00", "contdollardiff": "89500.00", "posttaxdiff": "89500.00", "reimbdiff": "89500.00", "totdeduct1": "89500.00", "totdeduct2": "89500.00", "totdeductdiff": "89500.00", "takehome1": "89500.00", "takehome2": "89500.00", "takehomediff": "89500.00" }
application/json

Convert my salary to an equivalent hourly wage

POST
https://api.fincalc.com
/v2/calculators/convert-salary-to-hourly

Convert my salary to an equivalent hourly wage › Request Body

Inputs for the pay03 calculation.
Pay03Request
annualSalary
​number · required
Default: 0
hoursPerWeek
​integer · min: 1 · max: 80 · required
Default: 40
weeksPerYear
​integer · min: 1 · max: 52 · required
Default: 52

Convert my salary to an equivalent hourly wage › Responses

Calculation result.

Result of the pay03 calculation.
Pay03Result
monthlyPay
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
weeklyPay
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
hourlyPay
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/convert-salary-to-hourly
curl https://api.fincalc.com/v2/calculators/convert-salary-to-hourly \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "annualSalary": 0,
  "hoursPerWeek": 40,
  "weeksPerYear": 52
}'
Example Request Body
{
  "annualSalary": 0,
  "hoursPerWeek": 40,
  "weeksPerYear": 52
}
Example Responses
{
  "monthlyPay": "89500.00",
  "weeklyPay": "89500.00",
  "hourlyPay": "89500.00"
}
application/json

Convert my hourly wage to an equivalent annual salary

POST
https://api.fincalc.com
/v2/calculators/convert-hourly-to-salary

Convert my hourly wage to an equivalent annual salary › Request Body

Inputs for the pay04 calculation.
Pay04Request
hourlyWage
​number · required
Default: 0
hoursPerWeek
​integer · min: 1 · max: 80 · required
Default: 40
weeksPerYear
​integer · min: 1 · max: 52 · required
Default: 52

Convert my hourly wage to an equivalent annual salary › Responses

Calculation result.

Result of the pay04 calculation.
Pay04Result
weeklyPay
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
monthlyPay
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
yearlyPay
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/convert-hourly-to-salary
curl https://api.fincalc.com/v2/calculators/convert-hourly-to-salary \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "hourlyWage": 0,
  "hoursPerWeek": 40,
  "weeksPerYear": 52
}'
Example Request Body
{
  "hourlyWage": 0,
  "hoursPerWeek": 40,
  "weeksPerYear": 52
}
Example Responses
{
  "weeklyPay": "89500.00",
  "monthlyPay": "89500.00",
  "yearlyPay": "89500.00"
}
application/json

What is the future value of my employee stock options?

POST
https://api.fincalc.com
/v2/calculators/future-value-of-my-stock-options

What is the future value of my employee stock options? › Request Body

Inputs for the pay05 calculation.
Pay05Request
exDate
​integer · min: 0 · max: 20 · required
Default: 0
totalShares
​integer · min: 0 · max: 999999 · required
Default: 0
currentPrice
​number · min: 0 · max: 9999 · required
Default: 0
strikePrice
​number · min: 0 · max: 9999 · required
Default: 0
expectedReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08

What is the future value of my employee stock options? › Responses

Calculation result.

Result of the pay05 calculation.
Pay05Result
​Pay05YearRow[] · required
POST/v2/calculators/future-value-of-my-stock-options
curl https://api.fincalc.com/v2/calculators/future-value-of-my-stock-options \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "exDate": 0,
  "totalShares": 0,
  "currentPrice": 0,
  "strikePrice": 0,
  "expectedReturn": 0.08
}'
Example Request Body
{
  "exDate": 0,
  "totalShares": 0,
  "currentPrice": 0,
  "strikePrice": 0,
  "expectedReturn": 0.08
}
Example Responses
{
  "years": [
    {
      "return": 0.06,
      "futureValue": "89500.00",
      "strike": "89500.00",
      "gain": "89500.00"
    }
  ]
}
application/json

Should I exercise my 'in-the-money' stock options?

POST
https://api.fincalc.com
/v2/calculators/should-i-exercise-my-in-the-money-stock-options

Should I exercise my 'in-the-money' stock options? › Request Body

Inputs for the pay06 calculation.
Pay06Request
exDate
​integer · min: 0 · max: 20 · required
Default: 0
totalShares
​integer · min: 0 · max: 999999 · required
Default: 0
currentPrice
​number · min: 0 · max: 9999 · required
Default: 0
strikePrice
​number · min: 0 · max: 9999 · required
Default: 0
expectedReturn
​number · min: -0.5 · max: 0.5 · required
Default: 0.08
dividends
​number · min: 0 · max: 9999 · required
Default: 0
alternativeReturn
​number · min: -0.5 · max: 0.5 · required
Default: 0.08
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22
capgainsRate
​number · min: 0 · max: 0.75 · required
Default: 0.15

Should I exercise my 'in-the-money' stock options? › Responses

Calculation result.

Result of the pay06 calculation.
Pay06Result
exerciseHold
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
exerciseSell
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
exerciseDefer
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Pay06YearRow[] · required
POST/v2/calculators/should-i-exercise-my-in-the-money-stock-options
curl https://api.fincalc.com/v2/calculators/should-i-exercise-my-in-the-money-stock-options \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "exDate": 0, "totalShares": 0, "currentPrice": 0, "strikePrice": 0, "expectedReturn": 0.08, "dividends": 0, "alternativeReturn": 0.08, "taxBracket": 0.22, "capgainsRate": 0.15 }'
Example Request Body
{
  "exDate": 0,
  "totalShares": 0,
  "currentPrice": 0,
  "strikePrice": 0,
  "expectedReturn": 0.08,
  "dividends": 0,
  "alternativeReturn": 0.08,
  "taxBracket": 0.22,
  "capgainsRate": 0.15
}
Example Responses
{
  "exerciseHold": "89500.00",
  "exerciseSell": "89500.00",
  "exerciseDefer": "89500.00",
  "years": [
    {
      "text": "text",
      "hold": "89500.00",
      "sell": "89500.00",
      "defer": "89500.00"
    }
  ]
}
application/json

What may my 401k be worth?

POST
https://api.fincalc.com
/v2/calculators/what-may-my-401k-be-worth

What may my 401k be worth? › Request Body

Inputs for the pay07 calculation.
Pay07Request
yrstoretirement
​integer · min: 1 · max: 50 · required
Default: 30
clientIncome
​number · required
Default: 0
salaryIncreases
​number · min: 0 · max: 0.1 · required
Default: 0.03
planBalance
​number · required
Default: 0
compounding
​integer · enum · required
Enum values:
52
26
24
12
1
Default: 26
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
employerMatch
​number · min: 0 · max: 3 · required
Default: 1
maximumMatch
​number · min: 0 · max: 0.2 · required
Default: 0.03
currentContribution
​number · min: 0 · max: 0.5 · required
Default: 0.04

What may my 401k be worth? › Responses

Calculation result.

Result of the pay07 calculation.
Pay07Result
yourcontDollar
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
empmatchDollar
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
empmaxmatchDollar
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
fvYourcont
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
fvEmpcont
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalAccumulation
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
contributionCapped
​number · required
currentYear
​number · required
maxContribution
​number · required
totalValueText
​string · required
​Pay07YearRow[] · required
POST/v2/calculators/what-may-my-401k-be-worth
curl https://api.fincalc.com/v2/calculators/what-may-my-401k-be-worth \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "yrstoretirement": 30, "clientIncome": 0, "salaryIncreases": 0.03, "planBalance": 0, "compounding": 26, "beforeTaxReturn": 0.08, "employerMatch": 1, "maximumMatch": 0.03, "currentContribution": 0.04 }'
Example Request Body
{
  "yrstoretirement": 30,
  "clientIncome": 0,
  "salaryIncreases": 0.03,
  "planBalance": 0,
  "compounding": 26,
  "beforeTaxReturn": 0.08,
  "employerMatch": 1,
  "maximumMatch": 0.03,
  "currentContribution": 0.04
}
Example Responses
{ "yourcontDollar": "89500.00", "empmatchDollar": "89500.00", "empmaxmatchDollar": "89500.00", "fvYourcont": "89500.00", "fvEmpcont": "89500.00", "totalAccumulation": "89500.00", "contributionCapped": 0, "currentYear": 0, "maxContribution": 0, "totalValueText": "totalValueText", "years": [ { "yearNumber": 0, "begBalance": "89500.00", "yourContribution": "89500.00", "employerContribution": "89500.00", "interest": "89500.00", "endBalance": "89500.00" } ] }
application/json

What is the impact of increasing my 401(k) contribution?

POST
https://api.fincalc.com
/v2/calculators/impact-of-increasing-my-401k-contribution

What is the impact of increasing my 401(k) contribution? › Request Body

Inputs for the pay08 calculation.
Pay08Request
yrstoretirement
​integer · min: 1 · max: 50 · required
Default: 30
clientIncome
​number · required
Default: 0
salaryIncreases
​number · min: 0 · max: 0.1 · required
Default: 0.05
planBalance
​number · required
Default: 0
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
compounding
​integer · enum · required
Enum values:
52
26
24
12
1
Default: 26
employerMatch
​number · min: 0 · max: 3 · required
Default: 1
maximumMatch
​number · min: 0 · max: 0.2 · required
Default: 0.03
currentContribution
​number · min: 0 · max: 1 · required
Default: 0.04
proposedContribution
​number · min: 0 · max: 1 · required
Default: 0.06

What is the impact of increasing my 401(k) contribution? › Responses

Calculation result.

Result of the pay08 calculation.
Pay08Result
currcontTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
propcontTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
ercurrcontTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
erpropcontTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
fvCurrcont
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
fvPropcont
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
increase
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
outofpocket
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
contributionCapped
​number · required
increaseContribution
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
currentYear
​number · required
maxContribution
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Pay08YearRow[] · required
POST/v2/calculators/impact-of-increasing-my-401k-contribution
curl https://api.fincalc.com/v2/calculators/impact-of-increasing-my-401k-contribution \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "yrstoretirement": 30, "clientIncome": 0, "salaryIncreases": 0.05, "planBalance": 0, "beforeTaxReturn": 0.08, "compounding": 26, "employerMatch": 1, "maximumMatch": 0.03, "currentContribution": 0.04, "proposedContribution": 0.06 }'
Example Request Body
{
  "yrstoretirement": 30,
  "clientIncome": 0,
  "salaryIncreases": 0.05,
  "planBalance": 0,
  "beforeTaxReturn": 0.08,
  "compounding": 26,
  "employerMatch": 1,
  "maximumMatch": 0.03,
  "currentContribution": 0.04,
  "proposedContribution": 0.06
}
Example Responses
{ "currcontTotal": "89500.00", "propcontTotal": "89500.00", "ercurrcontTotal": "89500.00", "erpropcontTotal": "89500.00", "fvCurrcont": "89500.00", "fvPropcont": "89500.00", "increase": "89500.00", "outofpocket": "89500.00", "contributionCapped": 0, "increaseContribution": 0.06, "currentYear": 0, "maxContribution": "89500.00", "years": [ { "yearNumber": 0, "currYourContribution": "89500.00", "currEmployerContribution": "89500.00", "currInterest": "89500.00", "propYourContribution": "89500.00", "propEmployerContribution": "89500.00", "propInterest": "89500.00", "additionalProposedContributions": "89500.00", "currentContributionLevel": "89500.00", "existingBalance": "89500.00", "grandTotal": "89500.00" } ] }
application/json

What may my 403(b) Plan be worth?

POST
https://api.fincalc.com
/v2/calculators/what-may-my-403b-plan-be-worth

What may my 403(b) Plan be worth? › Request Body

Inputs for the pay11 calculation.
Pay11Request
yrstoretirement
​integer · min: 1 · max: 50 · required
Default: 30
clientIncome
​number · required
Default: 0
salaryIncreases
​number · min: 0 · max: 0.1 · required
Default: 0.03
planBalance
​number · required
Default: 0
compounding
​integer · enum · required
Enum values:
52
26
24
12
1
Default: 26
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
employerMatch
​number · min: 0 · max: 3 · required
Default: 1
maximumMatch
​number · min: 0 · max: 0.2 · required
Default: 0.03
currentContribution
​number · min: 0 · max: 0.2 · required
Default: 0.04

What may my 403(b) Plan be worth? › Responses

Calculation result.

Result of the pay11 calculation.
Pay11Result
yourcontDollar
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
empmatchDollar
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
empmaxmatchDollar
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
fvYourcont
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
fvEmpcont
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalAccumulation
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
contributionCapped
​number · required
maxContribution
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
currentYear
​number · required
​Pay11YearRow[] · required
POST/v2/calculators/what-may-my-403b-plan-be-worth
curl https://api.fincalc.com/v2/calculators/what-may-my-403b-plan-be-worth \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "yrstoretirement": 30, "clientIncome": 0, "salaryIncreases": 0.03, "planBalance": 0, "compounding": 26, "beforeTaxReturn": 0.08, "employerMatch": 1, "maximumMatch": 0.03, "currentContribution": 0.04 }'
Example Request Body
{
  "yrstoretirement": 30,
  "clientIncome": 0,
  "salaryIncreases": 0.03,
  "planBalance": 0,
  "compounding": 26,
  "beforeTaxReturn": 0.08,
  "employerMatch": 1,
  "maximumMatch": 0.03,
  "currentContribution": 0.04
}
Example Responses
{ "yourcontDollar": "89500.00", "empmatchDollar": "89500.00", "empmaxmatchDollar": "89500.00", "fvYourcont": "89500.00", "fvEmpcont": "89500.00", "totalAccumulation": "89500.00", "contributionCapped": 0, "maxContribution": "89500.00", "currentYear": 0, "years": [ { "yearNumber": 0, "begBalance": "89500.00", "yourContribution": "89500.00", "employerContribution": "89500.00", "interest": "89500.00", "endBalance": "89500.00" } ] }
application/json

What may my Health Savings Account (HSA) be worth?

POST
https://api.fincalc.com
/v2/calculators/what-may-my-hsa-be-worth

What may my Health Savings Account (HSA) be worth? › Request Body

Inputs for the pay13 calculation.
Pay13Request
planBalance
​number · required
Default: 0
employeeHSAContribution
​number · required
Default: 0
employerHSAContribution
​number · required
Default: 0
annualHSAExpenses
​number · required
Default: 0
yrstoretirement
​integer · min: 1 · max: 50 · required
Default: 30
compounding
​integer · enum · required
Enum values:
52
26
24
12
1
Default: 26
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08

What may my Health Savings Account (HSA) be worth? › Responses

Calculation result.

Result of the pay13 calculation.
Pay13Result
yourContDollar
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
empMatchDollar
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
fvYourCont
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
fvEmpCont
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalAccumulation
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
contributionCapped
​number · required
maxContribution
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
netContribution
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
currentYear
​number · required
​Pay13YearRow[] · required
POST/v2/calculators/what-may-my-hsa-be-worth
curl https://api.fincalc.com/v2/calculators/what-may-my-hsa-be-worth \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "planBalance": 0,
  "employeeHSAContribution": 0,
  "employerHSAContribution": 0,
  "annualHSAExpenses": 0,
  "yrstoretirement": 30,
  "compounding": 26,
  "beforeTaxReturn": 0.08
}'
Example Request Body
{
  "planBalance": 0,
  "employeeHSAContribution": 0,
  "employerHSAContribution": 0,
  "annualHSAExpenses": 0,
  "yrstoretirement": 30,
  "compounding": 26,
  "beforeTaxReturn": 0.08
}
Example Responses
{ "yourContDollar": "89500.00", "empMatchDollar": "89500.00", "fvYourCont": "89500.00", "fvEmpCont": "89500.00", "totalAccumulation": "89500.00", "contributionCapped": 0, "maxContribution": "89500.00", "netContribution": "89500.00", "currentYear": 0, "years": [ { "yearNumber": 0, "currentBalance": "89500.00", "yourContribution": "89500.00", "employerMatch": "89500.00", "interestGrowth": "89500.00", "endBalance": "89500.00" } ] }
application/json

What may my company ESOP be worth?

POST
https://api.fincalc.com
/v2/calculators/what-may-my-company-esop-be-worth

What may my company ESOP be worth? › Request Body

Inputs for the pay14 calculation.
Pay14Request
yrstoretirement
​integer · min: 1 · max: 50 · required
Default: 30
clientIncome
​number · required
Default: 0
salaryIncreases
​number · min: 0 · max: 0.1 · required
Default: 0.03
planBalance
​number · required
Default: 0
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
currentContribution
​number · min: 0 · max: 3 · required
Default: 0

What may my company ESOP be worth? › Responses

Calculation result.

Result of the pay14 calculation.
Pay14Result
empContDollar
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
fvEmpCont
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalAccumulation
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Pay14YearRow[] · required
POST/v2/calculators/what-may-my-company-esop-be-worth
curl https://api.fincalc.com/v2/calculators/what-may-my-company-esop-be-worth \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "yrstoretirement": 30,
  "clientIncome": 0,
  "salaryIncreases": 0.03,
  "planBalance": 0,
  "beforeTaxReturn": 0.08,
  "currentContribution": 0
}'
Example Request Body
{
  "yrstoretirement": 30,
  "clientIncome": 0,
  "salaryIncreases": 0.03,
  "planBalance": 0,
  "beforeTaxReturn": 0.08,
  "currentContribution": 0
}
Example Responses
{ "empContDollar": "89500.00", "fvEmpCont": "89500.00", "totalAccumulation": "89500.00", "years": [ { "yearNumber": 0, "currentBalance": "89500.00", "employerContribution": "89500.00", "returnGrowth": "89500.00", "endBalance": "89500.00" } ] }
application/json

Should I contribute more to receive the maximum 401(k) match?

POST
https://api.fincalc.com
/v2/calculators/maximize-my-401k-match

Should I contribute more to receive the maximum 401(k) match? › Request Body

Inputs for the pay15 calculation.
Pay15Request
clientIncome
​number · required
Default: 0
employeeContribution
​number · min: 0 · max: 1 · required
Default: 0.04
employerMatch
​number · min: 0 · max: 1 · required
Default: 0.5
maximumMatch
​number · min: 0 · max: 1 · required
Default: 0.06

Should I contribute more to receive the maximum 401(k) match? › Responses

Calculation result.

Result of the pay15 calculation.
Pay15Result
currentEEContribution
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
currentERContribution
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalContribution
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
additionalERMatch
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
additionalEEMatch
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/maximize-my-401k-match
curl https://api.fincalc.com/v2/calculators/maximize-my-401k-match \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "clientIncome": 0,
  "employeeContribution": 0.04,
  "employerMatch": 0.5,
  "maximumMatch": 0.06
}'
Example Request Body
{
  "clientIncome": 0,
  "employeeContribution": 0.04,
  "employerMatch": 0.5,
  "maximumMatch": 0.06
}
Example Responses
{
  "currentEEContribution": "89500.00",
  "currentERContribution": "89500.00",
  "totalContribution": "89500.00",
  "additionalERMatch": "89500.00",
  "additionalEEMatch": "89500.00"
}
application/json

Evaluate my company pension payout options

POST
https://api.fincalc.com
/v2/calculators/evaluate-my-company-pension-payout-options

Evaluate my company pension payout options › Request Body

Inputs for the qua01 calculation.
Qua01Request
singleLifePension
​number · required
Default: 0
jointLifePension
​number · required
Default: 0
payoutIncrease
​number · min: 0 · max: 0.1 · required
Default: 0
age
​integer · min: 1 · max: 120 · required
Default: 35
spouseAge
​integer · min: 1 · max: 120 · required
Default: 35
retirementAge
​integer · min: 1 · max: 120 · required
Default: 65
death
​integer · min: 1 · max: 120 · required
Default: 80
spouseDeath
​integer · min: 1 · max: 120 · required
Default: 80
beforeTaxReturn
​number · min: 0 · max: 0.12 · required
Default: 0.08

Evaluate my company pension payout options › Responses

Calculation result.

Result of the qua01 calculation.
Qua01Result
breakEven
​integer · required
spouseBreakEven
​integer · required
singleLifeTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
jointLifeTotal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Qua01YearRow[] · required
POST/v2/calculators/evaluate-my-company-pension-payout-options
curl https://api.fincalc.com/v2/calculators/evaluate-my-company-pension-payout-options \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "singleLifePension": 0, "jointLifePension": 0, "payoutIncrease": 0, "age": 35, "spouseAge": 35, "retirementAge": 65, "death": 80, "spouseDeath": 80, "beforeTaxReturn": 0.08 }'
Example Request Body
{
  "singleLifePension": 0,
  "jointLifePension": 0,
  "payoutIncrease": 0,
  "age": 35,
  "spouseAge": 35,
  "retirementAge": 65,
  "death": 80,
  "spouseDeath": 80,
  "beforeTaxReturn": 0.08
}
Example Responses
{ "breakEven": 0, "spouseBreakEven": 0, "singleLifeTotal": "89500.00", "jointLifeTotal": "89500.00", "years": [ { "yearNumber": 0, "clientAge": 0, "spouseAge": 0, "singleLife": "89500.00", "slCumulative": "89500.00", "jointSurvivor": "89500.00", "jsCumulative": "89500.00", "difference": "89500.00" } ] }
application/json

How much can I contribute to an IRA?

POST
https://api.fincalc.com
/v2/calculators/ira-calculator

How much can I contribute to an IRA? › Request Body

Inputs for the qua02 calculation.
Qua02Request
taxYear
​string · enum · required
Enum values:
2025
2026
Default: 2025
magi
​number · required
Default: 0
taxStatus
​integer · enum · required
Enum values:
1
2
3
Default: 2
clientParticipate
​string · enum · required
Enum values:
N
Y
Default: Y
spouseParticipate
​string · enum · required
Enum values:
N
Y
Default: N
clientEarnedIncome
​number · required
Default: 0
spouseEarnedIncome
​number · required
Default: 0
clientAge
​integer · min: 1 · max: 120 · required
Default: 30
spouseAge
​integer · min: 0 · max: 120 · required
Default: 0

How much can I contribute to an IRA? › Responses

Calculation result.

Result of the qua02 calculation.
Qua02Result
taxStatusOutput
​FilingStatus · enum · required
Enum values:
single_or_head_of_household
married_filing_jointly
married_filing_separately
nondedClientElig
​YesNo · enum · required
Enum values:
yes
no
dedClientElig
​YesNo · enum · required
Enum values:
yes
no
rothClientElig
​YesNo · enum · required
Enum values:
yes
no
nondedClientCont
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
dedClientCont
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
rothClientCont
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
nondedSpouseElig
​YesNoNotApplicable · enum · required
Enum values:
yes
no
not_applicable
dedSpouseElig
​YesNoNotApplicable · enum · required
Enum values:
yes
no
not_applicable
rothSpouseElig
​YesNoNotApplicable · enum · required
Enum values:
yes
no
not_applicable
nondedSpouseCont
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
dedSpouseCont
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
rothSpouseCont
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/ira-calculator
curl https://api.fincalc.com/v2/calculators/ira-calculator \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "taxYear": "2025", "magi": 0, "taxStatus": 2, "clientParticipate": "Y", "spouseParticipate": "N", "clientEarnedIncome": 0, "spouseEarnedIncome": 0, "clientAge": 30, "spouseAge": 0 }'
Example Request Body
{
  "taxYear": "2025",
  "magi": 0,
  "taxStatus": 2,
  "clientParticipate": "Y",
  "spouseParticipate": "N",
  "clientEarnedIncome": 0,
  "spouseEarnedIncome": 0,
  "clientAge": 30,
  "spouseAge": 0
}
Example Responses
{ "taxStatusOutput": "single_or_head_of_household", "nondedClientElig": "yes", "dedClientElig": "yes", "rothClientElig": "yes", "nondedClientCont": "89500.00", "dedClientCont": "89500.00", "rothClientCont": "89500.00", "nondedSpouseElig": "yes", "dedSpouseElig": "yes", "rothSpouseElig": "yes", "nondedSpouseCont": "89500.00", "dedSpouseCont": "89500.00", "rothSpouseCont": "89500.00" }
application/json

How much retirement income may an IRA provide?

POST
https://api.fincalc.com
/v2/calculators/how-much-retirement-income-may-an-ira-provide

How much retirement income may an IRA provide? › Request Body

Inputs for the qua03 calculation.
Qua03Request
currentAge
​integer · min: 1 · max: 120 · required
Default: 35
retirementAge
​integer · min: 1 · max: 120 · required
Default: 65
yearsNeeded
​integer · min: 1 · max: 120 · required
Default: 20
accBeforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
distBeforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
accTaxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.25
distTaxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.25
annualContribution
​number · required
Default: 0
option
​integer · enum · required
Enum values:
1
2
Default: 1

How much retirement income may an IRA provide? › Responses

Calculation result.

Result of the qua03 calculation.
Qua03Result
adjustmentTax
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
adjustmentTradNon
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
adjustmentTrad
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
adjustmentRoth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
afterTaxContTax
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
afterTaxContTradNon
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
afterTaxContTrad
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
afterTaxContRoth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
accIntRateTax
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
accIntRateTradNon
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
accIntRateTrad
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
accIntRateRoth
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
accTermTax
​integer · required
accTermTradNon
​integer · required
accTermTrad
​integer · required
accTermRoth
​integer · required
valueTax
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
valueTradNon
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
valueTrad
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
valueRoth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
distTermTax
​integer · required
distTermTradNon
​integer · required
distTermTrad
​integer · required
distTermRoth
​integer · required
distIntRateTax
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
distIntRateTradNon
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
distIntRateTrad
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
distIntRateRoth
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
beforeTaxAnnIncTax
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
beforeTaxAnnIncTradNon
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
beforeTaxAnnIncTrad
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
beforeTaxAnnIncRoth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
taxTax
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
taxTradNon
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
taxTrad
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
taxRoth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
afterTaxAnnIncTax
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
afterTaxAnnIncTradNon
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
afterTaxAnnIncTrad
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
afterTaxAnnIncRoth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
afterTaxMoIncTax
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
afterTaxMoIncTradNon
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
afterTaxMoIncTrad
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
afterTaxMoIncRoth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/how-much-retirement-income-may-an-ira-provide
curl https://api.fincalc.com/v2/calculators/how-much-retirement-income-may-an-ira-provide \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "currentAge": 35, "retirementAge": 65, "yearsNeeded": 20, "accBeforeTaxReturn": 0.08, "distBeforeTaxReturn": 0.08, "accTaxBracket": 0.25, "distTaxBracket": 0.25, "annualContribution": 0, "option": 1 }'
Example Request Body
{
  "currentAge": 35,
  "retirementAge": 65,
  "yearsNeeded": 20,
  "accBeforeTaxReturn": 0.08,
  "distBeforeTaxReturn": 0.08,
  "accTaxBracket": 0.25,
  "distTaxBracket": 0.25,
  "annualContribution": 0,
  "option": 1
}
Example Responses
{ "adjustmentTax": "89500.00", "adjustmentTradNon": "89500.00", "adjustmentTrad": "89500.00", "adjustmentRoth": "89500.00", "afterTaxContTax": "89500.00", "afterTaxContTradNon": "89500.00", "afterTaxContTrad": "89500.00", "afterTaxContRoth": "89500.00", "accIntRateTax": 0.06, "accIntRateTradNon": 0.06, "accIntRateTrad": 0.06, "accIntRateRoth": 0.06, "accTermTax": 0, "accTermTradNon": 0, "accTermTrad": 0, "accTermRoth": 0, "valueTax": "89500.00", "valueTradNon": "89500.00", "valueTrad": "89500.00", "valueRoth": "89500.00", "distTermTax": 0, "distTermTradNon": 0, "distTermTrad": 0, "distTermRoth": 0, "distIntRateTax": 0.06, "distIntRateTradNon": 0.06, "distIntRateTrad": 0.06, "distIntRateRoth": 0.06, "beforeTaxAnnIncTax": "89500.00", "beforeTaxAnnIncTradNon": "89500.00", "beforeTaxAnnIncTrad": "89500.00", "beforeTaxAnnIncRoth": "89500.00", "taxTax": "89500.00", "taxTradNon": "89500.00", "taxTrad": "89500.00", "taxRoth": "89500.00", "afterTaxAnnIncTax": "89500.00", "afterTaxAnnIncTradNon": "89500.00", "afterTaxAnnIncTrad": "89500.00", "afterTaxAnnIncRoth": "89500.00", "afterTaxMoIncTax": "89500.00", "afterTaxMoIncTradNon": "89500.00", "afterTaxMoIncTrad": "89500.00", "afterTaxMoIncRoth": "89500.00" }
application/json

Should I convert to a Roth IRA?

POST
https://api.fincalc.com
/v2/calculators/roth-ira-conversion-calculator

Should I convert to a Roth IRA? › Request Body

Inputs for the qua04 calculation.
Qua04Request
currentAge
​integer · min: 1 · max: 120 · required
Default: 35
retirementAge
​integer · min: 1 · max: 120 · required
Default: 65
yearsNeeded
​integer · min: 1 · max: 30 · required
Default: 20
accBeforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
distBeforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
accTaxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22
distTaxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22
iraBalance
​number · required
Default: 0
nondedIra
​number · required
Default: 0
option
​integer · enum · required
Enum values:
1
2
Default: 2

Should I convert to a Roth IRA? › Responses

Calculation result.

Result of the qua04 calculation.
Qua04Result
convIraBalance
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
convSideAccount
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
taxesFees
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
adjustedIra
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
adjustedRoth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
projIraDed
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
projIraNonded
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
projSideAccount
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
projRoth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
projRetIra
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
projRetRoth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
distIraDed
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
distIraNonded
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
distSideAccount
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
distRoth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
distAnnualIraIncome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
distAnnualRothIncome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
distMoIraIncome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
distMoRothIncome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
delayTaxPmtTaxable
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
delayTaxPmtRoth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/roth-ira-conversion-calculator
curl https://api.fincalc.com/v2/calculators/roth-ira-conversion-calculator \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "currentAge": 35, "retirementAge": 65, "yearsNeeded": 20, "accBeforeTaxReturn": 0.08, "distBeforeTaxReturn": 0.08, "accTaxBracket": 0.22, "distTaxBracket": 0.22, "iraBalance": 0, "nondedIra": 0, "option": 2 }'
Example Request Body
{
  "currentAge": 35,
  "retirementAge": 65,
  "yearsNeeded": 20,
  "accBeforeTaxReturn": 0.08,
  "distBeforeTaxReturn": 0.08,
  "accTaxBracket": 0.22,
  "distTaxBracket": 0.22,
  "iraBalance": 0,
  "nondedIra": 0,
  "option": 2
}
Example Responses
{ "convIraBalance": "89500.00", "convSideAccount": "89500.00", "taxesFees": "89500.00", "adjustedIra": "89500.00", "adjustedRoth": "89500.00", "projIraDed": "89500.00", "projIraNonded": "89500.00", "projSideAccount": "89500.00", "projRoth": "89500.00", "projRetIra": "89500.00", "projRetRoth": "89500.00", "distIraDed": "89500.00", "distIraNonded": "89500.00", "distSideAccount": "89500.00", "distRoth": "89500.00", "distAnnualIraIncome": "89500.00", "distAnnualRothIncome": "89500.00", "distMoIraIncome": "89500.00", "distMoRothIncome": "89500.00", "delayTaxPmtTaxable": "89500.00", "delayTaxPmtRoth": "89500.00" }
application/json

What will my qualified plan(s) be worth at retirement?

POST
https://api.fincalc.com
/v2/calculators/qualified-plan-value-at-retirement

What will my qualified plan(s) be worth at retirement? › Request Body

Inputs for the qua05 calculation.
Qua05Request
yrsToRetirement
​integer · min: 1 · max: 50 · required
Default: 30
clientIncome
​number · required
Default: 0
salaryIncreases
​number · min: 0 · max: 0.2 · required
Default: 0.05
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
employeePlanBalance
​number · required
Default: 0
employeePlanContribution
​number · min: 0 · max: 0.25 · required
Default: 0.04
employerMatch
​number · min: 0 · max: 3 · required
Default: 1
maximumMatch
​number · min: 0 · max: 0.2 · required
Default: 0.03
individualPlanBalance
​number · required
Default: 0
individualPlanContribution
​number · required
Default: 0
individualPlanIncreases
​number · min: 0 · max: 3 · required
Default: 0

What will my qualified plan(s) be worth at retirement? › Responses

Calculation result.

Result of the qua05 calculation.
Qua05Result
existingBalance
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalYourContributions
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalEmployerContributions
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalGrowth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalValue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
contributionCapped
​number · required
maxContribution
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
currentYear
​number · required
​Qua05YearRow[] · required
POST/v2/calculators/qualified-plan-value-at-retirement
curl https://api.fincalc.com/v2/calculators/qualified-plan-value-at-retirement \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "yrsToRetirement": 30, "clientIncome": 0, "salaryIncreases": 0.05, "beforeTaxReturn": 0.08, "employeePlanBalance": 0, "employeePlanContribution": 0.04, "employerMatch": 1, "maximumMatch": 0.03, "individualPlanBalance": 0, "individualPlanContribution": 0, "individualPlanIncreases": 0 }'
Example Request Body
{
  "yrsToRetirement": 30,
  "clientIncome": 0,
  "salaryIncreases": 0.05,
  "beforeTaxReturn": 0.08,
  "employeePlanBalance": 0,
  "employeePlanContribution": 0.04,
  "employerMatch": 1,
  "maximumMatch": 0.03,
  "individualPlanBalance": 0,
  "individualPlanContribution": 0,
  "individualPlanIncreases": 0
}
Example Responses
{ "existingBalance": "89500.00", "totalYourContributions": "89500.00", "totalEmployerContributions": "89500.00", "totalGrowth": "89500.00", "totalValue": "89500.00", "contributionCapped": 0, "maxContribution": "89500.00", "currentYear": 0, "years": [ { "yearNumber": 0, "beginningBalance": "89500.00", "yourContribution": "89500.00", "employerContribution": "89500.00", "interest": "89500.00", "endingBalance": "89500.00" } ] }
application/json

What is my current year required minimum distribution?

POST
https://api.fincalc.com
/v2/calculators/current-year-required-minimum-distribution

What is my current year required minimum distribution? › Request Body

Inputs for the qua06 calculation.
Qua06Request
yyyyRmd
​integer · min: 2010 · max: 2040 · required
Default: 2026
dobMmOwner
​integer · min: 1 · max: 12 · required
Default: 12
dobDdOwner
​integer · min: 1 · max: 31 · required
Default: 1
dobYyyyOwner
​integer · min: 1920 · max: 2024 · required
Default: 1950
dobMmBeneficiary
​integer · min: 1 · max: 12 · required
Default: 12
dobDdBeneficiary
​integer · min: 1 · max: 31 · required
Default: 1
dobYyyyBeneficiary
​integer · min: 1920 · max: 2024 · required
Default: 1948
spouseBeneficiary
​string · enum · required
Enum values:
N
Y
Default: Y
accountBalance
​number · required
Default: 0
planType
​string · enum · required
Enum values:
1
2
3
4
5
6
7
8
Default: 1

What is my current year required minimum distribution? › Responses

Calculation result.

Result of the qua06 calculation.
Qua06Result
ageOwner
​integer · required
ageBeneficiary
​integer · required
tableUsed
​RmdTable · enum · required
Enum values:
uniform_lifetime
single_life
distributionFactor
​number · required
minimumDistribution
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/current-year-required-minimum-distribution
curl https://api.fincalc.com/v2/calculators/current-year-required-minimum-distribution \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "yyyyRmd": 2026, "dobMmOwner": 12, "dobDdOwner": 1, "dobYyyyOwner": 1950, "dobMmBeneficiary": 12, "dobDdBeneficiary": 1, "dobYyyyBeneficiary": 1948, "spouseBeneficiary": "Y", "accountBalance": 0, "planType": "1" }'
Example Request Body
{
  "yyyyRmd": 2026,
  "dobMmOwner": 12,
  "dobDdOwner": 1,
  "dobYyyyOwner": 1950,
  "dobMmBeneficiary": 12,
  "dobDdBeneficiary": 1,
  "dobYyyyBeneficiary": 1948,
  "spouseBeneficiary": "Y",
  "accountBalance": 0,
  "planType": "1"
}
Example Responses
{
  "ageOwner": 0,
  "ageBeneficiary": 0,
  "tableUsed": "uniform_lifetime",
  "distributionFactor": 0,
  "minimumDistribution": "89500.00"
}
application/json

What are my projected required minimum distributions?

POST
https://api.fincalc.com
/v2/calculators/projected-required-minimum-distributions

What are my projected required minimum distributions? › Request Body

Inputs for the qua07 calculation.
Qua07Request
yyyyRmd
​integer · min: 2010 · max: 2040 · required
Default: 2026
dobMmOwner
​integer · min: 1 · max: 12 · required
Default: 12
dobDdOwner
​integer · min: 1 · max: 31 · required
Default: 31
dobYyyyOwner
​integer · min: 1920 · max: 2024 · required
Default: 1950
dobMmBeneficiary
​integer · min: 1 · max: 12 · required
Default: 12
dobDdBeneficiary
​integer · min: 1 · max: 31 · required
Default: 31
dobYyyyBeneficiary
​integer · min: 1950 · max: 2024 · required
Default: 1950
spouseBeneficiary
​string · enum · required
Enum values:
N
Y
Default: Y
accountBalance
​number · required
Default: 0
returnRate
​number · min: 0 · max: 0.1 · required
Default: 0
planType
​string · enum · required
Enum values:
1
2
3
4
5
6
7
8
Default: 1

What are my projected required minimum distributions? › Responses

Calculation result.

Result of the qua07 calculation.
Qua07Result
ageOwner
​integer · required
ageBeneficiary
​integer · required
tableUsed
​RmdTable · enum · required
Enum values:
uniform_lifetime
single_life
​Qua07YearRow[] · required
POST/v2/calculators/projected-required-minimum-distributions
curl https://api.fincalc.com/v2/calculators/projected-required-minimum-distributions \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "yyyyRmd": 2026, "dobMmOwner": 12, "dobDdOwner": 31, "dobYyyyOwner": 1950, "dobMmBeneficiary": 12, "dobDdBeneficiary": 31, "dobYyyyBeneficiary": 1950, "spouseBeneficiary": "Y", "accountBalance": 0, "returnRate": 0, "planType": "1" }'
Example Request Body
{
  "yyyyRmd": 2026,
  "dobMmOwner": 12,
  "dobDdOwner": 31,
  "dobYyyyOwner": 1950,
  "dobMmBeneficiary": 12,
  "dobDdBeneficiary": 31,
  "dobYyyyBeneficiary": 1950,
  "spouseBeneficiary": "Y",
  "accountBalance": 0,
  "returnRate": 0,
  "planType": "1"
}
Example Responses
{ "ageOwner": 0, "ageBeneficiary": 0, "tableUsed": "uniform_lifetime", "years": [ { "yearNumber": 0, "age": 0, "beginningBalance": "89500.00", "growth": "89500.00", "divisor": 0, "requiredDistribution": "89500.00", "endingBalance": "89500.00" } ] }
application/json

What are my lump sum distribution options?

POST
https://api.fincalc.com
/v2/calculators/ira-rollover-calculator

What are my lump sum distribution options? › Request Body

Inputs for the qua08 calculation.
Qua08Request
clientAge
​integer · min: 1 · max: 120 · required
Default: 35
participationYear
​integer · min: 1950 · max: 2024 · required
Default: 2000
distributionAmount
​number · required
Default: 0
entireBalance
​string · enum · required
Enum values:
N
Y
Default: Y
disability
​string · enum · required
Enum values:
N
Y
Default: N
services
​string · enum · required
Enum values:
N
Y
Default: Y
taxStatus
​string · enum · required
Enum values:
1
2
3
4
Default: 1
taxableIncome
​number · required
Default: 0
retirementAge
​integer · min: 1 · max: 120 · required
Default: 65
retirementYears
​integer · min: 1 · max: 40 · required
Default: 20
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
retBeforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
federalTaxRate
​number · min: 0 · max: 0.75 · required
Default: 0.25
retFederalTaxRate
​number · min: 0 · max: 0.75 · required
Default: 0.25
stateTaxRate
​number · min: 0 · max: 0.75 · required
Default: 0
retStateTaxRate
​number · min: 0 · max: 0.75 · required
Default: 0

What are my lump sum distribution options? › Responses

Calculation result.

Result of the qua08 calculation.
Qua08Result
eligibleOrd
​string · required
eligibleIra
​string · required
eligibleRoth
​string · required
incomeOrd
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
incomeIra
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
incomeRoth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
rollTaxableOrd
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
rollTaxableIra
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
rollTaxableRoth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
rollWithheldOrd
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
rollWithheldIra
​string · required
rollWithheldRoth
​string · required
rollAdditionalOrd
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
rollAdditionalIra
​string · required
rollAdditionalRoth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
rollStateOrd
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
rollStateIra
​string · required
rollStateRoth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
rollPenaltyOrd
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
rollPenaltyIra
​string · required
rollPenaltyRoth
​string · required
rollInvestableOrd
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
rollInvestableIra
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
rollInvestableRoth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
accBalanceOrd
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
accBalanceIra
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
accBalanceRoth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
accReturnOrd
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
accReturnIra
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
accReturnRoth
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
accTaxOrd
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
accTaxIra
​number · required
accTaxRoth
​number · required
accYearsOrd
​integer · required
accYearsIra
​integer · required
accYearsRoth
​integer · required
accValueOrd
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
accValueIra
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
accValueRoth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
distValueOrd
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
distValueIra
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
distValueRoth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
distReturnOrd
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
distReturnIra
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
distReturnRoth
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
distTaxOrd
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
distTaxIra
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
distTaxRoth
​number · required
distPaymentsOrd
​integer · required
distPaymentsIra
​integer · required
distPaymentsRoth
​integer · required
distAnnualOrd
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
distAnnualIra
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
distAnnualRoth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
distTaxesOrd
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
distTaxesIra
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
distTaxesRoth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
distNetOrd
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
distNetIra
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
distNetRoth
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/ira-rollover-calculator
curl https://api.fincalc.com/v2/calculators/ira-rollover-calculator \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "clientAge": 35, "participationYear": 2000, "distributionAmount": 0, "entireBalance": "Y", "disability": "N", "services": "Y", "taxStatus": "1", "taxableIncome": 0, "retirementAge": 65, "retirementYears": 20, "beforeTaxReturn": 0.08, "retBeforeTaxReturn": 0.08, "federalTaxRate": 0.25, "retFederalTaxRate": 0.25, "stateTaxRate": 0, "retStateTaxRate": 0 }'
Example Request Body
{ "clientAge": 35, "participationYear": 2000, "distributionAmount": 0, "entireBalance": "Y", "disability": "N", "services": "Y", "taxStatus": "1", "taxableIncome": 0, "retirementAge": 65, "retirementYears": 20, "beforeTaxReturn": 0.08, "retBeforeTaxReturn": 0.08, "federalTaxRate": 0.25, "retFederalTaxRate": 0.25, "stateTaxRate": 0, "retStateTaxRate": 0 }
Example Responses
{ "eligibleOrd": "eligibleOrd", "eligibleIra": "eligibleIra", "eligibleRoth": "eligibleRoth", "incomeOrd": "89500.00", "incomeIra": "89500.00", "incomeRoth": "89500.00", "rollTaxableOrd": "89500.00", "rollTaxableIra": "89500.00", "rollTaxableRoth": "89500.00", "rollWithheldOrd": "89500.00", "rollWithheldIra": "rollWithheldIra", "rollWithheldRoth": "rollWithheldRoth", "rollAdditionalOrd": "89500.00", "rollAdditionalIra": "rollAdditionalIra", "rollAdditionalRoth": "89500.00", "rollStateOrd": "89500.00", "rollStateIra": "rollStateIra", "rollStateRoth": "89500.00", "rollPenaltyOrd": "89500.00", "rollPenaltyIra": "rollPenaltyIra", "rollPenaltyRoth": "rollPenaltyRoth", "rollInvestableOrd": "89500.00", "rollInvestableIra": "89500.00", "rollInvestableRoth": "89500.00", "accBalanceOrd": "89500.00", "accBalanceIra": "89500.00", "accBalanceRoth": "89500.00", "accReturnOrd": 0.06, "accReturnIra": 0.06, "accReturnRoth": 0.06, "accTaxOrd": 0.06, "accTaxIra": 0, "accTaxRoth": 0, "accYearsOrd": 0, "accYearsIra": 0, "accYearsRoth": 0, "accValueOrd": "89500.00", "accValueIra": "89500.00", "accValueRoth": "89500.00", "distValueOrd": "89500.00", "distValueIra": "89500.00", "distValueRoth": "89500.00", "distReturnOrd": 0.06, "distReturnIra": 0.06, "distReturnRoth": 0.06, "distTaxOrd": 0.06, "distTaxIra": 0.06, "distTaxRoth": 0, "distPaymentsOrd": 0, "distPaymentsIra": 0, "distPaymentsRoth": 0, "distAnnualOrd": "89500.00", "distAnnualIra": "89500.00", "distAnnualRoth": "89500.00", "distTaxesOrd": "89500.00", "distTaxesIra": "89500.00", "distTaxesRoth": "89500.00", "distNetOrd": "89500.00", "distNetIra": "89500.00", "distNetRoth": "89500.00" }
application/json

How do I maximize my employer 401(k) match?

POST
https://api.fincalc.com
/v2/calculators/how-do-i-maximize-my-employer-401-k-match

How do I maximize my employer 401(k) match? › Request Body

Inputs for the qua09 calculation.
Qua09Request
payPeriod
​integer · enum · required
Enum values:
52
26
24
12
1
Default: 26
clientIncome
​number · required
Default: 0
clientAge
​integer · min: 1 · max: 120 · required
Default: 30
employerMatch
​number · min: 0 · max: 3 · required
Default: 1
maximumMatch
​number · min: 0 · max: 0.2 · required
Default: 0.03
employerMatch2
​number · min: 0 · max: 3 · required
Default: 0.5
maximumMatch2
​number · min: 0 · max: 0.2 · required
Default: 0

How do I maximize my employer 401(k) match? › Responses

Calculation result.

Result of the qua09 calculation.
Qua09Result
optimum
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
totalContribution
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Qua09ContributionRow[] · required
POST/v2/calculators/how-do-i-maximize-my-employer-401-k-match
curl https://api.fincalc.com/v2/calculators/how-do-i-maximize-my-employer-401-k-match \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "payPeriod": 26,
  "clientIncome": 0,
  "clientAge": 30,
  "employerMatch": 1,
  "maximumMatch": 0.03,
  "employerMatch2": 0.5,
  "maximumMatch2": 0
}'
Example Request Body
{
  "payPeriod": 26,
  "clientIncome": 0,
  "clientAge": 30,
  "employerMatch": 1,
  "maximumMatch": 0.03,
  "employerMatch2": 0.5,
  "maximumMatch2": 0
}
Example Responses
{ "optimum": 0.06, "totalContribution": "89500.00", "contributions": [ { "yourContPercent": 0.06, "yourContDollar": "89500.00", "empContPercent": 0.06, "empContDollar": "89500.00", "totalCont": "89500.00", "empContPercentTotal": 0.06 } ] }
application/json

What is the impact of borrowing from my retirement plan?

POST
https://api.fincalc.com
/v2/calculators/impact-of-borrowing-from-my-retirement-plan

What is the impact of borrowing from my retirement plan? › Request Body

Inputs for the qua10 calculation.
Qua10Request
loanAmount401k
​number · required
Default: 0
loanRate401k
​number · min: 0 · max: 0.4 · required
Default: 0.06
yearsToRetirement
​integer · min: 1 · max: 70 · required
Default: 20
loanTerm401k
​integer · min: 1 · max: 20 · required
Default: 5
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
debtPayoff
​string · enum · required
Enum values:
N
Y
Default: N
debtInterestRate
​number · min: 0 · max: 0.4 · required
Default: 0.18
interestDeductible
​string · enum · required
Enum values:
N
Y
Default: N
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.25

What is the impact of borrowing from my retirement plan? › Responses

Calculation result.

Result of the qua10 calculation.
Qua10Result
interestSpread
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
retirementSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
adjCostBorrowing
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
opportunityCost
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
​Qua10YearRow[] · required
POST/v2/calculators/impact-of-borrowing-from-my-retirement-plan
curl https://api.fincalc.com/v2/calculators/impact-of-borrowing-from-my-retirement-plan \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "loanAmount401k": 0, "loanRate401k": 0.06, "yearsToRetirement": 20, "loanTerm401k": 5, "beforeTaxReturn": 0.08, "debtPayoff": "N", "debtInterestRate": 0.18, "interestDeductible": "N", "taxBracket": 0.25 }'
Example Request Body
{
  "loanAmount401k": 0,
  "loanRate401k": 0.06,
  "yearsToRetirement": 20,
  "loanTerm401k": 5,
  "beforeTaxReturn": 0.08,
  "debtPayoff": "N",
  "debtInterestRate": 0.18,
  "interestDeductible": "N",
  "taxBracket": 0.25
}
Example Responses
{ "interestSpread": 0.06, "retirementSavings": "89500.00", "adjCostBorrowing": 0.06, "opportunityCost": 0.06, "years": [ { "yearNumber": 0, "beginningBalance": "89500.00", "interest": "89500.00", "endingBalance": "89500.00" } ] }
application/json

What is the impact of early withdrawal from my 401(k)?

POST
https://api.fincalc.com
/v2/calculators/what-is-the-impact-of-early-withdrawal-from-my-401-k

What is the impact of early withdrawal from my 401(k)? › Request Body

Inputs for the qua11 calculation.
Qua11Request
yrsToRetirement
​integer · min: 1 · max: 50 · required
Default: 30
clientIncome
​number · required
Default: 0
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.25
earlyWithdrawal
​number · required
Default: 0
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
suspension
​string · enum · required
Enum values:
N
Y
Default: Y
currentContribution
​number · min: 0 · max: 1 · required
Default: 0.04
employerMatch
​number · min: 0 · max: 3 · required
Default: 1
maximumMatch
​number · min: 0 · max: 0.2 · required
Default: 0.03

What is the impact of early withdrawal from my 401(k)? › Responses

Calculation result.

Result of the qua11 calculation.
Qua11Result
contributionLost
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
retirementLost
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
penalty
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
taxes
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
netAmount
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Qua11YearRow[] · required
POST/v2/calculators/what-is-the-impact-of-early-withdrawal-from-my-401-k
curl https://api.fincalc.com/v2/calculators/what-is-the-impact-of-early-withdrawal-from-my-401-k \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "yrsToRetirement": 30, "clientIncome": 0, "taxBracket": 0.25, "earlyWithdrawal": 0, "beforeTaxReturn": 0.08, "suspension": "Y", "currentContribution": 0.04, "employerMatch": 1, "maximumMatch": 0.03 }'
Example Request Body
{
  "yrsToRetirement": 30,
  "clientIncome": 0,
  "taxBracket": 0.25,
  "earlyWithdrawal": 0,
  "beforeTaxReturn": 0.08,
  "suspension": "Y",
  "currentContribution": 0.04,
  "employerMatch": 1,
  "maximumMatch": 0.03
}
Example Responses
{ "contributionLost": "89500.00", "retirementLost": "89500.00", "penalty": "89500.00", "taxes": "89500.00", "netAmount": "89500.00", "years": [ { "yearNumber": 0, "beginningBalance": "89500.00", "interest": "89500.00", "endingBalance": "89500.00" } ] }
application/json

I'm self-employed, how much can I contribute to a retirement plan?

POST
https://api.fincalc.com
/v2/calculators/im-self-employed-how-much-can-i-contribute-to-a-retirement-plan

I'm self-employed, how much can I contribute to a retirement plan? › Request Body

Inputs for the qua12 calculation.
Qua12Request
type
​string · enum · required
Enum values:
S
C
Default: S
taxYear
​string · enum · required
Enum values:
2025
2026
Default: 2025
clientAge
​integer · min: 1 · max: 120 · required
Default: 30
netProfit
​number · required
Default: 0

I'm self-employed, how much can I contribute to a retirement plan? › Responses

Calculation result.

Result of the qua12 calculation.
Qua12Result
a
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
b
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
c
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
d
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
e
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
f
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
g
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
h
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
i
​number · required
j
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
k
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
l
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
m
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
n
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
o
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
p
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
q
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
r
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
s
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
t
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
u
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
v
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
sepcont
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
simpleIRACont
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
max401KCont
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/im-self-employed-how-much-can-i-contribute-to-a-retirement-plan
curl https://api.fincalc.com/v2/calculators/im-self-employed-how-much-can-i-contribute-to-a-retirement-plan \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "type": "S",
  "taxYear": "2025",
  "clientAge": 30,
  "netProfit": 0
}'
Example Request Body
{
  "type": "S",
  "taxYear": "2025",
  "clientAge": 30,
  "netProfit": 0
}
Example Responses
{ "a": "89500.00", "b": "89500.00", "c": "89500.00", "d": "89500.00", "e": "89500.00", "f": "89500.00", "g": "89500.00", "h": 0.06, "i": 0, "j": "89500.00", "k": "89500.00", "l": "89500.00", "m": "89500.00", "n": "89500.00", "o": "89500.00", "p": "89500.00", "q": "89500.00", "r": "89500.00", "s": "89500.00", "t": "89500.00", "u": "89500.00", "v": "89500.00", "sepcont": "89500.00", "simpleIRACont": "89500.00", "max401KCont": "89500.00" }
application/json

Net unrealized appreciation (NUA) vs. IRA rollover?

POST
https://api.fincalc.com
/v2/calculators/net-unrealized-appreciation-nua-vs-ira-rollover

Net unrealized appreciation (NUA) vs. IRA rollover? › Request Body

Inputs for the qua13 calculation.
Qua13Request
balance
​number · required
Default: 0
basis
​number · required
Default: 0
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
holdingYears
​integer · min: 0 · max: 30 · required
Default: 10
holdingMonths
​integer · min: 0 · max: 11 · required
Default: 0
taxRate
​number · min: 0 · max: 0.75 · required
Default: 0.4
capRate
​number · min: 0 · max: 0.75 · required
Default: 0.15
separation
​string · enum · required
Enum values:
N
Y
Default: N
initialDistribution
​string · enum · required
Enum values:
N
Y
Default: N
finalDistribution
​string · enum · required
Enum values:
N
Y
Default: N

Net unrealized appreciation (NUA) vs. IRA rollover? › Responses

Calculation result.

Result of the qua13 calculation.
Qua13Result
taxSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
currentNBalance
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
currentIBalance
​string · required
currentNImmediate
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
currentIImmediate
​string · required
currentNPenalty
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
currentIPenalty
​string · required
currentNTotalImmediate
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
currentITotalImmediate
​string · required
finalNBalance
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
finalIBalance
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
finalNCapGains
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
finalICapGains
​string · required
finalNCapGainsAddnl
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
finalICapGainsAddnl
​string · required
finalNTax
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
finalITax
​string · required
finalNPenalty
​string · required
finalIPenalty
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
finalNDistributionTax
​string · required
finalIDistributionTax
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
finalNTotalFutureTax
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
finalITotalFutureTax
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
nuaTotalTaxesPaid
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
iraTotalTaxesPaid
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/net-unrealized-appreciation-nua-vs-ira-rollover
curl https://api.fincalc.com/v2/calculators/net-unrealized-appreciation-nua-vs-ira-rollover \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "balance": 0, "basis": 0, "beforeTaxReturn": 0.08, "holdingYears": 10, "holdingMonths": 0, "taxRate": 0.4, "capRate": 0.15, "separation": "N", "initialDistribution": "N", "finalDistribution": "N" }'
Example Request Body
{
  "balance": 0,
  "basis": 0,
  "beforeTaxReturn": 0.08,
  "holdingYears": 10,
  "holdingMonths": 0,
  "taxRate": 0.4,
  "capRate": 0.15,
  "separation": "N",
  "initialDistribution": "N",
  "finalDistribution": "N"
}
Example Responses
{ "taxSavings": "89500.00", "currentNBalance": "89500.00", "currentIBalance": "currentIBalance", "currentNImmediate": "89500.00", "currentIImmediate": "currentIImmediate", "currentNPenalty": "89500.00", "currentIPenalty": "currentIPenalty", "currentNTotalImmediate": "89500.00", "currentITotalImmediate": "currentITotalImmediate", "finalNBalance": "89500.00", "finalIBalance": "89500.00", "finalNCapGains": "89500.00", "finalICapGains": "finalICapGains", "finalNCapGainsAddnl": "89500.00", "finalICapGainsAddnl": "finalICapGainsAddnl", "finalNTax": "89500.00", "finalITax": "finalITax", "finalNPenalty": "finalNPenalty", "finalIPenalty": "89500.00", "finalNDistributionTax": "finalNDistributionTax", "finalIDistributionTax": "89500.00", "finalNTotalFutureTax": "89500.00", "finalITotalFutureTax": "89500.00", "nuaTotalTaxesPaid": "89500.00", "iraTotalTaxesPaid": "89500.00" }
application/json

What Is My Beneficiary Required Minimum Distribution?

POST
https://api.fincalc.com
/v2/calculators/what-is-my-beneficiary-required-minimum-distribution

What Is My Beneficiary Required Minimum Distribution? › Request Body

Inputs for the qua14 calculation.
Qua14Request
yyyyRmd
​integer · min: 2010 · max: 2040 · required
Default: 2026
dobMmOwner
​integer · min: 1 · max: 12 · required
Default: 1
dobDdOwner
​integer · min: 1 · max: 31 · required
Default: 1
dobYyyyOwner
​integer · min: 1900 · max: 2024 · required
Default: 1950
dodMmOwner
​integer · min: 1 · max: 12 · required
Default: 1
dodDdOwner
​integer · min: 1 · max: 31 · required
Default: 1
dodYyyyOwner
​integer · min: 1920 · max: 2040 · required
Default: 1950
dobMmBeneficiary
​integer · min: 1 · max: 12 · required
Default: 1
dobDdBeneficiary
​integer · min: 1 · max: 31 · required
Default: 1
dobYyyyBeneficiary
​integer · min: 1920 · max: 2024 · required
Default: 1950
planBalance
​number · required
Default: 0
returnRate
​number · min: 0 · max: 0.1 · required
Default: 0.05
planType
​string · enum · required
Enum values:
1
2
3
4
5
6
7
8
Default: 1
beneficiaryType
​string · enum · required
Enum values:
1
2
3
4
5
Default: 1
spouseOption
​string · enum · required
Enum values:
1
2
Default: 1

What Is My Beneficiary Required Minimum Distribution? › Responses

Calculation result.

Result of the qua14 calculation.
Qua14Result
accountBalance
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalDistributions
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
endingBalance
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
tableUsed
​RmdTable · enum · required
Enum values:
uniform_lifetime
single_life
​Qua14YearRow[] · required
POST/v2/calculators/what-is-my-beneficiary-required-minimum-distribution
curl https://api.fincalc.com/v2/calculators/what-is-my-beneficiary-required-minimum-distribution \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "yyyyRmd": 2026, "dobMmOwner": 1, "dobDdOwner": 1, "dobYyyyOwner": 1950, "dodMmOwner": 1, "dodDdOwner": 1, "dodYyyyOwner": 1950, "dobMmBeneficiary": 1, "dobDdBeneficiary": 1, "dobYyyyBeneficiary": 1950, "planBalance": 0, "returnRate": 0.05, "planType": "1", "beneficiaryType": "1", "spouseOption": "1" }'
Example Request Body
{ "yyyyRmd": 2026, "dobMmOwner": 1, "dobDdOwner": 1, "dobYyyyOwner": 1950, "dodMmOwner": 1, "dodDdOwner": 1, "dodYyyyOwner": 1950, "dobMmBeneficiary": 1, "dobDdBeneficiary": 1, "dobYyyyBeneficiary": 1950, "planBalance": 0, "returnRate": 0.05, "planType": "1", "beneficiaryType": "1", "spouseOption": "1" }
Example Responses
{ "accountBalance": "89500.00", "totalDistributions": "89500.00", "endingBalance": "89500.00", "tableUsed": "uniform_lifetime", "years": [ { "yearNumber": 0, "age": "age", "beginningBalance": "89500.00", "growth": "89500.00", "divisor": 0, "requiredDistribution": "89500.00", "endingBalance": "89500.00" } ] }
application/json

72(t) early distribution analysis

POST
https://api.fincalc.com
/v2/calculators/72t

72(t) early distribution analysis › Request Body

Inputs for the qua15 calculation.
Qua15Request
accountBalance
​number · required
Default: 0
clientAge
​integer · min: 35 · max: 59 · required
Default: 50
beneficiaryAge
​integer · min: 35 · max: 70 · required
Default: 50
beneficiarySpouse
​string · enum · required
Enum values:
N
Y
Default: Y
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.06
distributionRate
​number · min: 0 · max: 0.12 · required
Default: 0.0455

72(t) early distribution analysis › Responses

Calculation result.

Result of the qua15 calculation.
Qua15Result
singleFactor
​number · required
singleAmortization
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
singleRMD
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
jointFactor
​number · required
jointAmortization
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
jointRMD
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
uniformFactor
​number · required
uniformAmortization
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
uniformRMD
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
mortalityFactor
​number · required
mortalityAnnuitization
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
maximumAmortization
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
maximumAnnuitization
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
maximumRMD
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Qua15YearRow[] · required
POST/v2/calculators/72t
curl https://api.fincalc.com/v2/calculators/72t \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "accountBalance": 0,
  "clientAge": 50,
  "beneficiaryAge": 50,
  "beneficiarySpouse": "Y",
  "beforeTaxReturn": 0.06,
  "distributionRate": 0.0455
}'
Example Request Body
{
  "accountBalance": 0,
  "clientAge": 50,
  "beneficiaryAge": 50,
  "beneficiarySpouse": "Y",
  "beforeTaxReturn": 0.06,
  "distributionRate": 0.0455
}
Example Responses
{ "singleFactor": 0, "singleAmortization": "89500.00", "singleRMD": "89500.00", "jointFactor": 0, "jointAmortization": "89500.00", "jointRMD": "89500.00", "uniformFactor": 0, "uniformAmortization": "89500.00", "uniformRMD": "89500.00", "mortalityFactor": 0, "mortalityAnnuitization": "89500.00", "maximumAmortization": "89500.00", "maximumAnnuitization": "89500.00", "maximumRMD": "89500.00", "years": [ { "age": 0, "withdrawal1": "89500.00", "endBalance1": "89500.00", "withdrawal2": "89500.00", "endBalance2": "89500.00", "withdrawal3": "89500.00", "endBalance3": "89500.00" } ] }
application/json

How will retirement impact my living expenses?

POST
https://api.fincalc.com
/v2/calculators/how-will-retirement-impact-my-living-expenses

How will retirement impact my living expenses? › Request Body

Inputs for the ret01 calculation.
Ret01Request
mode
​integer · enum · required
Enum values:
0
1
Default: 1
wages
​number · required
Default: 0
wagesret
​number · required
Default: 0
alimony
​number · required
Default: 0
alimonyret
​number · required
Default: 0
dividends
​number · required
Default: 0
dividendsret
​number · required
Default: 0
interest
​number · required
Default: 0
interestret
​number · required
Default: 0
socialsecurity
​number · required
Default: 0
socialsecurityret
​number · required
Default: 0
pensions
​number · required
Default: 0
pensionsret
​number · required
Default: 0
otherincome
​number · required
Default: 0
otherincomeret
​number · required
Default: 0
mortgage
​number · required
Default: 0
mortgageret
​number · required
Default: 0
vacation
​number · required
Default: 0
vacationret
​number · required
Default: 0
autoloan
​number · required
Default: 0
autoloanret
​number · required
Default: 0
persloan
​number · required
Default: 0
persloanret
​number · required
Default: 0
cc
​number · required
Default: 0
ccret
​number · required
Default: 0
fedtaxes
​number · required
Default: 0
fedtaxesret
​number · required
Default: 0
statetaxes
​number · required
Default: 0
statetaxesret
​number · required
Default: 0
fica
​number · required
Default: 0
ficaret
​number · required
Default: 0
retaxes
​number · required
Default: 0
retaxesret
​number · required
Default: 0
othertaxes
​number · required
Default: 0
othertaxesret
​number · required
Default: 0
utilities
​number · required
Default: 0
utilitiesret
​number · required
Default: 0
repairs
​number · required
Default: 0
repairsret
​number · required
Default: 0
food
​number · required
Default: 0
foodret
​number · required
Default: 0
clothing
​number · required
Default: 0
clothingret
​number · required
Default: 0
education
​number · required
Default: 0
educationret
​number · required
Default: 0
childcare
​number · required
Default: 0
childcareret
​number · required
Default: 0
autoexp
​number · required
Default: 0
autoexpret
​number · required
Default: 0
transexp
​number · required
Default: 0
transexpret
​number · required
Default: 0
lifeins
​number · required
Default: 0
lifeinsret
​number · required
Default: 0
homeowners
​number · required
Default: 0
homeownersret
​number · required
Default: 0
autoins
​number · required
Default: 0
autoinsret
​number · required
Default: 0
medical
​number · required
Default: 0
medicalret
​number · required
Default: 0
entertain
​number · required
Default: 0
entertainret
​number · required
Default: 0
travel
​number · required
Default: 0
travelret
​number · required
Default: 0
club
​number · required
Default: 0
clubret
​number · required
Default: 0
hobbies
​number · required
Default: 0
hobbiesret
​number · required
Default: 0
gifts
​number · required
Default: 0
giftsret
​number · required
Default: 0
homeimp
​number · required
Default: 0
homeimpret
​number · required
Default: 0
services
​number · required
Default: 0
servicesret
​number · required
Default: 0
charity
​number · required
Default: 0
charityret
​number · required
Default: 0
other
​number · required
Default: 0
otherret
​number · required
Default: 0

How will retirement impact my living expenses? › Responses

Calculation result.

Result of the ret01 calculation.
Ret01Result
totalIncome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalIncomeRet
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalIncomeDiff
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalExpenses
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalExpensesRet
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalExpensesDiff
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalNetIncome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalNetIncomeRet
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalNetIncomeDiff
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Ret01YearRow[] · required
POST/v2/calculators/how-will-retirement-impact-my-living-expenses
curl https://api.fincalc.com/v2/calculators/how-will-retirement-impact-my-living-expenses \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "mode": 1, "wages": 0, "wagesret": 0, "alimony": 0, "alimonyret": 0, "dividends": 0, "dividendsret": 0, "interest": 0, "interestret": 0, "socialsecurity": 0, "socialsecurityret": 0, "pensions": 0, "pensionsret": 0, "otherincome": 0, "otherincomeret": 0, "mortgage": 0, "mortgageret": 0, "vacation": 0, "vacationret": 0, "autoloan": 0, "autoloanret": 0, "persloan": 0, "persloanret": 0, "cc": 0, "ccret": 0, "fedtaxes": 0, "fedtaxesret": 0, "statetaxes": 0, "statetaxesret": 0, "fica": 0, "ficaret": 0, "retaxes": 0, "retaxesret": 0, "othertaxes": 0, "othertaxesret": 0, "utilities": 0, "utilitiesret": 0, "repairs": 0, "repairsret": 0, "food": 0, "foodret": 0, "clothing": 0, "clothingret": 0, "education": 0, "educationret": 0, "childcare": 0, "childcareret": 0, "autoexp": 0, "autoexpret": 0, "transexp": 0, "transexpret": 0, "lifeins": 0, "lifeinsret": 0, "homeowners": 0, "homeownersret": 0, "autoins": 0, "autoinsret": 0, "medical": 0, "medicalret": 0, "entertain": 0, "entertainret": 0, "travel": 0, "travelret": 0, "club": 0, "clubret": 0, "hobbies": 0, "hobbiesret": 0, "gifts": 0, "giftsret": 0, "homeimp": 0, "homeimpret": 0, "services": 0, "servicesret": 0, "charity": 0, "charityret": 0, "other": 0, "otherret": 0 }'
Example Request Body
{ "mode": 1, "wages": 0, "wagesret": 0, "alimony": 0, "alimonyret": 0, "dividends": 0, "dividendsret": 0, "interest": 0, "interestret": 0, "socialsecurity": 0, "socialsecurityret": 0, "pensions": 0, "pensionsret": 0, "otherincome": 0, "otherincomeret": 0, "mortgage": 0, "mortgageret": 0, "vacation": 0, "vacationret": 0, "autoloan": 0, "autoloanret": 0, "persloan": 0, "persloanret": 0, "cc": 0, "ccret": 0, "fedtaxes": 0, "fedtaxesret": 0, "statetaxes": 0, "statetaxesret": 0, "fica": 0, "ficaret": 0, "retaxes": 0, "retaxesret": 0, "othertaxes": 0, "othertaxesret": 0, "utilities": 0, "utilitiesret": 0, "repairs": 0, "repairsret": 0, "food": 0, "foodret": 0, "clothing": 0, "clothingret": 0, "education": 0, "educationret": 0, "childcare": 0, "childcareret": 0, "autoexp": 0, "autoexpret": 0, "transexp": 0, "transexpret": 0, "lifeins": 0, "lifeinsret": 0, "homeowners": 0, "homeownersret": 0, "autoins": 0, "autoinsret": 0, "medical": 0, "medicalret": 0, "entertain": 0, "entertainret": 0, "travel": 0, "travelret": 0, "club": 0, "clubret": 0, "hobbies": 0, "hobbiesret": 0, "gifts": 0, "giftsret": 0, "homeimp": 0, "homeimpret": 0, "services": 0, "servicesret": 0, "charity": 0, "charityret": 0, "other": 0, "otherret": 0 }
Example Responses
{ "totalIncome": "89500.00", "totalIncomeRet": "89500.00", "totalIncomeDiff": "89500.00", "totalExpenses": "89500.00", "totalExpensesRet": "89500.00", "totalExpensesDiff": "89500.00", "totalNetIncome": "89500.00", "totalNetIncomeRet": "89500.00", "totalNetIncomeDiff": "89500.00", "years": [ { "category": "category", "current": "89500.00", "projected": "89500.00", "change": "89500.00" } ] }
application/json

Am I saving enough for my retirement?

POST
https://api.fincalc.com
/v2/calculators/retirement-calculator

Am I saving enough for my retirement? › Request Body

Inputs for the ret02 calculation.
Ret02Request
clientAge
​integer · min: 1 · max: 120 · required
Default: 35
clientIncome
​number · required
Default: 0
spouseIncome
​number · required
Default: 0
retirementSavings
​number · required
Default: 0
clientRetAge
​integer · min: 1 · max: 120 · required
Default: 65
retirementYears
​integer · min: 1 · max: 40 · required
Default: 20
inflation
​number · min: 0 · max: 0.1 · required
Default: 0.03
retirementReplacement
​number · min: 0 · max: 3 · required
Default: 0.75
preRetirementReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
postRetirementReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
includeSocsec
​string · enum · required
Enum values:
N
Y
Default: N
maritalStatus
​string · enum · required
Enum values:
M
S
Default: S
ssOverrideAmount
​number · required
Default: 0

Am I saving enough for my retirement? › Responses

Calculation result.

Result of the ret02 calculation.
Ret02Result
percentSaveAmount
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
annualSaveAmount
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
monthlySaveAmount
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
waitPercentSaveAmount
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
waitSaveAmount
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalSaveAmount
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
endBalance
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Ret02YearRow[] · required
POST/v2/calculators/retirement-calculator
curl https://api.fincalc.com/v2/calculators/retirement-calculator \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "clientAge": 35, "clientIncome": 0, "spouseIncome": 0, "retirementSavings": 0, "clientRetAge": 65, "retirementYears": 20, "inflation": 0.03, "retirementReplacement": 0.75, "preRetirementReturn": 0.08, "postRetirementReturn": 0.08, "includeSocsec": "N", "maritalStatus": "S", "ssOverrideAmount": 0 }'
Example Request Body
{ "clientAge": 35, "clientIncome": 0, "spouseIncome": 0, "retirementSavings": 0, "clientRetAge": 65, "retirementYears": 20, "inflation": 0.03, "retirementReplacement": 0.75, "preRetirementReturn": 0.08, "postRetirementReturn": 0.08, "includeSocsec": "N", "maritalStatus": "S", "ssOverrideAmount": 0 }
Example Responses
{ "percentSaveAmount": 0.06, "annualSaveAmount": "89500.00", "monthlySaveAmount": "89500.00", "waitPercentSaveAmount": 0.06, "waitSaveAmount": "89500.00", "totalSaveAmount": "89500.00", "endBalance": "89500.00", "years": [ { "age": 0, "salary": "89500.00", "begBalance": "89500.00", "interest": "89500.00", "requiredSavings": "89500.00", "desiredIncome": "89500.00", "socialSecurity": "89500.00", "withdrawals": "89500.00", "endingBalance": "89500.00" } ] }
application/json

Are my current retirement savings sufficient?

POST
https://api.fincalc.com
/v2/calculators/are-my-current-retirement-savings-sufficient

Are my current retirement savings sufficient? › Request Body

Inputs for the ret03 calculation.
Ret03Request
clientAge
​integer · min: 1 · max: 120 · required
Default: 35
clientIncome
​number · required
Default: 0
spouseIncome
​number · required
Default: 0
currentRetirementSavings
​number · required
Default: 0
annualRetSavings
​number · required
Default: 0
annualSavingsIncrease
​number · min: 0 · max: 0.1 · required
Default: 0
annualPension
​number · required
Default: 0
pensionIncrease
​string · enum · required
Enum values:
N
Y
Default: N
inflation
​number · min: 0 · max: 0.1 · required
Default: 0.03
clientRetAge
​integer · min: 1 · max: 120 · required
Default: 65
retirementYears
​integer · min: 1 · max: 40 · required
Default: 20
retirementReplacement
​number · min: 0 · max: 3 · required
Default: 0.75
preRetirementReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
postRetirementReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
includeSocsec
​string · enum · required
Enum values:
N
Y
Default: N
maritalStatus
​string · enum · required
Enum values:
M
S
Default: S
ssOverrideAmount
​number · required
Default: 0

Are my current retirement savings sufficient? › Responses

Calculation result.

Result of the ret03 calculation.
Ret03Result
ageMoneyRunsOut
​integer · required
annualSaveAmount
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
monthlySaveAmount
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
endRetireAge
​integer · required
endingBalance
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
neededRetirementSavings
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Ret03YearRow[] · required
POST/v2/calculators/are-my-current-retirement-savings-sufficient
curl https://api.fincalc.com/v2/calculators/are-my-current-retirement-savings-sufficient \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "clientAge": 35, "clientIncome": 0, "spouseIncome": 0, "currentRetirementSavings": 0, "annualRetSavings": 0, "annualSavingsIncrease": 0, "annualPension": 0, "pensionIncrease": "N", "inflation": 0.03, "clientRetAge": 65, "retirementYears": 20, "retirementReplacement": 0.75, "preRetirementReturn": 0.08, "postRetirementReturn": 0.08, "includeSocsec": "N", "maritalStatus": "S", "ssOverrideAmount": 0 }'
Example Request Body
{ "clientAge": 35, "clientIncome": 0, "spouseIncome": 0, "currentRetirementSavings": 0, "annualRetSavings": 0, "annualSavingsIncrease": 0, "annualPension": 0, "pensionIncrease": "N", "inflation": 0.03, "clientRetAge": 65, "retirementYears": 20, "retirementReplacement": 0.75, "preRetirementReturn": 0.08, "postRetirementReturn": 0.08, "includeSocsec": "N", "maritalStatus": "S", "ssOverrideAmount": 0 }
Example Responses
{ "ageMoneyRunsOut": 0, "annualSaveAmount": "89500.00", "monthlySaveAmount": "89500.00", "endRetireAge": 0, "endingBalance": "89500.00", "neededRetirementSavings": "89500.00", "years": [ { "age": 0, "salary": "89500.00", "begBalance": "89500.00", "interest": "89500.00", "currentSavings": "89500.00", "desiredIncome": "89500.00", "socialSecurity": "89500.00", "pensionIncome": "89500.00", "withdrawals": "89500.00", "endingBalance": "89500.00" } ] }
application/json

Social security retirement income estimator

POST
https://api.fincalc.com
/v2/calculators/social-security-retirement-income-estimator

Social security retirement income estimator › Request Body

Inputs for the ret04 calculation.
Ret04Request
clientIncome
​number · required
Default: 0
clientAge
​integer · min: 0 · max: 120 · required
Default: 0
clientSsage
​integer · min: 62 · max: 70 · required
Default: 67
spouseIncome
​number · required
Default: 0
spouseAge
​integer · min: 0 · max: 120 · required
Default: 0
spouseSsage
​integer · min: 62 · max: 70 · required
Default: 67
ssInflation
​number · min: 0 · max: 0.1 · required
Default: 0.025

Social security retirement income estimator › Responses

Calculation result.

Result of the ret04 calculation.
Ret04Result
percentReplaced
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
combinedIncome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Ret04YearRow[] · required
POST/v2/calculators/social-security-retirement-income-estimator
curl https://api.fincalc.com/v2/calculators/social-security-retirement-income-estimator \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "clientIncome": 0,
  "clientAge": 0,
  "clientSsage": 67,
  "spouseIncome": 0,
  "spouseAge": 0,
  "spouseSsage": 67,
  "ssInflation": 0.025
}'
Example Request Body
{
  "clientIncome": 0,
  "clientAge": 0,
  "clientSsage": 67,
  "spouseIncome": 0,
  "spouseAge": 0,
  "spouseSsage": 67,
  "ssInflation": 0.025
}
Example Responses
{ "percentReplaced": 0.06, "combinedIncome": "89500.00", "years": [ { "id": "id", "nra": 0, "ssBeginage": 0, "ssMobenefit": "89500.00", "ssAnnbenefit": "89500.00", "ssFutbenefit": "89500.00" } ] }
application/json

How does inflation impact my retirement income needs?

POST
https://api.fincalc.com
/v2/calculators/impact-of-inflation-on-my-retirement

How does inflation impact my retirement income needs? › Request Body

Inputs for the ret05 calculation.
Ret05Request
currentAge
​integer · min: 1 · max: 120 · required
Default: 30
retirementAge
​integer · min: 1 · max: 120 · required
Default: 65
lifeAge
​integer · min: 1 · max: 120 · required
Default: 85
clientIncome
​number · required
Default: 0
incomeReplacement
​number · min: 0 · max: 3 · required
Default: 0.75
inflation
​number · min: 0 · max: 0.1 · required
Default: 0.03

How does inflation impact my retirement income needs? › Responses

Calculation result.

Result of the ret05 calculation.
Ret05Result
incomeToday
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
incomeRetirement
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
incomeFinal
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/impact-of-inflation-on-my-retirement
curl https://api.fincalc.com/v2/calculators/impact-of-inflation-on-my-retirement \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "currentAge": 30,
  "retirementAge": 65,
  "lifeAge": 85,
  "clientIncome": 0,
  "incomeReplacement": 0.75,
  "inflation": 0.03
}'
Example Request Body
{
  "currentAge": 30,
  "retirementAge": 65,
  "lifeAge": 85,
  "clientIncome": 0,
  "incomeReplacement": 0.75,
  "inflation": 0.03
}
Example Responses
{
  "incomeToday": "89500.00",
  "incomeRetirement": "89500.00",
  "incomeFinal": "89500.00"
}
application/json

I'm retired, how long will my savings last?

POST
https://api.fincalc.com
/v2/calculators/i-am-retired-how-long-will-my-savings-last

I'm retired, how long will my savings last? › Request Body

Inputs for the ret06 calculation.
Ret06Request
income
​number · required
Default: 0
increase
​number · min: 0 · max: 0.1 · required
Default: 0.03
ssIncome
​number · required
Default: 0
ssIncrease
​number · min: 0 · max: 0.1 · required
Default: 0.03
pension
​number · required
Default: 0
pensionIncrease
​number · min: 0 · max: 0.1 · required
Default: 0.03
otherIncome
​number · required
Default: 0
otherIncrease
​number · min: 0 · max: 0.1 · required
Default: 0.03
balance
​number · required
Default: 0
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.04
amortization
​integer · enum · required
Enum values:
1
2
Default: 2

I'm retired, how long will my savings last? › Responses

Calculation result.

Result of the ret06 calculation.
Ret06Result
yearsMoneyLasts
​number · required
totalWithdrawals
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Ret06PeriodRow[] · required
POST/v2/calculators/i-am-retired-how-long-will-my-savings-last
curl https://api.fincalc.com/v2/calculators/i-am-retired-how-long-will-my-savings-last \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "income": 0, "increase": 0.03, "ssIncome": 0, "ssIncrease": 0.03, "pension": 0, "pensionIncrease": 0.03, "otherIncome": 0, "otherIncrease": 0.03, "balance": 0, "beforeTaxReturn": 0.04, "amortization": 2 }'
Example Request Body
{
  "income": 0,
  "increase": 0.03,
  "ssIncome": 0,
  "ssIncrease": 0.03,
  "pension": 0,
  "pensionIncrease": 0.03,
  "otherIncome": 0,
  "otherIncrease": 0.03,
  "balance": 0,
  "beforeTaxReturn": 0.04,
  "amortization": 2
}
Example Responses
{ "yearsMoneyLasts": 0, "totalWithdrawals": "89500.00", "periods": [ { "period": 0, "desiredIncome": "89500.00", "fixedIncome": "89500.00", "shortfall": "89500.00", "beginningBalance": "89500.00", "interest": "89500.00", "neededWithdrawals": "89500.00", "endingBalance": "89500.00" } ] }
application/json

When should I begin saving for retirement?

POST
https://api.fincalc.com
/v2/calculators/when-should-i-begin-saving-for-retirement

When should I begin saving for retirement? › Request Body

Inputs for the ret07 calculation.
Ret07Request
currentAge
​integer · min: 1 · max: 120 · required
Default: 35
retirementAge
​integer · min: 1 · max: 120 · required
Default: 65
annualSavings
​number · required
Default: 0
savingIncreases
​number · min: 0 · max: 0.1 · required
Default: 0
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22
compounding
​integer · enum · required
Enum values:
52
26
24
12
1
Default: 1

When should I begin saving for retirement? › Responses

Calculation result.

Result of the ret07 calculation.
Ret07Result
waitOneYearAmount
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Ret07YearRow[] · required
POST/v2/calculators/when-should-i-begin-saving-for-retirement
curl https://api.fincalc.com/v2/calculators/when-should-i-begin-saving-for-retirement \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "currentAge": 35,
  "retirementAge": 65,
  "annualSavings": 0,
  "savingIncreases": 0,
  "beforeTaxReturn": 0.08,
  "taxBracket": 0.22,
  "compounding": 1
}'
Example Request Body
{
  "currentAge": 35,
  "retirementAge": 65,
  "annualSavings": 0,
  "savingIncreases": 0,
  "beforeTaxReturn": 0.08,
  "taxBracket": 0.22,
  "compounding": 1
}
Example Responses
{
  "waitOneYearAmount": "89500.00",
  "years": [
    {
      "yearsToWait": 0,
      "age": 0,
      "yearsToSave": 0,
      "yearlyAmount": "89500.00",
      "fvBeforetax": "89500.00",
      "fvAftertax": "89500.00"
    }
  ]
}
application/json

Should I convert discretionary expenses to savings?

POST
https://api.fincalc.com
/v2/calculators/convert-discretionary-expenses-to-savings

Should I convert discretionary expenses to savings? › Request Body

Inputs for the ret08 calculation.
Ret08Request
costLumpSum
​number · required
Default: 0
costRecurring
​number · required
Default: 0
perMonth
​integer · required
Default: 0
inflation
​number · min: 0 · max: 0.1 · required
Default: 0.03
yearsToRetirement
​integer · min: 1 · max: 50 · required
Default: 20
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.25

Should I convert discretionary expenses to savings? › Responses

Calculation result.

Result of the ret08 calculation.
Ret08Result
accumulation
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Ret08YearRow[] · required
POST/v2/calculators/convert-discretionary-expenses-to-savings
curl https://api.fincalc.com/v2/calculators/convert-discretionary-expenses-to-savings \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "costLumpSum": 0,
  "costRecurring": 0,
  "perMonth": 0,
  "inflation": 0.03,
  "yearsToRetirement": 20,
  "beforeTaxReturn": 0.08,
  "taxBracket": 0.25
}'
Example Request Body
{
  "costLumpSum": 0,
  "costRecurring": 0,
  "perMonth": 0,
  "inflation": 0.03,
  "yearsToRetirement": 20,
  "beforeTaxReturn": 0.08,
  "taxBracket": 0.25
}
Example Responses
{
  "accumulation": "89500.00",
  "years": [
    {
      "year": 0,
      "beginningBalance": "89500.00",
      "savings": "89500.00",
      "interest": "89500.00",
      "taxes": "89500.00",
      "endingBalance": "89500.00"
    }
  ]
}
application/json

How much retirement income may my 401(k) provide?

POST
https://api.fincalc.com
/v2/calculators/how-much-retirement-income-may-my-401k-provide

How much retirement income may my 401(k) provide? › Request Body

Inputs for the ret09 calculation.
Ret09Request
yrsToRetirement
​integer · min: 1 · max: 50 · required
Default: 30
clientIncome
​number · required
Default: 0
salaryIncreases
​number · min: 0 · max: 0.2 · required
Default: 0.05
planBalance
​number · required
Default: 0
currentContribution
​number · min: 0 · max: 1 · required
Default: 0.03
compounding
​integer · enum · required
Enum values:
52
26
24
12
1
Default: 26
employerMatch
​number · min: 0 · max: 0.2 · required
Default: 0.03
beforeTaxReturnCon
​number · min: -0.12 · max: 0.12 · required
Default: 0.05
beforeTaxReturnMod
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
beforeTaxReturnAgg
​number · min: -0.12 · max: 0.12 · required
Default: 0.11
yrsWithdrawals
​integer · min: 1 · max: 50 · required
Default: 30
retirementReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
inflation
​number · min: 0 · max: 0.1 · required
Default: 0.03

How much retirement income may my 401(k) provide? › Responses

Calculation result.

Result of the ret09 calculation.
Ret09Result
yourContDollar
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
empMatchDollar
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
fvYourCont
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
fvEmpCont
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
conFv
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
modFv
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
aggFv
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
conRetIncome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
modRetIncome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
aggRetIncome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
conPv
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
modPv
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
aggPv
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
contributionCapped
​number · required
currentYear
​number · required
maxContribution
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/how-much-retirement-income-may-my-401k-provide
curl https://api.fincalc.com/v2/calculators/how-much-retirement-income-may-my-401k-provide \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "yrsToRetirement": 30, "clientIncome": 0, "salaryIncreases": 0.05, "planBalance": 0, "currentContribution": 0.03, "compounding": 26, "employerMatch": 0.03, "beforeTaxReturnCon": 0.05, "beforeTaxReturnMod": 0.08, "beforeTaxReturnAgg": 0.11, "yrsWithdrawals": 30, "retirementReturn": 0.08, "inflation": 0.03 }'
Example Request Body
{ "yrsToRetirement": 30, "clientIncome": 0, "salaryIncreases": 0.05, "planBalance": 0, "currentContribution": 0.03, "compounding": 26, "employerMatch": 0.03, "beforeTaxReturnCon": 0.05, "beforeTaxReturnMod": 0.08, "beforeTaxReturnAgg": 0.11, "yrsWithdrawals": 30, "retirementReturn": 0.08, "inflation": 0.03 }
Example Responses
{ "yourContDollar": "89500.00", "empMatchDollar": "89500.00", "fvYourCont": "89500.00", "fvEmpCont": "89500.00", "conFv": "89500.00", "modFv": "89500.00", "aggFv": "89500.00", "conRetIncome": "89500.00", "modRetIncome": "89500.00", "aggRetIncome": "89500.00", "conPv": "89500.00", "modPv": "89500.00", "aggPv": "89500.00", "contributionCapped": 0, "currentYear": 0, "maxContribution": "89500.00" }
application/json

Compare a Roth 401(k) to a Traditional 401(k)

POST
https://api.fincalc.com
/v2/calculators/compare-roth-401k-to-traditional-401k

Compare a Roth 401(k) to a Traditional 401(k) › Request Body

Inputs for the ret10 calculation.
Ret10Request
currentAge
​integer · min: 1 · max: 120 · required
Default: 35
retirementAge
​integer · min: 1 · max: 120 · required
Default: 65
yearsNeeded
​integer · min: 1 · max: 70 · required
Default: 20
accBeforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
distBeforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
accTaxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.25
distTaxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.25
annualContribution
​number · required
Default: 0
option
​integer · enum · required
Enum values:
1
2
Default: 1

Compare a Roth 401(k) to a Traditional 401(k) › Responses

Calculation result.

Result of the ret10 calculation.
Ret10Result
nonAccBtCont
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
tradAccBtCont
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
nonAdjustment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
tradAdjustment
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
nonAtContribution
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
tradAtContribution
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
nonAccRate
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
tradAccRate
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
nonAccTerm
​number · required
tradAccTerm
​number · required
nonValue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
tradValue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
nonDistTerm
​number · required
tradDistTerm
​number · required
nonDistRate
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
tradDistRate
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
nonBtIncome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
tradBtIncome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
nonTax
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
tradTax
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
nonAtIncome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
tradAtIncome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
nonAtMonthlyIncome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
tradAtMonthlyIncome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/compare-roth-401k-to-traditional-401k
curl https://api.fincalc.com/v2/calculators/compare-roth-401k-to-traditional-401k \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "currentAge": 35, "retirementAge": 65, "yearsNeeded": 20, "accBeforeTaxReturn": 0.08, "distBeforeTaxReturn": 0.08, "accTaxBracket": 0.25, "distTaxBracket": 0.25, "annualContribution": 0, "option": 1 }'
Example Request Body
{
  "currentAge": 35,
  "retirementAge": 65,
  "yearsNeeded": 20,
  "accBeforeTaxReturn": 0.08,
  "distBeforeTaxReturn": 0.08,
  "accTaxBracket": 0.25,
  "distTaxBracket": 0.25,
  "annualContribution": 0,
  "option": 1
}
Example Responses
{ "nonAccBtCont": "89500.00", "tradAccBtCont": "89500.00", "nonAdjustment": "89500.00", "tradAdjustment": "89500.00", "nonAtContribution": "89500.00", "tradAtContribution": "89500.00", "nonAccRate": 0.06, "tradAccRate": 0.06, "nonAccTerm": 0, "tradAccTerm": 0, "nonValue": "89500.00", "tradValue": "89500.00", "nonDistTerm": 0, "tradDistTerm": 0, "nonDistRate": 0.06, "tradDistRate": 0.06, "nonBtIncome": "89500.00", "tradBtIncome": "89500.00", "nonTax": "89500.00", "tradTax": "89500.00", "nonAtIncome": "89500.00", "tradAtIncome": "89500.00", "nonAtMonthlyIncome": "89500.00", "tradAtMonthlyIncome": "89500.00" }
application/json

What is the value of catch-up contributions for retirement?

POST
https://api.fincalc.com
/v2/calculators/value-of-catch-up-contributions

What is the value of catch-up contributions for retirement? › Request Body

Inputs for the ret11 calculation.
Ret11Request
currentAge
​integer · min: 50 · max: 67 · required
Default: 50
annualSavings
​number · min: 0 · max: 8000 · required
Default: 0
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08

What is the value of catch-up contributions for retirement? › Responses

Calculation result.

Result of the ret11 calculation.
Ret11Result
additionalAccumulation
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
selectedAccumulation
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
yearsForAnalysis
​number · required
​Ret11YearRow[] · required
POST/v2/calculators/value-of-catch-up-contributions
curl https://api.fincalc.com/v2/calculators/value-of-catch-up-contributions \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "currentAge": 50,
  "annualSavings": 0,
  "beforeTaxReturn": 0.08
}'
Example Request Body
{
  "currentAge": 50,
  "annualSavings": 0,
  "beforeTaxReturn": 0.08
}
Example Responses
{ "additionalAccumulation": "89500.00", "selectedAccumulation": "89500.00", "yearsForAnalysis": 0, "years": [ { "age": 0, "beginningBalance": "89500.00", "annualSavings": "89500.00", "interest": "89500.00", "taxes": "89500.00", "endingBalance": "89500.00" } ] }
application/json

Becoming a millionaire

POST
https://api.fincalc.com
/v2/calculators/be-a-millionaire

Becoming a millionaire › Request Body

Inputs for the sav01 calculation.
Sav01Request
currentAge
​integer · min: 1 · max: 100 · required
Default: 35
retirementAge
​integer · min: 1 · max: 100 · required
Default: 65
initialBalance
​number · required
Default: 0
savingsIncrease
​number · min: -0.12 · max: 0.12 · required
Default: 0
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22
inflationRate
​number · min: 0 · max: 0.1 · required
Default: 0.03

Becoming a millionaire › Responses

Calculation result.

Result of the sav01 calculation.
Sav01Result
yearsUntilNeeded
​integer · required
desiredValueInflation
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
annualCont
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
annualContInflation
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
contributionIncrease
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
​Sav01YearRow[] · required
POST/v2/calculators/be-a-millionaire
curl https://api.fincalc.com/v2/calculators/be-a-millionaire \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "currentAge": 35,
  "retirementAge": 65,
  "initialBalance": 0,
  "savingsIncrease": 0,
  "beforeTaxReturn": 0.08,
  "taxBracket": 0.22,
  "inflationRate": 0.03
}'
Example Request Body
{
  "currentAge": 35,
  "retirementAge": 65,
  "initialBalance": 0,
  "savingsIncrease": 0,
  "beforeTaxReturn": 0.08,
  "taxBracket": 0.22,
  "inflationRate": 0.03
}
Example Responses
{ "yearsUntilNeeded": 0, "desiredValueInflation": "89500.00", "annualCont": "89500.00", "annualContInflation": "89500.00", "contributionIncrease": 0.06, "years": [ { "age": 0, "beginningBalance": "89500.00", "annualSavings": "89500.00", "interest": "89500.00", "taxes": "89500.00", "endingBalance": "89500.00" } ] }
application/json

Income generated by a savings plan

POST
https://api.fincalc.com
/v2/calculators/income-from-my-savings-plan

Income generated by a savings plan › Request Body

Inputs for the sav02 calculation.
Sav02Request
currentAge
​integer · min: 1 · max: 120 · required
Default: 35
retirementAge
​integer · min: 1 · max: 120 · required
Default: 65
yearsNeeded
​integer · min: 1 · max: 40 · required
Default: 20
initialBalance
​number · required
Default: 0
annualSavings
​number · required
Default: 0
savingsIncrease
​number · min: 0 · max: 0.1 · required
Default: 0
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22

Income generated by a savings plan › Responses

Calculation result.

Result of the sav02 calculation.
Sav02Result
accumulationYears
​integer · required
annualIncome
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Sav02AgeRow[] · required
POST/v2/calculators/income-from-my-savings-plan
curl https://api.fincalc.com/v2/calculators/income-from-my-savings-plan \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <token>' \ --data '{ "currentAge": 35, "retirementAge": 65, "yearsNeeded": 20, "initialBalance": 0, "annualSavings": 0, "savingsIncrease": 0, "beforeTaxReturn": 0.08, "taxBracket": 0.22 }'
Example Request Body
{
  "currentAge": 35,
  "retirementAge": 65,
  "yearsNeeded": 20,
  "initialBalance": 0,
  "annualSavings": 0,
  "savingsIncrease": 0,
  "beforeTaxReturn": 0.08,
  "taxBracket": 0.22
}
Example Responses
{ "accumulationYears": 0, "annualIncome": "89500.00", "years": [ { "age": 0, "beginningBalance": "89500.00", "annualSavings": "89500.00", "interest": "89500.00", "income": "89500.00", "endingBalance": "89500.00" } ] }
application/json

How long will it take to double my savings?

POST
https://api.fincalc.com
/v2/calculators/double-savings

How long will it take to double my savings? › Request Body

Inputs for the sav03 calculation.
Sav03Request
initialBalance
​number · required
Default: 0
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22

How long will it take to double my savings? › Responses

Calculation result.

Result of the sav03 calculation.
Sav03Result
periods
​number · required
futureValue
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Sav03YearRow[] · required
POST/v2/calculators/double-savings
curl https://api.fincalc.com/v2/calculators/double-savings \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "initialBalance": 0,
  "beforeTaxReturn": 0.08,
  "taxBracket": 0.22
}'
Example Request Body
{
  "initialBalance": 0,
  "beforeTaxReturn": 0.08,
  "taxBracket": 0.22
}
Example Responses
{
  "periods": 0,
  "futureValue": "89500.00",
  "years": [
    {
      "year": 0,
      "beginningBalance": "89500.00",
      "interest": "89500.00",
      "taxes": "89500.00",
      "endingBalance": "89500.00"
    }
  ]
}
application/json

How long until my savings reach my goal?

POST
https://api.fincalc.com
/v2/calculators/how-long-until-i-reach-my-savings-goal

How long until my savings reach my goal? › Request Body

Inputs for the sav04 calculation.
Sav04Request
initialBalance
​number · required
Default: 0
savingsGoal
​number · required
Default: 0
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22

How long until my savings reach my goal? › Responses

Calculation result.

Result of the sav04 calculation.
Sav04Result
numPeriods
​number | null · required
​Sav04YearRow[] · required
POST/v2/calculators/how-long-until-i-reach-my-savings-goal
curl https://api.fincalc.com/v2/calculators/how-long-until-i-reach-my-savings-goal \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "initialBalance": 0,
  "savingsGoal": 0,
  "beforeTaxReturn": 0.08,
  "taxBracket": 0.22
}'
Example Request Body
{
  "initialBalance": 0,
  "savingsGoal": 0,
  "beforeTaxReturn": 0.08,
  "taxBracket": 0.22
}
Example Responses
{
  "numPeriods": 0,
  "years": [
    {
      "year": 0,
      "beginningBalance": "89500.00",
      "interest": "89500.00",
      "taxes": "89500.00",
      "endingBalance": "89500.00"
    }
  ]
}
application/json

Save now vs. save later

POST
https://api.fincalc.com
/v2/calculators/save-now-vs-save-later

Save now vs. save later › Request Body

Inputs for the sav05 calculation.
Sav05Request
currentAge
​integer · min: 1 · max: 120 · required
Default: 35
retirementAge
​integer · min: 1 · max: 120 · required
Default: 65
amountNeeded
​number · required
Default: 0
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.25

Save now vs. save later › Responses

Calculation result.

Result of the sav05 calculation.
Sav05Result
difference
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
waitYears
​number · required
​Sav05YearRow[] · required
POST/v2/calculators/save-now-vs-save-later
curl https://api.fincalc.com/v2/calculators/save-now-vs-save-later \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "currentAge": 35,
  "retirementAge": 65,
  "amountNeeded": 0,
  "beforeTaxReturn": 0.08,
  "taxBracket": 0.25
}'
Example Request Body
{
  "currentAge": 35,
  "retirementAge": 65,
  "amountNeeded": 0,
  "beforeTaxReturn": 0.08,
  "taxBracket": 0.25
}
Example Responses
{ "difference": "89500.00", "waitYears": 0, "years": [ { "age": 0, "yearsToWait": 0, "yearlySavings": "89500.00", "monthlySavings": "89500.00", "totalSavings": "89500.00", "lumpSum": "89500.00" } ] }
application/json

How much should I save to reach my goal?

POST
https://api.fincalc.com
/v2/calculators/how-much-should-i-save-to-reach-my-goal

How much should I save to reach my goal? › Request Body

Inputs for the sav06 calculation.
Sav06Request
initialBalance
​number · required
Default: 0
amountNeeded
​number · required
Default: 0
numYears
​integer · min: 1 · max: 120 · required
Default: 20
annualIncrease
​number · min: 0 · max: 0.1 · required
Default: 0
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.1
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22

How much should I save to reach my goal? › Responses

Calculation result.

Result of the sav06 calculation.
Sav06Result
annualContribution
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Sav06YearRow[] · required
POST/v2/calculators/how-much-should-i-save-to-reach-my-goal
curl https://api.fincalc.com/v2/calculators/how-much-should-i-save-to-reach-my-goal \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "initialBalance": 0,
  "amountNeeded": 0,
  "numYears": 20,
  "annualIncrease": 0,
  "beforeTaxReturn": 0.1,
  "taxBracket": 0.22
}'
Example Request Body
{
  "initialBalance": 0,
  "amountNeeded": 0,
  "numYears": 20,
  "annualIncrease": 0,
  "beforeTaxReturn": 0.1,
  "taxBracket": 0.22
}
Example Responses
{
  "annualContribution": "89500.00",
  "years": [
    {
      "yearNumber": 0,
      "beginningBalance": "89500.00",
      "savings": "89500.00",
      "interest": "89500.00",
      "taxes": "89500.00",
      "endingBalance": "89500.00"
    }
  ]
}
application/json

What could my current savings grow to?

POST
https://api.fincalc.com
/v2/calculators/what-could-my-savings-grow-to

What could my current savings grow to? › Request Body

Inputs for the sav07 calculation.
Sav07Request
initialBalance
​number · required
Default: 0
annualSavings
​number · required
Default: 0
savingsIncrease
​number · min: 0 · max: 0.1 · required
Default: 0
numYears
​integer · min: 1 · max: 30 · required
Default: 20
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22

What could my current savings grow to? › Responses

Calculation result.

Result of the sav07 calculation.
Sav07Result
totalAccumulation
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Sav07YearRow[] · required
POST/v2/calculators/what-could-my-savings-grow-to
curl https://api.fincalc.com/v2/calculators/what-could-my-savings-grow-to \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "initialBalance": 0,
  "annualSavings": 0,
  "savingsIncrease": 0,
  "numYears": 20,
  "beforeTaxReturn": 0.08,
  "taxBracket": 0.22
}'
Example Request Body
{
  "initialBalance": 0,
  "annualSavings": 0,
  "savingsIncrease": 0,
  "numYears": 20,
  "beforeTaxReturn": 0.08,
  "taxBracket": 0.22
}
Example Responses
{
  "totalAccumulation": "89500.00",
  "years": [
    {
      "yearNumber": 0,
      "beginningBalance": 0,
      "annualSavings": 0,
      "interest": 0,
      "taxes": 0,
      "endingBalance": 0
    }
  ]
}
application/json

Calculate rate of return

POST
https://api.fincalc.com
/v2/calculators/rate-of-return-calculator

Calculate rate of return › Request Body

Inputs for the sav08 calculation.
Sav08Request
term
​integer · min: 1 · max: 120 · required
Default: 5
initialDeposit
​number · required
Default: 0
depositsWithdrawals
​number · required
Default: 0
endingBalance
​number · required
Default: 0

Calculate rate of return › Responses

Calculation result.

Result of the sav08 calculation.
Sav08Result
irr
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
computable
​boolean · required
​Sav08YearRow[] · required
POST/v2/calculators/rate-of-return-calculator
curl https://api.fincalc.com/v2/calculators/rate-of-return-calculator \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "term": 5,
  "initialDeposit": 0,
  "depositsWithdrawals": 0,
  "endingBalance": 0
}'
Example Request Body
{
  "term": 5,
  "initialDeposit": 0,
  "depositsWithdrawals": 0,
  "endingBalance": 0
}
Example Responses
{
  "irr": 0.06,
  "computable": true,
  "years": [
    {
      "period": 0,
      "cashFlow": "89500.00"
    }
  ]
}
application/json

How do taxes and inflation impact my investment return?

POST
https://api.fincalc.com
/v2/calculators/taxes-and-inflation-impact-on-my-return

How do taxes and inflation impact my investment return? › Request Body

Inputs for the sav09 calculation.
Sav09Request
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.08
stateTaxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.05
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22
itemize
​string · enum · required
Enum values:
N
Y
Default: N
inflation
​number · min: 0 · max: 0.1 · required
Default: 0.03

How do taxes and inflation impact my investment return? › Responses

Calculation result.

Result of the sav09 calculation.
Sav09Result
tenYearBTValue
​number | null · required
tenYearAdjustedValue
​number | null · required
annualizedReturn
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
​Sav09YearRow[] · required
POST/v2/calculators/taxes-and-inflation-impact-on-my-return
curl https://api.fincalc.com/v2/calculators/taxes-and-inflation-impact-on-my-return \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "beforeTaxReturn": 0.08,
  "stateTaxBracket": 0.05,
  "taxBracket": 0.22,
  "itemize": "N",
  "inflation": 0.03
}'
Example Request Body
{
  "beforeTaxReturn": 0.08,
  "stateTaxBracket": 0.05,
  "taxBracket": 0.22,
  "itemize": "N",
  "inflation": 0.03
}
Example Responses
{
  "tenYearBTValue": 0,
  "tenYearAdjustedValue": 0,
  "annualizedReturn": 0.06,
  "years": [
    {
      "yearNumber": 0,
      "preTax": "89500.00",
      "afterTax": "89500.00",
      "purchasingPower": "89500.00"
    }
  ]
}
application/json

What is the effective annual yield on my investment?

POST
https://api.fincalc.com
/v2/calculators/annual-yield

What is the effective annual yield on my investment? › Request Body

Inputs for the sav10 calculation.
Sav10Request
nominalRate
​number · min: 0 · max: 0.4 · required
Default: 0.1
compounding
​integer · enum · required
Enum values:
365
12
4
2
1
Default: 12

What is the effective annual yield on my investment? › Responses

Calculation result.

Result of the sav10 calculation.
Sav10Result
effectiveRate
​Rate · required

A rate or percentage as a decimal fraction (e.g. 0.06 means 6%). May be negative (e.g. a negative rate of return). Field-level bounds, where the contract declares them, ride as minimum/maximum siblings on the referencing property.

Example: 0.06
POST/v2/calculators/annual-yield
curl https://api.fincalc.com/v2/calculators/annual-yield \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "nominalRate": 0.1,
  "compounding": 12
}'
Example Request Body
{
  "nominalRate": 0.1,
  "compounding": 12
}
Example Responses
{
  "effectiveRate": 0.06
}
application/json

What could my recurring savings grow to?

POST
https://api.fincalc.com
/v2/calculators/what-could-my-recurring-savings-grow-to

What could my recurring savings grow to? › Request Body

Inputs for the sav11 calculation.
Sav11Request
initialDeposit
​number · required
Default: 0
recurringDeposit
​number · required
Default: 0
depositFrequency
​string · enum · required
Enum values:
1
3
6
12
Default: 1
termMonths
​integer · min: 1 · max: 360 · required
Default: 120
interestRate
​number · min: -0.12 · max: 0.12 · required
Default: 0.03
compoundingFrequency
​string · enum · required
Enum values:
1
3
6
12
Default: 1

What could my recurring savings grow to? › Responses

Calculation result.

Result of the sav11 calculation.
Sav11Result
totalDeposits
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
totalInterest
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
endingBalance
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Sav11MonthRow[] · required
POST/v2/calculators/what-could-my-recurring-savings-grow-to
curl https://api.fincalc.com/v2/calculators/what-could-my-recurring-savings-grow-to \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "initialDeposit": 0,
  "recurringDeposit": 0,
  "depositFrequency": "1",
  "termMonths": 120,
  "interestRate": 0.03,
  "compoundingFrequency": "1"
}'
Example Request Body
{
  "initialDeposit": 0,
  "recurringDeposit": 0,
  "depositFrequency": "1",
  "termMonths": 120,
  "interestRate": 0.03,
  "compoundingFrequency": "1"
}
Example Responses
{ "totalDeposits": "89500.00", "totalInterest": "89500.00", "endingBalance": "89500.00", "months": [ { "month": 0, "beginningBalance": "89500.00", "deposit": "89500.00", "interest": "89500.00", "endingBalance": "89500.00" } ] }
application/json

Is my savings plan on track?

POST
https://api.fincalc.com
/v2/calculators/is-my-savings-plan-on-track

Is my savings plan on track? › Request Body

Inputs for the sav12 calculation.
Sav12Request
recurringDeposit
​number · required
Default: 0
interestRate
​number · min: 0 · max: 0.12 · required
Default: 0
goal
​number · required
Default: 0
termMonths
​integer · min: 1 · max: 360 · required
Default: 120

Is my savings plan on track? › Responses

Calculation result.

Result of the sav12 calculation.
Sav12Result
totalDeposits
​integer · required
totalInterest
​integer · required
endingBalance
​integer · required
initialDeposit
​number · required
​Sav12MonthRow[] · required
POST/v2/calculators/is-my-savings-plan-on-track
curl https://api.fincalc.com/v2/calculators/is-my-savings-plan-on-track \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "recurringDeposit": 0,
  "interestRate": 0,
  "goal": 0,
  "termMonths": 120
}'
Example Request Body
{
  "recurringDeposit": 0,
  "interestRate": 0,
  "goal": 0,
  "termMonths": 120
}
Example Responses
{ "totalDeposits": 0, "totalInterest": 0, "endingBalance": 0, "initialDeposit": 0, "months": [ { "month": 0, "beginningBalance": "89500.00", "deposit": "89500.00", "interest": "89500.00", "endingBalance": "89500.00" } ] }
application/json

How long would I need to work to buy something?

POST
https://api.fincalc.com
/v2/calculators/how-long-would-i-need-to-work-to-buy-something

How long would I need to work to buy something? › Request Body

Inputs for the sav13 calculation.
Sav13Request
incomeType
​string · enum · required
Enum values:
Hourly
Salary
Default: Hourly
salary
​number · required
Default: 0
hourlyPay
​number · required
Default: 0
purchaseCost
​number · required
Default: 0

How long would I need to work to buy something? › Responses

Calculation result.

Result of the sav13 calculation.
Sav13Result
hourEquivalent
​number · required
daysEquivalent
​number · required
calculatedHourly
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
POST/v2/calculators/how-long-would-i-need-to-work-to-buy-something
curl https://api.fincalc.com/v2/calculators/how-long-would-i-need-to-work-to-buy-something \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "incomeType": "Hourly",
  "salary": 0,
  "hourlyPay": 0,
  "purchaseCost": 0
}'
Example Request Body
{
  "incomeType": "Hourly",
  "salary": 0,
  "hourlyPay": 0,
  "purchaseCost": 0
}
Example Responses
{
  "hourEquivalent": 0,
  "daysEquivalent": 0,
  "calculatedHourly": "89500.00"
}
application/json

How much should I save to reach my goal?

POST
https://api.fincalc.com
/v2/calculators/how-much-to-save-to-reach-my-goal

How much should I save to reach my goal? › Request Body

Inputs for the sav36 calculation.
Sav36Request
initialBalance
​number · required
Default: 0
amountNeeded
​number · required
Default: 0
numYears
​integer · min: 1 · max: 120 · required
Default: 12
annualIncrease
​number · min: 0 · max: 0.1 · required
Default: 0
beforeTaxReturn
​number · min: -0.12 · max: 0.12 · required
Default: 0.1
taxBracket
​number · min: 0 · max: 0.75 · required
Default: 0.22

How much should I save to reach my goal? › Responses

Calculation result.

Result of the sav36 calculation.
Sav36Result
annualContribution
​MonetaryAmount · pattern: ^-?\d+(\.\d{1,2})?$ · required

A monetary value as an exact decimal string with up to two fraction digits. Outputs are normalized to two fraction digits. Raw amount only — currency symbol, grouping, and locale formatting are the client's concern.

Example: 89500.00
​Sav36YearRow[] · required
POST/v2/calculators/how-much-to-save-to-reach-my-goal
curl https://api.fincalc.com/v2/calculators/how-much-to-save-to-reach-my-goal \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  "initialBalance": 0,
  "amountNeeded": 0,
  "numYears": 12,
  "annualIncrease": 0,
  "beforeTaxReturn": 0.1,
  "taxBracket": 0.22
}'
Example Request Body
{
  "initialBalance": 0,
  "amountNeeded": 0,
  "numYears": 12,
  "annualIncrease": 0,
  "beforeTaxReturn": 0.1,
  "taxBracket": 0.22
}
Example Responses
{
  "annualContribution": "89500.00",
  "years": [
    {
      "yearNumber": 0,
      "beginningBalance": "89500.00",
      "savings": "89500.00",
      "interest": "89500.00",
      "taxes": "89500.00",
      "endingBalance": "89500.00"
    }
  ]
}
application/json