Analytics
Admin analytics dashboards (overview, insights, exports).
Analytics overview
Headline totals (users, active-this-wave, avg score) plus a per-week growth series for the requested timeframe. Requires Admin or TrialAdmin role.
Analytics insights (admin dashboard)
Funnel + segment cohorts (high-risk, inactive, improving, declining), top/bottom leaderboards, retention and topic-risk for the requested timeframe. Returns a `insights_partial_failure` body on internal errors instead of 500. Requires Admin or TrialAdmin role.
Per-wave participation + scores
Recent waves with participants, avg_score and total_users. Falls back to the Cognito user count for total_users when per-wave assignments cannot be computed. Requires Admin or TrialAdmin role.
Per-season participation + scores
Recent seasons with participants and avg_score (computed from swipes). Requires Admin or TrialAdmin role.
Top + bottom leaderboard
`scope=wave` uses the active wave; `scope=season` (default) uses the active season. Each row is enriched with display name + email from Cognito. Requires Admin or TrialAdmin role.
Inactive users for a single wave
Users assigned to the wave who have no swipe row yet. Defaults to the active wave; pass `wave_id` for a specific one. Requires Admin or TrialAdmin role.
Inactive users across recent waves
For each recent wave returns total_assigned / played / inactive counts. Optional `includeUsers=true` adds enriched per-wave user lists. `assigned=directory` uses Cognito as the assigned set. Requires Admin or TrialAdmin role.
Template-ready export bundle
A single response shaped for downstream report generation: overview totals, users summary + detail, templates summary, top-incorrect, topic weaknesses, user progress, inactive users, and wave performance. Requires Admin or TrialAdmin role.