# Kinematics SUVAT API
> Kinematics (SUVAT) maths as an API, computed locally and deterministically. The solve endpoint takes any three of the five constant-acceleration variables — initial velocity u, final velocity v, acceleration a, time t and displacement s — and returns the other two, picking the right equation among v = u + at, s = ut + ½at², s = ½(u+v)t, v² = u² + 2as and s = vt − ½at² automatically. The freefall endpoint computes the fall time, distance and impact velocity for a vertical drop from a height (or over a given time), with an adjustable gravity and optional initial velocity, no air resistance. The stopping endpoint computes reaction, braking and total stopping distance and braking time for a vehicle from its speed and either a deceleration or a road-surface friction coefficient (a = μ·g), with an optional reaction time. Everything is computed locally and deterministically, so it is instant and private. Ideal for physics-education, engineering, simulation, automotive and game-development app developers, motion and braking-distance tools, and STEM teaching. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is linear-motion SUVAT; for projectile launch and trajectory use a projectile API and for momentum and collisions a momentum 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/kinematics-api/..."
```

## Pricing
- **Free** (Free) — 3,000 calls/Mo, 2 req/s
- **Starter** ($5/Mo) — 40,000 calls/Mo, 5 req/s
- **Pro** ($15/Mo) — 250,000 calls/Mo, 15 req/s
- **Mega** ($49/Mo) — 2,000,000 calls/Mo, 50 req/s

## Endpoints

### Kinematics

#### `GET /v1/freefall` — Free fall

**Parameters:**
- `height` (query, optional, string) — Drop height (m) Example: `44.1`
- `time` (query, optional, string) — Or fall time (s)
- `initial_velocity` (query, optional, string) — Initial downward velocity (m/s) Example: `0`
- `gravity` (query, optional, string) — Gravity (m/s², default 9.80665)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/kinematics-api/v1/freefall?height=44.1&initial_velocity=0"
```

**Response:**
```json
{
    "data": {
        "note": "Free fall, no air resistance: h = u·t + ½g·t², impact velocity = u + g·t. Default g = 9.80665 m/s².",
        "inputs": {
            "time_s": null,
            "height_m": 44.1,
            "gravity_ms2": 9.80665,
            "initial_velocity_ms": 0
        },
        "fall_time_s": 2.998983,
        "fall_distance_m": 44.1,
        "impact_velocity_ms": 29.409973,
        "impact_velocity_kmh": 105.875904
    },
    "meta": {
        "timestamp": "2026-06-04T18:38:07.560Z",
        "request_id": "6e3252b7-4754-4014-b23a-3912abc8a193"
    },
    "status": "ok",
    "message": "Free fall",
    "success": true
}
```

#### `GET /v1/solve` — SUVAT solver

**Parameters:**
- `u` (query, optional, string) — Initial velocity (m/s) Example: `0`
- `v` (query, optional, string) — Final velocity (m/s) Example: `30`
- `a` (query, optional, string) — Acceleration (m/s²) Example: `3`
- `t` (query, optional, string) — Time (s)
- `s` (query, optional, string) — Displacement (m)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/kinematics-api/v1/solve?u=0&v=30&a=3"
```

**Response:**
```json
{
    "data": {
        "a": 3,
        "s": 150,
        "t": 10,
        "u": 0,
        "v": 30,
        "note": "SUVAT for constant acceleration. Square-root cases take the positive root; supply a sign in the knowns for the other branch.",
        "inputs": {
            "given": [
                "u",
                "v",
                "a"
            ]
        }
    },
    "meta": {
        "timestamp": "2026-06-04T18:38:07.659Z",
        "request_id": "51185aee-298a-4bf3-a12d-01be81bc84b0"
    },
    "status": "ok",
    "message": "SUVAT solve",
    "success": true
}
```

#### `GET /v1/stopping` — Stopping distance

**Parameters:**
- `speed` (query, optional, string) — Speed (m/s) Example: `30`
- `speed_kmh` (query, optional, string) — Or speed (km/h)
- `deceleration` (query, optional, string) — Deceleration (m/s²) Example: `6`
- `friction` (query, optional, string) — Or friction coefficient μ
- `reaction_time` (query, optional, string) — Reaction time (s) Example: `1`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/kinematics-api/v1/stopping?speed=30&deceleration=6&reaction_time=1"
```

**Response:**
```json
{
    "data": {
        "note": "Braking: distance = v²/(2a), time = v/a. With a friction coefficient, a = μ·g. Reaction distance = v·reaction_time.",
        "inputs": {
            "speed_ms": 30,
            "reaction_time_s": 1,
            "deceleration_ms2": 6
        },
        "braking_time_s": 5,
        "braking_distance_m": 75,
        "reaction_distance_m": 30,
        "total_stopping_distance_m": 105
    },
    "meta": {
        "timestamp": "2026-06-04T18:38:07.745Z",
        "request_id": "384ca825-aced-49c9-aef4-dc96d57b9d36"
    },
    "status": "ok",
    "message": "Stopping distance",
    "success": true
}
```

### Meta

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

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

**Response:**
```json
{
    "data": {
        "notes": "SI units: velocity m/s, acceleration m/s², time s, displacement m. Constant acceleration only. Default gravity 9.80665 m/s².",
        "service": "kinematics-api",
        "formulae": {
            "eq1": "v = u + at",
            "eq2": "s = ut + ½at²",
            "eq3": "s = ½(u+v)t",
            "eq4": "v² = u² + 2as",
            "eq5": "s = vt − ½at²"
        },
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/solve": "SUVAT solver — give any three of u, v, a, t, s and get all five.",
            "GET /v1/freefall": "Free-fall time, distance and impact velocity from a height or time.",
            "GET /v1/stopping": "Reaction, braking and total stopping distance and braking time."
        },
        "description": "Kinematics (SUVAT) calculator: solve constant-acceleration motion from any three of u, v, a, t, s; vertical free fall from a height; and braking distance/time from a speed and deceleration or friction."
    },
    "meta": {
        "timestamp": "2026-06-04T18:38:07.844Z",
        "request_id": "0cd1dc2e-da39-429b-a4c7-6399cc8b8b46"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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