{"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"},"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"},"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"},"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"},"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"}