{"openapi":"3.1.0","info":{"title":"Riveted Joint API","version":"1.0.0","description":"Riveted-joint strength maths as an API, computed locally and deterministically — the shear, bearing and rivet-count numbers a structural, sheet-metal or aircraft fitter checks a riveted connection by. The shear-capacity endpoint gives the load a rivet group carries across its shanks = the rivet area (π/4·d²) × the shear strength × the number of rivets × the shear planes — a rivet in single shear is cut on one plane, in double shear (the centre plate of a butt joint with cover plates) on two, so it carries twice. The bearing-capacity endpoint gives the load the rivets can press against the sides of their holes before the plate crushes = the projected contact area (diameter × plate thickness) × the bearing strength × the number of rivets; thin plates fail in bearing long before the rivet shears, which is exactly why both must be checked — the joint strength is the lesser of the two. The rivets-required endpoint inverts it: the rivets a design load needs = the load ÷ the allowable load per rivet (area × allowable shear × planes), rounded up to a whole rivet, using the working shear (strength ÷ safety factor) not the raw value. Everything is computed locally and deterministically, so it is instant and private. Ideal for structural and sheet-metal estimating, mechanical-design and fastener tools, and engineering calculators. Pure local computation — no key, no third-party service, instant. Shank-shear and bearing only — also confirm edge tear-out and minimum pitch. 3 compute endpoints. For bolt preload and torque use a bolt-torque API; for thread geometry a thread API; for welded joints a welding API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/rivet-api","description":"oanor gateway"}],"tags":[{"name":"Rivets"},{"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/bearing-capacity":{"get":{"operationId":"get_v1_bearing_capacity","tags":["Rivets"],"summary":"Bearing capacity at the plate","description":"","parameters":[{"name":"rivet_diameter_mm","in":"query","required":true,"description":"Rivet diameter (mm)","schema":{"type":"string"},"example":"6"},{"name":"plate_thickness_mm","in":"query","required":true,"description":"Plate thickness (mm)","schema":{"type":"string"},"example":"3"},{"name":"bearing_strength_mpa","in":"query","required":true,"description":"Bearing strength (MPa)","schema":{"type":"string"},"example":"440"},{"name":"rivet_count","in":"query","required":false,"description":"Number of rivets (default 1)","schema":{"type":"string"},"example":"4"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Bearing (or crushing) capacity is the load the rivet can press against the side of its hole before the plate or rivet crushes: capacity = the projected contact area (diameter × plate thickness) × the bearing strength × the number of rivets. Thin plates fail in bearing long before the rivet shears, which is why bearing must be checked alongside shear; the joint's real strength is the lesser of the two, and edge tear-out is a third check beyond this.","inputs":{"rivet_count":4,"rivet_diameter_mm":6,"plate_thickness_mm":3,"bearing_strength_mpa":440},"per_rivet_bearing_n":7920,"total_bearing_capacity_n":31680,"total_bearing_capacity_kn":31.68},"meta":{"timestamp":"2026-06-07T08:17:55.320Z","request_id":"ca4c69c7-6983-4b22-bee5-c3d755fd9822"},"status":"ok","message":"Bearing 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/rivets-required":{"get":{"operationId":"get_v1_rivets_required","tags":["Rivets"],"summary":"Rivets needed for a load","description":"","parameters":[{"name":"load_n","in":"query","required":true,"description":"Design load (N)","schema":{"type":"string"},"example":"50000"},{"name":"rivet_diameter_mm","in":"query","required":true,"description":"Rivet diameter (mm)","schema":{"type":"string"},"example":"6"},{"name":"allowable_shear_mpa","in":"query","required":true,"description":"Allowable shear stress (MPa)","schema":{"type":"string"},"example":"250"},{"name":"shear_planes","in":"query","required":false,"description":"Shear planes 1 or 2 (default 1)","schema":{"type":"string"},"example":"1"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"The rivets a joint needs = the design load ÷ the allowable load per rivet (rivet area × allowable shear × shear planes), rounded up to a whole rivet — always use the allowable (working) shear, the strength divided by the safety factor, not the raw strength. Add rivets for an even, symmetric pattern and respect the minimum pitch and edge distances; this count is the shear minimum, so still confirm bearing and tear-out for the plate.","inputs":{"load_n":50000,"shear_planes":1,"rivet_diameter_mm":6,"allowable_shear_mpa":250},"rivets_exact":7.074,"rivets_required":8,"per_rivet_capacity_n":7068.6},"meta":{"timestamp":"2026-06-07T08:17:55.422Z","request_id":"0454e897-e324-4373-96ff-4963cca15def"},"status":"ok","message":"Rivets required","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/shear-capacity":{"get":{"operationId":"get_v1_shear_capacity","tags":["Rivets"],"summary":"Shear capacity of a rivet group","description":"","parameters":[{"name":"rivet_diameter_mm","in":"query","required":true,"description":"Rivet diameter (mm)","schema":{"type":"string"},"example":"6"},{"name":"shear_strength_mpa","in":"query","required":true,"description":"Shear strength (MPa)","schema":{"type":"string"},"example":"250"},{"name":"rivet_count","in":"query","required":false,"description":"Number of rivets (default 1)","schema":{"type":"string"},"example":"4"},{"name":"shear_planes","in":"query","required":false,"description":"Shear planes 1 or 2 (default 1)","schema":{"type":"string"},"example":"1"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"A rivet group carries load by shear across its cross-section: capacity = the rivet area (π/4·d²) × the shear strength × the number of rivets × the shear planes. A rivet in single shear is cut on one plane; in double shear (the centre plate of a lap-and-cover joint) it is cut on two, so it carries twice. This is the shank-shear limit only — compare it with the bearing limit (see /v1/bearing-capacity); the joint is governed by whichever is smaller.","inputs":{"rivet_count":4,"shear_planes":1,"rivet_diameter_mm":6,"shear_strength_mpa":250},"rivet_area_mm2":28.274,"per_rivet_shear_n":7068.6,"total_shear_capacity_n":28274.3,"total_shear_capacity_kn":28.274},"meta":{"timestamp":"2026-06-07T08:17:55.516Z","request_id":"50ff2770-90af-4aae-a3c3-65e8e6c58f27"},"status":"ok","message":"Shear 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/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Spec","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"notes":"mm, MPa in; N out. shear = (π/4·d²)·τ·count·planes; bearing = d·t·σ·count; rivets = ceil(load/(area·τ·planes)). Joint strength is the lesser of shear and bearing; check edge tear-out separately. For bolt preload/torque use a bolt-torque API; for thread geometry a thread API.","service":"rivet-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/shear-capacity":"Shear capacity from rivet diameter, shear strength, count and planes.","GET /v1/rivets-required":"Rivets needed for a load at an allowable shear stress.","GET /v1/bearing-capacity":"Bearing capacity from diameter, plate thickness and bearing strength."},"description":"Riveted-joint maths: shear capacity of a rivet group, bearing capacity at the plate, and rivets required for a load."},"meta":{"timestamp":"2026-06-07T08:17:55.616Z","request_id":"a863c775-4574-44c4-b1c1-603ae404c482"},"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":6400,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":850,"monthly_call_quota":61000,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2880,"monthly_call_quota":255000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":8800,"monthly_call_quota":1180000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/rivet-api"}