{"openapi":"3.1.0","info":{"title":"Landscaping Material API","version":"1.0.0","description":"Landscaping material estimating as an API — the \"how much mulch, soil or gravel do I need\" maths, computed locally and deterministically. The coverage endpoint works out the volume to cover an area at a depth — in cubic yards, cubic metres, cubic feet and litres — and, given a material or a custom bulk density, the weight in US tons, tonnes and kilograms, plus the number of bags for a given bag size. The area can be entered directly or as a rectangular, circular or triangular bed, and depth in inches, centimetres, feet or metres. The depth endpoint is the inverse: it works out the depth that an available volume (or a number of bags) gives over an area — handy when you already have a load of material. The material endpoint is a reference of typical bulk densities (mulch, compost, topsoil, gravel, sand) and how much area one cubic yard covers at 1 to 4 inch depths. Everything is computed locally and deterministically, so it is instant and private. Densities are typical values and bulk material varies with moisture and compaction, so order around 5–10% extra. Ideal for landscaping and garden-centre tools, hardscaping and bulk-material retailers, and DIY and yard-project planners. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is landscaping-material estimating; for paint, tiles, concrete and bricks use a construction-calculator API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/landscape-api","description":"oanor gateway"}],"tags":[{"name":"Landscape"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/coverage":{"get":{"operationId":"get_v1_coverage","tags":["Landscape"],"summary":"Material volume, weight & bags","description":"","parameters":[{"name":"area","in":"query","required":false,"description":"Area (or shape+dims)","schema":{"type":"string"},"example":"100"},{"name":"area_unit","in":"query","required":false,"description":"sqft|sqm","schema":{"type":"string"},"example":"sqft"},{"name":"shape","in":"query","required":false,"description":"rectangle|circle|triangle","schema":{"type":"string"}},{"name":"length","in":"query","required":false,"description":"Length","schema":{"type":"string"}},{"name":"width","in":"query","required":false,"description":"Width","schema":{"type":"string"}},{"name":"depth","in":"query","required":true,"description":"Depth","schema":{"type":"string"},"example":"3"},{"name":"depth_unit","in":"query","required":false,"description":"in|cm|ft|m (default in)","schema":{"type":"string"},"example":"in"},{"name":"material","in":"query","required":false,"description":"mulch|topsoil|gravel|sand|compost","schema":{"type":"string"},"example":"gravel"},{"name":"density_lb_ft3","in":"query","required":false,"description":"Or custom density","schema":{"type":"string"}},{"name":"bag_cuft","in":"query","required":false,"description":"Bag size (ft³) for bag count","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Volume = area × depth. Weight uses a typical bulk density; bulk material varies with moisture and compaction.","input":{"area_ft2":100,"depth_ft":0.25},"volume":{"litres":707.9,"cubic_feet":25,"cubic_yards":0.926,"cubic_metres":0.708},"weight":{"kg":1134,"lb":2500,"tonnes":1.134,"us_tons":1.25},"material":"gravel","density_lb_ft3":100},"meta":{"timestamp":"2026-06-03T17:41:56.902Z","request_id":"ed0f9c7c-5e30-451f-a8a4-5ccc0caf549b"},"status":"ok","message":"Material coverage","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/depth":{"get":{"operationId":"get_v1_depth","tags":["Landscape"],"summary":"Depth from available volume","description":"","parameters":[{"name":"area","in":"query","required":false,"description":"Area (or shape+dims)","schema":{"type":"string"},"example":"100"},{"name":"area_unit","in":"query","required":false,"description":"sqft|sqm","schema":{"type":"string"},"example":"sqft"},{"name":"cubic_yards","in":"query","required":false,"description":"Available yd³","schema":{"type":"string"},"example":"1"},{"name":"cubic_metres","in":"query","required":false,"description":"Or m³","schema":{"type":"string"}},{"name":"cubic_feet","in":"query","required":false,"description":"Or ft³","schema":{"type":"string"}},{"name":"bags","in":"query","required":false,"description":"Or bags","schema":{"type":"string"}},{"name":"bag_cuft","in":"query","required":false,"description":"With bag size ft³","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Depth = available volume ÷ area. Spread evenly for this depth.","input":{"area_ft2":100,"available_cubic_feet":27},"depth_cm":8.23,"depth_ft":0.27,"depth_inches":3.24},"meta":{"timestamp":"2026-06-03T17:41:56.998Z","request_id":"8f90e5f7-6d56-43aa-9b82-c269224df02b"},"status":"ok","message":"Depth from volume","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/material":{"get":{"operationId":"get_v1_material","tags":["Landscape"],"summary":"Material density reference","description":"","parameters":[{"name":"material","in":"query","required":false,"description":"One material, or omit for all","schema":{"type":"string"},"example":"gravel"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"1 yd³ = 27 ft³. yd3_covers_sqft shows the area one cubic yard covers at each depth.","material":"gravel","tonnes_per_m3":1.602,"density_lb_ft3":100,"us_tons_per_yd3":1.35,"yd3_covers_sqft":{"1in":324,"2in":162,"3in":108,"4in":81}},"meta":{"timestamp":"2026-06-03T17:41:57.123Z","request_id":"3dc7c803-6901-465d-9138-98a4b5d158ef"},"status":"ok","message":"Material reference","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Spec","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Densities are typical values; bulk material varies with moisture and compaction — order ~5–10% extra.","service":"landscape","endpoints":{"/v1/depth":"Inverse: the depth an available volume (or bag count) gives over an area.","/v1/coverage":"Volume (yd³/m³/ft³), weight (tons/tonnes/kg) and bags to cover an area at a depth.","/v1/material":"Density reference and how much area one cubic yard covers at 1–4 inch depths."},"materials":["mulch","compost","topsoil","gravel","sand"],"description":"Landscaping material maths: volume, weight and bags to cover an area at a depth, the inverse depth, and a material density reference."},"meta":{"timestamp":"2026-06-03T17:41:57.200Z","request_id":"c78fa791-237a-4d68-88fb-f5b49f0b8394"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":9935,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":1145,"monthly_call_quota":19550,"rps_limit":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":3135,"monthly_call_quota":245500,"rps_limit":20,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":6935,"monthly_call_quota":1270000,"rps_limit":50,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/landscape-api"}