Bow Tie Kreative WCAG Grammar

Reference

API reference

The whole corpus is public JSON under /v1 — no keys, no rate cards, open cross-origin access. Read the WCAG registry, the LAKA model and its 700 analysis cells, the example rules and the source register; validate your own rule documents against the published schema.

Base URL: https://wcag.bowtiekreative.com · Machine description: OpenAPI 3.1 · Agent guide: /llms.txt

Endpoints

MethodPathWhat it returns
GET /v1 This index
GET /v1/health Liveness and corpus counts
GET /v1/openapi.json OpenAPI 3.1 description of this API
GET /v1/manifest Package manifest, inventory and validation report
GET /v1/model The LAKA model: levels, variables, lenses and the 50-cell base grid
GET /v1/criteria The 55 WCAG 2.2 A/AA criteria — filter by level, principle or q
GET /v1/criteria/{id} One criterion, e.g. 1.4.3, with sources and related rules
GET /v1/cells The 700 LAKA analysis cells — filter by level, variable or lens
GET /v1/cells/{id} One analysis cell, e.g. L0-I01-M01
GET /v1/rules The schema-validated example rules
GET /v1/rules/{id} One example rule, in full
GET /v1/schema The JSON Schema for a rule document
GET /v1/evidence-template The untested-evidence record template
GET /v1/sources The primary source register
GET /v1/docs The package documents
GET /v1/docs/{slug} One document, as markdown
GET /v1/validation-report The package structural validation report
POST /v1/validate Validate a rule document against the schema
POST /v1/evaluate Alias of /v1/validate

Filtering the registry

The criteria list accepts level (A or AA), principle (Perceivable, Operable, Understandable, Robust) and free-text q:

GET /v1/criteria?level=AA&principle=Operable
GET /v1/criteria/1.4.3

Querying the analysis cells

The 700 cells filter by level (change level), variable (internal variable) and lens (measurement lens), with limit/offset paging:

GET /v1/cells?level=Baseline&variable=Object
GET /v1/cells?lens=Detectability&limit=20

Validating a rule

POST a JSON rule document to /v1/validate. It is checked against the published schema — required fields, expression shapes, enumerations, and the honesty constraints (covers_full_criteria must be false; execution_status must be "NOT_TESTED"). The response reports valid plus a list of errors with JSON paths.

A fragment of a rule document — see /v1/rules for complete, valid examples
{
  "id": "LAKA-WCAG-EXAMPLE-RULE",
  "version": "1.0.0",
  "authority": "wcag_requirement",
  "source_refs": [
    "SC-2.4.11"
  ],
  "wcag_refs": [
    {
      "criterion_id": "2.4.11",
      "level": "AA"
    }
  ],
  "covers_full_criteria": false,
  "execution_status": "NOT_TESTED"
}
curl -X POST https://wcag.bowtiekreative.com/v1/validate \
  -H 'content-type: application/json' \
  --data @my-rule.json

Caching & access

Read endpoints are cacheable and served with permissive cross-origin headers. There is no authentication and no usage charge — this is a free public reference.