{"openapi":"3.1.0","info":{"title":"Tallytopia Calculator API","version":"1.0.0","description":"Free, keyless JSON API for every Tallytopia calculator. Deterministic results computed by one tested engine; every response includes the full step-by-step working. Rate limit: 60 requests/minute per IP. Results are informational only — not financial, medical or legal advice.","contact":{"name":"Tallytopia","email":"hello@tallytopia.com","url":"https://tallytopia.com"}},"servers":[{"url":"https://tallytopia.com"}],"tags":[{"name":"Catalog"},{"name":"Finance"},{"name":"Health"},{"name":"Math"},{"name":"Home & DIY"},{"name":"Sports"},{"name":"Space"},{"name":"Everyday"}],"paths":{"/api/v1/calculators":{"get":{"operationId":"list_calculators","summary":"List every calculator","tags":["Catalog"],"responses":{"200":{"description":"All calculators with their API and page links.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculatorList"}}}}}}},"/api/v1/calculators/{slug}":{"get":{"operationId":"describe_calculator","summary":"Describe a calculator's inputs and steps","tags":["Catalog"],"parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","enum":["mortgage-payment","compound-interest","loan-repayment","savings-goal","break-even","salary-to-hourly","markup-margin","vat","vat-ireland","btw","mwst","tva","vat-south-africa","gst-australia","gst-new-zealand","gst-india","sales-tax","bmi","bmr","tdee","ideal-weight","water-intake","body-fat","macro","one-rep-max","due-date","ovulation","pythagorean","circle","triangle-area","quadratic","slope","exponent","nth-root","percent-error","gcf-lcm","combinations","z-score","square-footage","concrete","paint","roofing","tile","mulch","gravel","space-travel-time","weight-on-other-planets","age-on-other-planets","orbital-period","escape-velocity","light-travel-time","telescope-magnification","planet-distance","1g-space-travel","running-pace","race-time-predictor","heart-rate-zones","calories-burned","pace-converter","steps-to-km","vo2-max","tip","coin-counter","words-to-minutes","percentage","percentage-change","discount","fuel-cost","electricity-cost","final-grade","age","days-between","date-calculator"]}}],"responses":{"200":{"description":"Input keys, defaults, ranges, options and steps.","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"$ref":"#/components/responses/NotFound"}}}},"/api/v1/calculate/mortgage-payment":{"get":{"operationId":"calculate_mortgage_payment","summary":"Mortgage Payment Calculator","description":"Work out the monthly payment on a fixed-rate mortgage from the loan amount, interest rate and term. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/mortgage-payment","tags":["Finance"],"parameters":[{"name":"principal","in":"query","required":false,"description":"Loan amount","schema":{"type":"number","default":450000,"minimum":0}},{"name":"annualRate","in":"query","required":false,"description":"Annual interest rate (%)","schema":{"type":"number","default":6,"minimum":0,"maximum":100}},{"name":"years","in":"query","required":false,"description":"Term (years)","schema":{"type":"number","default":25,"minimum":1,"maximum":50}},{"name":"currency","in":"query","required":false,"description":"Display currency (three-letter ISO code). Default USD.","schema":{"type":"string","pattern":"^[A-Za-z]{3}$"}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/compound-interest":{"get":{"operationId":"calculate_compound_interest","summary":"Compound Interest Calculator","description":"See how a lump sum grows over time with compound interest, at any compounding frequency. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/compound-interest","tags":["Finance"],"parameters":[{"name":"principal","in":"query","required":false,"description":"Starting amount","schema":{"type":"number","default":1000,"minimum":0}},{"name":"annualRate","in":"query","required":false,"description":"Annual interest rate (%)","schema":{"type":"number","default":5,"minimum":0,"maximum":100}},{"name":"years","in":"query","required":false,"description":"Time invested (years)","schema":{"type":"number","default":10,"minimum":0,"maximum":100}},{"name":"compoundsPerYear","in":"query","required":false,"description":"Compounds per year","schema":{"type":"integer","default":12,"minimum":1,"maximum":365}},{"name":"currency","in":"query","required":false,"description":"Display currency (three-letter ISO code). Default USD.","schema":{"type":"string","pattern":"^[A-Za-z]{3}$"}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/loan-repayment":{"get":{"operationId":"calculate_loan_repayment","summary":"Loan Repayment Calculator","description":"Monthly repayment on a personal or car loan from the amount, interest rate and term. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/loan-repayment","tags":["Finance"],"parameters":[{"name":"amount","in":"query","required":false,"description":"Loan amount","schema":{"type":"number","default":20000,"minimum":0}},{"name":"annualRate","in":"query","required":false,"description":"Annual interest rate (%)","schema":{"type":"number","default":8,"minimum":0,"maximum":100}},{"name":"years","in":"query","required":false,"description":"Term (years)","schema":{"type":"number","default":5,"minimum":1,"maximum":30}},{"name":"currency","in":"query","required":false,"description":"Display currency (three-letter ISO code). Default USD.","schema":{"type":"string","pattern":"^[A-Za-z]{3}$"}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/savings-goal":{"get":{"operationId":"calculate_savings_goal","summary":"Savings Goal Calculator","description":"How long it takes to reach a savings goal at a given monthly contribution and interest rate. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/savings-goal","tags":["Finance"],"parameters":[{"name":"goal","in":"query","required":false,"description":"Savings goal","schema":{"type":"number","default":10000,"minimum":1}},{"name":"monthly","in":"query","required":false,"description":"Monthly contribution","schema":{"type":"number","default":250,"minimum":1}},{"name":"annualRate","in":"query","required":false,"description":"Annual interest rate (%)","schema":{"type":"number","default":4,"minimum":0,"maximum":100}},{"name":"currency","in":"query","required":false,"description":"Display currency (three-letter ISO code). Default USD.","schema":{"type":"string","pattern":"^[A-Za-z]{3}$"}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/break-even":{"get":{"operationId":"calculate_break_even","summary":"Break-Even Calculator","description":"How many units you must sell to cover your fixed costs, from price and variable cost. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/break-even","tags":["Finance"],"parameters":[{"name":"fixedCosts","in":"query","required":false,"description":"Fixed costs","schema":{"type":"number","default":5000,"minimum":0}},{"name":"pricePerUnit","in":"query","required":false,"description":"Price per unit","schema":{"type":"number","default":25,"minimum":0}},{"name":"variableCostPerUnit","in":"query","required":false,"description":"Variable cost per unit","schema":{"type":"number","default":15,"minimum":0}},{"name":"currency","in":"query","required":false,"description":"Display currency (three-letter ISO code). Default USD.","schema":{"type":"string","pattern":"^[A-Za-z]{3}$"}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/salary-to-hourly":{"get":{"operationId":"calculate_salary_to_hourly","summary":"Salary to Hourly Calculator","description":"Convert an annual salary into its hourly, weekly and monthly equivalents. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/salary-to-hourly","tags":["Finance"],"parameters":[{"name":"salary","in":"query","required":false,"description":"Annual salary","schema":{"type":"number","default":60000,"minimum":0}},{"name":"hoursPerWeek","in":"query","required":false,"description":"Hours per week","schema":{"type":"number","default":40,"minimum":1,"maximum":100}},{"name":"weeksPerYear","in":"query","required":false,"description":"Working weeks per year","schema":{"type":"number","default":52,"minimum":1,"maximum":53}},{"name":"currency","in":"query","required":false,"description":"Display currency (three-letter ISO code). Default USD.","schema":{"type":"string","pattern":"^[A-Za-z]{3}$"}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/markup-margin":{"get":{"operationId":"calculate_markup_margin","summary":"Markup & Margin Calculator","description":"Profit, markup and margin from a product's cost and selling price — and why markup and margin differ. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/markup-margin","tags":["Finance"],"parameters":[{"name":"cost","in":"query","required":false,"description":"Cost","schema":{"type":"number","default":60,"minimum":0}},{"name":"sellingPrice","in":"query","required":false,"description":"Selling price","schema":{"type":"number","default":100,"minimum":0}},{"name":"currency","in":"query","required":false,"description":"Display currency (three-letter ISO code). Default USD.","schema":{"type":"string","pattern":"^[A-Za-z]{3}$"}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/vat":{"get":{"operationId":"calculate_vat","summary":"VAT Calculator","description":"Add VAT to a net price: see the VAT amount and the gross (VAT-inclusive) total. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/vat","tags":["Finance"],"parameters":[{"name":"netAmount","in":"query","required":false,"description":"Net amount (before VAT)","schema":{"type":"number","default":100,"minimum":0}},{"name":"vatRate","in":"query","required":false,"description":"VAT rate (%)","schema":{"type":"number","default":20,"minimum":0,"maximum":100}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/vat-ireland":{"get":{"operationId":"calculate_vat_ireland","summary":"Irish VAT Calculator","description":"Add Irish VAT to a net price at the 23% standard rate — or any reduced rate. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/vat-ireland","tags":["Finance"],"parameters":[{"name":"netAmount","in":"query","required":false,"description":"Net amount (before VAT)","schema":{"type":"number","default":100,"minimum":0}},{"name":"vatRate","in":"query","required":false,"description":"VAT rate (%)","schema":{"type":"number","default":23,"minimum":0,"maximum":100}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/btw":{"get":{"operationId":"calculate_btw","summary":"BTW Calculator (Netherlands VAT)","description":"Add Dutch BTW to a net price at the 21% standard rate — or the 9% reduced rate. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/btw","tags":["Finance"],"parameters":[{"name":"netAmount","in":"query","required":false,"description":"Net amount (before BTW)","schema":{"type":"number","default":100,"minimum":0}},{"name":"vatRate","in":"query","required":false,"description":"BTW rate (%)","schema":{"type":"number","default":21,"minimum":0,"maximum":100}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/mwst":{"get":{"operationId":"calculate_mwst","summary":"MwSt Calculator (German VAT)","description":"Add German MwSt to a net price at the 19% standard rate — or the 7% reduced rate. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/mwst","tags":["Finance"],"parameters":[{"name":"netAmount","in":"query","required":false,"description":"Net amount (before MwSt)","schema":{"type":"number","default":100,"minimum":0}},{"name":"vatRate","in":"query","required":false,"description":"MwSt rate (%)","schema":{"type":"number","default":19,"minimum":0,"maximum":100}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/tva":{"get":{"operationId":"calculate_tva","summary":"TVA Calculator (French VAT)","description":"Add French TVA to a net price at the 20% standard rate — or the 10%, 5.5% or 2.1% reduced rates. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/tva","tags":["Finance"],"parameters":[{"name":"netAmount","in":"query","required":false,"description":"Net amount (before TVA)","schema":{"type":"number","default":100,"minimum":0}},{"name":"vatRate","in":"query","required":false,"description":"TVA rate (%)","schema":{"type":"number","default":20,"minimum":0,"maximum":100}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/vat-south-africa":{"get":{"operationId":"calculate_vat_south_africa","summary":"South African VAT Calculator","description":"Add South African VAT to a price at the 15% standard rate. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/vat-south-africa","tags":["Finance"],"parameters":[{"name":"netAmount","in":"query","required":false,"description":"Net amount (before VAT)","schema":{"type":"number","default":100,"minimum":0}},{"name":"vatRate","in":"query","required":false,"description":"VAT rate (%)","schema":{"type":"number","default":15,"minimum":0,"maximum":100}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/gst-australia":{"get":{"operationId":"calculate_gst_australia","summary":"Australian GST Calculator","description":"Add Australian GST to a price at the 10% rate — see the GST amount and the total. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/gst-australia","tags":["Finance"],"parameters":[{"name":"netAmount","in":"query","required":false,"description":"Net amount (before GST)","schema":{"type":"number","default":100,"minimum":0}},{"name":"gstRate","in":"query","required":false,"description":"GST rate (%)","schema":{"type":"number","default":10,"minimum":0,"maximum":100}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/gst-new-zealand":{"get":{"operationId":"calculate_gst_new_zealand","summary":"New Zealand GST Calculator","description":"Add New Zealand GST to a price at the 15% rate — see the GST amount and the total. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/gst-new-zealand","tags":["Finance"],"parameters":[{"name":"netAmount","in":"query","required":false,"description":"Net amount (before GST)","schema":{"type":"number","default":100,"minimum":0}},{"name":"gstRate","in":"query","required":false,"description":"GST rate (%)","schema":{"type":"number","default":15,"minimum":0,"maximum":100}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/gst-india":{"get":{"operationId":"calculate_gst_india","summary":"India GST Calculator","description":"Add Indian GST to a price at the 18% standard slab — or any of the 5%, 12% or 28% slabs. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/gst-india","tags":["Finance"],"parameters":[{"name":"netAmount","in":"query","required":false,"description":"Net amount (before GST)","schema":{"type":"number","default":100,"minimum":0}},{"name":"gstRate","in":"query","required":false,"description":"GST rate (%)","schema":{"type":"number","default":18,"minimum":0,"maximum":100}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/sales-tax":{"get":{"operationId":"calculate_sales_tax","summary":"Sales Tax Calculator","description":"Add US sales tax to a price — enter your combined state and local rate. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/sales-tax","tags":["Finance"],"parameters":[{"name":"price","in":"query","required":false,"description":"Price (before tax)","schema":{"type":"number","default":100,"minimum":0}},{"name":"taxRate","in":"query","required":false,"description":"Combined sales tax rate (%)","schema":{"type":"number","default":7,"minimum":0,"maximum":25}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/bmi":{"get":{"operationId":"calculate_bmi","summary":"BMI Calculator","description":"Calculate your body mass index (BMI) from your weight and height. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/bmi","tags":["Health"],"parameters":[{"name":"weightKg","in":"query","required":false,"description":"Weight (kg)","schema":{"type":"number","default":70,"minimum":1,"maximum":500}},{"name":"heightCm","in":"query","required":false,"description":"Height (cm)","schema":{"type":"number","default":175,"minimum":30,"maximum":272}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/bmr":{"get":{"operationId":"calculate_bmr","summary":"BMR Calculator","description":"Estimate your basal metabolic rate — the calories your body burns at complete rest. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/bmr","tags":["Health"],"parameters":[{"name":"sex","in":"query","required":false,"description":"Sex. Options: 1 = Male; 0 = Female","schema":{"type":"number","default":1,"enum":[1,0]}},{"name":"weightKg","in":"query","required":false,"description":"Weight (kg)","schema":{"type":"number","default":70,"minimum":1,"maximum":500}},{"name":"heightCm","in":"query","required":false,"description":"Height (cm)","schema":{"type":"number","default":175,"minimum":30,"maximum":272}},{"name":"age","in":"query","required":false,"description":"Age (years)","schema":{"type":"integer","default":30,"minimum":10,"maximum":120}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/tdee":{"get":{"operationId":"calculate_tdee","summary":"TDEE Calculator — Daily Calorie Needs","description":"Estimate the calories you burn per day from your BMR and activity level. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/tdee","tags":["Health"],"parameters":[{"name":"sex","in":"query","required":false,"description":"Sex. Options: 1 = Male; 0 = Female","schema":{"type":"number","default":1,"enum":[1,0]}},{"name":"weightKg","in":"query","required":false,"description":"Weight (kg)","schema":{"type":"number","default":70,"minimum":1,"maximum":500}},{"name":"heightCm","in":"query","required":false,"description":"Height (cm)","schema":{"type":"number","default":175,"minimum":30,"maximum":272}},{"name":"age","in":"query","required":false,"description":"Age (years)","schema":{"type":"integer","default":30,"minimum":10,"maximum":120}},{"name":"activity","in":"query","required":false,"description":"Activity level. Options: 1.2 = Sedentary (little or no exercise); 1.375 = Light (exercise 1–3 days/week); 1.55 = Moderate (exercise 3–5 days/week); 1.725 = Very active (exercise 6–7 days/week); 1.9 = Extra active (physical job + training)","schema":{"type":"number","default":1.375,"enum":[1.2,1.375,1.55,1.725,1.9]}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/ideal-weight":{"get":{"operationId":"calculate_ideal_weight","summary":"Ideal Weight Calculator","description":"Estimate an ideal body weight from height and sex using the Devine formula. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/ideal-weight","tags":["Health"],"parameters":[{"name":"sex","in":"query","required":false,"description":"Sex. Options: 1 = Male; 0 = Female","schema":{"type":"number","default":1,"enum":[1,0]}},{"name":"heightCm","in":"query","required":false,"description":"Height (cm)","schema":{"type":"number","default":175,"minimum":100,"maximum":272}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/water-intake":{"get":{"operationId":"calculate_water_intake","summary":"Water Intake Calculator","description":"A daily drinking-water estimate from your body weight and exercise time. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/water-intake","tags":["Health"],"parameters":[{"name":"weightKg","in":"query","required":false,"description":"Weight (kg)","schema":{"type":"number","default":70,"minimum":1,"maximum":500}},{"name":"exerciseMinutes","in":"query","required":false,"description":"Exercise per day (min)","schema":{"type":"number","default":30,"minimum":0,"maximum":600}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/body-fat":{"get":{"operationId":"calculate_body_fat","summary":"Body Fat Calculator (US Navy Method)","description":"Estimate body fat percentage from tape measurements using the US Navy circumference formula. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/body-fat","tags":["Health"],"parameters":[{"name":"sex","in":"query","required":false,"description":"Sex. Options: 1 = Male; 0 = Female","schema":{"type":"number","default":1,"enum":[1,0]}},{"name":"heightCm","in":"query","required":false,"description":"Height (cm)","schema":{"type":"number","default":175,"minimum":100,"maximum":272}},{"name":"neckCm","in":"query","required":false,"description":"Neck circumference (cm)","schema":{"type":"number","default":38,"minimum":20,"maximum":80}},{"name":"waistCm","in":"query","required":false,"description":"Waist circumference (cm)","schema":{"type":"number","default":85,"minimum":40,"maximum":250}},{"name":"hipCm","in":"query","required":false,"description":"Hip circumference (women only) (cm)","schema":{"type":"number","default":95,"minimum":40,"maximum":250}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/macro":{"get":{"operationId":"calculate_macro","summary":"Macro Calculator","description":"Split daily calories into grams of protein, carbs and fat at your chosen percentages. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/macro","tags":["Health"],"parameters":[{"name":"calories","in":"query","required":false,"description":"Daily calories (kcal)","schema":{"type":"number","default":2200,"minimum":800,"maximum":10000}},{"name":"proteinPct","in":"query","required":false,"description":"Protein (%)","schema":{"type":"number","default":30,"minimum":0,"maximum":100}},{"name":"carbsPct","in":"query","required":false,"description":"Carbohydrate (%)","schema":{"type":"number","default":40,"minimum":0,"maximum":100}},{"name":"fatPct","in":"query","required":false,"description":"Fat (%)","schema":{"type":"number","default":30,"minimum":0,"maximum":100}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/one-rep-max":{"get":{"operationId":"calculate_one_rep_max","summary":"One Rep Max Calculator","description":"Estimate your one-rep max from a weight and rep count, with common training percentages. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/one-rep-max","tags":["Health"],"parameters":[{"name":"weightKg","in":"query","required":false,"description":"Weight lifted (kg)","schema":{"type":"number","default":100,"minimum":1,"maximum":600}},{"name":"reps","in":"query","required":false,"description":"Reps completed","schema":{"type":"integer","default":5,"minimum":1,"maximum":12}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/due-date":{"get":{"operationId":"calculate_due_date","summary":"Pregnancy Due Date Calculator","description":"Estimate a due date from the first day of the last menstrual period, adjusted for cycle length. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/due-date","tags":["Health"],"parameters":[{"name":"lmpDate","in":"query","required":false,"description":"First day of last period (ISO date). Default: today.","schema":{"type":"string","format":"date"}},{"name":"cycleLength","in":"query","required":false,"description":"Average cycle length (days)","schema":{"type":"integer","default":28,"minimum":20,"maximum":45}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/ovulation":{"get":{"operationId":"calculate_ovulation","summary":"Ovulation Calculator","description":"Estimate your ovulation date and fertile window from your last period and cycle length. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/ovulation","tags":["Health"],"parameters":[{"name":"lmpDate","in":"query","required":false,"description":"First day of last period (ISO date). Default: today.","schema":{"type":"string","format":"date"}},{"name":"cycleLength","in":"query","required":false,"description":"Average cycle length (days)","schema":{"type":"integer","default":28,"minimum":21,"maximum":40}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/pythagorean":{"get":{"operationId":"calculate_pythagorean","summary":"Pythagorean Theorem Calculator","description":"Find the hypotenuse of a right triangle from its two legs — plus area and perimeter. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/pythagorean","tags":["Math"],"parameters":[{"name":"legA","in":"query","required":false,"description":"Leg a","schema":{"type":"number","default":3,"minimum":0}},{"name":"legB","in":"query","required":false,"description":"Leg b","schema":{"type":"number","default":4,"minimum":0}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/circle":{"get":{"operationId":"calculate_circle","summary":"Circle Calculator","description":"Area, circumference and diameter of a circle from its radius. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/circle","tags":["Math"],"parameters":[{"name":"radius","in":"query","required":false,"description":"Radius","schema":{"type":"number","default":5,"minimum":0}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/triangle-area":{"get":{"operationId":"calculate_triangle_area","summary":"Triangle Area Calculator","description":"The area of any triangle from its base and height. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/triangle-area","tags":["Math"],"parameters":[{"name":"base","in":"query","required":false,"description":"Base","schema":{"type":"number","default":10,"minimum":0}},{"name":"height","in":"query","required":false,"description":"Height (perpendicular)","schema":{"type":"number","default":6,"minimum":0}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/quadratic":{"get":{"operationId":"calculate_quadratic","summary":"Quadratic Formula Calculator","description":"Solve ax² + bx + c = 0 — both roots and the discriminant, step by step. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/quadratic","tags":["Math"],"parameters":[{"name":"a","in":"query","required":false,"description":"a (x² coefficient)","schema":{"type":"number","default":1}},{"name":"b","in":"query","required":false,"description":"b (x coefficient)","schema":{"type":"number","default":-3}},{"name":"c","in":"query","required":false,"description":"c (constant)","schema":{"type":"number","default":2}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/slope":{"get":{"operationId":"calculate_slope","summary":"Slope Calculator","description":"Slope, y-intercept and distance between two points on a line. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/slope","tags":["Math"],"parameters":[{"name":"x1","in":"query","required":false,"description":"Point 1 — x","schema":{"type":"number","default":1}},{"name":"y1","in":"query","required":false,"description":"Point 1 — y","schema":{"type":"number","default":2}},{"name":"x2","in":"query","required":false,"description":"Point 2 — x","schema":{"type":"number","default":3}},{"name":"y2","in":"query","required":false,"description":"Point 2 — y","schema":{"type":"number","default":6}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/exponent":{"get":{"operationId":"calculate_exponent","summary":"Exponent Calculator","description":"Raise any base to any power, including negative and fractional exponents. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/exponent","tags":["Math"],"parameters":[{"name":"base","in":"query","required":false,"description":"Base","schema":{"type":"number","default":2}},{"name":"power","in":"query","required":false,"description":"Exponent","schema":{"type":"number","default":10}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/nth-root":{"get":{"operationId":"calculate_nth_root","summary":"Root Calculator","description":"Square roots, cube roots and any nth root of a number. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/nth-root","tags":["Math"],"parameters":[{"name":"value","in":"query","required":false,"description":"Number","schema":{"type":"number","default":27}},{"name":"degree","in":"query","required":false,"description":"Root degree (n)","schema":{"type":"integer","default":3,"minimum":1,"maximum":100}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/percent-error":{"get":{"operationId":"calculate_percent_error","summary":"Percent Error Calculator","description":"How far a measured value is from the true value, as a percentage. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/percent-error","tags":["Math"],"parameters":[{"name":"measured","in":"query","required":false,"description":"Measured value","schema":{"type":"number","default":9.8}},{"name":"actual","in":"query","required":false,"description":"True value","schema":{"type":"number","default":10}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/gcf-lcm":{"get":{"operationId":"calculate_gcf_lcm","summary":"GCF & LCM Calculator","description":"Greatest common factor and least common multiple of two numbers. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/gcf-lcm","tags":["Math"],"parameters":[{"name":"numA","in":"query","required":false,"description":"First number","schema":{"type":"integer","default":12,"minimum":1}},{"name":"numB","in":"query","required":false,"description":"Second number","schema":{"type":"integer","default":18,"minimum":1}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/combinations":{"get":{"operationId":"calculate_combinations","summary":"Combinations & Permutations Calculator","description":"How many ways to choose or arrange r items from a set of n. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/combinations","tags":["Math"],"parameters":[{"name":"n","in":"query","required":false,"description":"Total items (n)","schema":{"type":"integer","default":10,"minimum":0,"maximum":170}},{"name":"r","in":"query","required":false,"description":"Items chosen (r)","schema":{"type":"integer","default":3,"minimum":0,"maximum":170}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/z-score":{"get":{"operationId":"calculate_z_score","summary":"Z-Score Calculator","description":"How many standard deviations a value sits above or below the mean. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/z-score","tags":["Math"],"parameters":[{"name":"x","in":"query","required":false,"description":"Value (x)","schema":{"type":"number","default":130}},{"name":"mean","in":"query","required":false,"description":"Mean","schema":{"type":"number","default":100}},{"name":"sd","in":"query","required":false,"description":"Standard deviation","schema":{"type":"number","default":15,"minimum":0.000001}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/square-footage":{"get":{"operationId":"calculate_square_footage","summary":"Square Footage Calculator","description":"The square footage of a room or area from its length and width — with square yards and square meters. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/square-footage","tags":["Home & DIY"],"parameters":[{"name":"lengthFt","in":"query","required":false,"description":"Length (ft)","schema":{"type":"number","default":20,"minimum":0}},{"name":"widthFt","in":"query","required":false,"description":"Width (ft)","schema":{"type":"number","default":15,"minimum":0}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/concrete":{"get":{"operationId":"calculate_concrete","summary":"Concrete Calculator","description":"Concrete for a slab: cubic yards to order, or how many 80 lb and 60 lb bags to buy. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/concrete","tags":["Home & DIY"],"parameters":[{"name":"lengthFt","in":"query","required":false,"description":"Length (ft)","schema":{"type":"number","default":10,"minimum":0}},{"name":"widthFt","in":"query","required":false,"description":"Width (ft)","schema":{"type":"number","default":10,"minimum":0}},{"name":"thicknessIn","in":"query","required":false,"description":"Thickness (in)","schema":{"type":"number","default":4,"minimum":0.5,"maximum":24}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/paint":{"get":{"operationId":"calculate_paint","summary":"Paint Calculator","description":"How many gallons of paint a room needs, from wall length, height, doors and windows. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/paint","tags":["Home & DIY"],"parameters":[{"name":"wallLengthFt","in":"query","required":false,"description":"Total wall length (all walls) (ft)","schema":{"type":"number","default":44,"minimum":1}},{"name":"heightFt","in":"query","required":false,"description":"Ceiling height (ft)","schema":{"type":"number","default":8,"minimum":1,"maximum":30}},{"name":"doors","in":"query","required":false,"description":"Doors","schema":{"type":"integer","default":1,"minimum":0,"maximum":20}},{"name":"windows","in":"query","required":false,"description":"Windows","schema":{"type":"integer","default":2,"minimum":0,"maximum":40}},{"name":"coats","in":"query","required":false,"description":"Coats","schema":{"type":"integer","default":2,"minimum":1,"maximum":5}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/roofing":{"get":{"operationId":"calculate_roofing","summary":"Roofing Calculator","description":"Roof area, roofing squares and shingle bundles from the house footprint and roof pitch. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/roofing","tags":["Home & DIY"],"parameters":[{"name":"lengthFt","in":"query","required":false,"description":"Footprint length (ft)","schema":{"type":"number","default":40,"minimum":1}},{"name":"widthFt","in":"query","required":false,"description":"Footprint width (ft)","schema":{"type":"number","default":30,"minimum":1}},{"name":"pitchFactor","in":"query","required":false,"description":"Roof pitch. Options: 1 = Flat; 1.054 = 4/12 — low slope; 1.118 = 6/12 — average; 1.202 = 8/12 — steep; 1.302 = 10/12 — very steep; 1.414 = 12/12 — 45 degrees","schema":{"type":"number","default":1.118,"enum":[1,1.054,1.118,1.202,1.302,1.414]}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/tile":{"get":{"operationId":"calculate_tile","summary":"Tile Calculator","description":"How many tiles a floor or wall needs, by tile size, with waste included. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/tile","tags":["Home & DIY"],"parameters":[{"name":"lengthFt","in":"query","required":false,"description":"Area length (ft)","schema":{"type":"number","default":12,"minimum":0}},{"name":"widthFt","in":"query","required":false,"description":"Area width (ft)","schema":{"type":"number","default":10,"minimum":0}},{"name":"tileSqFt","in":"query","required":false,"description":"Tile size. Options: 0.25 = 6\" × 6\" (0.25 sq ft); 1 = 12\" × 12\" (1 sq ft); 2 = 12\" × 24\" (2 sq ft); 2.25 = 18\" × 18\" (2.25 sq ft); 4 = 24\" × 24\" (4 sq ft)","schema":{"type":"number","default":1,"enum":[0.25,1,2,2.25,4]}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/mulch":{"get":{"operationId":"calculate_mulch","summary":"Mulch Calculator","description":"Cubic yards or bags of mulch for a bed, from its area and depth. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/mulch","tags":["Home & DIY"],"parameters":[{"name":"lengthFt","in":"query","required":false,"description":"Bed length (ft)","schema":{"type":"number","default":10,"minimum":0}},{"name":"widthFt","in":"query","required":false,"description":"Bed width (ft)","schema":{"type":"number","default":10,"minimum":0}},{"name":"depthIn","in":"query","required":false,"description":"Mulch depth (in)","schema":{"type":"number","default":3,"minimum":0.5,"maximum":12}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/gravel":{"get":{"operationId":"calculate_gravel","summary":"Gravel Calculator","description":"Cubic yards and tons of gravel for a driveway or path, from area and depth. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/gravel","tags":["Home & DIY"],"parameters":[{"name":"lengthFt","in":"query","required":false,"description":"Length (ft)","schema":{"type":"number","default":10,"minimum":0}},{"name":"widthFt","in":"query","required":false,"description":"Width (ft)","schema":{"type":"number","default":10,"minimum":0}},{"name":"depthIn","in":"query","required":false,"description":"Gravel depth (in)","schema":{"type":"number","default":4,"minimum":0.5,"maximum":24}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/space-travel-time":{"get":{"operationId":"calculate_space_travel_time","summary":"Space Travel Time Calculator","description":"How long would it take to reach the Moon, Mars or Neptune — by car, by rocket, or at Voyager speed? Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/space-travel-time","tags":["Space"],"parameters":[{"name":"distanceKm","in":"query","required":false,"description":"Destination. Options: 384400 = The Moon (384,400 km); 38200000 = Venus at closest (38.2 million km); 54600000 = Mars at closest (54.6 million km); 77300000 = Mercury at closest (77.3 million km); 149600000 = The Sun (149.6 million km); 588000000 = Jupiter at closest (588 million km); 1200000000 = Saturn at closest (1.2 billion km); 2570000000 = Uranus at closest (2.57 billion km); 4300000000 = Neptune at closest (4.3 billion km)","schema":{"type":"number","default":54600000,"enum":[384400,38200000,54600000,77300000,149600000,588000000,1200000000,2570000000,4300000000]}},{"name":"speedKmh","in":"query","required":false,"description":"Traveling by. Options: 5 = Walking (5 km/h); 100 = Car on the motorway (100 km/h); 900 = Airliner (900 km/h); 39900 = Apollo 10 record (39,900 km/h); 61200 = Voyager 1 (61,200 km/h); 690000 = Parker Solar Probe (690,000 km/h)","schema":{"type":"number","default":100,"enum":[5,100,900,39900,61200,690000]}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/weight-on-other-planets":{"get":{"operationId":"calculate_weight_on_other_planets","summary":"Weight on Other Planets Calculator","description":"What would you weigh on the Moon, Mars or Jupiter? Your weight scaled by each world's surface gravity. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/weight-on-other-planets","tags":["Space"],"parameters":[{"name":"weightKg","in":"query","required":false,"description":"Your weight on Earth (any unit)","schema":{"type":"number","default":70,"minimum":1,"maximum":1000}},{"name":"gravityRatio","in":"query","required":false,"description":"On. Options: 0.378 = Mercury; 0.907 = Venus; 0.166 = The Moon; 0.379 = Mars; 2.36 = Jupiter; 0.916 = Saturn; 0.889 = Uranus; 1.12 = Neptune; 0.071 = Pluto","schema":{"type":"number","default":0.379,"enum":[0.378,0.907,0.166,0.379,2.36,0.916,0.889,1.12,0.071]}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/age-on-other-planets":{"get":{"operationId":"calculate_age_on_other_planets","summary":"Age on Other Planets Calculator","description":"How old would you be in Mercury years or Mars years? Your age converted to another planet's trips around the Sun. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/age-on-other-planets","tags":["Space"],"parameters":[{"name":"ageYears","in":"query","required":false,"description":"Your age in Earth years","schema":{"type":"number","default":30,"minimum":0,"maximum":130}},{"name":"orbitalPeriod","in":"query","required":false,"description":"On. Options: 0.241 = Mercury (88-day year); 0.615 = Venus (225-day year); 1.881 = Mars (687-day year); 11.86 = Jupiter (11.9 Earth years); 29.45 = Saturn (29.5 Earth years); 84.02 = Uranus (84 Earth years); 164.8 = Neptune (164.8 Earth years); 248 = Pluto (248 Earth years)","schema":{"type":"number","default":1.881,"enum":[0.241,0.615,1.881,11.86,29.45,84.02,164.8,248]}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/orbital-period":{"get":{"operationId":"calculate_orbital_period","summary":"Orbital Period Calculator (Earth Satellites)","description":"How long a satellite takes to circle the Earth, from its altitude — the ISS laps the planet in about 93 minutes. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/orbital-period","tags":["Space"],"parameters":[{"name":"altitudeKm","in":"query","required":false,"description":"Altitude above Earth (km)","schema":{"type":"number","default":420,"minimum":100,"maximum":1000000}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/escape-velocity":{"get":{"operationId":"calculate_escape_velocity","summary":"Escape Velocity Calculator","description":"The speed needed to break free of a world's gravity, from its mass and radius — in Earth units, so any planet works. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/escape-velocity","tags":["Space"],"parameters":[{"name":"massEarths","in":"query","required":false,"description":"Mass (Earth = 1)","schema":{"type":"number","default":1,"minimum":0.0001,"maximum":1000000}},{"name":"radiusEarths","in":"query","required":false,"description":"Radius (Earth = 1)","schema":{"type":"number","default":1,"minimum":0.0001,"maximum":1000}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/light-travel-time":{"get":{"operationId":"calculate_light_travel_time","summary":"Light Travel Time Calculator","description":"How long light takes to cross space — 1.3 seconds to the Moon, 8 minutes from the Sun, 4 years from the nearest star. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/light-travel-time","tags":["Space"],"parameters":[{"name":"distanceKm","in":"query","required":false,"description":"From. Options: 384400 = The Moon (384,400 km); 54600000 = Mars at closest (54.6 million km); 149600000 = The Sun (149.6 million km); 401000000 = Mars at farthest (401 million km); 588000000 = Jupiter at closest (588 million km); 1200000000 = Saturn at closest (1.2 billion km); 4300000000 = Neptune at closest (4.3 billion km); 25000000000 = Voyager 1 (about 25 billion km); 40170000000000 = Proxima Centauri (4.25 light-years)","schema":{"type":"number","default":149600000,"enum":[384400,54600000,149600000,401000000,588000000,1200000000,4300000000,25000000000,40170000000000]}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/telescope-magnification":{"get":{"operationId":"calculate_telescope_magnification","summary":"Telescope Magnification Calculator","description":"Magnification and true field of view from your telescope's focal length and any eyepiece. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/telescope-magnification","tags":["Space"],"parameters":[{"name":"telescopeFocalMm","in":"query","required":false,"description":"Telescope focal length (mm)","schema":{"type":"number","default":900,"minimum":100,"maximum":10000}},{"name":"eyepieceFocalMm","in":"query","required":false,"description":"Eyepiece focal length (mm)","schema":{"type":"number","default":25,"minimum":1,"maximum":60}},{"name":"apparentFov","in":"query","required":false,"description":"Eyepiece apparent field of view (°)","schema":{"type":"number","default":50,"minimum":30,"maximum":120}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/planet-distance":{"get":{"operationId":"calculate_planet_distance","summary":"Distance Between Planets Calculator","description":"How close two planets get and how far apart they can be, from their average distances to the Sun. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/planet-distance","tags":["Space"],"parameters":[{"name":"planetA","in":"query","required":false,"description":"First planet. Options: 57.9 = Mercury; 108.2 = Venus; 149.6 = Earth; 227.9 = Mars; 778.5 = Jupiter; 1432 = Saturn; 2867 = Uranus; 4515 = Neptune; 5906.4 = Pluto","schema":{"type":"number","default":149.6,"enum":[57.9,108.2,149.6,227.9,778.5,1432,2867,4515,5906.4]}},{"name":"planetB","in":"query","required":false,"description":"Second planet. Options: 57.9 = Mercury; 108.2 = Venus; 149.6 = Earth; 227.9 = Mars; 778.5 = Jupiter; 1432 = Saturn; 2867 = Uranus; 4515 = Neptune; 5906.4 = Pluto","schema":{"type":"number","default":227.9,"enum":[57.9,108.2,149.6,227.9,778.5,1432,2867,4515,5906.4]}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/1g-space-travel":{"get":{"operationId":"calculate_1g_space_travel","summary":"1g Space Travel Calculator","description":"How fast you'd cross the solar system accelerating at 1g the whole way — Mars in two days, with Earth-like gravity aboard. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/1g-space-travel","tags":["Space"],"parameters":[{"name":"distanceKm","in":"query","required":false,"description":"Destination. Options: 384400 = The Moon (384,400 km); 38200000 = Venus at closest (38.2 million km); 54600000 = Mars at closest (54.6 million km); 149600000 = The Sun (149.6 million km); 588000000 = Jupiter at closest (588 million km); 1200000000 = Saturn at closest (1.2 billion km); 4300000000 = Neptune at closest (4.3 billion km)","schema":{"type":"number","default":54600000,"enum":[384400,38200000,54600000,149600000,588000000,1200000000,4300000000]}},{"name":"accelG","in":"query","required":false,"description":"Acceleration (g)","schema":{"type":"number","default":1,"minimum":0.01,"maximum":10}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/running-pace":{"get":{"operationId":"calculate_running_pace","summary":"Running Pace Calculator","description":"Your pace per km and per mile from any distance and finish time — plus your speed in km/h. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/running-pace","tags":["Sports"],"parameters":[{"name":"distanceKm","in":"query","required":false,"description":"Distance (km)","schema":{"type":"number","default":10,"minimum":0.1,"maximum":500}},{"name":"hours","in":"query","required":false,"description":"Hours","schema":{"type":"integer","default":0,"minimum":0,"maximum":99}},{"name":"minutes","in":"query","required":false,"description":"Minutes","schema":{"type":"integer","default":55,"minimum":0,"maximum":59}},{"name":"seconds","in":"query","required":false,"description":"Seconds","schema":{"type":"integer","default":0,"minimum":0,"maximum":59}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/race-time-predictor":{"get":{"operationId":"calculate_race_time_predictor","summary":"Race Time Predictor","description":"Predict your 10K, half or marathon time from a recent race, using Riegel's endurance formula. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/race-time-predictor","tags":["Sports"],"parameters":[{"name":"recentDistanceKm","in":"query","required":false,"description":"Recent race. Options: 5 = 5K; 10 = 10K; 21.0975 = Half marathon; 42.195 = Marathon","schema":{"type":"number","default":5,"enum":[5,10,21.0975,42.195]}},{"name":"hours","in":"query","required":false,"description":"Hours","schema":{"type":"integer","default":0,"minimum":0,"maximum":23}},{"name":"minutes","in":"query","required":false,"description":"Minutes","schema":{"type":"integer","default":25,"minimum":0,"maximum":59}},{"name":"seconds","in":"query","required":false,"description":"Seconds","schema":{"type":"integer","default":0,"minimum":0,"maximum":59}},{"name":"targetDistanceKm","in":"query","required":false,"description":"Predict time for. Options: 5 = 5K; 10 = 10K; 21.0975 = Half marathon; 42.195 = Marathon","schema":{"type":"number","default":42.195,"enum":[5,10,21.0975,42.195]}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/heart-rate-zones":{"get":{"operationId":"calculate_heart_rate_zones","summary":"Heart Rate Zones Calculator","description":"Your five training zones from age and resting heart rate, using the Karvonen (heart rate reserve) method. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/heart-rate-zones","tags":["Sports"],"parameters":[{"name":"age","in":"query","required":false,"description":"Age (years)","schema":{"type":"integer","default":35,"minimum":10,"maximum":100}},{"name":"restingHr","in":"query","required":false,"description":"Resting heart rate (bpm)","schema":{"type":"integer","default":60,"minimum":30,"maximum":120}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/calories-burned":{"get":{"operationId":"calculate_calories_burned","summary":"Calories Burned Calculator","description":"Calories burned by activity, weight and time, using standard MET values for common exercises. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/calories-burned","tags":["Sports"],"parameters":[{"name":"met","in":"query","required":false,"description":"Activity. Options: 2.5 = Yoga (2.5 METs); 3.5 = Strength training (3.5 METs); 4.3 = Brisk walking (4.3 METs); 5 = Elliptical, moderate (5 METs); 5.8 = Swimming laps, moderate (5.8 METs); 6.5 = Basketball (6.5 METs); 7 = Jogging (7 METs); 8 = Cycling, moderate (8 METs); 9.8 = Running, 10 km/h (9.8 METs); 12 = Squash (12 METs)","schema":{"type":"number","default":7,"enum":[2.5,3.5,4.3,5,5.8,6.5,7,8,9.8,12]}},{"name":"weightKg","in":"query","required":false,"description":"Your weight (kg)","schema":{"type":"number","default":70,"minimum":20,"maximum":250}},{"name":"minutes","in":"query","required":false,"description":"Duration (min)","schema":{"type":"integer","default":30,"minimum":1,"maximum":600}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/pace-converter":{"get":{"operationId":"calculate_pace_converter","summary":"Treadmill Pace Converter","description":"Convert treadmill speed in km/h to pace per kilometre and per mile — and to mph. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/pace-converter","tags":["Sports"],"parameters":[{"name":"speedKmh","in":"query","required":false,"description":"Treadmill speed (km/h)","schema":{"type":"number","default":10,"minimum":0.5,"maximum":30}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/steps-to-km":{"get":{"operationId":"calculate_steps_to_km","summary":"Steps to Km & Miles Calculator","description":"How far your steps take you — convert a step count into kilometres and miles from your stride length. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/steps-to-km","tags":["Sports"],"parameters":[{"name":"steps","in":"query","required":false,"description":"Steps","schema":{"type":"integer","default":10000,"minimum":1,"maximum":200000}},{"name":"strideCm","in":"query","required":false,"description":"Stride length (cm)","schema":{"type":"number","default":75,"minimum":30,"maximum":150}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/vo2-max":{"get":{"operationId":"calculate_vo2_max","summary":"VO₂ Max Calculator (Cooper Test)","description":"Estimate your VO₂ max from how far you can run in 12 minutes — the classic Cooper field test. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/vo2-max","tags":["Sports"],"parameters":[{"name":"distanceM","in":"query","required":false,"description":"Distance run in 12 minutes (m)","schema":{"type":"number","default":2400,"minimum":600,"maximum":5000}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/tip":{"get":{"operationId":"calculate_tip","summary":"Tip Calculator","description":"Work out the tip, the total bill, and each person's share when splitting. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/tip","tags":["Everyday"],"parameters":[{"name":"billAmount","in":"query","required":false,"description":"Bill amount","schema":{"type":"number","default":100,"minimum":0}},{"name":"tipPercent","in":"query","required":false,"description":"Tip (%)","schema":{"type":"number","default":15,"minimum":0,"maximum":100}},{"name":"numPeople","in":"query","required":false,"description":"Split between (people)","schema":{"type":"integer","default":1,"minimum":1,"maximum":100}},{"name":"currency","in":"query","required":false,"description":"Display currency (three-letter ISO code). Default USD.","schema":{"type":"string","pattern":"^[A-Za-z]{3}$"}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/coin-counter":{"get":{"operationId":"calculate_coin_counter","summary":"Coin Counter Calculator (US)","description":"Count a pile of US coins into dollars: enter how many quarters, dimes, nickels and pennies you have. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/coin-counter","tags":["Everyday"],"parameters":[{"name":"quarters","in":"query","required":false,"description":"Quarters (25¢)","schema":{"type":"integer","default":4,"minimum":0,"maximum":10000}},{"name":"dimes","in":"query","required":false,"description":"Dimes (10¢)","schema":{"type":"integer","default":3,"minimum":0,"maximum":10000}},{"name":"nickels","in":"query","required":false,"description":"Nickels (5¢)","schema":{"type":"integer","default":2,"minimum":0,"maximum":10000}},{"name":"pennies","in":"query","required":false,"description":"Pennies (1¢)","schema":{"type":"integer","default":10,"minimum":0,"maximum":10000}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/words-to-minutes":{"get":{"operationId":"calculate_words_to_minutes","summary":"Words to Minutes — Speech Time Calculator","description":"How long a speech or presentation takes to deliver, from its word count and your speaking pace. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/words-to-minutes","tags":["Everyday"],"parameters":[{"name":"words","in":"query","required":false,"description":"Word count","schema":{"type":"integer","default":1000,"minimum":1,"maximum":100000}},{"name":"wpm","in":"query","required":false,"description":"Speaking pace. Options: 110 = Slow and deliberate (110 wpm); 130 = Average presentation (130 wpm); 150 = Conversational (150 wpm); 170 = Fast (170 wpm)","schema":{"type":"number","default":130,"enum":[110,130,150,170]}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/percentage":{"get":{"operationId":"calculate_percentage","summary":"Percentage Calculator","description":"Work out what X% of a value is — discounts, tips, statistics, anything. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/percentage","tags":["Everyday"],"parameters":[{"name":"percent","in":"query","required":false,"description":"Percentage (%)","schema":{"type":"number","default":20,"minimum":0}},{"name":"baseValue","in":"query","required":false,"description":"Of the value","schema":{"type":"number","default":150}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/percentage-change":{"get":{"operationId":"calculate_percentage_change","summary":"Percentage Change Calculator","description":"The percentage increase or decrease from one value to another. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/percentage-change","tags":["Everyday"],"parameters":[{"name":"fromValue","in":"query","required":false,"description":"From (starting value)","schema":{"type":"number","default":80}},{"name":"toValue","in":"query","required":false,"description":"To (final value)","schema":{"type":"number","default":100}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/discount":{"get":{"operationId":"calculate_discount","summary":"Discount Calculator","description":"See the sale price and how much you save from a percentage discount. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/discount","tags":["Everyday"],"parameters":[{"name":"originalPrice","in":"query","required":false,"description":"Original price","schema":{"type":"number","default":80,"minimum":0}},{"name":"discountPercent","in":"query","required":false,"description":"Discount (%)","schema":{"type":"number","default":25,"minimum":0,"maximum":100}},{"name":"currency","in":"query","required":false,"description":"Display currency (three-letter ISO code). Default USD.","schema":{"type":"string","pattern":"^[A-Za-z]{3}$"}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/fuel-cost":{"get":{"operationId":"calculate_fuel_cost","summary":"Fuel Cost Calculator","description":"The fuel cost of a trip from distance, consumption (L/100km) and fuel price. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/fuel-cost","tags":["Everyday"],"parameters":[{"name":"distanceKm","in":"query","required":false,"description":"Distance (km)","schema":{"type":"number","default":300,"minimum":0}},{"name":"consumption","in":"query","required":false,"description":"Fuel consumption (L/100km)","schema":{"type":"number","default":7,"minimum":0.1,"maximum":50}},{"name":"fuelPrice","in":"query","required":false,"description":"Fuel price per litre","schema":{"type":"number","default":1.8,"minimum":0}},{"name":"currency","in":"query","required":false,"description":"Display currency (three-letter ISO code). Default USD.","schema":{"type":"string","pattern":"^[A-Za-z]{3}$"}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/electricity-cost":{"get":{"operationId":"calculate_electricity_cost","summary":"Electricity Cost Calculator","description":"What an appliance costs to run, from its wattage, daily use and your electricity price. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/electricity-cost","tags":["Everyday"],"parameters":[{"name":"watts","in":"query","required":false,"description":"Appliance power (W)","schema":{"type":"number","default":100,"minimum":0}},{"name":"hoursPerDay","in":"query","required":false,"description":"Hours used per day","schema":{"type":"number","default":5,"minimum":0,"maximum":24}},{"name":"days","in":"query","required":false,"description":"Over a period of (days)","schema":{"type":"integer","default":30,"minimum":1,"maximum":365}},{"name":"pricePerKwh","in":"query","required":false,"description":"Electricity price per kWh","schema":{"type":"number","default":0.25,"minimum":0}},{"name":"currency","in":"query","required":false,"description":"Display currency (three-letter ISO code). Default USD.","schema":{"type":"string","pattern":"^[A-Za-z]{3}$"}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/final-grade":{"get":{"operationId":"calculate_final_grade","summary":"Final Grade Calculator","description":"What score do you need on the final exam to reach your target grade? Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/final-grade","tags":["Everyday"],"parameters":[{"name":"currentGrade","in":"query","required":false,"description":"Current grade (%)","schema":{"type":"number","default":75,"minimum":0,"maximum":120}},{"name":"finalWeight","in":"query","required":false,"description":"Final exam weight (%)","schema":{"type":"number","default":40,"minimum":1,"maximum":100}},{"name":"desiredGrade","in":"query","required":false,"description":"Grade you want (%)","schema":{"type":"number","default":80,"minimum":0,"maximum":120}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/age":{"get":{"operationId":"calculate_age","summary":"Age Calculator","description":"Your exact age in years, months and days — and your total days alive. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/age","tags":["Everyday"],"parameters":[{"name":"birthDate","in":"query","required":false,"description":"Date of birth (ISO date). Default: 1990-01-01.","schema":{"type":"string","format":"date"}},{"name":"asOf","in":"query","required":false,"description":"Age on (ISO date). Default: today.","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/days-between":{"get":{"operationId":"calculate_days_between","summary":"Days Between Dates Calculator","description":"Count the days, weeks and calendar months between any two dates. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/days-between","tags":["Everyday"],"parameters":[{"name":"startDate","in":"query","required":false,"description":"Start date (ISO date). Default: today.","schema":{"type":"string","format":"date"}},{"name":"endDate","in":"query","required":false,"description":"End date (ISO date). Default: today.","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}},"/api/v1/calculate/date-calculator":{"get":{"operationId":"calculate_date_calculator","summary":"Date Calculator — Add or Subtract Days","description":"What date is 90 days from today? Add or subtract days, weeks, months or years from any date. Omitted inputs use their defaults. Full page: https://tallytopia.com/calculators/date-calculator","tags":["Everyday"],"parameters":[{"name":"startDate","in":"query","required":false,"description":"Start date (ISO date). Default: today.","schema":{"type":"string","format":"date"}},{"name":"amount","in":"query","required":false,"description":"Add (negative to subtract)","schema":{"type":"integer","default":90,"minimum":-10000,"maximum":10000}},{"name":"unit","in":"query","required":false,"description":"Unit. Options: 1 = Days; 7 = Weeks; 30 = Months (calendar); 365 = Years (calendar)","schema":{"type":"number","default":1,"enum":[1,7,30,365]}}],"responses":{"200":{"description":"Calculation result with every intermediate step.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResult"}}}},"400":{"$ref":"#/components/responses/BadInput"},"429":{"$ref":"#/components/responses/RateLimited"}}}}},"components":{"schemas":{"Step":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"value":{"type":"number"},"formatted":{"type":"string"}},"required":["key","label","value","formatted"]},"CalculationResult":{"type":"object","properties":{"calculator":{"type":"string"},"title":{"type":"string"},"inputs":{"type":"object","additionalProperties":{"type":"number"}},"steps":{"type":"array","items":{"$ref":"#/components/schemas/Step"}},"result":{"allOf":[{"$ref":"#/components/schemas/Step"}]},"disclaimer":{"type":"string"},"docs":{"type":"string"}},"required":["calculator","inputs","steps","result"]},"CalculatorList":{"type":"object","properties":{"count":{"type":"integer"},"calculators":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string"},"title":{"type":"string"},"category":{"type":"string"},"description":{"type":"string"},"page":{"type":"string"},"details":{"type":"string"},"calculate":{"type":"string"}}}},"docs":{"type":"string"}}},"Error":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}},"responses":{"BadInput":{"description":"Invalid input value or combination.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"NotFound":{"description":"No calculator with that slug.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"RateLimited":{"description":"Over the 60 requests/minute/IP limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}