# Get Content Analytics Retrieve aggregated analytics for catalog content (courses, programs, pathways, skills). Returns both summary statistics and paginated list of content items with individual analytics. When a platform_key is provided, results are filtered to show only content consumed by learners associated with that platform. Metrics supported: - course or courses: Course analytics with time spent - program or programs: Program analytics - pathway or pathways: Pathway analytics - skill or skills: Skill analytics Platform Filtering: - Without platform_key: Shows global analytics across all platforms - With platform_key: Shows analytics filtered by platform learners only Time Spent Analytics: - Platform-level: Total time spent across all content and average per learner - Course-level: Total time spent per course and average per enrolled learner - Time values are provided in seconds for precision - Overtime: Time series data showing platform time spent over last 7 days (courses only, and include_overtime=true) External Content: - Content not owned by the requesting platform but used by its learners is marked as "external" - External content has limited metadata exposure for privacy Endpoint: GET /api/analytics/content/ Version: 4.84.1-ai-plus Security: PlatformApiKeyAuthentication ## Query parameters: - `date_filter` (string) * today - Today only * 7d - Last 7 days * 30d - Last 30 days * 90d - Last 90 days * all_time - All time * custom - Custom date range Enum: "today", "7d", "30d", "90d", "all_time", "custom" - `end_date` (string) - `granularity` (string) * day - day * hour - hour * week - week * month - month Enum: "day", "hour", "week", "month" - `include_overtime` (boolean) Include time spent over time data - `limit` (integer) Number of items per page (max 100) - `mentor_unique_id` (string) - `metric` (string, required) The type of content to retrieve (course, program, pathway, skill) * course - course * courses - courses * program - program * programs - programs * pathway - pathway * pathways - pathways * skill - skill * skills - skills Enum: "course", "courses", "program", "programs", "pathway", "pathways", "skill", "skills" - `page` (integer) Page number for pagination - `platform_key` (string,null) Optional platform key to filter results by platform - `start_date` (string) ## Response 200 fields (application/json): - `metric` (string, required) The metric type (course, program, pathway, skill) - `summary` (object, required) Summary statistics for the metric - `summary.totals` (object, required) Serializer for content summary totals. - `summary.totals.total_learners` (integer, required) Total number of learners - `summary.totals.total_enrollments` (integer, required) Total number of enrollments - `summary.totals.total_time_spent` (integer) Total time spent in seconds (courses only) - `summary.totals.courses` (integer) Total number of courses - `summary.totals.active_courses` (integer) Number of active courses - `summary.totals.platform_courses` (integer) Number of platform-owned courses - `summary.totals.external_courses` (integer) Number of external courses - `summary.totals.programs` (integer) Total number of programs - `summary.totals.active_programs` (integer) Number of active programs - `summary.totals.platform_programs` (integer) Number of platform-owned programs - `summary.totals.external_programs` (integer) Number of external programs - `summary.totals.pathways` (integer) Total number of pathways - `summary.totals.active_pathways` (integer) Number of active pathways - `summary.totals.platform_pathways` (integer) Number of platform-owned pathways - `summary.totals.external_pathways` (integer) Number of external pathways - `summary.totals.skills` (integer) Total number of skills - `summary.totals.active_skills` (integer) Number of active skills - `summary.totals.platform_skills` (integer) Number of platform-owned skills - `summary.totals.external_skills` (integer) Number of external skills - `summary.totals.associated_courses` (integer) Number of courses associated with skills - `summary.totals.learners_with_skills` (integer) Number of learners with skills - `summary.averages` (object, required) Serializer for content summary averages. - `summary.averages.completion_rate` (number) Average completion rate percentage - `summary.averages.average_rating` (number) Average rating - `summary.averages.enrollments_per_course` (number) Average enrollments per course - `summary.averages.enrollments_per_program` (number) Average enrollments per program - `summary.averages.enrollments_per_pathway` (number) Average enrollments per pathway - `summary.averages.courses_per_skill` (number) Average courses per skill - `summary.averages.time_per_learner` (number) Average time spent per learner in seconds (courses only) - `summary.overtime` (array) Time spent over time data (courses only, when include_overtime=true) - `summary.overtime.date` (string, required) Date in YYYY-MM-DD format - `summary.overtime.value` (integer, required) Time spent in seconds for this date - `pagination` (object, required) Pagination metadata - `pagination.count` (integer, required) Total number of items - `pagination.next` (string,null) URL for next page - `pagination.previous` (string,null) URL for previous page - `pagination.current_page` (integer, required) Current page number - `pagination.total_pages` (integer, required) Total number of pages - `results` (array, required) List of content items - `results.id` (string, required) Content identifier - `results.name` (string, required) Content name - `results.slug` (string, required) Content slug - `results.platform` (string,null, required) Platform key - `results.external` (boolean, required) Whether content is external to the platform - `results.analytics` (object, required) Serializer for individual content item analytics. - `results.analytics.enrollments` (integer, required) Total enrollments for this item - `results.analytics.active_enrollments` (integer, required) Active enrollments for this item - `results.analytics.completion_rate` (number, required) Completion rate percentage - `results.analytics.avg_rating` (number,null) Average rating - `results.analytics.rating_count` (integer) Number of ratings - `results.analytics.associated_courses` (integer) Associated courses (for skills) - `results.analytics.learners_count` (integer) Number of learners (for skills) - `results.analytics.total_time_spent` (integer) Total time spent on this content in seconds (courses only) - `results.analytics.avg_time_per_learner` (number) Average time spent per learner in seconds (courses only) - `results.instructor` (string,null) Instructor name - `results.category` (string,null) Content category - `results.duration` (string,null) Content duration - `results.enabled` (boolean) Whether content is enabled - `results.created` (string,null) Creation date - `results.updated` (string,null) Last update date - `results.metadata` (any)