{"openapi":"3.1.0","info":{"title":"Heatsink Thermal API","version":"1.0.0","description":"Heatsink and thermal-resistance maths for electronics as an API, computed locally and deterministically. The junction endpoint computes the junction temperature of a component from its power dissipation, the ambient temperature and the thermal-resistance chain, Tj = Ta + P·(Rθjc + Rθcs + Rθsa) — junction-to-case, case-to-sink (the interface material) and sink-to-ambient — and also reports the case and sink temperatures and, given a maximum junction temperature, the headroom. The required endpoint solves the largest heatsink thermal resistance you may use to stay under a junction limit, Rθsa = (Tj_max − Ta)/P − Rθjc − Rθcs, and flags when no heatsink can do it. The power endpoint gives the maximum power a device can dissipate for a given thermal path, P = (Tj_max − Ta)/Rθtotal. Everything is computed locally and deterministically, so it is instant and private. Ideal for electronics, power-supply and PCB-design app developers, heatsink selection and thermal-budget tools, and engineering education. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is conduction thermal-resistance; for convective Newton cooling use a cooling API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/heatsink-api","description":"oanor gateway"}],"tags":[{"name":"Heatsink"},{"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/junction":{"get":{"operationId":"get_v1_junction","tags":["Heatsink"],"summary":"Junction temperature","description":"","parameters":[{"name":"power","in":"query","required":true,"description":"Power dissipation (W)","schema":{"type":"string"},"example":"10"},{"name":"ambient_temp","in":"query","required":true,"description":"Ambient temperature (°C)","schema":{"type":"string"},"example":"25"},{"name":"rth_jc","in":"query","required":false,"description":"Junction-to-case Rθ (°C/W)","schema":{"type":"string"},"example":"0.5"},{"name":"rth_cs","in":"query","required":false,"description":"Case-to-sink Rθ (°C/W)","schema":{"type":"string"},"example":"0.2"},{"name":"rth_sa","in":"query","required":false,"description":"Sink-to-ambient Rθ (°C/W)","schema":{"type":"string"},"example":"2.0"},{"name":"tj_max","in":"query","required":false,"description":"Max junction temp (°C) for headroom","schema":{"type":"string"},"example":"125"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Tj = Ta + P·(Rθjc + Rθcs + Rθsa). Each thermal resistance adds a temperature rise of P×Rθ along the path.","inputs":{"power":10,"rth_cs":0.2,"rth_jc":0.5,"rth_sa":2,"ambient_temp":25},"tj_max":125,"headroom_c":73,"within_limit":true,"case_temperature_c":47,"sink_temperature_c":45,"junction_temperature_c":52,"total_thermal_resistance":2.7},"meta":{"timestamp":"2026-06-04T18:38:12.143Z","request_id":"8b11d4bc-1a48-473c-b9b7-03b6f70a3dce"},"status":"ok","message":"Junction temperature","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/power":{"get":{"operationId":"get_v1_power","tags":["Heatsink"],"summary":"Max power dissipation","description":"","parameters":[{"name":"tj_max","in":"query","required":true,"description":"Max junction temp (°C)","schema":{"type":"string"},"example":"125"},{"name":"ambient_temp","in":"query","required":true,"description":"Ambient temperature (°C)","schema":{"type":"string"},"example":"25"},{"name":"rth_total","in":"query","required":false,"description":"Total Rθ (°C/W)","schema":{"type":"string"},"example":"2.7"},{"name":"rth_jc","in":"query","required":false,"description":"Or component Rθjc","schema":{"type":"string"}},{"name":"rth_cs","in":"query","required":false,"description":"Rθcs","schema":{"type":"string"}},{"name":"rth_sa","in":"query","required":false,"description":"Rθsa","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Max power = (Tj_max − Ta)/Rθtotal. The most a device can dissipate without exceeding its junction limit.","inputs":{"tj_max":125,"ambient_temp":25,"total_thermal_resistance":2.7},"max_power_w":37.037},"meta":{"timestamp":"2026-06-04T18:38:12.260Z","request_id":"52d1a617-d18b-4e30-b9cb-4ccdae3e969f"},"status":"ok","message":"Max power","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/required":{"get":{"operationId":"get_v1_required","tags":["Heatsink"],"summary":"Required heatsink Rth","description":"","parameters":[{"name":"tj_max","in":"query","required":true,"description":"Max junction temp (°C)","schema":{"type":"string"},"example":"125"},{"name":"ambient_temp","in":"query","required":true,"description":"Ambient temperature (°C)","schema":{"type":"string"},"example":"40"},{"name":"power","in":"query","required":true,"description":"Power dissipation (W)","schema":{"type":"string"},"example":"10"},{"name":"rth_jc","in":"query","required":false,"description":"Junction-to-case Rθ (°C/W)","schema":{"type":"string"},"example":"0.5"},{"name":"rth_cs","in":"query","required":false,"description":"Case-to-sink Rθ (°C/W)","schema":{"type":"string"},"example":"0.2"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Choose a heatsink with a sink-to-ambient thermal resistance at or below this value. Rθsa = (Tj_max − Ta)/P − Rθjc − Rθcs.","inputs":{"power":10,"rth_cs":0.2,"rth_jc":0.5,"tj_max":125,"ambient_temp":40},"feasible":true,"required_rth_sa":7.8},"meta":{"timestamp":"2026-06-04T18:38:12.369Z","request_id":"1c8719e2-c0d1-46cb-bc6c-bef21fa11064"},"status":"ok","message":"Required heatsink Rth","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":"Power in watts, temperatures in °C, thermal resistances in °C/W (K/W). jc = junction-to-case, cs = case-to-sink (interface), sa = sink-to-ambient. Steady-state conduction model.","service":"heatsink-api","formulae":{"power":"P = (Tj_max − Ta)/Rθtotal","junction":"Tj = Ta + P·(Rθjc + Rθcs + Rθsa)","required":"Rθsa = (Tj_max − Ta)/P − Rθjc − Rθcs"},"endpoints":{"GET /v1/meta":"This document.","GET /v1/power":"Maximum power dissipation for a thermal path.","GET /v1/junction":"Junction (and case/sink) temperature from power, ambient and the Rθ chain.","GET /v1/required":"Maximum allowable heatsink Rθsa to stay under a junction limit."},"description":"Heatsink / thermal-resistance calculator: junction temperature, required heatsink thermal resistance, and maximum power dissipation."},"meta":{"timestamp":"2026-06-04T18:38:12.470Z","request_id":"b64707b5-a214-4e11-a4da-dbba65f39ee4"},"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":15000,"rps_limit":5,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2400,"monthly_call_quota":120000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":7400,"monthly_call_quota":750000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/heatsink-api"}