{"openapi":"3.1.0","info":{"title":"Rotational Grazing API","version":"1.0.0","description":"Rotational-grazing maths as an API, computed locally and deterministically — the animal-unit, grazing-day and acreage numbers a rancher or homesteader moves a herd by. It all hangs on the animal unit: a 1000-pound cow eating about 26 pounds of dry matter a day. The animalunits endpoint converts a mixed herd to that common basis — a cow is 1.0 AU, a cow-calf pair 1.3, a horse 1.25, a sheep 0.2, a goat 0.17 — so ten cows and fifty sheep are 20 AU demanding 520 pounds of forage a day; pass a weight instead and it scales by weight ÷ 1000. The days endpoint works out how long a paddock lasts: grazing days = (acres × forage per acre × utilization) ÷ (animal units × 26), where the classic “take half, leave half” puts utilization near 50 %, so five acres yielding 3,000 lb at 50 % feeds 10 AU for about 29 days. The acres endpoint sizes the paddock the other way — acres = (AU × 26 × days) ÷ (forage × utilization) — so 20 AU for a 30-day move needs about 10.4 acres. Everything is computed locally and deterministically, so it is instant and private. Ideal for ranching, regenerative-agriculture, homesteading and farm-management app developers, paddock-planner and stocking-rate tools, and grazing-chart software. Pure local computation — no key, no third-party service, instant. US units; forage yield varies with season — measure it. Live, nothing stored. 3 compute endpoints.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/grazing-api","description":"oanor gateway"}],"tags":[{"name":"Grazing"},{"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/acres":{"get":{"operationId":"get_v1_acres","tags":["Grazing"],"summary":"Acreage for a herd & period","description":"","parameters":[{"name":"animal_units","in":"query","required":true,"description":"Herd animal units","schema":{"type":"string"},"example":"20"},{"name":"days","in":"query","required":true,"description":"Grazing days","schema":{"type":"string"},"example":"30"},{"name":"forage_lb_per_acre","in":"query","required":true,"description":"Standing forage (lb DM/acre)","schema":{"type":"string"},"example":"3000"},{"name":"utilization_percent","in":"query","required":false,"description":"Utilization % (default 50)","schema":{"type":"string"},"example":"50"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"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/animalunits":{"get":{"operationId":"get_v1_animalunits","tags":["Grazing"],"summary":"Herd → animal units","description":"","parameters":[{"name":"herd","in":"query","required":false,"description":"Comma list 'type:count' (cow, sheep, goat, horse, …)","schema":{"type":"string"},"example":"cow:10,sheep:50"},{"name":"weight_lb","in":"query","required":false,"description":"Animal weight (lb) instead of a herd","schema":{"type":"string"}},{"name":"count","in":"query","required":false,"description":"Number of animals (with weight_lb)","schema":{"type":"string"},"example":"1"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"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/days":{"get":{"operationId":"get_v1_days","tags":["Grazing"],"summary":"Grazing days for a paddock","description":"","parameters":[{"name":"acres","in":"query","required":true,"description":"Paddock size (acres)","schema":{"type":"string"},"example":"5"},{"name":"forage_lb_per_acre","in":"query","required":true,"description":"Standing forage (lb DM/acre)","schema":{"type":"string"},"example":"3000"},{"name":"animal_units","in":"query","required":true,"description":"Herd animal units","schema":{"type":"string"},"example":"10"},{"name":"utilization_percent","in":"query","required":false,"description":"Utilization % (default 50)","schema":{"type":"string"},"example":"50"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"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"},"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":6440,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":433,"monthly_call_quota":53600,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1202,"monthly_call_quota":224200,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":3850,"monthly_call_quota":1308000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/grazing-api"}