Manager Hub
Department-level reporting: the team roster and onboarding, journey, course, and certificate progress for one or more departments.
Every request reports on the department(s) named in the required department_ids parameter. Figures are pooled across the given departments.
Required scope: read:managerhub. The Manager Hub feature must be enabled for the company, see feature-gated endpoints.
Endpoints
/api/open/v1/managerhub/teamDepartment roster + engagement / seniority stats
/api/open/v1/managerhub/progress/summaryOne rolled-up completion figure per category + benchmarks
/api/open/v1/managerhub/progress/onboardingEvery member's onboarding progress
/api/open/v1/managerhub/progress/journeysCompletion counts per department journey
/api/open/v1/managerhub/progress/coursesCompletion counts per department course
/api/open/v1/managerhub/progress/certificatesHolder counts per department certificate
Department filtering
Every endpoint requires a department_ids filter.
| Query param | Notes |
|---|---|
department_ids | Required. Comma-separated department group IDs (e.g. 12 or 12,40). Figures are pooled across the given departments; a member of several is counted once. A non-numeric value returns 422. |
/managerhub/team
The department roster — every member with their status, last activity, next shift, seniority, and engagement — plus the department's engagement and seniority benchmarks.
| Field | Notes |
|---|---|
status | active, inactive (no activity for 21+ days) or invited (not registered yet). |
last_active_at | ISO-8601 timestamp of the member's last activity, or null. |
next_shift_at | ISO-8601 start of the member's next shift, or null when no shift integration / upcoming shift. |
seniority_months | Whole months since hire date (falls back to registration). |
engagement_pct | Share (%) of the last 30 days the member was active, from tracking data. null when tracking is unavailable; 0 for a tracked-but-inactive member. |
{
"data": {
"members": [
{
"id": 4821,
"first_name": "Jane",
"last_name": "Doe",
"full_name": "Jane Doe",
"avatar_url": "https://…",
"status": "active",
"last_active_at": "2026-06-18T07:12:00+00:00",
"next_shift_at": "2026-06-20T08:00:00+00:00",
"seniority_months": 14,
"engagement_pct": 73
}
],
"stats": {
"engagement": { "department_pct": 64.0, "org_baseline_pct": 61.0 },
"seniority": { "department_avg_months": 11.0, "company_avg_months": 9.5 }
}
}
}/managerhub/progress/summary
One rolled-up completion figure per category, plus the benchmark header. overall_completion and onboarding_time compare the department against an org-wide baseline (recomputed daily). Each category block is { completed_count, total_count, completed_pct }.
{
"data": {
"stats": {
"overall_completion": { "department_pct": 68.0, "org_baseline_pct": 61.0 },
"onboarding_time": { "department_avg_days": 11.0, "company_avg_days": 14.0 }
},
"users": { "completed_count": 120, "total_count": 200, "completed_pct": 60 },
"onboarding": { "completed_count": 18, "total_count": 24, "completed_pct": 75 },
"journeys": { "completed_count": 40, "total_count": 72, "completed_pct": 56 },
"courses": { "completed_count": 95, "total_count": 140, "completed_pct": 68 },
"certificates": { "completed_count": 30, "total_count": 48, "completed_pct": 63 }
}
}/managerhub/progress/onboarding
Every department member's onboarding progress, plus the share who have finished. Completed members carry time_spent_days; members still onboarding carry days_overdue and days_used.
{
"data": {
"completed_pct": 75,
"completed_user_count": 18,
"total_user_count": 24,
"users": [
{
"id": 4821,
"first_name": "Jane",
"last_name": "Doe",
"full_name": "Jane Doe",
"avatar_url": "https://…",
"completed_count": 6,
"total_count": 6,
"is_completed": true,
"time_spent_days": 9
}
]
}
}/managerhub/progress/journeys
Completion counts for every published journey assigned to the department(s).
{
"data": [
{
"id": 7,
"title": "Leadership Track",
"completed_user_count": 12,
"total_user_count": 30,
"completed_pct": 40
}
]
}/managerhub/progress/courses
Completion counts for every published course assigned to the department(s). A course counts as completed for a member once they have passed all its chapters, whether or not a course-level completion was ever recorded.
{
"data": [
{
"id": 12,
"title": "Food Safety Basics",
"completed_user_count": 21,
"total_user_count": 30,
"completed_pct": 70
}
]
}/managerhub/progress/certificates
Holder counts for every certificate unlocked by one of the department's courses.
{
"data": [
{
"id": 5,
"title": "Food Hygiene",
"completed_user_count": 24,
"total_user_count": 30,
"completed_pct": 80
}
]
}