{"service":"vm-kms-api","version":"1.0.0","description":"Kiosk Management System - Central telemetry and analytics hub","api_version":"v1","environment":"development","architecture":"Hexagonal (Domain-driven)","features":{"current":["Kiosk activation (QuickBase integration)","Real-time telemetry collection","Analytics and reporting","Health monitoring","Automatic verification cron jobs","PostgreSQL data storage","Planogram synchronization (Phase 3)","Sales export to QuickBase (Phase 4)","Telemetry & monitoring (Phase 5)","Fleet health dashboard","Automated alerting system","OTA update system (Phase 6)","Version tracking and management","Automatic update checking"],"compatible":["Existing kiosk activation flow","QuickBase planogram integration","Main backend API compatibility"]},"endpoints":{"health":{"GET /health":"Basic health check","GET /health/detailed":"Detailed system health","GET /ping":"Simple ping endpoint"},"activation":{"POST /v1/activation/activate":"Activate kiosk (compatible)","GET /v1/activation/verify/:id":"Verify kiosk status (compatible)","GET /v1/activation/local-status":"Local activation status (compatible)"},"telemetry":{"POST /v1/telemetry/heartbeat":"Receive heartbeat from kiosk (Phase 5)","POST /v1/telemetry/bulk":"Receive bulk telemetry data","GET /v1/telemetry/history/:kioskId":"Get telemetry history for kiosk","GET /v1/telemetry/stats":"Get telemetry statistics","GET /v1/telemetry/fleet/health":"Get fleet health overview","GET /v1/telemetry/fleet/summary":"Get health summary for all kiosks","GET /v1/telemetry/fleet/offline":"Get offline kiosks","GET /v1/telemetry/kiosk/:kioskId/health":"Get health for specific kiosk","GET /v1/telemetry/alerts":"Get alerts with filters","PUT /v1/telemetry/alerts/:id/acknowledge":"Acknowledge alert","PUT /v1/telemetry/alerts/:id/resolve":"Resolve alert"},"analytics":{"GET /v1/analytics/stats":"Overall kiosk statistics","GET /v1/analytics/activations":"Activation analytics with date range","GET /v1/analytics/health":"Comprehensive health report"},"system":{"GET /v1/system/metrics":"Real-time system metrics","GET /v1/system/cron":"Cron job status","POST /v1/system/verify-kiosks":"Manual kiosk verification"},"planograms":{"GET /v1/planograms/:posId":"Get planogram by POS ID (auto-sync if needed)","POST /v1/planograms/sync/:posId":"Manually sync planogram from QuickBase"},"sales":{"POST /v1/sales/export":"Export sales from kiosks to QuickBase","POST /v1/sales/retry":"Retry failed sales exports","GET /v1/sales/stats":"Get sales export statistics","GET /v1/sales/kiosk/:kioskId":"Get sales history for specific kiosk"},"updates":{"GET /v1/updates/check":"Check if updates available for kiosk (Phase 6)","POST /v1/updates/trigger":"Trigger OTA update for kiosk","POST /v1/updates/status":"Report update status from kiosk","GET /v1/updates/:updateId":"Get specific update details","GET /v1/updates/history/:kioskId":"Get update history for kiosk","GET /v1/updates/fleet/versions":"Get fleet version distribution","GET /v1/updates/fleet/active":"Get active updates across fleet","GET /v1/updates/fleet/needing-updates":"Get kiosks needing updates","GET /v1/updates/releases":"Get all releases with filters","GET /v1/updates/releases/:version":"Get specific release by version","GET /v1/updates/success-rates":"Get update success rates by release"},"commands":{"GET /v1/commands/pending/:posId":"Get pending commands for kiosk (polling)","GET /v1/commands/pending":"Get all pending commands (admin)","POST /v1/commands":"Create new command for kiosk","POST /v1/commands/bulk":"Create commands for multiple kiosks","POST /v1/commands/:commandId/acknowledge":"Acknowledge command receipt","POST /v1/commands/:commandId/result":"Report command execution result","DELETE /v1/commands/:commandId":"Cancel pending command","GET /v1/commands/history/:posId":"Get command history for kiosk","GET /v1/commands/stats":"Get command statistics","GET /v1/commands/templates":"Get command templates"}},"database":{"type":"PostgreSQL","features":["Migrations","Seeding","Analytics views","Automatic cleanup"]},"cron_jobs":{"kiosk_verification":"Periodic kiosk status verification","telemetry_cleanup":"Automatic old data cleanup"},"timestamp":"2026-05-10T09:18:25.869Z"}