{"openapi":"3.1.0","info":{"title":"Steel Heat-Treat API","version":"1.0.0","description":"Steel heat-treatment maths as an API, computed locally and deterministically — the temperatures and hardness numbers a bladesmith, machinist or metallurgist works to. The critical-temp endpoint gives the critical and process temperatures from carbon content: the lower critical A1 is 727 °C and the upper critical A3 ≈ 910 − 203·√(%C), so a 0.4 %-carbon steel has an A3 around 782 °C and hardens about 817 °C (austenitize 30–50 °C above A3, then quench), while a hypereutectoid steel austenitizes just above A1. The tempering endpoint maps temper oxide colours to temperature both ways — light straw at about 204 °C for hard cutting edges, purple around 282, blue around 304 for springs — with the typical use at each, the colour you watch on bright steel as you draw the hardness back. The hardness endpoint converts between Rockwell C, Brinell and tensile strength (SAE J417 / ASTM E140): HRC 50 is roughly 481 Brinell and about 1,660 MPa tensile, since tensile ≈ 3.45 × Brinell. Everything is computed locally and deterministically, so it is instant and private. Ideal for bladesmithing and metalworking apps, machine-shop and heat-treat tools, materials-engineering calculators, and trade study aids. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 compute endpoints. Plain-carbon-steel estimates — alloy steels and a tested chart differ.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/heattreat-api","description":"oanor gateway"}],"tags":[{"name":"Heat Treat"},{"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/critical-temp":{"get":{"operationId":"get_v1_critical_temp","tags":["Heat Treat"],"summary":"Critical temperatures from carbon","description":"","parameters":[{"name":"carbon_pct","in":"query","required":true,"description":"Carbon content in %","schema":{"type":"string"},"example":"0.4"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Lower critical A1 is 727 °C; the upper critical A3 ≈ 910 − 203·√(%C) for hypoeutectoid steel. Harden by austenitizing ~30–50 °C above A3 (hypoeutectoid) or above A1 (hypereutectoid), then quench. Normalize a touch hotter in still air. Soak long enough to heat through, and watch decarburisation.","inputs":{"carbon_pct":0.4},"steel_class":"hypoeutectoid (<0.77 %C)","hardening_temp_c":817,"normalizing_temp_c":837,"a1_lower_critical_c":727,"a3_upper_critical_c":782},"meta":{"timestamp":"2026-06-06T15:30:40.220Z","request_id":"b80d3069-74eb-41d9-84dd-a165aa5a4b18"},"status":"ok","message":"Critical temp","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/hardness":{"get":{"operationId":"get_v1_hardness","tags":["Heat Treat"],"summary":"Hardness conversion","description":"","parameters":[{"name":"hrc","in":"query","required":false,"description":"Rockwell C hardness","schema":{"type":"string"},"example":"50"},{"name":"hb","in":"query","required":false,"description":"Brinell hardness","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"hb":481,"hrc":50,"note":"Approximate steel conversions (SAE J417 / ASTM E140): Rockwell C and Brinell track each other, and tensile strength ≈ 3.45 × Brinell in MPa (about 500 × HB in psi). Conversions are material-dependent and lose accuracy at the extremes — use a tested chart for the steel and a critical application.","inputs":{"hrc":50},"tensile_ksi":240.7,"tensile_mpa":1659},"meta":{"timestamp":"2026-06-06T15:30:40.315Z","request_id":"1b720607-da9c-412a-901e-09827ffd949f"},"status":"ok","message":"Hardness","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/tempering":{"get":{"operationId":"get_v1_tempering","tags":["Heat Treat"],"summary":"Temper colour and temperature","description":"","parameters":[{"name":"temp_c","in":"query","required":false,"description":"Temperature in °C","schema":{"type":"string"},"example":"300"},{"name":"color","in":"query","required":false,"description":"Temper colour name","schema":{"type":"string"},"example":"blue"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Temper colours are the oxide film that forms as polished steel is reheated after quenching: pale straw is hardest (edges), through purple and blue (springs), to grey. Read the colour off bright metal under good light and quench when it reaches your target — it moves fast.","inputs":{"temp_c":300},"typical_use":"springs, screwdrivers","nearest_color":"blue","nearest_temp_c":304},"meta":{"timestamp":"2026-06-06T15:30:40.407Z","request_id":"71f49e17-a56c-45e6-9949-daf22da2e659"},"status":"ok","message":"Tempering","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":"A1=727 °C, A3≈910−203·√(%C); harden above A3 (hypo) or A1 (hyper) then quench. Temper colours 176–371 °C; tensile ≈ 3.45×HB MPa. Plain-carbon-steel estimates — alloy steels and a tested chart differ.","service":"heattreat-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/hardness":"Convert between Rockwell C, Brinell and tensile strength.","GET /v1/tempering":"Temper colour ↔ temperature with typical uses.","GET /v1/critical-temp":"A1/A3 critical and hardening/normalizing temperatures from carbon content."},"description":"Steel heat-treatment maths: critical/hardening temperatures from carbon content, temper-colour ↔ temperature, and HRC/Brinell/tensile hardness conversion."},"meta":{"timestamp":"2026-06-06T15:30:40.497Z","request_id":"677cb364-901f-431a-9055-4a469b6c4c04"},"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":460,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":545,"monthly_call_quota":12200,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1760,"monthly_call_quota":79000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":5240,"monthly_call_quota":258000,"rps_limit":36,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/heattreat-api"}