{"openapi":"3.1.0","info":{"title":"Ideal Body Weight API","version":"1.0.0","description":"Ideal body weight and clinical body-metric maths as an API, computed locally and deterministically. The ideal endpoint computes ideal body weight from height and sex by the four standard formulas — Devine (the clinical standard for drug dosing), Robinson, Miller and Hamwi — each adding a per-inch increment for every inch above 5 ft, plus their average; a 5 ft 10 in (178 cm) man comes out at 73.0 kg by Devine. The adjusted endpoint computes the adjusted body weight used to dose drugs in overweight patients, ABW = IBW + 0.4·(actual − IBW), from height, sex and actual weight. The bsa endpoint computes body surface area — central to chemotherapy and cardiac-index dosing — by the Mosteller (√(height·weight/3600)), Du Bois and Haycock formulas, so a 180 cm, 80 kg adult is about 2.0 m². Height is accepted in centimetres or inches and weight in kilograms. Everything is computed locally and deterministically, so it is instant and private. Ideal for digital-health, EHR, pharmacy, clinical-decision-support, telemedicine and medical-education app developers, dosing and body-metric tools, and health software. These are clinical estimation formulas, not a substitute for professional medical judgement. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is ideal/adjusted weight and body surface area; for body-mass index use a BMI API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/idealweight-api","description":"oanor gateway"}],"tags":[{"name":"BodyWeight"},{"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/adjusted":{"get":{"operationId":"get_v1_adjusted","tags":["BodyWeight"],"summary":"Adjusted body weight","description":"","parameters":[{"name":"height_cm","in":"query","required":false,"description":"Height (cm)","schema":{"type":"string"},"example":"178"},{"name":"height_inches","in":"query","required":false,"description":"Height (inches)","schema":{"type":"string"}},{"name":"sex","in":"query","required":true,"description":"male or female","schema":{"type":"string"},"example":"male"},{"name":"weight_kg","in":"query","required":true,"description":"Actual weight (kg)","schema":{"type":"string"},"example":"100"},{"name":"factor","in":"query","required":false,"description":"Correction factor (default 0.4)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Adjusted body weight ABW = IBW + factor·(actual − IBW), with the Devine IBW and a default correction factor of 0.4, used for drug dosing when actual weight exceeds ideal.","inputs":{"sex":"male","factor":0.4,"height_cm":178,"weight_kg":100},"ideal_body_weight_kg":73.181,"adjusted_body_weight_kg":83.909},"meta":{"timestamp":"2026-06-05T19:50:24.992Z","request_id":"58a0bd8d-ef94-4b93-8670-d0a1d67694b0"},"status":"ok","message":"Adjusted body weight","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/bsa":{"get":{"operationId":"get_v1_bsa","tags":["BodyWeight"],"summary":"Body surface area","description":"","parameters":[{"name":"height_cm","in":"query","required":false,"description":"Height (cm)","schema":{"type":"string"},"example":"180"},{"name":"height_inches","in":"query","required":false,"description":"Height (inches)","schema":{"type":"string"}},{"name":"weight_kg","in":"query","required":true,"description":"Weight (kg)","schema":{"type":"string"},"example":"80"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Body surface area. Mosteller = √(height_cm·weight_kg/3600); Du Bois = 0.007184·cm^0.725·kg^0.425. A 180 cm, 80 kg adult is ≈2.0 m². Used for chemotherapy and cardiac-index dosing.","inputs":{"height_cm":180,"weight_kg":80},"du_bois_m2":1.9964,"haycock_m2":2.0066,"mosteller_m2":2},"meta":{"timestamp":"2026-06-05T19:50:25.069Z","request_id":"6d866726-631d-432e-a6db-1b1bff9cebe7"},"status":"ok","message":"Body surface area","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/ideal":{"get":{"operationId":"get_v1_ideal","tags":["BodyWeight"],"summary":"Ideal body weight","description":"","parameters":[{"name":"height_cm","in":"query","required":false,"description":"Height (cm)","schema":{"type":"string"},"example":"178"},{"name":"height_inches","in":"query","required":false,"description":"Height (inches)","schema":{"type":"string"}},{"name":"sex","in":"query","required":true,"description":"male or female","schema":{"type":"string"},"example":"male"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Ideal body weight formulas (Devine is the clinical standard for drug dosing). Each adds a per-inch increment for every inch of height above 5 ft (60 in). Devine ♂ at 5'10\" (70 in) = 73.0 kg.","inputs":{"sex":"male","height_cm":178},"hamwi_kg":75.213,"devine_kg":73.181,"miller_kg":70.411,"average_kg":72.489,"robinson_kg":71.15},"meta":{"timestamp":"2026-06-05T19:50:25.162Z","request_id":"4714aed1-c333-4f55-98e0-92e64cbe5261"},"status":"ok","message":"Ideal body weight","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":"Height in cm or inches, weight in kg. Clinical estimation formulas — not a substitute for professional medical judgement. For body-mass index use a BMI API.","service":"idealweight-api","endpoints":{"GET /v1/bsa":"Body surface area from height and weight.","GET /v1/meta":"This document.","GET /v1/ideal":"Ideal body weight by four formulas from height and sex.","GET /v1/adjusted":"Adjusted body weight for dosing from height, sex and actual weight."},"description":"Ideal body weight (Devine, Robinson, Miller, Hamwi), adjusted body weight for dosing, and body surface area (Mosteller, Du Bois, Haycock)."},"meta":{"timestamp":"2026-06-05T19:50:25.273Z","request_id":"c831492a-d9dd-429a-9147-0f45b118b7ea"},"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":4500,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":590,"monthly_call_quota":44000,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1750,"monthly_call_quota":210000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":5400,"monthly_call_quota":1240000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/idealweight-api"}