Users
Admin user management (list, onboard, import, delete, reminders).
List tenant users
Returns Cognito users joined with per-user RDS metrics (lastLogin, score, activity flags). Supports search + bucketed filters + sort. Requires Admin or TrialAdmin role.
Onboard a single user
Creates the Cognito user (if new), sends invite email when `sendReset=true`, and consumes a license. Refused with 409 once the license limit is reached. Requires Admin or TrialAdmin role.
Send reminder emails to inactive users
Sends localized 'continue your training' emails to users who have not played in the active wave. `mode=selected` filters to the provided `userIds`/`emails` set; otherwise targets every inactive user. Requires Admin or TrialAdmin role.
Get full user details
Identity (Cognito attributes + groups), activity (recency + sessions), performance (totals, current wave/season, trend), and risk-learning signals (hardest topics, wrong items). Requires Admin or TrialAdmin role.
Export user swipe history
Returns the user's full swipe history as CSV (default) or JSON. Each row carries created_at, template metadata, wave/season context and the swipe outcome. Requires Admin or TrialAdmin role.
Bulk-import users from CSV
Multipart upload. Streams the CSV and onboards each row through Cognito + license accounting. Stops counting against the license limit once exhausted (existing users still re-process). Returns per-row successes + failures. Requires Admin or TrialAdmin role.
Send a password reset email
Triggers a Cognito password-reset email for the given user email via SES. Requires Admin or TrialAdmin role.
Delete a user
Removes the user from Cognito and clears the email→tenant mapping in DynamoDB. Requires Admin or TrialAdmin role.