{"openapi":"3.1.0","info":{"title":"Child Height Predictor API","version":"1.0.0","description":"Predicted-adult-height maths as an API, computed locally and deterministically. The midparental endpoint applies the Tanner mid-parental method — for a boy (father + mother + 13)/2 and for a girl (father + mother − 13)/2 in centimetres — and returns the target height together with the ±8.5 cm range within which most children fall. The double endpoint uses the well-known rule of thumb that a child's adult height is about twice their height at age two. The remaining endpoint takes a child's current height and a predicted adult height (given directly or worked out from the parents) and returns the remaining growth and the percentage of adult height already reached. Everything is computed locally and deterministically, so it is instant and private. Ideal for parenting, paediatric and family-health app developers, growth-tracking and milestone tools, and wellness dashboards. Pure local computation — no key, no third-party service, instant. Live, nothing stored. Population estimates with wide individual variation — not medical advice. 3 endpoints. This is adult-height prediction; for BMI and body composition use a BMI API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/childheight-api","description":"oanor gateway"}],"tags":[{"name":"Height"},{"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/double":{"get":{"operationId":"get_v1_double","tags":["Height"],"summary":"Double-the-height-at-2","description":"","parameters":[{"name":"height_at_2","in":"query","required":true,"description":"Height at age 2 (cm)","schema":{"type":"string"},"example":"88"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"A common rule of thumb: adult height ≈ 2 × the height at age 2 (girls are often estimated from age 18 months). Approximate only.","inputs":{"height_at_2":88},"predicted_height_cm":176},"meta":{"timestamp":"2026-06-04T18:38:19.379Z","request_id":"17636020-4375-4453-9b61-bc86de8bad95"},"status":"ok","message":"Double-at-2 estimate","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/midparental":{"get":{"operationId":"get_v1_midparental","tags":["Height"],"summary":"Mid-parental height","description":"","parameters":[{"name":"father_height","in":"query","required":true,"description":"Father height (cm)","schema":{"type":"string"},"example":"180"},{"name":"mother_height","in":"query","required":true,"description":"Mother height (cm)","schema":{"type":"string"},"example":"165"},{"name":"sex","in":"query","required":true,"description":"boy/male | girl/female","schema":{"type":"string"},"example":"boy"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Mid-parental (Tanner): boy = (father + mother + 13)/2, girl = (father + mother − 13)/2. Most children land within ±8.5 cm.","inputs":{"sex":"male","father_height":180,"mother_height":165},"range_max_cm":187.5,"range_min_cm":170.5,"predicted_height_cm":179},"meta":{"timestamp":"2026-06-04T18:38:19.469Z","request_id":"1c75e9c5-987a-405f-8a74-5df57aa20a0d"},"status":"ok","message":"Mid-parental height","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/remaining":{"get":{"operationId":"get_v1_remaining","tags":["Height"],"summary":"Remaining growth","description":"","parameters":[{"name":"current_height","in":"query","required":true,"description":"Current height (cm)","schema":{"type":"string"},"example":"150"},{"name":"predicted_height","in":"query","required":false,"description":"Predicted adult height (cm)","schema":{"type":"string"},"example":"179"},{"name":"father_height","in":"query","required":false,"description":"Or father height (cm)","schema":{"type":"string"}},{"name":"mother_height","in":"query","required":false,"description":"and mother height (cm)","schema":{"type":"string"}},{"name":"sex","in":"query","required":false,"description":"and sex","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Remaining = predicted − current; percent of adult height reached = current/predicted. Growth slows toward the end and stops after puberty.","inputs":{"current_height":150,"predicted_height":179},"remaining_growth_cm":29,"percent_of_adult_height":83.8},"meta":{"timestamp":"2026-06-04T18:38:19.570Z","request_id":"971c2a4e-eddd-493e-8d0c-3c6ab423c804"},"status":"ok","message":"Remaining growth","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":"Heights in cm. These are population estimates with wide individual variation — not medical or growth-disorder advice.","service":"childheight-api","formulae":{"double":"2 × height at age 2","remaining":"predicted − current","midparental_boy":"(father + mother + 13)/2","midparental_girl":"(father + mother − 13)/2"},"endpoints":{"GET /v1/meta":"This document.","GET /v1/double":"Adult-height estimate as twice the height at age 2.","GET /v1/remaining":"Remaining growth and percent of adult height reached from a current height.","GET /v1/midparental":"Mid-parental target height from the parents' heights and the child's sex, with the ±8.5 cm range."},"description":"Predicted-adult-height calculator: mid-parental (Tanner) target height, the double-the-height-at-2 rule, and remaining growth from a current height."},"meta":{"timestamp":"2026-06-04T18:38:19.684Z","request_id":"d458f3b6-45c2-47f1-b7e3-09f38b0fb5b1"},"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":2000,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":400,"monthly_call_quota":20000,"rps_limit":5,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1100,"monthly_call_quota":120000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":3900,"monthly_call_quota":600000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/childheight-api"}