{"openapi":"3.1.0","info":{"title":"Orifice Flow Meter API","version":"1.0.0","description":"Differential-pressure flow-meter maths (ISO 5167) as an API, computed locally and deterministically for orifice plates, venturi tubes and flow nozzles. The flow endpoint computes the mass and volumetric flow rate from the measured pressure drop across the meter, qm = Cd·ε·E·A·√(2·ρ·ΔP), where E = 1/√(1−β⁴) is the velocity-of-approach factor, β = d/D the diameter ratio and A the bore area — and it reports the throat velocity and the permanent (unrecovered) pressure loss. The pressure endpoint works the other way: from a known flow it returns the differential pressure the meter will develop, ΔP = (qm/(Cd·ε·E·A))²/(2ρ), and the permanent loss. The sizing endpoint solves the meter geometry: from a target flow and an allowable pressure drop it iterates the required bore diameter and diameter ratio, and flags whether β falls in the ISO-recommended 0.2–0.75 range. Each device type carries its standard discharge coefficient (orifice 0.61, venturi 0.984, nozzle 0.96) which you can override. Everything is computed locally and deterministically, so it is instant and private. Ideal for process, HVAC and instrumentation engineering tools, flow-meter selection and commissioning, and fluid-mechanics education. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is differential-pressure flow metering; for pipe continuity (Q=A·v) use a flow-rate API and for friction pressure drop use a Darcy-Weisbach API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/orifice-api","description":"oanor gateway"}],"tags":[{"name":"Orifice"},{"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":["Orifice"],"summary":"Flow from differential pressure","description":"","parameters":[{"name":"type","in":"query","required":false,"description":"orifice | venturi | nozzle (default orifice)","schema":{"type":"string"},"example":"orifice"},{"name":"pipe_diameter","in":"query","required":true,"description":"Pipe inner diameter D (m)","schema":{"type":"string"},"example":"0.1"},{"name":"bore_diameter","in":"query","required":false,"description":"Bore/throat diameter d (m)","schema":{"type":"string"},"example":"0.05"},{"name":"beta","in":"query","required":false,"description":"Or diameter ratio β = d/D","schema":{"type":"string"}},{"name":"density","in":"query","required":false,"description":"Fluid density ρ (kg/m³, default 1000)","schema":{"type":"string"},"example":"1000"},{"name":"discharge_coefficient","in":"query","required":false,"description":"Cd override","schema":{"type":"string"}},{"name":"expansibility","in":"query","required":false,"description":"Expansibility ε (default 1)","schema":{"type":"string"},"example":"1"},{"name":"differential_pressure","in":"query","required":true,"description":"Measured pressure drop ΔP (Pa)","schema":{"type":"string"},"example":"10000"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"qm = Cd·ε·E·A·√(2ρΔP) per ISO 5167. Permanent loss is the unrecovered pressure downstream.","inputs":{"beta":0.5,"type":"orifice","density":1000,"bore_diameter":0.05,"expansibility":1,"pipe_diameter":0.1,"differential_pressure":10000,"discharge_coefficient":0.61},"mass_flow_kg_s":5.532088,"throat_velocity_m_s":2.817469,"volumetric_flow_l_s":5.532088,"volumetric_flow_m3_s":0.005532088,"permanent_pressure_loss_pa":7307.2754,"velocity_of_approach_factor":1.032796},"meta":{"timestamp":"2026-06-04T10:18:35.626Z","request_id":"ce898623-7381-4a56-b591-65e269b08c2c"},"status":"ok","message":"Flow from differential pressure","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/pressure":{"get":{"operationId":"get_v1_pressure","tags":["Orifice"],"summary":"Differential pressure from flow","description":"","parameters":[{"name":"type","in":"query","required":false,"description":"orifice | venturi | nozzle (default orifice)","schema":{"type":"string"},"example":"orifice"},{"name":"pipe_diameter","in":"query","required":true,"description":"Pipe inner diameter D (m)","schema":{"type":"string"},"example":"0.1"},{"name":"bore_diameter","in":"query","required":false,"description":"Bore/throat diameter d (m)","schema":{"type":"string"},"example":"0.05"},{"name":"beta","in":"query","required":false,"description":"Or diameter ratio β = d/D","schema":{"type":"string"}},{"name":"density","in":"query","required":false,"description":"Fluid density ρ (kg/m³, default 1000)","schema":{"type":"string"},"example":"1000"},{"name":"discharge_coefficient","in":"query","required":false,"description":"Cd override","schema":{"type":"string"}},{"name":"expansibility","in":"query","required":false,"description":"Expansibility ε (default 1)","schema":{"type":"string"},"example":"1"},{"name":"mass_flow","in":"query","required":false,"description":"Mass flow qm (kg/s)","schema":{"type":"string"},"example":"5.53"},{"name":"volumetric_flow","in":"query","required":false,"description":"Or volumetric flow qv (m³/s)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"ΔP = (qm/(Cd·ε·E·A))²/(2ρ). The permanent loss is what the meter costs in unrecovered pressure.","inputs":{"beta":0.5,"type":"orifice","density":1000,"mass_flow":5.53,"bore_diameter":0.05,"pipe_diameter":0.1,"discharge_coefficient":0.61},"differential_pressure_pa":9992.4525,"differential_pressure_kpa":9.992453,"permanent_pressure_loss_pa":7301.7602,"velocity_of_approach_factor":1.032796},"meta":{"timestamp":"2026-06-04T10:18:35.723Z","request_id":"7da58b28-73a7-475e-aaee-d8f8ac8c1a30"},"status":"ok","message":"Pressure from flow","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/sizing":{"get":{"operationId":"get_v1_sizing","tags":["Orifice"],"summary":"Bore sizing for a target flow","description":"","parameters":[{"name":"type","in":"query","required":false,"description":"orifice | venturi | nozzle (default orifice)","schema":{"type":"string"},"example":"orifice"},{"name":"pipe_diameter","in":"query","required":true,"description":"Pipe inner diameter D (m)","schema":{"type":"string"},"example":"0.1"},{"name":"differential_pressure","in":"query","required":true,"description":"Allowable pressure drop ΔP (Pa)","schema":{"type":"string"},"example":"10000"},{"name":"mass_flow","in":"query","required":false,"description":"Target mass flow qm (kg/s)","schema":{"type":"string"},"example":"5.53"},{"name":"volumetric_flow","in":"query","required":false,"description":"Or volumetric flow qv (m³/s)","schema":{"type":"string"}},{"name":"density","in":"query","required":false,"description":"Fluid density ρ (kg/m³, default 1000)","schema":{"type":"string"},"example":"1000"},{"name":"discharge_coefficient","in":"query","required":false,"description":"Cd override","schema":{"type":"string"}},{"name":"expansibility","in":"query","required":false,"description":"Expansibility ε (default 1)","schema":{"type":"string"},"example":"1"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"beta":0.499912,"note":"Bore solved by iteration so it gives the target flow at the allowable ΔP. ISO 5167 recommends 0.2 ≤ β ≤ 0.75 for an orifice.","inputs":{"type":"orifice","density":1000,"mass_flow":5.53,"pipe_diameter":0.1,"differential_pressure":10000,"discharge_coefficient":0.61},"required_bore_diameter_m":0.049991,"beta_in_recommended_range":true,"permanent_pressure_loss_pa":7308.1337,"velocity_of_approach_factor":1.032771},"meta":{"timestamp":"2026-06-04T10:18:35.838Z","request_id":"7a740d3a-ca17-46df-b519-77e8137b523c"},"status":"ok","message":"Bore sizing","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 units: diameters in metres, pressure in pascals, density in kg/m³, flow in kg/s or m³/s. Default Cd: orifice 0.61, venturi 0.984, nozzle 0.96. ε=1 assumes incompressible flow.","service":"orifice-api","formulae":{"beta":"β = d/D","mass_flow":"qm = Cd·ε·E·A·√(2ρΔP),  E = 1/√(1−β⁴),  A = π/4·d²","permanent_loss":"Δϖ = (√(1−β⁴(1−Cd²)) − Cd·β²)/(√(1−β⁴(1−Cd²)) + Cd·β²)·ΔP"},"endpoints":{"GET /v1/flow":"Mass and volumetric flow from the measured differential pressure across the meter.","GET /v1/meta":"This document.","GET /v1/sizing":"Required bore diameter (and beta) for a target flow at an allowable pressure drop.","GET /v1/pressure":"Differential pressure required for a given flow, plus the permanent pressure loss."},"description":"Differential-pressure flow-meter calculator (ISO 5167) for orifice plates, venturi tubes and flow nozzles: flow from ΔP, ΔP from flow, and bore sizing."},"meta":{"timestamp":"2026-06-04T10:18:35.935Z","request_id":"a1ed82a6-cc59-46e2-8fe7-9fcc0600599e"},"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":2000,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":900,"monthly_call_quota":20000,"rps_limit":5,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2400,"monthly_call_quota":150000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":7400,"monthly_call_quota":1000000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/orifice-api"}