{
  "service": "laka-design-system-api",
  "version": "1.0.0",
  "documentation": "https://designsystem.bowtiekreative.com/API%20Reference.html",
  "workflows": "https://api.designsystem.bowtiekreative.com/v1/workflows",
  "openapi": "https://api.designsystem.bowtiekreative.com/v1/openapi.json",
  "embed": {
    "css": "https://designsystem.bowtiekreative.com/dist/laka.css",
    "js": "https://designsystem.bowtiekreative.com/dist/laka.js",
    "instructions": "https://designsystem.bowtiekreative.com/Embed%20Library.html"
  },
  "endpoints": [
    {
      "method": "GET",
      "path": "/v1/workflows",
      "summary": "When to use what — the decision layer",
      "auth": false
    },
    {
      "method": "GET",
      "path": "/v1/systems",
      "summary": "List every design system in the library",
      "auth": false
    },
    {
      "method": "GET",
      "path": "/v1/systems/{id}",
      "summary": "Full detail for one system",
      "auth": false
    },
    {
      "method": "GET",
      "path": "/v1/tokens",
      "summary": "Design tokens (JSON or CSS custom properties)",
      "auth": false
    },
    {
      "method": "GET",
      "path": "/v1/tokens.css",
      "summary": "Tokens as a ready-to-link CSS file",
      "auth": false
    },
    {
      "method": "GET",
      "path": "/v1/rules",
      "summary": "Resolve applicable rules before building",
      "auth": false
    },
    {
      "method": "GET",
      "path": "/v1/rules/{rule_id}",
      "summary": "Explain one rule",
      "auth": false
    },
    {
      "method": "GET",
      "path": "/v1/contrast",
      "summary": "WCAG 2.2 contrast check",
      "auth": false
    },
    {
      "method": "GET",
      "path": "/v1/graph",
      "summary": "The whole library as nodes and edges",
      "auth": false
    },
    {
      "method": "GET",
      "path": "/v1/graph/status",
      "summary": "Neo4j knowledge-graph connectivity",
      "auth": false
    },
    {
      "method": "GET",
      "path": "/v1/context",
      "summary": "Search the library with relationships",
      "auth": false
    },
    {
      "method": "GET",
      "path": "/v1/backlinks/{id}",
      "summary": "Impact analysis for an element",
      "auth": false
    },
    {
      "method": "GET",
      "path": "/v1/nav-contract",
      "summary": "The header contract",
      "auth": false
    },
    {
      "method": "GET",
      "path": "/v1/patterns",
      "summary": "List the pattern-selection engines",
      "auth": false
    },
    {
      "method": "GET",
      "path": "/v1/patterns/{engine}",
      "summary": "Run a pattern-selection engine",
      "auth": false
    },
    {
      "method": "POST",
      "path": "/v1/advise",
      "summary": "Stack-neutral implementation guidance",
      "auth": false
    },
    {
      "method": "POST",
      "path": "/v1/validate",
      "summary": "Run publication / accessibility / analytics gates",
      "auth": false
    },
    {
      "method": "POST",
      "path": "/v1/exceptions",
      "summary": "Record a compliant rule exception",
      "auth": false
    },
    {
      "method": "GET",
      "path": "/v1/templates",
      "summary": "Canonical artifact templates",
      "auth": false
    },
    {
      "method": "POST",
      "path": "/v1/audit/site",
      "summary": "Crawl a public site through the LAKA release gate",
      "auth": true
    },
    {
      "method": "POST",
      "path": "/v1/audit/markup",
      "summary": "Audit raw HTML before deployment",
      "auth": true
    },
    {
      "method": "POST",
      "path": "/v1/render/artifact",
      "summary": "Render a canonical artifact via MarkupGo",
      "auth": true
    },
    {
      "method": "POST",
      "path": "/v1/render/on-demand",
      "summary": "Render arbitrary HTML/Markdown/URL to image or PDF",
      "auth": true
    },
    {
      "method": "GET",
      "path": "/v1/delivery/status",
      "summary": "Emailit/Publer configuration and connected accounts",
      "auth": true
    },
    {
      "method": "POST",
      "path": "/v1/delivery/email",
      "summary": "Email an artifact as an attachment",
      "auth": true
    },
    {
      "method": "POST",
      "path": "/v1/delivery/social",
      "summary": "Create a Publer draft, scheduled post, or immediate post",
      "auth": true
    },
    {
      "method": "GET",
      "path": "/v1/delivery/jobs/{job_id}",
      "summary": "Check an asynchronous Publer job",
      "auth": true
    }
  ],
  "note": "The former MCP endpoint has been retired; every capability is now a REST endpoint listed above."
}