Skip to content
GET /v1/meta

Spec

Try it live

10 free calls per day — no sign-up, no API key. Goes through the oanor gateway.

Custom headers (optional)
api.oanor.com/keyboardlayout-api

It works. Grab an API key and use it in your project.

Get an API key

Code snippets

curl "https://api.oanor.com/keyboardlayout-api/v1/meta" \
  -H "x-oanor-key: oanor_test_..."
await fetch("https://api.oanor.com/keyboardlayout-api/v1/meta", {
  headers: { "x-oanor-key": "oanor_test_..." }
});
$ch = curl_init("https://api.oanor.com/keyboardlayout-api/v1/meta");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$out = curl_exec($ch);
import requests
requests.get(
    "https://api.oanor.com/keyboardlayout-api/v1/meta",
    headers={"x-oanor-key": "oanor_test_..."}
)

Example response

A real response from this endpoint, captured by the latest health check.

{
    "data": {
        "name": "Keyboard Layout API",
        "notes": "Position-preserving substitution over the 47 main keys (unshifted + shifted). remap(from,to) then remap(to,from) round-trips. Nothing is stored.",
        "version": "v1",
        "endpoints": [
            {
                "path": "/v1/remap",
                "params": {
                    "to": "target layout",
                    "from": "source layout (default qwerty)",
                    "text": "the text to convert"
                },
                "returns": "the remapped text"
            },
            {
                "path": "/v1/layouts",
                "params": [],
                "returns": "the supported layouts and their key maps"
            },
            {
                "path": "/v1/meta",
                "params": [],
                "returns": "this document"
            }
        ],
        "description": "Re-map text between keyboard layouts — the fix for text typed with the keyboard set to the wrong layout. The remap endpoint takes text, a source layout and a target layout, and rewrites each character to the one produced by the same physical key on the other layout. So text accidentally typed on a Dvorak-configured keyboard while you meant QWERTY (or the reverse) is recovered exactly, and because the mapping is position-preserving it round-trips perfectly. It supports QWERTY (US), Dvorak and Colemak, including the shifted symbols, and leaves characters that aren't on a remappable key (spaces and accents) untouched. The layouts endpoint returns the full key map for each layout. Everything is computed locally and deterministically, so it is instant and private. Ideal for fixing wrong-layout typing, building text editors and IME tools, layout-learning aids, and cross-layout search. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This remaps between keyboard layouts; for classical ciphers (Caesar, ROT13, Morse) use a cipher API.",
        "supported_layouts": [
            "qwerty",
            "dvorak",
            "colemak"
        ]
    },
    "meta": {
        "timestamp": "2026-06-03T17:42:13.619Z",
        "request_id": "70325464-be5e-48d6-ba81-195bd93a332a"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}