{"openapi":"3.1.0","info":{"title":"Weld Strength API","version":"1.0.0","description":"Weld design maths as an API, computed locally and deterministically. The fillet endpoint sizes an equal-leg fillet weld: from the leg size, the weld length and an allowable shear stress it returns the effective throat (leg ÷ √2), the effective area, the load capacity and the strength per millimetre of weld; give a design force instead of a leg and it returns the required throat and leg size, and if you also pass a provided leg it reports the utilization and whether the weld is adequate. The butt endpoint handles a full-penetration butt (groove) weld, where the effective throat equals the plate thickness, returning the area and capacity. The throat endpoint converts between leg and throat — equal-leg (throat = leg ÷ √2), unequal legs (throat = a·b ÷ √(a²+b²)) and throat back to leg. Lengths are in millimetres, stress in megapascals and force in newtons. Everything is computed locally and deterministically, so it is instant and private. An estimating aid, not a code-stamped design — use the allowable stress and electrode from your governing code (AISC, Eurocode). Ideal for structural and fabrication tools, weld-design and estimating apps, maker and metalwork projects, and engineering calculators. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is weld strength sizing; for bolt tightening torque use a torque API and for the weight of the steel use a metal-weight API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/weld-api","description":"oanor gateway"}],"tags":[{"name":"Weld"},{"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/butt":{"get":{"operationId":"get_v1_butt","tags":["Weld"],"summary":"Butt (groove) weld capacity","description":"","parameters":[{"name":"thickness","in":"query","required":true,"description":"Plate thickness (mm)","schema":{"type":"string"},"example":"10"},{"name":"length","in":"query","required":true,"description":"Weld length (mm)","schema":{"type":"string"},"example":"100"},{"name":"allowable_stress","in":"query","required":false,"description":"Allowable stress (MPa, default 144)","schema":{"type":"string"},"example":"160"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Full-penetration butt weld: effective throat = plate thickness. Capacity = thickness × length × allowable stress.","capacity":{"N":160000,"kN":160,"kgf":16315.46},"thickness_mm":10,"weld_length_mm":100,"effective_area_mm2":1000,"effective_throat_mm":10,"allowable_stress_mpa":160},"meta":{"timestamp":"2026-06-04T01:59:03.634Z","request_id":"f4d1f43d-fb38-49a0-b8e7-ad2eb032e7d1"},"status":"ok","message":"Butt (groove) weld capacity","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/fillet":{"get":{"operationId":"get_v1_fillet","tags":["Weld"],"summary":"Fillet weld capacity / size","description":"","parameters":[{"name":"length","in":"query","required":true,"description":"Weld length (mm)","schema":{"type":"string"},"example":"100"},{"name":"leg","in":"query","required":false,"description":"Leg size (to get capacity)","schema":{"type":"string"},"example":"6"},{"name":"force","in":"query","required":false,"description":"Or design force N (to get required leg)","schema":{"type":"string"}},{"name":"allowable_shear_stress","in":"query","required":false,"description":"Allowable shear (MPa, default 144)","schema":{"type":"string"},"example":"144"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"mode":"capacity","note":"Equal-leg fillet weld. Default allowable shear is indicative — use the value from your governing code (AISC/Eurocode) and electrode.","leg_mm":6,"formula":"throat = leg/√2; area = throat × length; capacity = area × allowable shear.","capacity":{"N":61094.03,"kN":61.094,"kgf":6229.86},"throat_mm":4.2426,"weld_length_mm":100,"allowable_source":"explicit","effective_area_mm2":424.264,"allowable_shear_stress_mpa":144,"strength_per_length_N_per_mm":610.9403},"meta":{"timestamp":"2026-06-04T01:59:03.738Z","request_id":"18fcc998-f586-426d-91e0-11e42afaf3c5"},"status":"ok","message":"Fillet weld capacity / 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/throat":{"get":{"operationId":"get_v1_throat","tags":["Weld"],"summary":"Leg ↔ throat conversion","description":"","parameters":[{"name":"leg","in":"query","required":false,"description":"Leg (equal) or first leg","schema":{"type":"string"},"example":"8"},{"name":"leg_b","in":"query","required":false,"description":"Second leg (unequal fillet)","schema":{"type":"string"}},{"name":"throat","in":"query","required":false,"description":"Or throat (to get leg)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"mode":"equal_leg","note":"Equal-leg fillet throat = leg / √2 = 0.7071 × leg.","leg_mm":8,"throat_mm":5.6569},"meta":{"timestamp":"2026-06-04T01:59:03.838Z","request_id":"c52be82b-2f6f-487a-b4da-a80d56ede376"},"status":"ok","message":"Leg <-> throat conversion","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":"weld","note":"Weld design maths — computed locally and deterministically, no key, no third-party service. An estimating aid, not a code-stamped design.","endpoints":["/v1/fillet","/v1/butt","/v1/throat","/v1/meta"],"default_allowable_shear_mpa":144},"meta":{"timestamp":"2026-06-04T01:59:03.931Z","request_id":"c8311140-83b2-48c3-9f01-ae4da0a0a4bf"},"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":12000,"rps_limit":5,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2400,"monthly_call_quota":60000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":7500,"monthly_call_quota":300000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/weld-api"}