Course
Get Student 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.
Authorization
bearer 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
}Create Course POST
Create a new course for the creator with required course information, mango assignment, and optional nested settings.
Update Course PATCH
Update fields of an existing course. Only provided fields are updated; omitted fields are left unchanged. Toggling `settings.enableDRM` cascades to all video chapters, re-flagging their transcoding state.