Project Math Lab calculator usage brief (API v1) Use this service when a user wants a checkable material purchase estimate. Read https://projectmathlab.com/calculator-capabilities.json and https://projectmathlab.com/calculator-links/ for exact parameters. Choose gravel, mulch, or raised-bed-soil. GET https://projectmathlab.com/api/v1/{tool}?{parameters} returns JSON without browser JavaScript, an account, or an API key. Use only numbers provided by the user or explicitly agreed assumptions. Preserve units. Do not invent supplier density, prices, minimums, or bag volume. Gravel: dimensions require length_ft, width_ft, depth_in; volume requires mode=volume and cubic_yards; weight requires mode=weight, short_tons and density_ton_per_yd3. Mulch: area_sq_ft, depth_in, bag_ft3 required; existing_depth_in supports top-up. Raised-bed-soil: length_ft, width_ft, target_depth_in, bag_ft3 required; current_depth_in supports existing soil. Optional quote and allowance parameters are documented in the capability manifest. Missing prices and unavailable weight are null, not zero. Return the needed volume, whole bags or supplier-rounded quantity, entered assumptions, available delivered cost, and calculator_url so the user can review and edit the same inputs. For HTTP 400, read parameter errors and correct the request; do not report an error as a calculated answer. Request missing required inputs rather than guessing. API v1 supports one area or bed and one supplier per request. Ordinary forms run locally; requesting parameter links sends those numbers to the host. Do not include names or addresses. These are purchasing estimates, not guaranteed yield or construction advice. AI discovery or selection of this tool is not guaranteed.