# Paracord API
> Paracord-craft maths as an API, computed locally and deterministically — the cord-length numbers a paracord crafter cuts a project to. The bracelet endpoint sizes the cord from the finished length and the weave using the well-known rule of thumb — about a foot of cord per inch of work for a cobra (Solomon) bar, double that for a king cobra, less for a fishtail — so an 8-inch cobra bracelet takes around 9 feet of cord including a foot of waste for the tails; give it a wrist measurement instead and it adds the fit ease and the buckle to get the finished length first, so a 7-inch wrist comes out near 10 feet. The weave endpoint generalises it to any project — lanyards, belts, dog leashes — as cord = finished length × cord-per-inch × the number of working strands, with the weave factors built in or your own cord-per-inch, and answers in inches, feet and metres. Everything is computed locally and deterministically, so it is instant and private. Ideal for paracord, survival-gear, scouting, craft and maker app developers, project-estimator and cut-list tools, and DIY software. Pure local computation — no key, no third-party service, instant. Rules of thumb — cut long and trim. Live, nothing stored. 2 compute endpoints.

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

## Pricing
- **Free** (Free) — 6,620 calls/Mo, 2 req/s
- **Starter** ($4/Mo) — 57,600 calls/Mo, 6 req/s
- **Pro** ($12/Mo) — 233,500 calls/Mo, 15 req/s
- **Mega** ($37/Mo) — 1,357,000 calls/Mo, 40 req/s

## Endpoints

### Paracord

#### `GET /v1/bracelet` — Bracelet cord length

**Parameters:**
- `weave` (query, optional, string) — cobra, king_cobra, fishtail, … (default cobra) Example: `cobra`
- `finished_length_in` (query, optional, string) — Finished length (in) Example: `8`
- `wrist_in` (query, optional, string) — Wrist circumference (in)
- `ease_in` (query, optional, string) — Fit ease (default 1) Example: `1`
- `buckle_in` (query, optional, string) — Buckle length (default 1) Example: `1`
- `waste_in` (query, optional, string) — Waste for tails (default 12) Example: `12`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/paracord-api/v1/bracelet?weave=cobra&finished_length_in=8&ease_in=1&buckle_in=1&waste_in=12"
```

**Response:**
```json
{
    "data": {
        "note": "Rule of thumb: ~1 foot (12 in) of cord per inch of finished cobra weave, double for king cobra, less for a fishtail. Cut a little long — about a foot of waste for the tails — you can always trim. Multi-colour weaves use this per colour.",
        "inputs": {
            "weave": "cobra",
            "waste_in": 12,
            "finished_length_in": 8
        },
        "cord_feet": 9,
        "cord_inches": 108,
        "cord_meters": 2.74,
        "cord_per_inch": 12
    },
    "meta": {
        "timestamp": "2026-06-06T07:13:57.608Z",
        "request_id": "b842bb83-4ecf-4ebb-90ba-1345941fbe63"
    },
    "status": "ok",
    "message": "Bracelet cord",
    "success": true
}
```

#### `GET /v1/weave` — Generic weave cord

**Parameters:**
- `length_in` (query, required, string) — Finished length (in) Example: `48`
- `weave` (query, optional, string) — Weave name (default cobra) Example: `cobra`
- `cord_per_inch` (query, optional, string) — Custom cord-per-inch (overrides weave)
- `strands` (query, optional, string) — Working strands (default 1) Example: `1`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/paracord-api/v1/weave?length_in=48&weave=cobra&strands=1"
```

**Response:**
```json
{
    "data": {
        "note": "Cord = finished length × cord-per-inch × number of working strands. Lanyards, belts and dog leashes scale the same way; wider or tighter weaves use more cord per inch.",
        "inputs": {
            "strands": 1,
            "length_in": 48,
            "cord_per_inch": 12
        },
        "cord_feet": 48,
        "cord_inches": 576,
        "cord_meters": 14.63
    },
    "meta": {
        "timestamp": "2026-06-06T07:13:57.693Z",
        "request_id": "8189808e-8403-4e7b-8b26-7751f6b6a48f"
    },
    "status": "ok",
    "message": "Weave cord",
    "success": true
}
```

### Meta

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

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

**Response:**
```json
{
    "data": {
        "notes": "Cord-per-inch by weave: cobra 12, king cobra 24, fishtail 8 (inches of cord per inch of work). Add ~12 in of waste for tails. Lengths in inches; output in inches, feet and metres. Rules of thumb — cut long and trim.",
        "service": "paracord-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/weave": "Generic cord length from a finished length, a weave (or cord-per-inch) and strand count.",
            "GET /v1/bracelet": "Cord needed for a bracelet from the finished length (or wrist + buckle) and weave."
        },
        "description": "Paracord-craft maths: cord needed for a bracelet or weave, and finished length from a wrist size."
    },
    "meta": {
        "timestamp": "2026-06-06T07:13:57.781Z",
        "request_id": "863f4841-ba4e-4bdb-9203-3406cc8f1e47"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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