{"openapi":"3.1.0","info":{"title":"Viscosity API","version":"1.0.0","description":"Fluid-viscosity physics as an API, computed locally and deterministically. The sutherland endpoint gives the dynamic viscosity of a gas at any temperature from Sutherland’s law, μ(T) = μ_ref·(T/T_ref)^1.5·(T_ref+S)/(T+S), with built-in constants for air, nitrogen, oxygen, carbon dioxide, hydrogen, helium and argon (or your own μ_ref, T_ref and S) — air comes out at about 1.72×10⁻⁵ Pa·s at 0 °C, 1.84×10⁻⁵ at 25 °C and 2.17×10⁻⁵ at 100 °C, returned in Pa·s, micro-Pa·s and centipoise. The kinematic endpoint converts between dynamic viscosity μ and kinematic viscosity ν through the density, ν = μ/ρ and μ = ν·ρ, so water at 1.002 cP and 998 kg/m³ becomes about 1.004 cSt. The convert endpoint handles viscosity units both ways — dynamic between Pa·s, centipoise and poise (1 Pa·s = 1000 cP = 10 P) and kinematic between m²/s, centistokes and stokes (1 m²/s = 10⁶ cSt = 10⁴ St). Temperatures are in °C or kelvin. Everything is computed locally and deterministically, so it is instant and private. Ideal for fluid-mechanics, CFD, process-engineering, lubrication, HVAC and chemical-engineering app developers, viscosity-correlation and unit-conversion tools, and simulation software. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This computes viscosity; for the Reynolds number that uses it use a Reynolds API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/viscosity-api","description":"oanor gateway"}],"tags":[{"name":"Viscosity"},{"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/convert":{"get":{"operationId":"get_v1_convert","tags":["Viscosity"],"summary":"Viscosity unit conversion","description":"","parameters":[{"name":"value","in":"query","required":true,"description":"Value to convert","schema":{"type":"string"},"example":"1"},{"name":"from","in":"query","required":true,"description":"pa_s, cp, p (dynamic) or m2_s, cst, st (kinematic)","schema":{"type":"string"},"example":"pa_s"},{"name":"to","in":"query","required":true,"description":"Target unit","schema":{"type":"string"},"example":"cp"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"kind":"dynamic","note":"Dynamic: 1 Pa·s = 1000 cP = 10 P. Kinematic: 1 m²/s = 10⁶ cSt = 10⁴ St. Water at 20 °C ≈ 1 cP and ≈ 1 cSt.","inputs":{"to":"cp","from":"pa_s","value":1},"result":1000},"meta":{"timestamp":"2026-06-05T19:50:28.944Z","request_id":"03f93be3-26ea-4273-ab5d-25be1d41e4ea"},"status":"ok","message":"Viscosity unit conversion","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/kinematic":{"get":{"operationId":"get_v1_kinematic","tags":["Viscosity"],"summary":"Dynamic/kinematic conversion","description":"","parameters":[{"name":"density","in":"query","required":true,"description":"Density ρ (kg/m³)","schema":{"type":"string"},"example":"998.2"},{"name":"dynamic","in":"query","required":false,"description":"Dynamic viscosity μ (Pa·s)","schema":{"type":"string"},"example":"0.001002"},{"name":"kinematic","in":"query","required":false,"description":"Kinematic viscosity ν (m²/s)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"ν = μ/ρ. 1 m²/s = 10⁶ cSt.","inputs":{"density":998.2,"dynamic_pa_s":0.001002},"kinematic_cst":1.0038069,"kinematic_m2_s":1.0038069e-6},"meta":{"timestamp":"2026-06-05T19:50:29.064Z","request_id":"735f5e9c-ac54-4809-9fea-bed16d7d854a"},"status":"ok","message":"Dynamic/kinematic conversion","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/sutherland":{"get":{"operationId":"get_v1_sutherland","tags":["Viscosity"],"summary":"Gas viscosity (Sutherland)","description":"","parameters":[{"name":"temperature","in":"query","required":false,"description":"Temperature (°C)","schema":{"type":"string"},"example":"25"},{"name":"temperature_k","in":"query","required":false,"description":"Temperature (K)","schema":{"type":"string"}},{"name":"gas","in":"query","required":false,"description":"air, nitrogen, oxygen, co2, hydrogen, helium, argon","schema":{"type":"string"},"example":"air"},{"name":"mu_ref","in":"query","required":false,"description":"Custom reference viscosity (Pa·s)","schema":{"type":"string"}},{"name":"t_ref","in":"query","required":false,"description":"Custom reference temperature (K)","schema":{"type":"string"}},{"name":"s","in":"query","required":false,"description":"Custom Sutherland constant S (K)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Sutherland's law: μ(T) = μ_ref·(T/T_ref)^1.5·(T_ref+S)/(T+S). Air at 25 °C ≈ 1.84×10⁻⁵ Pa·s. Pass gas (air, nitrogen, oxygen, co2, hydrogen, helium, argon) or custom mu_ref + t_ref + s.","inputs":{"gas":"air","temperature_k":298.15},"dynamic_viscosity_cp":0.018371494,"sutherland_constants":{"s_k":110.4,"t_ref_k":273.15,"mu_ref_pa_s":1.716e-5},"dynamic_viscosity_pa_s":1.8371494e-5,"dynamic_viscosity_micropa_s":18.371494},"meta":{"timestamp":"2026-06-05T19:50:29.166Z","request_id":"ff05f75a-54c6-4bca-99a3-a6b22157e5e6"},"status":"ok","message":"Gas viscosity (Sutherland)","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":{"gases":["air","nitrogen","oxygen","co2","hydrogen","helium","argon"],"notes":"Sutherland uses kelvin. Dynamic units Pa·s, cP, P; kinematic m²/s, cSt, St. This computes viscosity; for the Reynolds number from it use a Reynolds API.","service":"viscosity-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/convert":"Viscosity unit conversion (Pa·s/cP/Poise or m²/s/cSt/Stokes).","GET /v1/kinematic":"Convert between dynamic (μ) and kinematic (ν) viscosity using density.","GET /v1/sutherland":"Gas dynamic viscosity at a temperature (Sutherland's law)."},"description":"Fluid viscosity: Sutherland's law for gases, dynamic↔kinematic conversion via density, and viscosity unit conversion."},"meta":{"timestamp":"2026-06-05T19:50:29.268Z","request_id":"7b733784-ef90-4c25-bf57-e5a871bfa20e"},"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":4300,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":600,"monthly_call_quota":42000,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1800,"monthly_call_quota":200000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":5600,"monthly_call_quota":1170000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/viscosity-api"}