# Riveted Joint API
> 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.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/rivet-api/..."
```

## Pricing
- **Free** (Free) — 6,400 calls/Mo, 2 req/s
- **Starter** ($9/Mo) — 61,000 calls/Mo, 6 req/s
- **Pro** ($29/Mo) — 255,000 calls/Mo, 15 req/s
- **Mega** ($88/Mo) — 1,180,000 calls/Mo, 40 req/s

## Endpoints

### Rivets

#### `GET /v1/bearing-capacity` — Bearing capacity at the plate

**Parameters:**
- `rivet_diameter_mm` (query, required, string) — Rivet diameter (mm) Example: `6`
- `plate_thickness_mm` (query, required, string) — Plate thickness (mm) Example: `3`
- `bearing_strength_mpa` (query, required, string) — Bearing strength (MPa) Example: `440`
- `rivet_count` (query, optional, string) — Number of rivets (default 1) Example: `4`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/rivet-api/v1/bearing-capacity?rivet_diameter_mm=6&plate_thickness_mm=3&bearing_strength_mpa=440&rivet_count=4"
```

#### `GET /v1/rivets-required` — Rivets needed for a load

**Parameters:**
- `load_n` (query, required, string) — Design load (N) Example: `50000`
- `rivet_diameter_mm` (query, required, string) — Rivet diameter (mm) Example: `6`
- `allowable_shear_mpa` (query, required, string) — Allowable shear stress (MPa) Example: `250`
- `shear_planes` (query, optional, string) — Shear planes 1 or 2 (default 1) Example: `1`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/rivet-api/v1/rivets-required?load_n=50000&rivet_diameter_mm=6&allowable_shear_mpa=250&shear_planes=1"
```

#### `GET /v1/shear-capacity` — Shear capacity of a rivet group

**Parameters:**
- `rivet_diameter_mm` (query, required, string) — Rivet diameter (mm) Example: `6`
- `shear_strength_mpa` (query, required, string) — Shear strength (MPa) Example: `250`
- `rivet_count` (query, optional, string) — Number of rivets (default 1) Example: `4`
- `shear_planes` (query, optional, string) — Shear planes 1 or 2 (default 1) Example: `1`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/rivet-api/v1/shear-capacity?rivet_diameter_mm=6&shear_strength_mpa=250&rivet_count=4&shear_planes=1"
```

### Meta

#### `GET /v1/meta` — Spec

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/rivet-api/v1/meta"
```


---
Marketplace page: https://www.oanor.com/api/rivet-api
OpenAPI spec: https://www.oanor.com/api/rivet-api/openapi.json
