Get Started
Base URL: https://calque.flowsrun.com.
Auth for convert: none. Engine stays on the server — clients never receive engine source.
| Method | Path | Purpose |
|---|---|---|
| GET | /health | Liveness / version |
| POST | /v1/convert | Figma nodes → files |
| POST | /v1/check | Double-convert determinism proof |
| GET | /llms.txt | Agent summary |
| GET | /docs/ai | Agent playbook |
{ "figma_url": "https://www.figma.com/design/…?node-id=1-2" } + header X-Figma-Token{ "kind": "calque-dump", "frames": [{ "name", "id", "node" }] }{
"figma_url": "https://www.figma.com/design/…?node-id=4368-321208",
"figma_token": "optional if using X-Figma-Token header",
"nodes": {},
"nodes_json": "stringified alternative",
"markup": "react",
"style": "tailwind",
"split": false,
"index": [{ "name": "Button", "importPath": "@/ui/Button", "props": ["label"] }],
"index_json": "…calque.index.json text…",
"map_json": "…calque.map.json text…",
"context_json": "…combined priors…",
"aliases": []
}
| Field | Default | Values |
|---|---|---|
markup | react | react · vue · svelte · angular · html |
style | tailwind | tailwind · css · less · scss · css-in-js · style (html inline) |
split | false | true → HTML + separate stylesheet when applicable |
200 — { files, stats, markup, style }
400 — { "error": "…" }
scan-index on the agent/CI machine, then pass index in the body.
See HTTP API reference for exhaustive detail and error strings.