{"openapi":"3.1.0","info":{"title":"Bolt Torque API","version":"1.0.0","description":"Bolted-joint torque, preload and stress maths as an API, computed locally and deterministically for ISO metric fasteners. The torque endpoint applies the torque-tension relation T = K·D·F — the tightening torque equals the nut factor times the nominal diameter times the bolt preload — and solves either way: the torque needed for a target preload, or the preload achieved by a given torque, with the nut factor K capturing the lubrication condition (≈0.20 plain, 0.16 plated, 0.12 lubricated). The stressarea endpoint computes the tensile stress area from the thread geometry, As = π/4·(d − 0.9382·P)² — the effective cross-section that carries the load — together with the nominal shank area and, given a proof or yield stress, the proof and yield loads of the bolt. The preload endpoint sets the clamp force as a percentage of the proof load (75 % is the usual target for reusable joints), F = (percent/100)·σproof·As, and returns the resulting tensile stress and, with a diameter and nut factor, the tightening torque. Grade proof stresses for 8.8, 10.9 and 12.9 bolts are documented. Everything is computed locally and deterministically, so it is instant and private. Ideal for mechanical-design, assembly and maintenance tools, torque-spec generation, fastener selection and structural-bolting apps, and engineering education. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is bolt tightening and preload mechanics; for thread pitch/lead geometry use a thread API and for bolt-circle hole patterns use a bolt-circle API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/bolttorque-api","description":"oanor gateway"}],"tags":[{"name":"Bolt"},{"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/preload":{"get":{"operationId":"get_v1_preload","tags":["Bolt"],"summary":"Preload from proof load","description":"","parameters":[{"name":"stress_area","in":"query","required":true,"description":"Tensile stress area As (mm²)","schema":{"type":"string"},"example":"84.3"},{"name":"proof_stress","in":"query","required":true,"description":"Proof stress (MPa) — 8.8=580, 10.9=830, 12.9=970","schema":{"type":"string"},"example":"580"},{"name":"percent","in":"query","required":false,"description":"Percent of proof load (default 75)","schema":{"type":"string"},"example":"75"},{"name":"nut_factor","in":"query","required":false,"description":"Nut factor K (default 0.20)","schema":{"type":"string"},"example":"0.2"},{"name":"nominal_diameter","in":"query","required":false,"description":"Nominal diameter (mm) for torque","schema":{"type":"string"},"example":"12"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Preload F = (percent/100)·σproof·As. Typical target is 75 % of proof for reusable joints.","inputs":{"nut_factor":0.2,"stress_area_mm2":84.3,"percent_of_proof":75,"proof_stress_mpa":580},"proof_load_n":48894,"target_preload_n":36670.5,"target_preload_kn":36.6705,"tensile_stress_mpa":435,"nominal_diameter_mm":12,"tightening_torque_nm":88.0092},"meta":{"timestamp":"2026-06-04T10:18:35.178Z","request_id":"1cb415d9-35f9-4c45-ab12-5cc6ea46044d"},"status":"ok","message":"Preload from proof","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/stressarea":{"get":{"operationId":"get_v1_stressarea","tags":["Bolt"],"summary":"Tensile stress area","description":"","parameters":[{"name":"nominal_diameter","in":"query","required":true,"description":"Nominal diameter d (mm)","schema":{"type":"string"},"example":"12"},{"name":"pitch","in":"query","required":true,"description":"Thread pitch P (mm)","schema":{"type":"string"},"example":"1.75"},{"name":"proof_stress","in":"query","required":false,"description":"Proof stress (MPa) for proof load","schema":{"type":"string"},"example":"580"},{"name":"yield_stress","in":"query","required":false,"description":"Yield stress (MPa) for yield load","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"As = π/4·(d − 0.9382·P)² (ISO metric). Load (N) = stress (MPa) × As (mm²).","inputs":{"pitch_mm":1.75,"nominal_diameter_mm":12},"proof_load_n":48874.49,"nominal_area_mm2":113.0973,"effective_diameter_mm":10.3582,"tensile_stress_area_mm2":84.2664},"meta":{"timestamp":"2026-06-04T10:18:35.291Z","request_id":"ac8d2c1d-6182-48e7-be4b-002bc13eb84a"},"status":"ok","message":"Tensile stress area","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/torque":{"get":{"operationId":"get_v1_torque","tags":["Bolt"],"summary":"Torque-tension","description":"","parameters":[{"name":"nominal_diameter","in":"query","required":true,"description":"Nominal diameter D (mm)","schema":{"type":"string"},"example":"12"},{"name":"nut_factor","in":"query","required":false,"description":"Nut factor K (default 0.20)","schema":{"type":"string"},"example":"0.2"},{"name":"preload","in":"query","required":false,"description":"Preload F (N) to solve torque","schema":{"type":"string"},"example":"25000"},{"name":"torque","in":"query","required":false,"description":"Or torque (N·m) to solve preload","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"mode":"solve_torque","note":"T = K·D·F. K is the nut factor (≈0.20 plain, ≈0.16 zinc-plated, ≈0.12 lubricated).","inputs":{"preload_n":25000,"nut_factor":0.2,"nominal_diameter_mm":12},"tightening_torque_nm":60},"meta":{"timestamp":"2026-06-04T10:18:35.398Z","request_id":"8eb767b9-1fd6-46a5-86be-5782e3a2e1b7"},"status":"ok","message":"Torque-tension","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":"Diameter and pitch in mm, stress in MPa, force in N, torque in N·m. Nut factor K ≈ 0.20 plain, 0.16 plated, 0.12 lubricated. Idealised — excludes joint stiffness and embedment relaxation.","grades":{"8.8":{"yield_mpa":640,"tensile_mpa":800,"proof_stress_mpa":580},"10.9":{"yield_mpa":940,"tensile_mpa":1040,"proof_stress_mpa":830},"12.9":{"yield_mpa":1100,"tensile_mpa":1220,"proof_stress_mpa":970}},"service":"bolttorque-api","formulae":{"preload":"F = (percent/100)·σproof·As","stress_area":"As = π/4·(d − 0.9382·P)²  (mm²)","tensile_stress":"σ = F/As","torque_tension":"T = K·D·F  (D in m, F in N, T in N·m)"},"endpoints":{"GET /v1/meta":"This document.","GET /v1/torque":"Torque-tension T = K·D·F; solves tightening torque from preload or preload from torque.","GET /v1/preload":"Target preload as a percentage of proof load, with tensile stress and tightening torque.","GET /v1/stressarea":"Tensile stress area from nominal diameter and pitch, plus proof and yield loads."},"description":"Bolted-joint torque, preload and stress-area calculator for ISO metric fasteners. Torque-tension, tensile stress area from thread geometry, and preload from proof load."},"meta":{"timestamp":"2026-06-04T10:18:35.495Z","request_id":"18b64249-ee4f-44fb-84a7-af95a3769e71"},"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":25000,"rps_limit":5,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2400,"monthly_call_quota":150000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":7500,"monthly_call_quota":1000000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/bolttorque-api"}