# Suspension Tuning API
> Vehicle-suspension maths as an API, computed locally and deterministically — the spring and frequency numbers a racer, tuner or chassis engineer sets a car up with. The wheel-rate endpoint converts a spring rate to the rate the wheel actually feels: wheel rate = spring rate × motion ratio², where the motion ratio is the spring's travel per unit of wheel travel — a 200 lb/in spring at a 0.7 motion ratio gives a 98 lb/in wheel rate, because the spring's leverage softens it. The frequency endpoint gives the ride (natural) frequency at a corner, f = (1/2π)·√(wheel rate × g ÷ corner sprung weight), the number that really sets the ride: luxury cars run about 0.5–1.2 Hz, sporty street 1.2–1.7, race cars 2 Hz and up. The spring-rate endpoint inverts it — the spring rate needed to hit a target frequency for a corner weight and motion ratio — so you can pick the frequency for the car's job and get the spring straight out. Everything is computed locally and deterministically, so it is instant and private. Ideal for motorsport and tuning apps, chassis-setup and corner-balancing tools, suspension-design calculators, and engineering study aids. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 compute endpoints. Estimates — real ride also depends on damping and tyres.

## 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/suspension-api/..."
```

## Pricing
- **Free** (Free) — 480 calls/Mo, 2 req/s
- **Starter** ($6/Mo) — 12,800 calls/Mo, 6 req/s
- **Pro** ($19/Mo) — 82,000 calls/Mo, 15 req/s
- **Mega** ($55/Mo) — 265,000 calls/Mo, 36 req/s

## Endpoints

### Suspension

#### `GET /v1/frequency` — Ride (natural) frequency

**Parameters:**
- `wheel_rate` (query, required, string) — Wheel rate in lb/in Example: `98`
- `corner_weight` (query, required, string) — Corner sprung weight in lb Example: `500`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/suspension-api/v1/frequency?wheel_rate=98&corner_weight=500"
```

#### `GET /v1/spring-rate` — Spring rate for a target frequency

**Parameters:**
- `ride_frequency_hz` (query, required, string) — Target ride frequency in Hz Example: `1.5`
- `corner_weight` (query, required, string) — Corner sprung weight in lb Example: `500`
- `motion_ratio` (query, optional, string) — Motion ratio (default 1) Example: `0.7`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/suspension-api/v1/spring-rate?ride_frequency_hz=1.5&corner_weight=500&motion_ratio=0.7"
```

#### `GET /v1/wheel-rate` — Wheel rate from spring rate

**Parameters:**
- `spring_rate` (query, required, string) — Spring rate (lb/in or N/mm) Example: `200`
- `motion_ratio` (query, required, string) — Motion ratio (spring travel ÷ wheel travel) Example: `0.7`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/suspension-api/v1/wheel-rate?spring_rate=200&motion_ratio=0.7"
```

### Meta

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

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


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