{"service":"Blink Eye Video Analytics API","path":"/api/help","message":"Use the documented API routes below. Unknown API paths return this help payload with status 404.","core_endpoints":[{"method":"GET","path":"/api/help","purpose":"API route help and safe test-source guidance."},{"method":"GET","path":"/api/settings","purpose":"Runtime model and processing settings."},{"method":"GET","path":"/api/models","purpose":"Available vision model profiles."},{"method":"GET","path":"/api/usage","purpose":"Provider usage summary from stored analysis records."},{"method":"GET","path":"/api/local-runtime-stats","purpose":"Local Allama loaded models plus GPU, memory, and power consumption stats."},{"method":"POST","path":"/api/upload","purpose":"Upload or register a video for analysis."},{"method":"POST","path":"/api/video/{id}/stop","purpose":"Request a cooperative stop for pending or active video analysis."},{"method":"POST","path":"/api/video/{id}/audio/extract","purpose":"Extract the source video's audio track to a WAV file."},{"method":"POST","path":"/api/video/{id}/audio/transcribe","purpose":"Extract, transcribe, summarize, and save the source video's audio track."},{"method":"GET","path":"/api/video/{id}/audio","purpose":"Check extracted audio status and playback URL."},{"method":"GET","path":"/api/videos","purpose":"List videos."},{"method":"GET","path":"/api/video/{id}/status","purpose":"Fetch recorded or live video processing status."},{"method":"GET","path":"/api/video/{id}/progress","purpose":"Fetch processing progress and latest frame preview metadata."},{"method":"GET","path":"/api/video/{id}/frames","purpose":"Fetch frame observations."},{"method":"GET","path":"/api/video/{id}/summary","purpose":"Fetch generated summary."},{"method":"GET","path":"/api/video/{id}/report","purpose":"Generate an HTML report."},{"method":"GET","path":"/api/search?q=term","purpose":"Search observations."}],"retail_scope_endpoints":[{"method":"GET","path":"/api/scope/workstreams","purpose":"15 approved commercial workstreams."},{"method":"GET","path":"/api/sop-rules","purpose":"23 SOP violation definitions."},{"method":"GET","path":"/api/stores","purpose":"Store rollout topology."},{"method":"GET","path":"/api/cameras","purpose":"Camera inventory."},{"method":"GET","path":"/api/events","purpose":"Operational events generated from frame evidence."},{"method":"GET","path":"/api/violations","purpose":"SOP violation candidates with evidence links."},{"method":"GET","path":"/api/evidence-clips","purpose":"Evidence snapshot/clip metadata."},{"method":"GET","path":"/api/alerts","purpose":"Dashboard/email/SMS alert outbox records."},{"method":"POST","path":"/api/alerts/test-email","purpose":"Send a consolidated email covering all configured workstreams and SOP rules."},{"method":"POST","path":"/api/alerts/dispatch-queued","purpose":"Mark queued alerts as sent through the configured outbox."},{"method":"GET","path":"/api/tenants","purpose":"Synthetic corporate, region, and store tenant scopes."},{"method":"GET","path":"/api/tenant-dashboard?tenant=all","purpose":"Tenant-scoped command center metrics."},{"method":"GET","path":"/api/analytics/overview","purpose":"Dashboard overview data."}],"live_stream_endpoints":[{"method":"POST","path":"/api/live-streams","purpose":"Register an owned or approved stream URL."},{"method":"POST","path":"/api/live-streams/start-all","purpose":"Start every registered stream for multi-camera monitoring."},{"method":"POST","path":"/api/live-streams/stop-all","purpose":"Stop every active stream."},{"method":"POST","path":"/api/live-streams/{id}/start","purpose":"Start sampled live analysis."},{"method":"POST","path":"/api/live-streams/{id}/stop","purpose":"Stop live analysis."},{"method":"POST","path":"/api/live-streams/shutterstock-retail-cctv/seed?start=true","purpose":"Seed and optionally start the 16-camera Shutterstock retail CCTV demo wall."},{"method":"GET","path":"/api/live-streams/{id}/events","purpose":"Server-sent progress events."}],"safe_live_stream_testing":{"required_review":["Run a DEO (data ethics/owner) check before using any external or public camera source.","Record that the stream is owned, approved, privacy-reviewed, and retention-safe before enabling analysis."],"allowed_sources":["Owned store/NVR RTSP or HLS streams with written approval.","Local webcam index such as 0 for development.","Licensed sample videos copied into the project video folder.","Synthetic or staged retail footage created for testing."],"not_allowed":["Random public CCTV feeds.","Unverified clothing-brand store streams.","Streams without permission, privacy review, and retention rules."],"example_payload":{"name":"Local Webcam","stream_url":"0","camera_id":"local-webcam-001","store_id":"local","zone_id":"entrance","sample_interval_seconds":2.0}},"reports_and_pricing":["reports/model_benchmark_latest.md includes speed, accuracy proxy, token/runtime counters, Azure transaction estimates, and hourly host references.","MODEL_FINDINGS_REPORT.html summarizes model findings.","SAAS_COST_V2_CLIENT_EMAIL.html contains the PKR 2,500,000/month client proposal and calculator.","SAAS_PRICING_CLIENT.html contains the internal variable-cost estimator."]}