# analytics_learners_list_retrieve Retrieve a paginated list of learners for a specific platform with their comprehensive metrics from the UserPlatformSummary materialized view. This endpoint is accessible only to platform administrators and supports search, sorting, and pagination. Endpoint: GET /api/analytics/learners/list/ 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 learners per page (default: 20, max: 100) - `mentor_unique_id` (string) - `page` (integer) Page number for pagination (default: 1) - `platform_key` (string, required) Platform key to filter learners by platform - `search` (string) Search term to filter learners by username, email, or name - `sort_by` (string) Field to sort learners by (default: last_activity) * username - Username * name - Name * last_activity - Last Activity * total_points - Total Points * total_time_spent_seconds - Time Spent * total_enrollments - Enrollments * total_skills_count - Skills Count Enum: "username", "name", "last_activity", "total_points", "total_time_spent_seconds", "total_enrollments", "total_skills_count" - `sort_order` (string) Sort order (default: desc) * asc - Ascending * desc - Descending Enum: "asc", "desc" - `start_date` (string) ## Response 200 fields (application/json): - `platform` (object, required) Platform information - `platform.platform_id` (integer, required) Platform ID - `platform.platform_name` (string, required) Platform name - `platform.platform_key` (string, required) Platform key - `learners` (array, required) List of learners - `learners.user_id` (integer, required) User ID - `learners.username` (string,null, required) Username - `learners.email` (string,null, required) Email address - `learners.name` (string,null, required) Display name - `learners.is_active` (boolean, required) Whether user is active - `learners.metrics` (object, required) Learner metrics - `learners.metrics.enrollments` (integer, required) Total enrollments - `learners.metrics.programs` (integer, required) Total programs - `learners.metrics.pathways` (integer, required) Total pathways - `learners.metrics.resources` (integer, required) Total resources - `learners.metrics.reported_skills` (integer, required) Reported skills count - `learners.metrics.desired_skills` (integer, required) Desired skills count - `learners.metrics.assigned_skills` (integer, required) Assigned skills count - `learners.metrics.total_skills` (integer, required) Total skills count - `learners.metrics.credentials` (integer, required) Credentials earned - `learners.metrics.points` (number, required) Total points - `learners.metrics.total_time_spent_seconds` (integer, required) Total time spent in seconds - `learners.metrics.top_content` (object, required) Course with most time spent - `learners.metrics.top_content.course_identifier` (string, required) Course identifier - `learners.metrics.top_content.course_name` (string, required) Name of the course. - `learners.metrics.top_content.time_spent_seconds` (integer, required) Time spent on this course in seconds - `learners.first_activity` (string,null, required) First activity date - `learners.last_activity` (string,null, required) Last activity date - `pagination` (object, required) Pagination metadata - `pagination.page` (integer, required) Current page number - `pagination.limit` (integer, required) Records per page - `pagination.total_pages` (integer, required) Total number of pages - `pagination.total_records` (integer, required) Total number of records - `pagination.has_next` (boolean, required) Whether there is a next page - `pagination.has_previous` (boolean, required) Whether there is a previous page - `pagination.next_page` (integer,null, required) Next page number - `pagination.previous_page` (integer,null, required) Previous page number - `generated_at` (string, required) Response generation timestamp ## Response 400 fields ## Response 403 fields ## Response 500 fields