{"openapi":"3.1.0","info":{"title":"Heat Transfer Numbers API","version":"1.0.0","description":"Convective heat-transfer dimensionless numbers as an API, computed locally and deterministically. The prandtl endpoint computes the Prandtl number Pr = μ·cp/k (or ν/α), the ratio of momentum to thermal diffusivity that sets the relative thickness of the velocity and thermal boundary layers — air is about 0.71 and water about 7 at 20 °C. The grashof endpoint computes the Grashof number Gr = g·β·|ΔT|·L³/ν², buoyancy versus viscous forces in natural convection (for an ideal gas the thermal-expansion coefficient β ≈ 1/T). The rayleigh endpoint gives the Rayleigh number Ra = Gr·Pr, either from Gr and Pr or from the full natural-convection inputs, which governs the onset of convection (critical ≈ 1708 for a heated horizontal layer). The peclet endpoint computes the Péclet number Pe = Re·Pr = v·L/α, advection versus diffusion of heat. The biot endpoint computes the Biot number Bi = h·L/k and flags whether the lumped-capacitance transient model applies (Bi < 0.1). All inputs are SI. Everything is computed locally and deterministically, so it is instant and private. Ideal for thermal-engineering, HVAC, electronics-cooling, CFD, process-engineering and heat-transfer-education app developers, natural-convection and transient-conduction tools, and simulation software. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 5 endpoints. These are convective heat-transfer groups; for the Reynolds number alone use a Reynolds API and for surface-tension numbers a Weber API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/prandtl-api","description":"oanor gateway"}],"tags":[{"name":"HeatTransfer"},{"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/biot":{"get":{"operationId":"get_v1_biot","tags":["HeatTransfer"],"summary":"Biot number","description":"","parameters":[{"name":"heat_transfer_coefficient","in":"query","required":true,"description":"h (W/m²·K)","schema":{"type":"string"},"example":"100"},{"name":"length","in":"query","required":true,"description":"Characteristic length L=V/A (m)","schema":{"type":"string"},"example":"0.05"},{"name":"thermal_conductivity","in":"query","required":true,"description":"k (W/m·K)","schema":{"type":"string"},"example":"15"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Bi = h·L/k with L = V/A the characteristic length. Bi < 0.1 means the body is nearly isothermal, so the lumped-capacitance transient model applies.","inputs":{"length":0.05,"thermal_conductivity":15,"heat_transfer_coefficient":100},"biot_number":0.33333333,"lumped_capacitance_valid":false},"meta":{"timestamp":"2026-06-05T19:50:26.818Z","request_id":"bce7689b-29b1-44e0-b37a-a6e8d34b95a2"},"status":"ok","message":"Biot 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/grashof":{"get":{"operationId":"get_v1_grashof","tags":["HeatTransfer"],"summary":"Grashof number","description":"","parameters":[{"name":"expansion_coefficient","in":"query","required":true,"description":"β (1/K)","schema":{"type":"string"},"example":"0.00333"},{"name":"temperature_difference","in":"query","required":true,"description":"ΔT (K)","schema":{"type":"string"},"example":"10"},{"name":"length","in":"query","required":true,"description":"Characteristic length L (m)","schema":{"type":"string"},"example":"0.1"},{"name":"kinematic_viscosity","in":"query","required":true,"description":"ν (m²/s)","schema":{"type":"string"},"example":"0.000015"},{"name":"gravity","in":"query","required":false,"description":"g (m/s²)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Gr = g·β·|ΔT|·L³/ν² — ratio of buoyancy to viscous forces in natural convection. For an ideal gas β ≈ 1/T (K).","inputs":{"length":0.1,"gravity":9.80665,"kinematic_viscosity":1.5e-5,"expansion_coefficient":0.00333,"temperature_difference":10},"grashof_number":1451384.2},"meta":{"timestamp":"2026-06-05T19:50:26.896Z","request_id":"ba8825ed-26af-4e36-98c5-7462387d951b"},"status":"ok","message":"Grashof 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/peclet":{"get":{"operationId":"get_v1_peclet","tags":["HeatTransfer"],"summary":"Péclet number","description":"","parameters":[{"name":"reynolds","in":"query","required":false,"description":"Reynolds number","schema":{"type":"string"},"example":"10000"},{"name":"prandtl","in":"query","required":false,"description":"Prandtl number","schema":{"type":"string"},"example":"0.71"},{"name":"velocity","in":"query","required":false,"description":"v (m/s)","schema":{"type":"string"}},{"name":"length","in":"query","required":false,"description":"L (m)","schema":{"type":"string"}},{"name":"thermal_diffusivity","in":"query","required":false,"description":"α (m²/s)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Pe = Re·Pr.","inputs":{"prandtl":0.71,"reynolds":10000},"peclet_number":7100},"meta":{"timestamp":"2026-06-05T19:50:26.996Z","request_id":"4f0f42a2-8896-4692-8bb0-20339465856b"},"status":"ok","message":"Peclet 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/prandtl":{"get":{"operationId":"get_v1_prandtl","tags":["HeatTransfer"],"summary":"Prandtl number","description":"","parameters":[{"name":"viscosity","in":"query","required":false,"description":"Dynamic viscosity μ (Pa·s)","schema":{"type":"string"},"example":"0.0000181"},{"name":"specific_heat","in":"query","required":false,"description":"cp (J/kg·K)","schema":{"type":"string"},"example":"1005"},{"name":"thermal_conductivity","in":"query","required":false,"description":"k (W/m·K)","schema":{"type":"string"},"example":"0.0257"},{"name":"kinematic_viscosity","in":"query","required":false,"description":"ν (m²/s)","schema":{"type":"string"}},{"name":"thermal_diffusivity","in":"query","required":false,"description":"α (m²/s)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Pr = μ·cp/k — ratio of momentum to thermal diffusivity. μ in Pa·s, cp in J/(kg·K), k in W/(m·K). Air ≈0.71, water ≈7.","inputs":{"viscosity":1.81e-5,"specific_heat":1005,"thermal_conductivity":0.0257},"prandtl_number":0.70780156},"meta":{"timestamp":"2026-06-05T19:50:27.098Z","request_id":"dcfc25c3-7ee7-4a8a-96b7-8356461771d9"},"status":"ok","message":"Prandtl 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/rayleigh":{"get":{"operationId":"get_v1_rayleigh","tags":["HeatTransfer"],"summary":"Rayleigh number","description":"","parameters":[{"name":"grashof","in":"query","required":false,"description":"Grashof number","schema":{"type":"string"},"example":"1452837"},{"name":"prandtl","in":"query","required":false,"description":"Prandtl number","schema":{"type":"string"},"example":"0.71"},{"name":"expansion_coefficient","in":"query","required":false,"description":"β (1/K)","schema":{"type":"string"}},{"name":"temperature_difference","in":"query","required":false,"description":"ΔT (K)","schema":{"type":"string"}},{"name":"length","in":"query","required":false,"description":"L (m)","schema":{"type":"string"}},{"name":"kinematic_viscosity","in":"query","required":false,"description":"ν (m²/s)","schema":{"type":"string"}},{"name":"thermal_diffusivity","in":"query","required":false,"description":"α (m²/s)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Ra = Gr·Pr.","inputs":{"grashof":1452837,"prandtl":0.71},"rayleigh_number":1031514.3},"meta":{"timestamp":"2026-06-05T19:50:27.180Z","request_id":"9088a404-80d6-450d-83a1-c5f9a6ec6ae8"},"status":"ok","message":"Rayleigh 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/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 throughout. These are convective heat-transfer groups; for the Reynolds number alone use a Reynolds API and for surface-tension numbers a Weber API.","service":"prandtl-api","endpoints":{"GET /v1/biot":"Biot number Bi = h·L/k and lumped-capacitance validity.","GET /v1/meta":"This document.","GET /v1/peclet":"Péclet number Pe = Re·Pr = v·L/α.","GET /v1/grashof":"Grashof number Gr = g·β·ΔT·L³/ν².","GET /v1/prandtl":"Prandtl number Pr = μ·cp/k (or ν/α).","GET /v1/rayleigh":"Rayleigh number Ra = Gr·Pr."},"description":"Convective heat-transfer dimensionless numbers: Prandtl, Grashof, Rayleigh, Péclet and Biot."},"meta":{"timestamp":"2026-06-05T19:50:27.274Z","request_id":"d5d23034-86c8-4921-8ad5-7efbf5abc6c5"},"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":3700,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":680,"monthly_call_quota":35000,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2050,"monthly_call_quota":172000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":6300,"monthly_call_quota":1040000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/prandtl-api"}