Goal
Implement all REST endpoints from the spec (printers, jobs, lookup, webhooks, QR-scan landing pages).
Endpoints
- GET
/api/printers — list with cached status
- GET
/api/printers/{id}/status — force fresh ESC i S read
- GET
/api/printers/{id}/tape — current tape spec
- GET
/api/printers/{id}/queue — list queued+paused+printing
- POST
/api/printers/{id}/{pause,resume,queue/clear}
- GET
/api/templates
- GET
/api/lookup/{app}/{id}
- POST
/api/print/{printer_id} → 202 + JobId
- GET
/api/jobs, /api/jobs/{id}
- POST
/api/jobs/{id}/{pause,resume,cancel,retry,priority}
- POST
/api/webhook/{spoolman,grocy} (API-Key auth)
- GET
/loc/{id}, /asset/{id}, /spool/{id}, /product/{id} — QR landing pages
- GET
/healthz (open)
- GET
/api/events — SSE stream
Tasks
Goal
Implement all REST endpoints from the spec (printers, jobs, lookup, webhooks, QR-scan landing pages).
Endpoints
/api/printers— list with cached status/api/printers/{id}/status— force fresh ESC i S read/api/printers/{id}/tape— current tape spec/api/printers/{id}/queue— list queued+paused+printing/api/printers/{id}/{pause,resume,queue/clear}/api/templates/api/lookup/{app}/{id}/api/print/{printer_id}→ 202 + JobId/api/jobs,/api/jobs/{id}/api/jobs/{id}/{pause,resume,cancel,retry,priority}/api/webhook/{spoolman,grocy}(API-Key auth)/loc/{id},/asset/{id},/spool/{id},/product/{id}— QR landing pages/healthz(open)/api/events— SSE streamTasks