{"openapi":"3.1.0","info":{"title":"Aircraft Fuel Planning API","version":"1.0.0","description":"Aircraft fuel-planning maths as an API, computed locally and deterministically — the endurance, range and fuel-required numbers a pilot, dispatcher or flight-sim developer plans a flight with, all honouring a reserve. The endurance endpoint gives how long you can fly = usable fuel ÷ burn rate, holding back a reserve (30 min day / 45 min night VFR, 45 min IFR is typical), so the usable endurance is the time you can actually plan to rather than the tanks-dry figure — 50 gallons at 10 gph is 5:00 total but 4:15 usable on a 45-minute reserve. The range endpoint turns that into distance = usable endurance × ground speed, so it lives or dies on the wind: a headwind cuts the ground speed and the range while burning the same fuel per hour, which is why you plan on the forecast ground speed, not the true airspeed. The fuel-required endpoint sizes the load for a leg = trip time × burn plus the reserve — 300 nm at 120 kt and 10 gph needs 25 gallons of trip fuel plus 7.5 reserve, 32.5 total — to which a real flight adds taxi and climb allowances. Everything is computed locally and deterministically, so it is instant and private. Ideal for flight-planning and EFB apps, dispatch and flight-school tools, flight-simulator utilities, and general-aviation calculators. Pure local computation — no key, no third-party service, instant. Add taxi/climb and a personal margin; confirm against tank capacity and weight-and-balance. 3 compute endpoints. For glide range use a glide-ratio API; for density altitude a density-altitude API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/fuelburn-api","description":"oanor gateway"}],"tags":[{"name":"Fuel"},{"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/endurance":{"get":{"operationId":"get_v1_endurance","tags":["Fuel"],"summary":"Endurance from fuel and burn","description":"","parameters":[{"name":"fuel_gal","in":"query","required":true,"description":"Usable fuel (US gallons)","schema":{"type":"string"},"example":"50"},{"name":"burn_gph","in":"query","required":true,"description":"Fuel burn (gallons/hour)","schema":{"type":"string"},"example":"10"},{"name":"reserve_min","in":"query","required":false,"description":"Reserve (minutes, default 45)","schema":{"type":"string"},"example":"45"}],"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/fuel-required":{"get":{"operationId":"get_v1_fuel_required","tags":["Fuel"],"summary":"Fuel required for a trip","description":"","parameters":[{"name":"distance_nm","in":"query","required":true,"description":"Distance (nautical miles)","schema":{"type":"string"},"example":"300"},{"name":"ground_speed_kt","in":"query","required":true,"description":"Ground speed (knots)","schema":{"type":"string"},"example":"120"},{"name":"burn_gph","in":"query","required":true,"description":"Fuel burn (gallons/hour)","schema":{"type":"string"},"example":"10"},{"name":"reserve_min","in":"query","required":false,"description":"Reserve (minutes, default 45)","schema":{"type":"string"},"example":"45"}],"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/range":{"get":{"operationId":"get_v1_range","tags":["Fuel"],"summary":"Range from fuel, burn and ground speed","description":"","parameters":[{"name":"fuel_gal","in":"query","required":true,"description":"Usable fuel (US gallons)","schema":{"type":"string"},"example":"50"},{"name":"burn_gph","in":"query","required":true,"description":"Fuel burn (gallons/hour)","schema":{"type":"string"},"example":"10"},{"name":"ground_speed_kt","in":"query","required":true,"description":"Ground speed (knots)","schema":{"type":"string"},"example":"120"},{"name":"reserve_min","in":"query","required":false,"description":"Reserve (minutes, default 45)","schema":{"type":"string"},"example":"45"}],"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":6300,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":1130,"monthly_call_quota":64000,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":3580,"monthly_call_quota":259000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":11050,"monthly_call_quota":1330000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/fuelburn-api"}