{"openapi":"3.1.0","info":{"title":"Froude Number API","version":"1.0.0","description":"Froude-number hydrodynamics as an API, computed locally and deterministically. The number endpoint computes the Froude number Fr = v/√(g·L) — the dimensionless ratio of inertial to gravitational forces — from a velocity and a characteristic length, classifies the flow as subcritical (Fr<1, tranquil), critical (Fr=1) or supercritical (Fr>1, rapid), and returns the critical velocity √(g·L) at which Fr=1; the velocity endpoint inverts it to v = Fr·√(g·L). The channel endpoint gives the open-channel Froude number from a flow velocity and depth, the flow regime, and the critical depth y_c = (q²/g)^(1/3) for the unit discharge q = v·y — the boundary between tranquil and shooting flow used in spillway and weir design. The hull-speed endpoint computes the displacement hull speed of a boat from its waterline length, v = 1.34·√(L_wl in ft) knots, the wave-making speed limit where the bow and stern waves equal the hull length, returned in knots, m/s and km/h with the corresponding Froude number — a 10 m waterline gives about 7.7 knots. Gravity defaults to 9.80665 m/s². Everything is computed locally and deterministically, so it is instant and private. Ideal for naval-architecture, marine, hydraulics, civil-engineering, river-modelling and fluid-mechanics-education app developers, spillway, weir and hull-design tools, and simulation software. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 4 endpoints. This is the Froude number and flow regime; for Manning open-channel discharge use a Manning API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/froude-api","description":"oanor gateway"}],"tags":[{"name":"Froude"},{"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/channel":{"get":{"operationId":"get_v1_channel","tags":["Froude"],"summary":"Open-channel Froude & critical depth","description":"","parameters":[{"name":"velocity","in":"query","required":true,"description":"Flow velocity (m/s)","schema":{"type":"string"},"example":"3"},{"name":"depth","in":"query","required":true,"description":"Flow depth y (m)","schema":{"type":"string"},"example":"0.5"},{"name":"gravity","in":"query","required":false,"description":"Gravity (m/s²)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Open-channel Froude Fr = v/√(g·y) with flow depth y (rectangular). Critical depth y_c = (q²/g)^(1/3) for unit discharge q = v·y; flow is subcritical when y>y_c, supercritical when y<y_c.","inputs":{"depth":0.5,"gravity":9.80665,"velocity":3},"regime":"supercritical","froude_number":1.35480227,"critical_depth_m":0.612191,"unit_discharge_m2_s":1.5},"meta":{"timestamp":"2026-06-05T19:50:28.386Z","request_id":"d9b0eafa-a0f9-4153-87c5-7deffd8e0298"},"status":"ok","message":"Open-channel Froude","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/hull-speed":{"get":{"operationId":"get_v1_hull_speed","tags":["Froude"],"summary":"Displacement hull speed","description":"","parameters":[{"name":"waterline_length","in":"query","required":false,"description":"Waterline length (m)","schema":{"type":"string"},"example":"10"},{"name":"waterline_length_ft","in":"query","required":false,"description":"Waterline length (ft)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Displacement hull speed v = 1.34·√(L_wl in ft) knots — the speed where the bow and stern waves equal the hull length (Fr≈0.4). A 10 m waterline gives ≈7.7 knots.","inputs":{"waterline_length_m":10},"froude_number":0.398726,"hull_speed_ms":3.9485,"hull_speed_kmh":14.2147,"hull_speed_knots":7.6753},"meta":{"timestamp":"2026-06-05T19:50:28.509Z","request_id":"64a2a221-61eb-4bfe-8eea-8fe86257abde"},"status":"ok","message":"Hull speed","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/number":{"get":{"operationId":"get_v1_number","tags":["Froude"],"summary":"Froude number & regime","description":"","parameters":[{"name":"velocity","in":"query","required":true,"description":"Velocity (m/s)","schema":{"type":"string"},"example":"2"},{"name":"length","in":"query","required":true,"description":"Characteristic length L (m)","schema":{"type":"string"},"example":"1"},{"name":"gravity","in":"query","required":false,"description":"Gravity (m/s², default 9.80665)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Fr = v/√(g·L). Fr<1 subcritical (tranquil), Fr=1 critical, Fr>1 supercritical (rapid). The critical velocity √(g·L) is the speed at which Fr=1.","inputs":{"length":1,"gravity":9.80665,"velocity":2},"regime":"subcritical","froude_number":0.63865991,"critical_velocity_ms":3.131557},"meta":{"timestamp":"2026-06-05T19:50:28.614Z","request_id":"8f7b7590-302b-4190-8b88-6c17c8271c8c"},"status":"ok","message":"Froude number","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/velocity":{"get":{"operationId":"get_v1_velocity","tags":["Froude"],"summary":"Velocity from Froude","description":"","parameters":[{"name":"froude","in":"query","required":true,"description":"Froude number","schema":{"type":"string"},"example":"1"},{"name":"length","in":"query","required":true,"description":"Characteristic length L (m)","schema":{"type":"string"},"example":"0.5"},{"name":"gravity","in":"query","required":false,"description":"Gravity (m/s²)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"v = Fr·√(g·L).","inputs":{"froude":1,"length":0.5,"gravity":9.80665},"regime":"critical","velocity_ms":2.214345,"velocity_kmh":7.9716},"meta":{"timestamp":"2026-06-05T19:50:28.723Z","request_id":"e9490961-4dab-4ce2-bbb9-d8e13283a3e4"},"status":"ok","message":"Velocity from Froude","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":"SI (m, m/s, g=9.80665 m/s²). Fr = v/√(g·L). This is the Froude number and regime; for Manning open-channel discharge use a Manning API.","service":"froude-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/number":"Froude number and regime from a velocity and characteristic length.","GET /v1/channel":"Open-channel Froude number, regime and critical depth.","GET /v1/velocity":"Velocity from a Froude number and length.","GET /v1/hull-speed":"Displacement hull speed from waterline length."},"description":"Froude number: flow regime, open-channel critical depth, and displacement hull speed."},"meta":{"timestamp":"2026-06-05T19:50:28.821Z","request_id":"1eadddb0-371d-4c08-957c-785942a595c2"},"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":4700,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":550,"monthly_call_quota":47000,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1550,"monthly_call_quota":218000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":4800,"monthly_call_quota":1260000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/froude-api"}