{"openapi":"3.1.0","info":{"title":"Animal Gestation API","version":"1.0.0","description":"Animal gestation and egg-incubation date maths as an API, computed locally and deterministically — the breeding and hatch calendar a farmer, breeder or vet works to. The gestation endpoint takes a species and a breeding date and returns the expected due date with the normal early-to-late window: due date = breeding date + the species' average gestation, so a cow bred on the 1st of January (283 days) calves around the 11th of October, a dog (63 days) whelps nine weeks later, a goat 150 days, a horse 340, a pig 114 — dozens of species from rabbit to camel to elephant, with an override for your own herd average. Give a target birth date instead and it works backwards to the date to breed. The incubation endpoint does the same for poultry and birds — chicken 21 days, duck 28, goose 30, quail 18, ostrich 42 and more — returning the hatch date, the lockdown date (stop turning and raise humidity ~3 days before hatch) and the day-7 and day-14 candling dates. Date arithmetic is exact, including leap years. Everything is computed locally and deterministically, so it is instant and private. Ideal for livestock, breeding, veterinary, farm-management and hatchery app developers, gestation-calculator and breeding-calendar tools, and agricultural education. Pure local computation — no key, no third-party service, instant. Dates as YYYY-MM-DD. Live, nothing stored. 2 compute endpoints. Averages, not a veterinary prediction.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/gestation-api","description":"oanor gateway"}],"tags":[{"name":"Gestation"},{"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/gestation":{"get":{"operationId":"get_v1_gestation","tags":["Gestation"],"summary":"Due date from breeding","description":"","parameters":[{"name":"species","in":"query","required":true,"description":"cattle, horse, goat, dog, pig, …","schema":{"type":"string"},"example":"cattle"},{"name":"breeding_date","in":"query","required":false,"description":"Breeding date YYYY-MM-DD","schema":{"type":"string"},"example":"2026-01-01"},{"name":"target_birth_date","in":"query","required":false,"description":"Or target birth date (reverse)","schema":{"type":"string"}},{"name":"gestation_days","in":"query","required":false,"description":"Override average days","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Due date = breeding date + gestation days. The earliest/latest span the normal ± window for the species; individual animals vary.","inputs":{"species":"cattle","breeding_date":"2026-01-01"},"due_date":"2026-10-11","due_weekday":"Sunday","latest_date":"2026-10-16","window_days":5,"earliest_date":"2026-10-06","gestation_days":283},"meta":{"timestamp":"2026-06-06T07:14:11.665Z","request_id":"c65a2499-d2f4-49ed-afa5-69d13b26498f"},"status":"ok","message":"Gestation due date","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/incubation":{"get":{"operationId":"get_v1_incubation","tags":["Gestation"],"summary":"Hatch date from set date","description":"","parameters":[{"name":"species","in":"query","required":true,"description":"chicken, duck, goose, quail, …","schema":{"type":"string"},"example":"chicken"},{"name":"set_date","in":"query","required":true,"description":"Set date YYYY-MM-DD","schema":{"type":"string"},"example":"2026-04-01"},{"name":"incubation_days","in":"query","required":false,"description":"Override average days","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Hatch = set date + incubation days. Lockdown (stop turning, raise humidity) is ~3 days before hatch; candle around day 7 and day 14 to check development.","inputs":{"species":"chicken","set_date":"2026-04-01"},"hatch_date":"2026-04-22","hatch_weekday":"Wednesday","lockdown_date":"2026-04-19","candling_day_7":"2026-04-08","candling_day_14":"2026-04-15","incubation_days":21},"meta":{"timestamp":"2026-06-06T07:14:11.749Z","request_id":"70f76315-aba4-4edf-8be9-cfc2ce196725"},"status":"ok","message":"Egg incubation","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 + species table","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"notes":"Dates as YYYY-MM-DD (UTC). Lengths are species averages; pass gestation_days/incubation_days to override. A planning aid, not a veterinary prediction.","service":"gestation-api","endpoints":{"GET /v1/meta":"This document (includes species and gestation/incubation lengths).","GET /v1/gestation":"Due date (and ± window) from species + breeding date, or the breeding date for a target birth.","GET /v1/incubation":"Hatch date, lockdown and candling days from a bird species + set date."},"description":"Animal gestation and egg-incubation maths: due and hatch dates from a breeding or set date for dozens of species.","gestation_days":{"cat":64,"cow":283,"dog":63,"ewe":147,"fox":52,"pig":114,"rat":22,"sow":114,"deer":200,"goat":150,"mare":340,"mink":50,"bison":285,"camel":390,"horse":340,"llama":350,"mouse":19,"sheep":147,"alpaca":345,"cattle":283,"donkey":365,"ferret":42,"rabbit":31,"buffalo":310,"hamster":16,"elephant":640,"guinea-pig":68},"incubation_days":{"emu":50,"duck":28,"swan":35,"goose":30,"quail":18,"canary":14,"parrot":26,"pigeon":18,"turkey":28,"chicken":21,"ostrich":42,"peacock":28,"peafowl":28,"pheasant":24,"partridge":24,"guinea-fowl":28,"guinea_fowl":28,"muscovy-duck":35}},"meta":{"timestamp":"2026-06-06T07:14:11.842Z","request_id":"f00c4972-26a9-48c5-be22-4471383bd8e7"},"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":6550,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":320,"monthly_call_quota":62500,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":890,"monthly_call_quota":250000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":2850,"monthly_call_quota":1430000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/gestation-api"}