TagMangoTagMango Docs
Course

Get Course Reporting Summary

GET
/api/v1/external/courses/reporting/summary

Returns creator-level course analytics across all courses (or a filtered subset).

Includes per-course metrics, top 10 most-watched courses, top 10 best-rated courses, watch time by category, and ratings by category.

AuthorizationBearer <token>

In: header

Query Parameters

startDate?string

Start date for filtering data

Formatdate-time
endDate?string

End date for filtering data

Formatdate-time
course?array<>

Comma-separated course IDs to filter

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/reporting/summary" \  -H "x-whitelabel-host: string"
{
  "courses": [
    {
      "courseId": "string",
      "title": "string",
      "categoryName": "string",
      "initiated": 0,
      "completed": 0,
      "averageProgressPercent": 0,
      "watchTimeTotalSeconds": 0,
      "catalogTotalClicks": 0,
      "averageRating": 0,
      "reviewCount": 0
    }
  ],
  "mostWatchedCourses": [
    {
      "courseId": "string",
      "title": "string",
      "categoryName": "string",
      "initiated": 0,
      "completed": 0,
      "averageProgressPercent": 0,
      "watchTimeTotalSeconds": 0,
      "catalogTotalClicks": 0,
      "averageRating": 0,
      "reviewCount": 0
    }
  ],
  "bestRatedCourses": [
    {
      "courseId": "string",
      "title": "string",
      "categoryName": "string",
      "initiated": 0,
      "completed": 0,
      "averageProgressPercent": 0,
      "watchTimeTotalSeconds": 0,
      "catalogTotalClicks": 0,
      "averageRating": 0,
      "reviewCount": 0
    }
  ],
  "watchTimeByCategory": [
    {
      "categoryName": "string",
      "totalWatchTimeSeconds": 0
    }
  ],
  "ratingsByCategory": [
    {
      "categoryName": "string",
      "averageRating": 0,
      "reviewCount": 0
    }
  ]
}
{
  "code": 400,
  "type": "Bad request",
  "statusMessage": "BAD_REQUEST",
  "message": "Invalid request",
  "success": false
}
{
  "code": 401,
  "type": "Unauthorized",
  "statusMessage": "UNAUTHORIZED",
  "message": "Invalid token",
  "success": false
}