Returns a report of Section Coach engagement including onboarding, progress, and completion. Supports JSON and CSV output. When include_skills or include_use_cases is true, additional dynamic columns are included.
Legacy Basic scope: progress_saved / PROGRESS_SAVED and program_completed / PROGRAM_COMPLETED refer specifically to the Legacy Basic program (basic-ai-proficiency). These fields stay pinned to Legacy Basic for backwards compatibility — they do not follow the currently featured accelerator. Completion of the newer accelerators is reported separately (see the per-accelerator columns below).
Per-accelerator completion: the report also includes one completion column per accelerator visible to your organization (excluding Legacy Basic), named <slug>_completed in JSON and <SLUG>_COMPLETED in CSV — e.g. advanced_ai_proficiency_completed, agentic_ai_proficiency_completed. Each holds that accelerator's completion date for the user (or null). This column set is dynamic: it reflects the accelerators your organization currently has.
last_active: every row includes last_active — the user's most recent activity date (YYYY-MM-DD), or null if they have never been active.
Legacy path: this report was previously served at /v1/reports/profai. That path remains fully supported and returns identical data, so existing integrations do not need to change. New integrations should use /v1/reports/coach.
Terminology: what this endpoint calls "skills" (the SKILL_* CSV columns and skill_* JSON fields surfaced by include_skills) are now called superpowers in the product. The field name is kept for backwards compatibility.
from / to scope: the date range filters the user row set by Legacy Basic program completion date. Users whose Legacy Basic completion falls within [from, to] are returned; their per-superpower columns show each user's lifetime completion date for the superpower, regardless of the requested window. To query completions of a specific superpower within a date range, use /v1/reports/employee-superpower-map instead.
last_active_after / last_active_before scope: these filter the user row set by each user's most recent activity date (the last_active field), independently of from/to. last_active_after keeps users last active on or after the date (users still active since then); last_active_before keeps users last active on or before the date (users who have gone dormant by then, with no activity since). Because both compare against a single date (the most recent activity), a highly active user will not match a last_active_before set in the past. Supplying both selects users whose last activity falls within the range (last seen between the two dates, nothing after). Either may be supplied alone. Note: users with no recorded activity are excluded whenever either filter is set.