{"openapi":"3.1.0","info":{"title":"Glide Ratio API","version":"1.0.0","description":"Aircraft glide-performance maths as an API, computed locally and deterministically — the glide-distance, glide-ratio and reachability numbers a pilot, flight-instructor or flight-sim developer works an engine-out or soaring problem with. The glide-distance endpoint gives the still-air distance you can cover = height above the ground × the glide ratio (L/D): from 5,000 ft at a 9:1 ratio you reach about 45,000 ft, ~7.4 nm, with the answer in feet, nautical miles and kilometres. The glide-ratio endpoint reads the slope straight off the polar — glide ratio = forward speed ÷ sink rate (1 knot ≈ 101.27 ft/min), so 60 kt at a 600 ft/min sink is about 10:1, a 5.6° glide path — and gliders reach 40–60:1, a light single ~9:1, an airliner ~17:1. The reach endpoint answers the practical question: the height needed to reach a field = distance ÷ glide ratio, the arrival height is what is left, and it only counts as making it if that clears a safety reserve (default 1,000 ft) for the circuit and approach. Everything is computed locally and deterministically, so it is instant and private. Ideal for flight-planning and EFB apps, gliding and soaring tools, flight-simulator and training utilities, and aviation-safety calculators. Pure local computation — no key, no third-party service, instant. Still-air estimates — adjust for wind, configuration and a margin. 3 compute endpoints. For density altitude use a density-altitude API; for runway wind components a crosswind API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/glideratio-api","description":"oanor gateway"}],"tags":[{"name":"Glide"},{"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/glide-distance":{"get":{"operationId":"get_v1_glide_distance","tags":["Glide"],"summary":"Glide distance from height and ratio","description":"","parameters":[{"name":"height_ft","in":"query","required":true,"description":"Height above landing point (ft)","schema":{"type":"string"},"example":"5000"},{"name":"glide_ratio","in":"query","required":true,"description":"Glide ratio (L/D)","schema":{"type":"string"},"example":"9"}],"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/glide-ratio":{"get":{"operationId":"get_v1_glide_ratio","tags":["Glide"],"summary":"Glide ratio from airspeed and sink","description":"","parameters":[{"name":"airspeed_kt","in":"query","required":true,"description":"Airspeed (knots)","schema":{"type":"string"},"example":"60"},{"name":"sink_rate_fpm","in":"query","required":true,"description":"Sink rate (ft/min)","schema":{"type":"string"},"example":"600"}],"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/reach":{"get":{"operationId":"get_v1_reach","tags":["Glide"],"summary":"Airfield reachability","description":"","parameters":[{"name":"height_ft","in":"query","required":true,"description":"Current height (ft)","schema":{"type":"string"},"example":"5000"},{"name":"glide_ratio","in":"query","required":true,"description":"Glide ratio (L/D)","schema":{"type":"string"},"example":"9"},{"name":"distance_nm","in":"query","required":true,"description":"Distance to field (nm)","schema":{"type":"string"},"example":"5"},{"name":"safety_height_ft","in":"query","required":false,"description":"Safety reserve (ft, default 1000)","schema":{"type":"string"},"example":"1000"}],"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":6100,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":1050,"monthly_call_quota":63000,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":3340,"monthly_call_quota":265000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":10100,"monthly_call_quota":1350000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/glideratio-api"}