{"openapi":"3.1.0","info":{"title":"WBGT Heat Stress API","version":"1.0.0","description":"Wet Bulb Globe Temperature (WBGT) heat-stress index as an API, computed locally and deterministically. WBGT is the standard occupational and athletic heat-stress measure (ISO 7243). The wbgt endpoint computes the true index from measured thermometer readings: outdoors in the sun WBGT = 0.7·Tnwb + 0.2·Tg + 0.1·Tdb, and indoors or in the shade WBGT = 0.7·Tnwb + 0.3·Tg, from the natural wet-bulb, globe and dry-bulb temperatures, and returns the heat-stress flag and work-rest and hydration guidance. The estimate endpoint gives an approximate shade WBGT from just the air temperature and relative humidity using the Bureau of Meteorology approximation — e = (rh/100)·6.105·exp(17.27·T/(237.7+T)); WBGT ≈ 0.567·T + 0.393·e + 3.94 — for when you do not have a globe or wet-bulb thermometer. The flag endpoint classifies any WBGT value (°C or °F) into a heat-stress category — green, yellow, red or black — with the recommended work-rest cycle and water intake. Everything is computed locally and deterministically, so it is instant and private. Ideal for occupational-safety and industrial-hygiene tools, sports, military and outdoor-event planning, and environmental-monitoring apps. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is the WBGT heat-stress index; for the NWS heat index, wind chill and dew point use a weather-formulas API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/wbgt-api","description":"oanor gateway"}],"tags":[{"name":"WBGT"},{"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/estimate":{"get":{"operationId":"get_v1_estimate","tags":["WBGT"],"summary":"Estimated WBGT from temp & humidity","description":"","parameters":[{"name":"temperature","in":"query","required":true,"description":"Air temperature (°C)","schema":{"type":"string"},"example":"35"},{"name":"humidity","in":"query","required":true,"description":"Relative humidity (%)","schema":{"type":"string"},"example":"50"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"flag":"black","note":"Approximate shade WBGT from temperature and humidity only (no direct measurement of globe or wet-bulb). For full-sun conditions the true WBGT is higher.","wbgt_c":34.7922,"wbgt_f":94.626,"formula":"e = (rh/100)·6.105·exp(17.27·T/(237.7+T)); WBGT ≈ 0.567·T + 0.393·e + 3.94 (BoM shade estimate).","guidance":"Extreme risk. Suspend or cancel strenuous activity.","risk_level":"extreme","temperature_c":35,"vapour_pressure_hpa":28.0083,"recommended_work_rest":"20 min work / 40 min rest or stop","recommended_water_l_per_h":1,"relative_humidity_percent":50},"meta":{"timestamp":"2026-06-04T10:18:52.124Z","request_id":"d3333fc5-f6d2-47a7-a327-8cedfd3a72cf"},"status":"ok","message":"Estimated WBGT from temp & humidity","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/flag":{"get":{"operationId":"get_v1_flag","tags":["WBGT"],"summary":"Classify a WBGT value","description":"","parameters":[{"name":"wbgt","in":"query","required":false,"description":"WBGT (°C)","schema":{"type":"string"},"example":"27.5"},{"name":"wbgt_f","in":"query","required":false,"description":"Or WBGT (°F)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"flag":"red","note":"General athletic/occupational WBGT guidance; follow your local standard (e.g. ISO 7243, ACSM, TB MED 507) for binding limits.","wbgt_c":27.5,"wbgt_f":81.5,"guidance":"High risk. Limit intense exertion; increase rest and hydration.","risk_level":"high","recommended_work_rest":"30 min work / 30 min rest","recommended_water_l_per_h":1},"meta":{"timestamp":"2026-06-04T10:18:52.205Z","request_id":"58b6285b-667e-4ad7-bf5a-83ada4baf4b2"},"status":"ok","message":"Classify a WBGT value","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/wbgt":{"get":{"operationId":"get_v1_wbgt","tags":["WBGT"],"summary":"WBGT from measured temperatures","description":"","parameters":[{"name":"natural_wet_bulb","in":"query","required":true,"description":"Natural wet-bulb temperature (°C)","schema":{"type":"string"},"example":"25"},{"name":"globe","in":"query","required":true,"description":"Globe temperature (°C)","schema":{"type":"string"},"example":"35"},{"name":"dry_bulb","in":"query","required":false,"description":"Dry-bulb / air temperature (°C, needed outdoors)","schema":{"type":"string"},"example":"30"},{"name":"environment","in":"query","required":false,"description":"outdoor (in sun) or indoor (shade)","schema":{"type":"string"},"example":"outdoor"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"flag":"red","mode":"outdoor","note":"General athletic/occupational WBGT guidance; follow your local standard (e.g. ISO 7243, ACSM, TB MED 507) for binding limits.","wbgt_c":27.5,"wbgt_f":81.5,"formula":"WBGT = 0.7·Tnwb + 0.2·Tg + 0.1·Tdb (outdoor, in sun).","globe_c":35,"guidance":"High risk. Limit intense exertion; increase rest and hydration.","dry_bulb_c":30,"risk_level":"high","natural_wet_bulb_c":25,"recommended_work_rest":"30 min work / 30 min rest","recommended_water_l_per_h":1},"meta":{"timestamp":"2026-06-04T10:18:52.304Z","request_id":"2c994a21-9f6d-42dc-aef4-b3d7955969f0"},"status":"ok","message":"WBGT from measurements","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":"wbgt","note":"WBGT heat-stress index — computed locally and deterministically, no key, no third-party service.","flags":[{"flag":"green","up_to_c":18},{"flag":"yellow","up_to_c":23},{"flag":"red","up_to_c":28},{"flag":"black"}],"endpoints":["/v1/wbgt","/v1/estimate","/v1/flag","/v1/meta"]},"meta":{"timestamp":"2026-06-04T10:18:52.369Z","request_id":"ed208adf-baf5-43d9-ac21-be7e051111a6"},"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":30000,"rps_limit":5,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2400,"monthly_call_quota":200000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":7900,"monthly_call_quota":1500000,"rps_limit":50,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/wbgt-api"}