# Cribbage Score API
> Cribbage hand-scoring maths as an API, computed locally and deterministically — the count a cribbage player, app or league tallies a hand by. The score endpoint takes the four-card hand and the starter (cut) card and returns the full breakdown by the rules: every distinct combination of cards summing to fifteen scores 2, each pair scores 2 (so three of a kind is 6 and four is 12), each run of three or more consecutive cards scores its length — counting the duplicate runs that pairs create — a four-card flush in the hand is 4 (five with the starter is 5, and the crib only scores a five-card flush), and his nobs, a Jack in hand matching the starter’s suit, is 1. It correctly scores the famous best hand, J-5-5-5 with a fifth 5 cut, at the maximum 29. The count endpoint tallies just fifteens, pairs and runs for any one to eight cards — useful for checking part of a hand or the pegging pile. Everything is computed locally and deterministically, so it is instant and private. Ideal for cribbage, card-game, board-game-companion and scoring app developers, score-verification and teaching tools, and game software. Pure local computation — no key, no third-party service, instant. Cards as rank+suit (5H, TD, JS). 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/cribbage-api/..."
```

## Pricing
- **Free** (Free) — 7,600 calls/Mo, 2 req/s
- **Starter** ($4/Mo) — 58,600 calls/Mo, 6 req/s
- **Pro** ($11/Mo) — 237,200 calls/Mo, 15 req/s
- **Mega** ($36/Mo) — 1,368,000 calls/Mo, 40 req/s

## Endpoints

### Cribbage

#### `GET /v1/count` — Partial count

**Parameters:**
- `cards` (query, required, string) — Any 1–8 cards Example: `5H,5S,5C`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/cribbage-api/v1/count?cards=5H%2C5S%2C5C"
```

#### `GET /v1/score` — Score a hand

**Parameters:**
- `hand` (query, required, string) — Four cards (rank+suit) Example: `5H,5S,5C,JD`
- `starter` (query, required, string) — Starter / cut card Example: `5D`
- `is_crib` (query, optional, string) — true for the crib (5-card flush only) Example: `false`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/cribbage-api/v1/score?hand=5H%2C5S%2C5C%2CJD&starter=5D&is_crib=false"
```

### Meta

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

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


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