{"openapi":"3.1.0","info":{"title":"Open Channel Flow API","version":"1.0.0","description":"Open-channel flow maths as an API, computed locally and deterministically with the Manning equation. The flow endpoint computes the discharge and velocity of water in an open channel — rectangular, trapezoidal, triangular or circular (a part-full pipe) — from the flow depth, the channel dimensions, the channel slope and the Manning roughness coefficient n: it works out the flow area, the wetted perimeter and the hydraulic radius, then applies Q = (1/n)·A·R^(2/3)·S^(1/2) and V = Q/A, reporting the discharge in cubic metres per second and hour, litres per second, cubic feet per second and US gallons per minute. The normal-depth endpoint reverses it: given a target discharge it solves for the normal depth by bisection and returns the resulting area, velocity and a discharge check. The roughness endpoint is a reference of typical Manning n values, from smooth PVC (0.009) and concrete (0.013) through earth and gravel to rocky natural streams (0.05); pass a material name or an explicit n. Dimensions are metric (metres by default, or cm, mm, ft, in). Everything is computed locally and deterministically, so it is instant and private. Ideal for civil and drainage engineering tools, stormwater and culvert design, irrigation and hydrology apps, and environmental modelling. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is open-channel (Manning) hydraulics; for full-pipe flow rate from diameter and velocity use a pipe-flow API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/manning-api","description":"oanor gateway"}],"tags":[{"name":"Channel"},{"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/flow":{"get":{"operationId":"get_v1_flow","tags":["Channel"],"summary":"Open-channel discharge & velocity","description":"","parameters":[{"name":"shape","in":"query","required":false,"description":"rectangular|trapezoidal|triangular|circular","schema":{"type":"string"},"example":"rectangular"},{"name":"depth","in":"query","required":true,"description":"Flow depth (y)","schema":{"type":"string"},"example":"1"},{"name":"width","in":"query","required":false,"description":"Rectangular width / trapezoid bottom width","schema":{"type":"string"},"example":"2"},{"name":"bottom_width","in":"query","required":false,"description":"Trapezoid bottom width","schema":{"type":"string"}},{"name":"side_slope","in":"query","required":false,"description":"Side slope z (H:V) for trapezoid/triangle","schema":{"type":"string"}},{"name":"diameter","in":"query","required":false,"description":"Circular pipe diameter","schema":{"type":"string"}},{"name":"unit","in":"query","required":false,"description":"m|cm|mm|ft|in (default m)","schema":{"type":"string"},"example":"m"},{"name":"n","in":"query","required":false,"description":"Manning roughness (or material)","schema":{"type":"string"},"example":"0.013"},{"name":"material","in":"query","required":false,"description":"concrete|pvc|earth_clean|… (instead of n)","schema":{"type":"string"}},{"name":"slope","in":"query","required":false,"description":"Channel slope (m/m)","schema":{"type":"string"},"example":"0.001"},{"name":"slope_percent","in":"query","required":false,"description":"Or slope in percent","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"unit":"m","shape":"rectangular","slope":0.001,"depth_m":1,"formula":"Q = (1/n)·A·R^(2/3)·S^(1/2), V = Q/A, R = A/P (SI units).","discharge":{"l_s":3064.785,"m3_h":11033.23,"m3_s":3.064785,"ft3_s":108.2319,"us_gpm":48577.8},"manning_n":0.013,"flow_area_m2":2,"velocity_m_s":1.5324,"roughness_source":"explicit","hydraulic_radius_m":0.5,"wetted_perimeter_m":4},"meta":{"timestamp":"2026-06-04T01:59:08.377Z","request_id":"fb976248-9191-43d9-8afd-3f308de17528"},"status":"ok","message":"Open-channel discharge & velocity","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/normal-depth":{"get":{"operationId":"get_v1_normal_depth","tags":["Channel"],"summary":"Normal depth for a discharge","description":"","parameters":[{"name":"shape","in":"query","required":false,"description":"rectangular|trapezoidal|triangular|circular","schema":{"type":"string"},"example":"rectangular"},{"name":"discharge","in":"query","required":true,"description":"Target discharge (m³/s)","schema":{"type":"string"},"example":"3.06"},{"name":"width","in":"query","required":false,"description":"Rectangular width","schema":{"type":"string"},"example":"2"},{"name":"bottom_width","in":"query","required":false,"description":"Trapezoid bottom width","schema":{"type":"string"}},{"name":"side_slope","in":"query","required":false,"description":"Side slope z","schema":{"type":"string"}},{"name":"diameter","in":"query","required":false,"description":"Circular diameter","schema":{"type":"string"}},{"name":"unit","in":"query","required":false,"description":"m|cm|mm|ft|in","schema":{"type":"string"},"example":"m"},{"name":"n","in":"query","required":false,"description":"Manning roughness (or material)","schema":{"type":"string"},"example":"0.013"},{"name":"material","in":"query","required":false,"description":"Material instead of n","schema":{"type":"string"}},{"name":"slope","in":"query","required":false,"description":"Channel slope (m/m)","schema":{"type":"string"},"example":"0.001"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Normal depth solved by bisection on Manning's equation; discharge_check should match the target.","unit":"m","shape":"rectangular","slope":0.001,"manning_n":0.013,"flow_area_m2":1.99766,"velocity_m_s":1.5318,"normal_depth_m":0.99883,"discharge_check":{"l_s":3060,"m3_h":11016,"m3_s":3.06,"ft3_s":108.0629,"us_gpm":48502},"roughness_source":"explicit","hydraulic_radius_m":0.49971,"target_discharge_m3_s":3.06},"meta":{"timestamp":"2026-06-04T01:59:08.463Z","request_id":"b6974b09-b314-440a-b8e9-54611f94da0f"},"status":"ok","message":"Normal depth for a target discharge","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/roughness":{"get":{"operationId":"get_v1_roughness","tags":["Channel"],"summary":"Manning roughness reference","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Typical Manning roughness coefficients n. Pass material=<name> or an explicit n to the flow/normal-depth endpoints.","manning_n":{"pvc":0.009,"brick":0.015,"glass":0.01,"steel":0.012,"gravel":0.025,"riprap":0.035,"plastic":0.009,"concrete":0.013,"cast_iron":0.013,"earth_clean":0.022,"earth_weedy":0.035,"earth_gravel":0.025,"natural_stream":0.035,"smooth_concrete":0.012,"corrugated_metal":0.024,"finished_concrete":0.012,"natural_stream_rocky":0.05}},"meta":{"timestamp":"2026-06-04T01:59:08.543Z","request_id":"7f109609-21b5-477a-a743-727f5a7c9f7a"},"status":"ok","message":"Manning roughness reference","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":{"api":"manning","note":"Open-channel (Manning) flow maths — computed locally and deterministically, no key, no third-party service. SI form.","shapes":["rectangular","trapezoidal","triangular","circular"],"endpoints":["/v1/flow","/v1/normal-depth","/v1/roughness","/v1/meta"],"length_units":["m","cm","mm","ft","in"]},"meta":{"timestamp":"2026-06-04T01:59:08.636Z","request_id":"62e45cd6-a6d0-4d80-b60e-1300589b15a0"},"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":13735,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":1535,"monthly_call_quota":23450,"rps_limit":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":3545,"monthly_call_quota":284500,"rps_limit":20,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":7345,"monthly_call_quota":1465000,"rps_limit":50,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/manning-api"}