> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://api.herramientas.lat/docs/empezar/api-qr/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://api.herramientas.lat/_mcp/server. # API QR > Códigos QR con seguimiento vía API # API QR Creá QRs con link corto `/r/{code}`, pausalos, eliminálos y consultá escaneos. ## Endpoints | Método | Ruta | Scope | | -------- | ---------------- | ---------- | | `POST` | `/qr` | `qr:write` | | `GET` | `/qr` | `qr:read` | | `GET` | `/qr/{id}` | `qr:read` | | `PATCH` | `/qr/{id}` | `qr:write` | | `DELETE` | `/qr/{id}` | `qr:write` | | `GET` | `/qr/{id}/stats` | `qr:read` | ## Activar seguimiento El body incluye `tracking: true` (equivale al switch del generador web). Este endpoint **siempre** crea un QR trackeado. Si mandás `tracking: false`, recibís `400`. ## Mismas opciones que el front `POST /qr` acepta el mismo set de opciones que el studio: * Contenido: `url`, `wifi`, `vcard`, `whatsapp`, `text`, `email` * Diseño: colores, gradiente, esquinas, logo, marco, ECC, resolución * Campos tipados (`url`, `wifiSsid`, …) o `payload` crudo El diseño se guarda en `design` y el QR encodea el **link corto**; el destino real queda en `payload`. ## Preview visual Para ver el QR mientras editás el JSON del request: [Playground QR](https://herramientas.lat/desarrolladores/qr) ## Pausar ```bash curl -X PATCH https://www.herramientas.lat/api/v1/qr/{id} \ -H "Authorization: Bearer hl_..." \ -H "Content-Type: application/json" \ -d '{"active": false}' ``` Con `active: false`, `/r/{code}` responde 404. > Códigos QR con seguimiento vía API