{"openapi":"3.1.0","info":{"title":"CalcurHome Calculator API","version":"1.0.0","description":"Public home-project calculator definitions and stateless calculation requests. Definitions include the visible formula, documented inputs, default result, review date, limitations and calculator-specific sources. No account or API key is required.","termsOfService":"https://calcurhome.com/terms","contact":{"name":"CalcurHome editorial corrections","email":"hello@calcurhome.com"}},"externalDocs":{"description":"Expanded calculator formulas, defaults, review dates, limitations and citation guidance","url":"https://calcurhome.com/llms-full.txt"},"servers":[{"url":"https://calcurhome.com"}],"tags":[{"name":"Calculators","description":"Calculator discovery, formula definitions and calculation results."}],"paths":{"/api/calculators":{"get":{"operationId":"listCalculators","summary":"List available calculators","tags":["Calculators"],"responses":{"200":{"description":"Calculator and category catalog","content":{"application/json":{"schema":{"type":"object","required":["name","description","canonicalUrl","documentation","openApi","reviewedOn","categories","projectGuides","calculators"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"canonicalUrl":{"type":"string","format":"uri"},"documentation":{"type":"string","format":"uri"},"openApi":{"type":"string","format":"uri"},"reviewedOn":{"type":"string","format":"date"},"categories":{"type":"array","items":{"$ref":"#/components/schemas/CatalogCategory"}},"projectGuides":{"type":"array","items":{"$ref":"#/components/schemas/ProjectGuideSummary"}},"calculators":{"type":"array","items":{"$ref":"#/components/schemas/CalculatorSummary"}}}}}}}}}},"/api/calculators/{slug}":{"parameters":[{"in":"path","name":"slug","required":true,"description":"A calculator identifier from the catalog.","schema":{"type":"string","enum":["square-footage-calculator","wall-square-footage-calculator","cubic-yard-calculator","concrete-calculator","concrete-bag-calculator","concrete-slab-calculator","concrete-footing-calculator","concrete-post-hole-calculator","concrete-block-calculator","mortar-calculator","rebar-calculator","paver-calculator","brick-calculator","stair-calculator","gravel-calculator","gravel-driveway-calculator","pea-gravel-calculator","crushed-stone-calculator","river-rock-calculator","mulch-calculator","mulch-bag-calculator","topsoil-calculator","soil-calculator","sod-calculator","lawn-seed-calculator","retaining-wall-calculator","landscape-rock-calculator","fill-dirt-calculator","flooring-calculator","flooring-cost-calculator","tile-calculator","grout-calculator","laminate-flooring-calculator","vinyl-plank-flooring-calculator","carpet-calculator","paint-calculator","drywall-calculator","insulation-calculator","roofing-calculator","roof-pitch-calculator","shingle-calculator","metal-roofing-calculator","siding-calculator","gutter-calculator","deck-calculator","deck-board-calculator","fence-calculator","fence-post-calculator","board-foot-calculator","linear-feet-calculator","wall-framing-calculator","rafter-calculator","asphalt-calculator","sand-calculator","pool-volume-calculator","pool-salt-calculator","wallpaper-calculator","countertop-calculator","fence-cost-calculator","roof-cost-calculator","drywall-mud-calculator","wainscoting-calculator","baseboard-calculator","shiplap-calculator","self-leveling-concrete-calculator","interior-paint-cost-calculator","pool-evaporation-calculator","fertilizer-calculator","compost-calculator","ceiling-fan-size-calculator","dehumidifier-size-calculator","electricity-cost-calculator","concrete-cost-calculator","baluster-spacing-calculator","window-replacement-cost-calculator","exterior-paint-cost-calculator","shower-tile-calculator","retaining-wall-cost-calculator","renovation-cost-calculator","kitchen-remodel-cost-calculator","bathroom-remodel-cost-calculator","siding-cost-calculator","gutter-cost-calculator","french-drain-calculator","rainwater-collection-calculator","irrigation-runtime-calculator","native-plant-spacing-calculator","raised-bed-soil-mix-calculator","permeable-paver-calculator","pool-pump-turnover-calculator","board-and-batten-calculator","ev-charging-calculator","home-battery-runtime-calculator","solar-panel-calculator","generator-size-calculator","tv-size-calculator","curtain-size-calculator","rug-size-calculator","picture-spacing-calculator","recessed-lighting-calculator","solar-panel-cost-calculator","room-ac-btu-calculator","soffit-calculator","attic-ventilation-calculator","pond-liner-calculator"]}}],"get":{"operationId":"getCalculatorDefinition","summary":"Get a formula, inputs, guidance and default result","tags":["Calculators"],"responses":{"200":{"description":"Complete machine-readable calculator definition","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculatorDefinition"}}}},"404":{"description":"Calculator not found"}}},"post":{"operationId":"calculateEstimate","summary":"Calculate an estimate using supplied numeric inputs","description":"Send any subset of the calculator's documented input fields. Omitted fields use the visible defaults; supplied values are constrained to documented minimums and maximums.","tags":["Calculators"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["inputs"],"additionalProperties":false,"properties":{"inputs":{"type":"object","additionalProperties":{"type":"number"}}}},"example":{"inputs":{"length":12,"width":10,"thickness":4,"waste":10}}}}},"responses":{"200":{"description":"Normalized inputs and calculated planning result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculationResponse"}}}},"400":{"description":"Invalid JSON or missing inputs object"},"404":{"description":"Calculator not found"},"413":{"description":"Request body is too large"},"422":{"description":"A supplied input is not a finite number"}}},"options":{"operationId":"calculatorCorsOptions","summary":"Inspect cross-origin request support","tags":["Calculators"],"responses":{"204":{"description":"CORS preflight accepted"}}}}},"components":{"schemas":{"CatalogCategory":{"type":"object","required":["id","name","description","url"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"url":{"type":"string","format":"uri"}}},"ProjectGuideSummary":{"type":"object","required":["id","name","description","url","calculatorIds"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"url":{"type":"string","format":"uri"},"calculatorIds":{"type":"array","items":{"type":"string"}}}},"CalculatorSummary":{"type":"object","required":["id","name","category","primaryKeyword","description","url","jsonUrl"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"category":{"type":"string"},"primaryKeyword":{"type":"string"},"description":{"type":"string"},"url":{"type":"string","format":"uri"},"jsonUrl":{"type":"string","format":"uri"}}},"CalculatorDefinition":{"type":"object","required":["id","name","shortName","canonicalUrl","catalogUrl","category","language","audience","primaryKeyword","secondaryKeywords","description","directAnswer","inputs","formula","measurementGuide","buyingTips","workedExample","commonQuestions","sources","defaultCalculation","reviewedOn","disclaimer"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"shortName":{"type":"string"},"canonicalUrl":{"type":"string","format":"uri"},"catalogUrl":{"type":"string","format":"uri"},"category":{"$ref":"#/components/schemas/CategoryReference"},"language":{"type":"string","const":"en-US"},"audience":{"type":"string"},"primaryKeyword":{"type":"string"},"secondaryKeywords":{"type":"array","items":{"type":"string"}},"description":{"type":"string"},"directAnswer":{"type":"string"},"inputs":{"type":"array","items":{"$ref":"#/components/schemas/CalculatorInput"}},"formula":{"$ref":"#/components/schemas/CalculatorFormula"},"measurementGuide":{"type":"array","items":{"type":"string"}},"buyingTips":{"type":"array","items":{"type":"string"}},"workedExample":{"$ref":"#/components/schemas/WorkedExample"},"commonQuestions":{"type":"array","items":{"$ref":"#/components/schemas/QuestionAnswer"}},"sources":{"type":"array","items":{"$ref":"#/components/schemas/CalculatorSource"}},"defaultCalculation":{"$ref":"#/components/schemas/DefaultCalculation"},"reviewedOn":{"type":"string","format":"date"},"disclaimer":{"type":"string"}}},"CategoryReference":{"type":"object","required":["id","name","url"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"url":{"type":"string","format":"uri"}}},"CalculatorInput":{"type":"object","required":["key","label","unit","defaultValue"],"properties":{"key":{"type":"string"},"label":{"type":"string"},"unit":{"type":"string"},"defaultValue":{"type":"number"},"min":{"type":"number"},"max":{"type":"number"},"step":{"type":"number"},"help":{"type":"string"}}},"CalculatorFormula":{"type":"object","required":["title","expression","explanation"],"properties":{"title":{"type":"string"},"expression":{"type":"string"},"explanation":{"type":"string"}}},"WorkedExample":{"type":"object","required":["title","scenario","result"],"properties":{"title":{"type":"string"},"scenario":{"type":"string"},"result":{"type":"string"}}},"QuestionAnswer":{"type":"object","required":["question","answer"],"properties":{"question":{"type":"string"},"answer":{"type":"string"}}},"CalculatorSource":{"type":"object","required":["name","url","note"],"properties":{"name":{"type":"string"},"url":{"type":"string","format":"uri"},"note":{"type":"string"}}},"CalculationLine":{"type":"object","required":["label","value"],"properties":{"label":{"type":"string"},"value":{"type":"string"}}},"CalculationResult":{"type":"object","required":["value","unit","label","lines","summary"],"properties":{"value":{"type":"string"},"unit":{"type":"string"},"label":{"type":"string"},"lines":{"type":"array","items":{"$ref":"#/components/schemas/CalculationLine"}},"summary":{"type":"string"},"note":{"type":"string"}}},"CalculationResponse":{"type":"object","required":["id","name","canonicalUrl","normalizedInputs","result","reviewedOn","disclaimer"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"canonicalUrl":{"type":"string","format":"uri"},"normalizedInputs":{"type":"object","additionalProperties":{"type":"number"}},"result":{"$ref":"#/components/schemas/CalculationResult"},"reviewedOn":{"type":"string","format":"date"},"disclaimer":{"type":"string"}}},"DefaultCalculation":{"type":"object","required":["inputs","result"],"properties":{"inputs":{"type":"object","additionalProperties":{"type":"number"}},"result":{"$ref":"#/components/schemas/CalculationResult"}}}}},"x-calcurhome-calculator-count":105,"x-calcurhome-discovery":{"conciseReference":"https://calcurhome.com/llms.txt","expandedReference":"https://calcurhome.com/llms-full.txt","calculatorCatalog":"https://calcurhome.com/api/calculators","methodology":"https://calcurhome.com/methodology","editorialStandards":"https://calcurhome.com/editorial-standards"},"x-calcurhome-authority-boundary":"Planning estimates only. Preserve returned units, notes and disclaimers, and verify products, supplier quantities, site conditions, local requirements and professional decisions independently."}