# Braille API
> Convert text to Unicode braille and back. Uses uncontracted (Grade 1) English braille: the 26 letters, digits with the number sign, capitals with the capital sign, and common punctuation, all output as Unicode Braille Patterns (U+2800–U+28FF) so they render anywhere. The to-braille endpoint turns ordinary text into braille; the from-braille endpoint decodes braille back to text. Unknown characters pass through unchanged. Perfect for accessibility tooling and education, labels and signage mockups, braille-display previews and learning resources. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. Grade 1 only (no contractions). Distinct from cipher/alphabet encoders and from general text transforms.

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

## Pricing
- **Free** (Free) — 985 calls/Mo, 2 req/s
- **Starter** ($0/Mo) — 8,250 calls/Mo, 8 req/s
- **Pro** ($20/Mo) — 133,500 calls/Mo, 20 req/s
- **Mega** ($58/Mo) — 705,000 calls/Mo, 50 req/s

## Endpoints

### Braille

#### `GET /v1/from-braille` — Braille to text

**Parameters:**
- `braille` (query, required, string) — Unicode braille Example: `⠠⠓⠑⠇⠇⠕`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/braille-api/v1/from-braille?braille=%E2%A0%A0%E2%A0%93%E2%A0%91%E2%A0%87%E2%A0%87%E2%A0%95"
```

**Response:**
```json
{
    "data": {
        "text": "Hello"
    },
    "meta": {
        "timestamp": "2026-06-03T01:09:42.820Z",
        "request_id": "e8dc0af3-24a7-45ac-940c-36bebb3d5e5b"
    },
    "status": "ok",
    "message": "Braille to text",
    "success": true
}
```

#### `GET /v1/to-braille` — Text to braille

**Parameters:**
- `text` (query, required, string) — Text to convert Example: `Hello, World! 123`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/braille-api/v1/to-braille?text=Hello%2C+World%21+123"
```

**Response:**
```json
{
    "data": {
        "braille": "⠠⠓⠑⠇⠇⠕⠂ ⠠⠺⠕⠗⠇⠙⠖ ⠼⠁⠃⠉",
        "passthrough": []
    },
    "meta": {
        "timestamp": "2026-06-03T01:09:42.912Z",
        "request_id": "0c8fcc73-f529-4902-9648-bc9bf863c86b"
    },
    "status": "ok",
    "message": "Text to braille",
    "success": true
}
```

### Meta

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

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

**Response:**
```json
{
    "data": {
        "name": "Braille API",
        "notes": "Grade 1 (uncontracted) only — no contractions. Unknown characters pass through unchanged. Output uses the Unicode Braille Patterns block (U+2800–U+28FF).",
        "version": "v1",
        "endpoints": [
            {
                "path": "/v1/to-braille",
                "params": {
                    "text": "input text (required)"
                },
                "returns": "the braille (Unicode braille patterns)"
            },
            {
                "path": "/v1/from-braille",
                "params": {
                    "braille": "Unicode braille (required)"
                },
                "returns": "the decoded text"
            },
            {
                "path": "/v1/meta",
                "params": [],
                "returns": "this document"
            }
        ],
        "description": "Convert text to Unicode braille and back, using uncontracted (Grade 1) English braille — letters, digits (with the number sign), capitals (with the capital sign) and common punctuation. Pure local, no key."
    },
    "meta": {
        "timestamp": "2026-06-03T01:09:42.985Z",
        "request_id": "6c57aa42-e460-4fa7-a036-9c3b05c1c7aa"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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