{"openapi":"3.1.0","info":{"title":"Sauna Heater API","version":"1.0.0","description":"Sauna-heater sizing maths as an API, computed locally and deterministically — the heater-power, stone-mass and electrical numbers a sauna builder, installer or wellness retailer sizes a cabin with. The heater-size endpoint gives the power: about 1 kW per 1.3 m³ of well-insulated cabin (room volume ÷ 1.3), with cold surfaces the heater must also warm — a glass door or wall, bare stone, tile or uninsulated timber — adding roughly 1.2 m³ of equivalent volume per square metre, so a 10 m³ room with a 2 m² glass door wants about a 10 kW heater, rounded up to the next standard size. The stones endpoint gives the recommended sauna-stone mass, roughly 10–20 kg per kW (more stones for a softer, steamier löyly, fewer for a faster warm-up), with a note to use proper peridotite/olivine stones stacked loosely. The electrical endpoint gives the current the resistive heater draws — power ÷ voltage for single-phase or ÷ (√3 × voltage) for three-phase, since most heaters above ~4 kW are wired three-phase to keep the per-leg current and cable size down — to size the breaker and the dedicated RCD-protected circuit. Everything is computed locally and deterministically, so it is instant and private. Ideal for sauna and wellness retailers, home-improvement and DIY tools, and HVAC/electrical estimating apps. Pure local computation — no key, no third-party service, instant. Estimates — follow the heater maker's chart and local wiring code. 3 compute endpoints. For steam-boiler maths use a boiler API; for room heat loss a U-value API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/saunaheater-api","description":"oanor gateway"}],"tags":[{"name":"Sauna"},{"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/electrical":{"get":{"operationId":"get_v1_electrical","tags":["Sauna"],"summary":"Heater current","description":"","parameters":[{"name":"heater_kw","in":"query","required":true,"description":"Heater power (kW)","schema":{"type":"string"},"example":"8"},{"name":"voltage","in":"query","required":false,"description":"Voltage (V, default 400)","schema":{"type":"string"},"example":"400"},{"name":"phase","in":"query","required":false,"description":"Phase: 1 or 3 (default 3)","schema":{"type":"string"},"example":"3"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"A sauna heater is a resistive load (power factor 1), so the current = power ÷ voltage for single-phase, or ÷ (√3 × voltage) for three-phase. Most heaters above ~4 kW are wired three-phase to keep the per-leg current and wire size down. Size the breaker and cable for this current with the usual margin, and a sauna circuit normally needs its own RCD-protected supply.","inputs":{"phase":3,"voltage":400,"heater_kw":8},"current_a":11.55},"meta":{"timestamp":"2026-06-07T08:18:00.896Z","request_id":"2dcf1d63-ba77-4b50-b2a9-c6440001ee48"},"status":"ok","message":"Electrical","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/heater-size":{"get":{"operationId":"get_v1_heater_size","tags":["Sauna"],"summary":"Required heater kW","description":"","parameters":[{"name":"room_volume_m3","in":"query","required":true,"description":"Room volume (m³)","schema":{"type":"string"},"example":"10"},{"name":"uninsulated_area_m2","in":"query","required":false,"description":"Bare/uninsulated wall area (m², default 0)","schema":{"type":"string"},"example":"0"},{"name":"glass_area_m2","in":"query","required":false,"description":"Glass area (m², default 0)","schema":{"type":"string"},"example":"2"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Sauna-heater power ≈ the room volume ÷ 1.3 (about 1 kW per 1.3 m³ of well-insulated cabin). Cold surfaces that the heater must also warm — a glass door or wall, bare stone, tile or uninsulated timber — add roughly 1.2 m³ of equivalent volume per square metre, so add them in before sizing. Round up to the next standard heater (they come in ~0.5 kW steps); too small a heater never reaches temperature.","inputs":{"glass_area_m2":2,"room_volume_m3":10,"uninsulated_area_m2":0},"required_kw":9.54,"effective_volume_m3":12.4,"recommended_heater_kw":10},"meta":{"timestamp":"2026-06-07T08:18:00.987Z","request_id":"7ce9c580-1407-4b44-9b84-5804adf6b6ab"},"status":"ok","message":"Heater size","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/stones":{"get":{"operationId":"get_v1_stones","tags":["Sauna"],"summary":"Recommended stone mass","description":"","parameters":[{"name":"heater_kw","in":"query","required":true,"description":"Heater power (kW)","schema":{"type":"string"},"example":"8"},{"name":"kg_per_kw","in":"query","required":false,"description":"Stones per kW (default 15)","schema":{"type":"string"},"example":"15"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Sauna stones store and release the heat that makes the löyly (the burst of steam when you ladle water): figure roughly 10–20 kg of stones per kW of heater, more for a softer, steamier heat and fewer for a faster warm-up. Use only proper sauna stones (peridotite/olivine), stack them loosely so air flows through, and re-stack them yearly as they crack — a tightly packed or dusty load chokes the heater.","inputs":{"heater_kw":8,"kg_per_kw":15},"range_kg":"80–160","recommended_stone_mass_kg":120},"meta":{"timestamp":"2026-06-07T08:18:01.081Z","request_id":"b6e40f5e-37c9-4b72-8529-8c30afe69112"},"status":"ok","message":"Stones","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":"Metric (m³, m², kW, kg) + amps. kW ≈ volume/1.3; glass/bare wall ≈ +1.2 m³ per m²; stones ≈ 10–20 kg/kW; current = kW·1000/(√3·V) [3φ] or /V [1φ]. Estimates — follow the heater maker's chart. For steam-boiler maths use a boiler API.","service":"saunaheater-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/stones":"Recommended stone mass for a heater.","GET /v1/electrical":"Heater current (1φ or 3φ).","GET /v1/heater-size":"Required heater kW from room volume and cold surfaces."},"description":"Sauna-heater sizing maths: heater power for a room, recommended stone mass, and electrical current."},"meta":{"timestamp":"2026-06-07T08:18:01.136Z","request_id":"64127f73-1d4a-4f3f-869e-debac4668030"},"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":9600,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":660,"monthly_call_quota":93000,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2480,"monthly_call_quota":378000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":7600,"monthly_call_quota":1720000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/saunaheater-api"}