# analytics_learners_retrieve Unified API endpoint for learner analytics. This endpoint provides either: 1. Cross-platform summary (when only username is provided) 2. Platform-specific detailed data (when username + platform_key are provided) Query params: - username (required): Username of the learner - platform_key (optional): Platform key for platform-specific data - page (optional): Page number (default: 1) - limit (optional): Records per page (default: 20, max: 100) Returns: - If platform_key provided: Detailed platform metrics - If no platform_key: Cross-platform summary with pagination Endpoint: GET /api/analytics/learners/ 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" - `limit` (integer) Number of records per page (default: 20, max: 100) - `mentor_unique_id` (string) - `overtime` (boolean) Include overtime metrics for the user in the platform (default: false) - `page` (integer) Page number (default: 1) - `platform_key` (string) Optional platform key - if provided, returns platform-specific detailed data - `start_date` (string) - `username` (string) Username of the learner to get analytics for. Defaults to self if not provided. ## Response 200 fields (application/json): - `user` (object, required) Serializer for user information. - `user.user_id` (integer, required) - `user.username` (string,null, required) - `user.email` (string,null, required) - `user.name` (string, required) - `user.is_active` (boolean) - `user.last_active` (string) - `user.date_joined` (string) - `summary` (object, required) Serializer for learner summary data across all platforms. - `summary.total_time_spent_seconds` (integer, required) Total time spent across all platforms - `results` (array, required) - `results.platform_id` (integer, required) - `results.platform_name` (string, required) - `results.platform_key` (string,null, required) - `results.summary` (object) Serializer for platform summary data (cross-platform view). - `results.summary.enrollments` (integer, required) - `results.summary.programs` (integer, required) - `results.summary.pathways` (integer, required) - `results.summary.resources` (integer, required) - `results.summary.reported_skills` (integer, required) - `results.summary.desired_skills` (integer, required) - `results.summary.assigned_skills` (integer, required) - `results.summary.total_skills` (integer, required) - `results.summary.credentials` (integer, required) - `results.summary.points` (number, required) - `results.summary.first_activity` (string,null, required) - `results.summary.last_activity` (string,null, required) - `results.summary.total_time_spent_seconds` (integer, required) Total time spent - `results.summary.top_content` (object, required) Course with most time spent - `results.summary.top_content.course_identifier` (string, required) Course identifier - `results.summary.top_content.course_name` (string, required) Name of the course. - `results.summary.top_content.time_spent_seconds` (integer, required) Time spent on this course in seconds - `results.metrics` (object) Serializer for detailed platform metrics (platform-specific view). - `results.metrics.enrollments` (object, required) Base serializer for detailed metric data. - `results.metrics.enrollments.total` (integer, required) - `results.metrics.enrollments.details` (array) - `results.metrics.programs` (object, required) Base serializer for detailed metric data. - `results.metrics.pathways` (object, required) Base serializer for detailed metric data. - `results.metrics.resources` (object, required) Base serializer for detailed metric data. - `results.metrics.skills` (object, required) Serializer for skills metrics with breakdown. - `results.metrics.skills.reported` (integer, required) - `results.metrics.skills.desired` (integer, required) - `results.metrics.skills.assigned` (integer, required) - `results.metrics.credentials` (object, required) Base serializer for detailed metric data. - `results.metrics.points` (object, required) Serializer for points metrics. - `results.activity` (object) Serializer for activity information. - `results.last_updated` (string) - `pagination` (object, required) - `pagination.totalItems` (integer, required) Total records - `pagination.currentPage` (integer, required) Current Page - `pagination.perPage` (integer, required) Size of data returned per page - `pagination.totalPages` (integer, required) Amount of pages - `overtime` (array) Time spent over time data (when overtime=true) - `overtime.date` (string, required) Date in YYYY-MM-DD format - `overtime.value` (integer, required) Time spent in seconds for this date - `generated_at` (string, required)