{"openapi":"3.1.0","info":{"title":"Beekeeping API","version":"1.0.0","description":"Beekeeping and apiary maths as an API, computed locally and deterministically — the mite, brood and winter-stores numbers a beekeeper manages a hive with. The varroa endpoint turns an alcohol-wash or sugar-shake count into the infestation rate: mites per 100 bees = mite count ÷ bees sampled × 100, where a half-cup scoop is about 300 bees, and it flags when the colony crosses the treatment threshold (commonly 3 mites per 100 bees, or 3 %). The brood endpoint projects the development calendar from the day an egg is laid: it hatches around day 3, the cell is capped around day 8–10 and the adult emerges on day 16 for a queen, 21 for a worker and 24 for a drone — so a worker egg laid on the 1st emerges three weeks later. The stores endpoint sizes winter honey: how many kilograms the colony needs by climate (about 12 kg mild to 35 kg harsh), the equivalent full deep frames (~2.25 kg each), and the deficit and frames to feed against the current stores. Date arithmetic is exact. Everything is computed locally and deterministically, so it is instant and private. Ideal for beekeeping, apiary-management, homestead and agriculture app developers, hive-inspection and mite-monitoring tools, and beekeeping education. Pure local computation — no key, no third-party service, instant. Dates as YYYY-MM-DD; metric weights. Live, nothing stored. 3 compute endpoints. A planning aid — local conditions vary.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/apiary-api","description":"oanor gateway"}],"tags":[{"name":"Apiary"},{"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/brood":{"get":{"operationId":"get_v1_brood","tags":["Apiary"],"summary":"Brood development dates","description":"","parameters":[{"name":"caste","in":"query","required":false,"description":"queen, worker or drone","schema":{"type":"string"},"example":"worker"},{"name":"lay_date","in":"query","required":true,"description":"Egg-lay date YYYY-MM-DD","schema":{"type":"string"},"example":"2026-05-01"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"From the day the egg is laid: it hatches around day 3, the cell is capped around day 8–10, and the adult emerges on day 16 (queen), 21 (worker) or 24 (drone).","inputs":{"caste":"worker","lay_date":"2026-05-01"},"hatch_date":"2026-05-04","capped_date":"2026-05-10","emergence_date":"2026-05-22","emergence_days":21},"meta":{"timestamp":"2026-06-06T07:14:10.675Z","request_id":"c3bd7dcb-8a58-434b-99b3-741c1f1823ab"},"status":"ok","message":"Brood cycle","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/stores":{"get":{"operationId":"get_v1_stores","tags":["Apiary"],"summary":"Winter honey stores","description":"","parameters":[{"name":"climate","in":"query","required":false,"description":"mild, temperate, cold, harsh","schema":{"type":"string"},"example":"cold"},{"name":"honey_needed_kg","in":"query","required":false,"description":"Or target honey kg","schema":{"type":"string"}},{"name":"honey_per_frame_kg","in":"query","required":false,"description":"Honey per deep frame kg (default 2.25)","schema":{"type":"string"}},{"name":"current_stores_kg","in":"query","required":false,"description":"Current stores kg","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Winter stores depend on climate (~12 kg mild to ~35 kg harsh). A full deep frame holds ~2.25 kg of honey. Feed to close the deficit before it gets cold.","inputs":{"climate":"cold","honey_needed_kg":27,"current_stores_kg":0},"deficit_kg":27,"frames_to_add":12,"frames_of_honey":12,"honey_needed_kg":27},"meta":{"timestamp":"2026-06-06T07:14:10.763Z","request_id":"4025d84c-2d62-4879-bbd8-534ec29e7792"},"status":"ok","message":"Winter stores","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/varroa":{"get":{"operationId":"get_v1_varroa","tags":["Apiary"],"summary":"Varroa infestation %","description":"","parameters":[{"name":"mite_count","in":"query","required":true,"description":"Mites counted","schema":{"type":"string"},"example":"9"},{"name":"bees_sampled","in":"query","required":false,"description":"Bees in sample (default 300)","schema":{"type":"string"},"example":"300"},{"name":"threshold_percent","in":"query","required":false,"description":"Treatment threshold % (default 3)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Infestation % = mites ÷ bees sampled × 100. A half-cup scoop is ~300 bees. Most programs treat at ~3 mites per 100 bees (3%); act sooner before winter bees are reared.","inputs":{"mite_count":9,"bees_sampled":300},"threshold_percent":3,"mites_per_100_bees":3,"infestation_percent":3,"treatment_recommended":true,"estimated_mites_per_1000":30},"meta":{"timestamp":"2026-06-06T07:14:10.824Z","request_id":"a758560f-0f81-436c-b976-2606427c57da"},"status":"ok","message":"Varroa wash","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":{"notes":"Dates as YYYY-MM-DD. Sample ~300 bees for a wash. Caste emergence: queen 16 d, worker 21 d, drone 24 d. A planning aid — local conditions vary.","service":"apiary-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/brood":"Hatch, capping and emergence dates from the egg-lay date and caste.","GET /v1/stores":"Winter honey needed and frames from climate or a target, vs current stores.","GET /v1/varroa":"Infestation % and treatment threshold from a mite wash of a bee sample."},"description":"Beekeeping maths: varroa-mite infestation from a wash, brood development dates by caste, and winter honey stores."},"meta":{"timestamp":"2026-06-06T07:14:10.922Z","request_id":"c34c7dbf-98d8-4d38-90b7-dc579f76654a"},"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":7150,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":290,"monthly_call_quota":67000,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":810,"monthly_call_quota":262000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":2600,"monthly_call_quota":1490000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/apiary-api"}