TagMangoTagMango Docs
Course

Get Student Overview

GET
/api/v1/external/courses/{userId}/overview

Get a consolidated activity overview for a student (fan) under the authenticated creator.

  • lastLoginAt: when the student last logged in (null if never logged in since tracking began).
  • totalEnrolledCourses: published courses the student has active access to.
  • totalCompletedCourses: enrolled courses the student has completed.
  • totalCourseCertificatesAvailable: course certificates available to the student.
  • courseVideoWatchTimes: per-course video watch time (video-chapter courses only). Watch time is calculated as the sum of (chapterProgress% x chapterDuration) across all video chapters.
AuthorizationBearer <token>

In: header

Path Parameters

userId*string

Unique identifier of the student (fan) to build the overview for.

Header Parameters

x-whitelabel-host*string

Host name of the dashboard, ex: mydomain.tagmango.com

Response Body

application/json

application/json

application/json

curl -X GET "https://api-prod-new.tagmango.com/api/v1/external/courses/66c4964c11e7fef26751f3a7/overview" \  -H "x-whitelabel-host: string"
{
  "lastLoginAt": "2026-07-07T12:00:00.000Z",
  "totalEnrolledCourses": 12,
  "totalCompletedCourses": 4,
  "totalCourseCertificatesAvailable": 3,
  "courseVideoWatchTimes": [
    {
      "courseId": "66c4964c11e7fef26751f3a7",
      "courseTitle": "Mastering TypeScript",
      "totalVideoWatchTimeInSeconds": 5400
    }
  ]
}
{
  "code": 400,
  "type": "Bad request",
  "statusMessage": "BAD_REQUEST",
  "message": "Invalid request",
  "success": false
}
{
  "code": 401,
  "type": "Unauthorized",
  "statusMessage": "UNAUTHORIZED",
  "message": "Invalid token",
  "success": false
}