# analytics_learner_details_retrieve Retrieve a holistic snapshot of a learner across catalog enrollments, mentor engagement, skills, credentials, and time spent data. The metrics query parameter controls which sections are returned and defaults to courses when omitted. Endpoint: GET /api/analytics/learner/details 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" - `mentor_unique_id` (string) - `metrics` (string) - `overtime` (boolean) Include overtime metrics for time_spent data (default: false) - `platform_key` (string) - `start_date` (string) - `username` (string, required) ## 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) - `data` (object, required) - `data.courses` (array) - `data.courses.course_id` (string, required) - `data.courses.platform` (string,null) - `data.courses.enrollment` (object, required) - `data.courses.enrollment.created` (string,null) - `data.courses.enrollment.started` (string,null) - `data.courses.enrollment.ended` (string,null) - `data.courses.enrollment.active` (boolean, required) - `data.courses.completion` (object,null) - `data.courses.completion.completed` (boolean, required) - `data.courses.completion.completion_percentage` (number,null) - `data.courses.completion.passed` (boolean,null) - `data.courses.completion.passed_date` (string,null) - `data.courses.time_spent` (string) Total time spent on this course in human-readable format (e.g., '1h 30m') - `data.courses.time_spent_secs` (integer) Total time spent on this course in seconds - `data.programs` (array) - `data.programs.program_id` (string, required) - `data.pathways` (array) - `data.pathways.pathway_id` (string, required) - `data.mentors` (array) - `data.mentors.mentor_id` (string, required) - `data.mentors.slug` (string, required) - `data.mentors.platform_key` (string,null) - `data.mentors.categories` (array) - `data.mentors.subjects` (array) - `data.mentors.interactions` (object, required) - `data.mentors.interactions.total_messages` (integer, required) - `data.mentors.interactions.latest_interaction` (string,null) - `data.mentors.interactions.rating` (number,null) - `data.skills` (object) - `data.skills.desired` (array, required) - `data.skills.desired.skill_id` (integer, required) - `data.skills.reported` (array, required) - `data.credentials` (array) - `data.credentials.credential_id` (string, required) - `data.credentials.credential_url` (string, required) - `data.credentials.credential_type` (string,null) - `data.credentials.issuer` (string,null) - `data.credentials.issued_on` (string,null) - `data.credentials.expires_at` (string,null) - `data.credentials.revoked` (boolean, required) - `data.time_spent` (object) - `data.time_spent.total_time_spent` (string, required) - `data.time_spent.total_time_spent_secs` (integer, required) - `data.time_spent.overtime` (array) Time spent over time data (when overtime=true) - `data.time_spent.overtime.date` (string, required) Date in YYYY-MM-DD format - `data.time_spent.overtime.value` (integer, required) Time spent in seconds for this date ## Response 400 fields ## Response 404 fields ## Response 500 fields