# ai-analytics ## ai_analytics_audience_orgs_active_users_over_time_retrieve - [GET /api/ai-analytics/audience/orgs/{org}/active-users/over-time](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_audience_orgs_active_users_over_time_retrieve.md): Get active user counts over time. This endpoint provides daily counts of active users (users with known activity) over a specified time period. Query Parameters: start_date (str, optional): Start date for the time range (ISO format) end_date (str, optional): End date for the time range (ISO format) Returns: Daily active user counts over the specified time period, with change metrics compared to previous periods. Default time range is the last 7 days if no dates are specified. An active user is defined as a user with any activity within the past 30 days. ## ai_analytics_audience_orgs_active_users_per_course_retrieve - [GET /api/ai-analytics/audience/orgs/{org}/active-users/per-course](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_audience_orgs_active_users_per_course_retrieve.md): Get active user counts on a per-course basis. This endpoint provides counts of active users for each course within the specified date range. Query Parameters: start_date (str, optional): Start date for filtering (ISO format) end_date (str, optional): End date for filtering (ISO format) Returns: A list of courses with their active user counts. Default time range is the last 7 days if no dates are specified. ## ai_analytics_audience_orgs_active_users_users_retrieve - [GET /api/ai-analytics/audience/orgs/{org}/active-users/users](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_audience_orgs_active_users_users_retrieve.md): Get a list of active users with activity metrics. This endpoint provides a paginated list of users who have had activity within the specified date range. Query Parameters: start_date (str, optional): Start date for filtering (ISO format) end_date (str, optional): End date for filtering (ISO format) course_id (str, optional): Filter by course ID page (int, optional): Page number for pagination length (int, optional): Number of items per page Returns: A paginated list of active users with their activity metrics. Default time range is the last 7 days if no dates are specified. ## ai_analytics_audience_orgs_enrollments_courses_over_time_retrieve - [GET /api/ai-analytics/audience/orgs/{org}/enrollments/courses/{course_id}/over-time](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_audience_orgs_enrollments_courses_over_time_retrieve.md): Get enrollment or unenrollment counts over time. This endpoint provides daily counts of new enrollments or unenrollments over a specified time period. Query Parameters: start_date (str, optional): Start date for the time range (ISO format) end_date (str, optional): End date for the time range (ISO format) course_id (str, optional): Filter by course ID active (bool): Get enrollments when true, unenrollments when false Returns: Daily counts over the specified time period, with change metrics compared to previous periods. Default time range is the last 7 days if no dates are specified. ## ai_analytics_audience_orgs_enrollments_courses_users_retrieve - [GET /api/ai-analytics/audience/orgs/{org}/enrollments/courses/{course_id}/users](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_audience_orgs_enrollments_courses_users_retrieve.md): List users enrolled in a specific course. This endpoint provides a list of users who are enrolled or unenrolled in a specified course. Query Parameters: course_id (str): The course ID to get enrollments for active (bool): Filter for active enrollments when true, inactive when false page (int, optional): Page number for pagination length (int, optional): Number of items per page Returns: A paginated list of users with: - Username - Full name - Email - Enrollment timestamp ## ai_analytics_audience_orgs_enrollments_over_time_retrieve - [GET /api/ai-analytics/audience/orgs/{org}/enrollments/over-time](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_audience_orgs_enrollments_over_time_retrieve.md): Get enrollment or unenrollment counts over time. This endpoint provides daily counts of new enrollments or unenrollments over a specified time period. Query Parameters: start_date (str, optional): Start date for the time range (ISO format) end_date (str, optional): End date for the time range (ISO format) course_id (str, optional): Filter by course ID active (bool): Get enrollments when true, unenrollments when false Returns: Daily counts over the specified time period, with change metrics compared to previous periods. Default time range is the last 7 days if no dates are specified. ## ai_analytics_audience_orgs_enrollments_per_course_retrieve - [GET /api/ai-analytics/audience/orgs/{org}/enrollments/per-course](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_audience_orgs_enrollments_per_course_retrieve.md): List enrollment statistics on a per-course basis. This endpoint provides enrollment counts for all courses, with options to filter for active or inactive enrollments and to include time-based data. Query Parameters: active (bool): Filter for active enrollments when true, inactive when false start_date (str, optional): Start date for time-based filtering (ISO format) end_date (str, optional): End date for time-based filtering (ISO format) page (int, optional): Page number for pagination length (int, optional): Number of items per page Returns: A paginated list of courses with their enrollment counts and percentages. ## ai_analytics_audience_orgs_registered_users_retrieve - [GET /api/ai-analytics/audience/orgs/{org}/registered-users/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_audience_orgs_registered_users_retrieve.md): List all learners on the platform with aggregated metrics. This endpoint returns a paginated list of all learners with key metrics including: - Enrollment counts - Completion counts - Time spent on platform Query Parameters: page (int): Page number for pagination length (int): Number of items per page search (str): Filter learners by username, email, or name Returns: A paginated list of learners with their associated metrics. ## ai_analytics_audience_orgs_registered_users_over_time_retrieve - [GET /api/ai-analytics/audience/orgs/{org}/registered-users/over-time](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_audience_orgs_registered_users_over_time_retrieve.md): Get registered user counts over time. This endpoint provides daily counts of new user registrations over a specified time period. Query Parameters: start_date (str, optional): Start date for the time range (ISO format) end_date (str, optional): End date for the time range (ISO format) Returns: Daily registration counts over the specified time period, with change metrics compared to previous periods. Default time range is the last 7 days if no dates are specified. ## ai_analytics_audience_orgs_registered_users_per_course_retrieve - [GET /api/ai-analytics/audience/orgs/{org}/registered-users/per-course](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_audience_orgs_registered_users_per_course_retrieve.md): List enrollment statistics on a per-course basis. This endpoint provides enrollment counts for all courses, with options to filter for active or inactive enrollments and to include time-based data. Query Parameters: active (bool): Filter for active enrollments when true, inactive when false start_date (str, optional): Start date for time-based filtering (ISO format) end_date (str, optional): End date for time-based filtering (ISO format) page (int, optional): Page number for pagination length (int, optional): Number of items per page Returns: A paginated list of courses with their enrollment counts and percentages. ## ai_analytics_costs_pertenant_list - [GET /api/ai-analytics/costs/pertenant/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_costs_pertenant_list.md): Retrieve paginated LLM usage costs aggregated by tenant. ## ai_analytics_departments_orgs_retrieve - [GET /api/ai-analytics/departments/orgs/{org}/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_departments_orgs_retrieve.md): Get a list of departments with metrics and filtering options. This endpoint provides a paginated list of departments with aggregated metrics about learner performance, course completions, and skill acquisition. Query Parameters: page (int, optional): Page number for pagination length (int, optional): Number of items per page program (str, optional): Filter by program pathway (str, optional): Filter by pathway departments (list, optional): Filter by department ids department_id (str, optional): Filter by department id location (str, optional): Filter by location is_enrolled (bool, optional): Filter for departments with enrolled users start_date (date, optional): Filter by learner join date (start range) end_date (date, optional): Filter by learner join date (end range) Returns: A paginated list of departments with comprehensive metrics. ## ai_analytics_engagement_orgs_activity_retrieve - [GET /api/ai-analytics/engagement/orgs/{org}/activity](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_engagement_orgs_activity_retrieve.md): Get engagement metrics on a per-course basis. This endpoint provides a paginated list of courses with engagement metrics including activity counts, time spent, and interaction data. Query Parameters: page (int, optional): Page number for pagination length (int, optional): Number of items per page Returns: A paginated list of courses with their engagement metrics. ## ai_analytics_engagement_orgs_course_completion_over_time_retrieve - [GET /api/ai-analytics/engagement/orgs/{org}/course_completion/over-time](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_engagement_orgs_course_completion_over_time_retrieve.md): Completion count per user per course across the platform Query Params 1. start_date e.g 2020-10-01 2. end_date e.g 2020-10-10 Default result when no query param is added is last_7_days (today inclusive) ## ai_analytics_engagement_orgs_course_completion_per_course_retrieve - [GET /api/ai-analytics/engagement/orgs/{org}/course_completion/per-course](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_engagement_orgs_course_completion_per_course_retrieve.md): List course completion metrics on a per-course basis. This endpoint provides a paginated table of courses with enrollment and completion statistics for each course. Returns: A paginated list of courses with: - Course identification (ID and name) - Enrollment count - Completion count - Average completion rate ## ai_analytics_engagement_orgs_courses_time_average_retrieve - [GET /api/ai-analytics/engagement/orgs/{org}/courses/{course_id}/time/average](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_engagement_orgs_courses_time_average_retrieve.md): Average time spent in secs on a per-day basis Query Params 1. start_date e.g 2020-10-01 2. end_date e.g 2020-10-10 3. course_id Default result when no query param is added is last_7_days (today inclusive) ## ai_analytics_engagement_orgs_courses_time_detail_retrieve - [GET /api/ai-analytics/engagement/orgs/{org}/courses/{course_id}/time/detail](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_engagement_orgs_courses_time_detail_retrieve.md): Time spent per course in secs in a tree like form Kwargs course_id e.g course-v1:Org+Course4+Run Query Params 1. start_date e.g 2020-10-01 2. end_date e.g 2020-10-10 ## ai_analytics_engagement_orgs_courses_time_over_time_retrieve - [GET /api/ai-analytics/engagement/orgs/{org}/courses/{course_id}/time/over-time](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_engagement_orgs_courses_time_over_time_retrieve.md): Time spent per course in secs on a per-day basis Query Params 1. start_date e.g 2020-10-01 2. end_date e.g 2020-10-10 Kwargs 3. course_id Default result when no query param is added is last_7_days (today inclusive) ## ai_analytics_engagement_orgs_courses_time_users_retrieve - [GET /api/ai-analytics/engagement/orgs/{org}/courses/{course_id}/time/users](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_engagement_orgs_courses_time_users_retrieve.md): Time spent by users in a course Query Params course_id e.g course-v1:Org+Course4+Run ## ai_analytics_engagement_orgs_courses_time_users_detail_retrieve - [GET /api/ai-analytics/engagement/orgs/{org}/courses/{course_id}/time/users/{user_id}/detail](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_engagement_orgs_courses_time_users_detail_retrieve.md): Time spent within a course in ordered hierarchical format Kwargs 1. course_id e.g course-v1:Org+Course4+Run 2. user_id e.g developer@ibleducation.com or dev123 (username|email) Query Params 3. start_date e.g 2020-10-01 4. end_date e.g 2020-10-10 ## ai_analytics_engagement_orgs_courses_time_users_over_time_retrieve - [GET /api/ai-analytics/engagement/orgs/{org}/courses/{course_id}/time/users/{user_id}/over-time](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_engagement_orgs_courses_time_users_over_time_retrieve.md): Time spent in secs on a per-day basis Query Params 1. course_id e.g course-v1:Org+Course4+Run 2. user_id e.g developer@ibleducation.com or dev123 (username|email) 3. start_date e.g 2020-10-01 4. end_date e.g 2020-10-10 Default result when no query param is added is last_7_days (today inclusive) ## ai_analytics_engagement_orgs_courses_videos_retrieve - [GET /api/ai-analytics/engagement/orgs/{org}/courses/{course_id}/videos/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_engagement_orgs_courses_videos_retrieve.md): Get video engagement metrics for a specific course. This endpoint provides detailed video engagement statistics for a single course, including view counts, completion rates, and time spent on videos. Query Parameters: course_id (str): The course ID to get video engagement data for Returns: Detailed video engagement metrics for the specified course. ## ai_analytics_engagement_orgs_courses_videos_over_time_retrieve - [GET /api/ai-analytics/engagement/orgs/{org}/courses/{course_id}/videos/over-time](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_engagement_orgs_courses_videos_over_time_retrieve.md): Get video watch counts over time. This endpoint provides daily counts of videos watched over a specified time period, with options to filter by course or user. Query Parameters: start_date (str, optional): Start date for the time range (ISO format) end_date (str, optional): End date for the time range (ISO format) course_id (str, optional): Filter by course ID user_id (str, optional): Filter by username or email Returns: Daily video watch counts over the specified time period. Default time range is the last 7 days if no dates are specified. Access Control: - Platform admins can access any video watch data - Learners can access their own video watch data ## ai_analytics_engagement_orgs_courses_videos_summary_retrieve - [GET /api/ai-analytics/engagement/orgs/{org}/courses/{course_id}/videos/summary](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_engagement_orgs_courses_videos_summary_retrieve.md): Get a summary of video watch statistics for a specific course. This endpoint provides a structured summary of video watch data for a course, organized in a tree-like format by course sections and subsections. Query Parameters: course_id (str): The course ID to get video summary for Returns: A hierarchical structure of video watch data for the course, including: - Section and subsection organization - Video identification and metadata - Watch counts and completion rates ## ai_analytics_engagement_orgs_courses_videos_users_retrieve - [GET /api/ai-analytics/engagement/orgs/{org}/courses/{course_id}/videos/users](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_engagement_orgs_courses_videos_users_retrieve.md): List of users' videos completed records for a specific course Kwargs course_id e.g course-v1:Org+Course4+Run ## ai_analytics_engagement_orgs_time_average_perlearner_percourse_retrieve - [GET /api/ai-analytics/engagement/orgs/{org}/time/average-perlearner-percourse](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_engagement_orgs_time_average_perlearner_percourse_retrieve.md): Average time spent by a learner in enrolled courses. Gives a rough estimate of whats the average time that would be spent by a learner in a course Query Params 1. start_date e.g 2020-10-01 2. end_date e.g 2020-10-10 ## ai_analytics_engagement_orgs_time_average_with_over_time_retrieve - [GET /api/ai-analytics/engagement/orgs/{org}/time/average-with-over-time](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_engagement_orgs_time_average_with_over_time_retrieve.md): Average time spent in secs on a per-day basis Query Params 1. start_date e.g 2020-10-01 2. end_date e.g 2020-10-10 3. course_id Default result when no query param is added is last_7_days (today inclusive) ## ai_analytics_engagement_orgs_time_over_time_retrieve - [GET /api/ai-analytics/engagement/orgs/{org}/time/over-time](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_engagement_orgs_time_over_time_retrieve.md): Get time spent on the platform over time. This endpoint provides daily time spent values (in seconds) across the platform over a specified time period. Query Parameters: start_date (str, optional): Start date for the time range (ISO format) end_date (str, optional): End date for the time range (ISO format) Returns: Daily time spent values over the specified time period, with change metrics compared to previous periods. Default time range is the last 7 days if no dates are specified. ## ai_analytics_engagement_orgs_time_per_course_retrieve - [GET /api/ai-analytics/engagement/orgs/{org}/time/per-course](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_engagement_orgs_time_per_course_retrieve.md): Get time spent statistics on a per-course basis. This endpoint provides a paginated list of courses with the total time spent by users in each course. Query Parameters: start_date (str, optional): Start date for filtering (ISO format) end_date (str, optional): End date for filtering (ISO format) page (int, optional): Page number for pagination length (int, optional): Number of items per page Returns: A paginated list of courses with: - Course identification (ID and name) - Total time spent (in seconds) - Formatted time spent (human-readable) - Percentage of total platform time ## ai_analytics_engagement_orgs_videos_retrieve - [GET /api/ai-analytics/engagement/orgs/{org}/videos/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_engagement_orgs_videos_retrieve.md): Get video engagement metrics on a per-course basis. This endpoint provides a paginated list of courses with video engagement metrics including view counts, completion rates, and time spent on videos. Query Parameters: page (int, optional): Page number for pagination length (int, optional): Number of items per page Returns: A paginated list of courses with their video engagement metrics. ## ai_analytics_engagement_orgs_videos_over_time_retrieve - [GET /api/ai-analytics/engagement/orgs/{org}/videos/over-time](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_engagement_orgs_videos_over_time_retrieve.md): Get video watch counts over time. This endpoint provides daily counts of videos watched over a specified time period, with options to filter by course or user. Query Parameters: start_date (str, optional): Start date for the time range (ISO format) end_date (str, optional): End date for the time range (ISO format) course_id (str, optional): Filter by course ID user_id (str, optional): Filter by username or email Returns: Daily video watch counts over the specified time period. Default time range is the last 7 days if no dates are specified. Access Control: - Platform admins can access any video watch data - Learners can access their own video watch data ## ai_analytics_orgs_users_average_messages_per_session_list - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/average-messages-per-session/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_average_messages_per_session_list.md): Retrieve average message counts per session over time. This endpoint returns data on the average number of messages exchanged in each conversation session within a specified date range, with options for filtering by mentor and aggregating by different time periods (hourly, daily, weekly). Args: request: The HTTP request containing filter query parameters. org: Organization key identifier. Returns: Response: Time series of average message counts and session totals. Raises: NotFound: If the specified organization does not exist. BadRequest: If the provided parameters are invalid. Query Parameters: start_date (str): Start date for filtering (YYYY-MM-DD) - required. end_date (str): End date for filtering (YYYY-MM-DD) - required. mentor_id (str): Filter by mentor unique ID. aggregation (str): Time aggregation level (hourly, daily, weekly) - default: daily. ## ai_analytics_orgs_users_chat_history_list - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/chat-history/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_chat_history_list.md): API viewset for retrieving and filtering chat message history. This viewset provides endpoints for retrieving chat message history within an organization, with extensive filtering options by date range, user, topic, mentor, and sentiment. Permissions: - Restricted to platform administrators only ## ai_analytics_orgs_users_chat_history_create - [POST /api/ai-analytics/orgs/{org}/users/{user_id}/chat-history/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_chat_history_create.md): API viewset for retrieving and filtering chat message history. This viewset provides endpoints for retrieving chat message history within an organization, with extensive filtering options by date range, user, topic, mentor, and sentiment. Permissions: - Restricted to platform administrators only ## ai_analytics_orgs_users_chat_history_filter_retrieve - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/chat-history-filter/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_chat_history_filter_retrieve.md): Retrieve filter options for chat message history. This endpoint returns data on available filter options for the chat message history endpoint, including topics, date ranges (weekly or monthly), sentiments, and users who have chat history. Args: request: The HTTP request containing query parameters. org: Organization key identifier. Returns: Response: Available filter options for chat message history. Raises: NotFound: If the specified organization does not exist. Query Parameters: monthly_range (bool): Whether to return monthly or weekly date ranges. mentor_id (str): Filter users by those who have chatted with a specific mentor. ## ai_analytics_orgs_users_chat_history_retrieve - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/chat-history/{id}/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_chat_history_retrieve.md): API viewset for retrieving and filtering chat message history. This viewset provides endpoints for retrieving chat message history within an organization, with extensive filtering options by date range, user, topic, mentor, and sentiment. Permissions: - Restricted to platform administrators only ## ai_analytics_orgs_users_chat_history_update - [PUT /api/ai-analytics/orgs/{org}/users/{user_id}/chat-history/{id}/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_chat_history_update.md): API viewset for retrieving and filtering chat message history. This viewset provides endpoints for retrieving chat message history within an organization, with extensive filtering options by date range, user, topic, mentor, and sentiment. Permissions: - Restricted to platform administrators only ## ai_analytics_orgs_users_chat_history_partial_update - [PATCH /api/ai-analytics/orgs/{org}/users/{user_id}/chat-history/{id}/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_chat_history_partial_update.md): API viewset for retrieving and filtering chat message history. This viewset provides endpoints for retrieving chat message history within an organization, with extensive filtering options by date range, user, topic, mentor, and sentiment. Permissions: - Restricted to platform administrators only ## ai_analytics_orgs_users_chat_history_destroy - [DELETE /api/ai-analytics/orgs/{org}/users/{user_id}/chat-history/{id}/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_chat_history_destroy.md): API viewset for retrieving and filtering chat message history. This viewset provides endpoints for retrieving chat message history within an organization, with extensive filtering options by date range, user, topic, mentor, and sentiment. Permissions: - Restricted to platform administrators only ## ai_analytics_orgs_users_conversation_list - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/conversation/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_conversation_list.md): Retrieve conversation volume data over time. This endpoint returns data on the number of conversations that occurred within a specified date range, with options for different time aggregations (hourly, daily, weekly). Results can be filtered by mentor. Args: request: The HTTP request containing filter query parameters. org: Organization key identifier. user_id: User identifier (not used in the implementation). Returns: Response: Time series data of conversation counts. Raises: NotFound: If the specified organization does not exist. BadRequest: If the provided parameters are invalid. Query Parameters: start_date (str): Start date for filtering (YYYY-MM-DD) - required. end_date (str): End date for filtering (YYYY-MM-DD) - required. mentor_id (str): Filter by mentor unique ID. aggregation (str): Time aggregation level (hourly, daily, weekly) - default: daily. ## ai_analytics_orgs_users_conversation_summary_retrieve - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/conversation-summary/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_conversation_summary_retrieve.md): Retrieve a summary of conversation metrics. This endpoint returns aggregated metrics about conversations within an organization, including: - Total number of conversations - Total number of human messages - Total number of AI messages Results can be filtered by mentor. Args: request: The HTTP request containing filter query parameters. org: Organization key identifier. Returns: Response: Summary of conversation metrics. Raises: NotFound: If the specified organization does not exist. Query Parameters: mentor_id (str): Filter by mentor unique ID. ## ai_analytics_orgs_users_costs_model_retrieve - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/costs/model/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_costs_model_retrieve.md): Retrieve the model costs for a tenant Filter parameters for period are start_date and enddate Accessible to tenant Admins only. ## ai_analytics_orgs_users_costs_permentor_retrieve - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/costs/permentor/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_costs_permentor_retrieve.md): Retrieve LLM usage costs aggregated by mentor. This endpoint returns data on the total cost of LLM usage for each mentor within a specified date range, with pagination support. The costs are calculated by summing the costs of all observations associated with traces from the mentor's sessions. Args: request: The HTTP request containing filter query parameters. org: Organization key identifier. Returns: Response: Paginated list of mentors with their total LLM usage costs. Raises: NotFound: If the specified organization does not exist. BadRequest: If the provided parameters are invalid. Query Parameters: start_date (str): Start date for filtering (YYYY-MM-DD) - required. end_date (str): End date for filtering (YYYY-MM-DD) - required. limit (int): Number of results per page - default: 5. offset (int): Offset for pagination - default: 0. ## ai_analytics_orgs_users_costs_peruser_retrieve - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/costs/peruser/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_costs_peruser_retrieve.md): Retrieve LLM usage costs aggregated by user. This endpoint returns data on the total cost of LLM usage for each user within a specified date range, with pagination support. The costs are calculated by summing the costs of all observations associated with traces from the user's sessions. Args: request: The HTTP request containing filter query parameters. org: Organization key identifier. Returns: Response: Paginated list of users with their total LLM usage costs. Raises: NotFound: If the specified organization does not exist. BadRequest: If the provided parameters are invalid. Query Parameters: start_date (str): Start date for filtering (YYYY-MM-DD) - required. end_date (str): End date for filtering (YYYY-MM-DD) - required. limit (int): Number of results per page - default: 10. offset (int): Offset for pagination - default: 0. ## ai_analytics_orgs_users_mentor_detail_retrieve - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/mentor-detail/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_mentor_detail_retrieve.md): Retrieve summary statistics about mentors. This endpoint returns aggregated statistics about mentors within an organization, including total mentors, active mentors (mentors with at least one session), questions answered, and ratings. Args: request: The HTTP request. org: Organization key identifier. Returns: Response: Summary statistics about mentors. Raises: NotFound: If the specified organization does not exist. ## ai_analytics_orgs_users_mentor_summary_retrieve - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/mentor-summary/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_mentor_summary_retrieve.md): Retrieve summary statistics about mentors. This endpoint returns aggregated statistics about mentors within an organization, including total mentors, active mentors (mentors with at least one session), questions answered, and ratings. Args: request: The HTTP request. org: Organization key identifier. Returns: Response: Summary statistics about mentors. Raises: NotFound: If the specified organization does not exist. ## ai_analytics_orgs_users_mentors_cost_retrieve - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/mentors/{mentor_unique_id}/cost/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_mentors_cost_retrieve.md): Retrieve LLM usage costs for a specific mentor. This endpoint returns data on the total cost of LLM usage for a specific mentor within a specified date range. The cost is calculated by summing the costs of all observations associated with traces from the tenant's sessions. Args: request: The HTTP request containing filter query parameters. org: Organization key identifier. mentor_unique_id: User key identifier. Returns: Response: Total LLM usage cost for the specified tenant. Raises: NotFound: If the specified organization does not exist. BadRequest: If the provided parameters are invalid. Query Parameters: start_date (str): Start date for filtering (YYYY-MM-DD) - required. end_date (str): End date for filtering (YYYY-MM-DD) - required. ## ai_analytics_orgs_users_most_discussed_topics_list - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/most-discussed-topics/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_most_discussed_topics_list.md): Retrieve the most discussed topics over time. This endpoint returns data on the frequency of topics discussed in conversations within a specified date range, with options for filtering by mentor and aggregating by different time periods (hourly, daily, weekly). Args: request: The HTTP request containing filter query parameters. org: Organization key identifier. Returns: Response: List of topics with their conversation counts, ordered by frequency. Raises: NotFound: If the specified organization does not exist. BadRequest: If the provided parameters are invalid. Query Parameters: start_date (str): Start date for filtering (YYYY-MM-DD) - required. end_date (str): End date for filtering (YYYY-MM-DD) - required. mentor_id (str): Filter by mentor unique ID. aggregation (str): Time aggregation level (hourly, daily, weekly) - default: daily. ## ai_analytics_orgs_users_observations_list - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/observations/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_observations_list.md): Viewset for retrieving and listing Langfuse observations. This viewset provides read-only access to Langfuse observations data for platform admins. Observations represent detailed tracking of AI model interactions and responses. Permissions: - Restricted to platform administrators only ## ai_analytics_orgs_users_observations_retrieve - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/observations/{id}/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_observations_retrieve.md): Viewset for retrieving and listing Langfuse observations. This viewset provides read-only access to Langfuse observations data for platform admins. Observations represent detailed tracking of AI model interactions and responses. Permissions: - Restricted to platform administrators only ## ai_analytics_orgs_users_overview_summary_retrieve - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/overview-summary/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_overview_summary_retrieve.md): Retrieve an overview of key analytics metrics. This endpoint returns a comprehensive overview of key analytics metrics for an organization, including: - Conversation volume: Total sessions and month-over-month change - Users: Total unique users and month-over-month change - Topics: Total unique topics and month-over-month change - User ratings: Total ratings and month-over-month change Results can be filtered by mentor. Args: request: The HTTP request containing filter query parameters. org: Organization key identifier. user_id: User identifier (not used in the implementation). Returns: Response: Overview of key analytics metrics with month-over-month changes. Raises: NotFound: If the specified organization does not exist. Query Parameters: mentor_id (str): Filter analytics by mentor unique ID. ## ai_analytics_orgs_users_rating_summary_list - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/rating-summary/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_rating_summary_list.md): Retrieve user rating metrics over time. This endpoint returns data on the number of user ratings submitted within a specified date range, aggregated by day or hour. Args: request: The HTTP request containing filter query parameters. org: Organization key identifier. Returns: Response: Time series of rating counts aggregated by day or hour. Raises: NotFound: If the specified organization does not exist. BadRequest: If the provided parameters are invalid. Query Parameters: start_date (str): Start date for filtering (YYYY-MM-DD) - required. end_date (str): End date for filtering (YYYY-MM-DD) - required. group_by (str): Aggregation level (day or hour) - default: day. ## ai_analytics_orgs_users_registered_users_trend_list - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/registered-users-trend/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_registered_users_trend_list.md): Retrieve trends of registered users over time. This endpoint returns data on the number of new user registrations within a specified date range, with options for different time aggregations (hourly, daily, weekly, monthly). The data is backfilled to ensure continuous time series even for periods with zero registrations. Args: request: The HTTP request containing filter query parameters. org: Organization key identifier. Returns: Response: Time series of user registration counts. Raises: NotFound: If the specified organization does not exist. BadRequest: If the provided parameters are invalid. Query Parameters: start_date (str): Start date for filtering (YYYY-MM-DD) - required. end_date (str): End date for filtering (YYYY-MM-DD) - required. aggregation (str): Time aggregation level (hourly, daily, weekly, monthly) - default: daily. ## ai_analytics_orgs_users_sentiment_count_list - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/sentiment-count/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_sentiment_count_list.md): Retrieve user sentiment counts over time. This endpoint returns data on the number of user sentiment entries within a specified time period, aggregated by date. Args: request: The HTTP request containing filter query parameters. org: Organization key identifier. user_id: User identifier. Returns: Response: Time series data of sentiment counts. Raises: NotFound: If the specified organization does not exist. ValidationError: If the provided query parameters are invalid. Query Parameters: period (str): Time period filter (today, yesterday, 7d, 30d, 90d) - default: 7d. ## ai_analytics_orgs_users_tenant_cost_retrieve - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/tenant-cost/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_tenant_cost_retrieve.md): Retrieve LLM usage costs for a specific tenant. This endpoint returns data on the total cost of LLM usage for a specific tenant within a specified date range. The cost is calculated by summing the costs of all observations associated with traces from the tenant's sessions. Args: request: The HTTP request containing filter query parameters. org: Organization key identifier. Returns: Response: Total LLM usage cost for the specified tenant. Raises: NotFound: If the specified organization does not exist. BadRequest: If the provided parameters are invalid. Query Parameters: start_date (str): Start date for filtering (YYYY-MM-DD) - required. end_date (str): End date for filtering (YYYY-MM-DD) - required. ## ai_analytics_orgs_users_top_students_by_chat_messages_list - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/top-students-by-chat-messages/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_top_students_by_chat_messages_list.md): Retrieve the most engaged students based on chat message count. This endpoint returns data on the top 20 students with the highest number of chat messages, with optional filtering by mentor and date range. Args: request: The HTTP request containing filter query parameters. org: Organization key identifier. user_id: User identifier (not used in the implementation). Returns: Response: List of top students with their chat message counts. Raises: NotFound: If the specified organization does not exist. BadRequest: If the provided parameters are invalid. Query Parameters: mentor_id (str): Filter by mentor unique ID. start_date (str): Start date for filtering (YYYY-MM-DD). end_date (str): End date for filtering (YYYY-MM-DD). ## ai_analytics_orgs_users_topic_overview_retrieve - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/topic-overview/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_topic_overview_retrieve.md): Retrieve aggregated topic statistics. This endpoint returns statistical information about topics within an organization, including total topics, new topics, and percentage changes compared to the previous month. Results can be filtered by mentor. Args: request: The HTTP request containing filter query parameters. org: Organization key identifier. Returns: Response: Statistical information about topics. Raises: NotFound: If the specified organization or mentor does not exist. Query Parameters: mentor_id (str): Filter statistics by mentor unique ID. ## ai_analytics_orgs_users_topic_statistics_retrieve - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/topic-statistics/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_topic_statistics_retrieve.md): Retrieve paginated statistics about topics. This endpoint returns detailed statistics about topics, including: - Number of conversations related to each topic - Total message count for each topic - Average sentiment of conversations about each topic - Average user rating for conversations about each topic Results can be filtered by mentor and date range, and are paginated. Args: request: The HTTP request containing filter query parameters. org: Organization key identifier. Returns: Response: Paginated list of topic statistics. Raises: NotFound: If the specified organization or mentor does not exist. BadRequest: If the provided parameters are invalid. Query Parameters: start_date (str): Start date for filtering (YYYY-MM-DD). end_date (str): End date for filtering (YYYY-MM-DD). mentor_id (str): Filter by mentor unique ID. page (int): Page number for pagination - default: 1. page_size (int): Number of results per page - default: 20. ## ai_analytics_orgs_users_topics_summary_list - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/topics/summary/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_topics_summary_list.md): Retrieve a summary of the most frequent topics. This endpoint returns a summary of the top 10 topics discussed in chat sessions, ordered by conversation count. Results can be filtered by mentor and date range. Args: request: The HTTP request containing filter query parameters. org: Organization key identifier. Returns: Response: A list of the top 10 topics with their conversation counts. Raises: NotFound: If the specified organization does not exist. BadRequest: If the provided date format is invalid. Query Parameters: mentor_id (str): Filter by mentor unique ID. start_date (str): Start date for filtering (YYYY-MM-DD). end_date (str): End date for filtering (YYYY-MM-DD). ## ai_analytics_orgs_users_total_users_by_mentor_list - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/total-users-by-mentor/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_total_users_by_mentor_list.md): Retrieve the total number of users interacting with mentors over time. This endpoint returns data on the number of unique users who interacted with mentors each day or hour within a specified date range, with optional filtering by specific mentor. If no date range is provided, the last 30 days are used by default. Args: request: The HTTP request containing filter query parameters. org: Organization key identifier. Returns: Response: Time series of unique user counts. Raises: NotFound: If the specified organization or mentor does not exist. BadRequest: If the provided parameters are invalid. Query Parameters: start_date (str): Start date for filtering (YYYY-MM-DD) - defaults to 30 days ago. end_date (str): End date for filtering (YYYY-MM-DD) - defaults to today. aggregation (str): Time aggregation level (hourly, daily) - default: daily. mentor_id (str): Filter by mentor unique ID. ## ai_analytics_orgs_users_traces_list - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/traces/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_traces_list.md): Viewset for retrieving and listing Langfuse traces. This viewset provides read-only access to Langfuse traces data for platform admins. Traces represent high-level tracking of user interactions and AI responses. Permissions: - Restricted to platform administrators only ## ai_analytics_orgs_users_traces_retrieve - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/traces/{id}/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_traces_retrieve.md): Viewset for retrieving and listing Langfuse traces. This viewset provides read-only access to Langfuse traces data for platform admins. Traces represent high-level tracking of user interactions and AI responses. Permissions: - Restricted to platform administrators only ## ai_analytics_orgs_users_transcripts_list - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/transcripts/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_transcripts_list.md): Retrieve message data from conversations. This endpoint returns data on messages within conversations, with options for filtering by date range, topics, and mentor. Args: request: The HTTP request containing filter query parameters. org: Organization key identifier. user_id: User identifier (not used in the implementation). Returns: Response: A list of conversation message data. Raises: NotFound: If the specified organization does not exist. ValidationError: If the provided query parameters are invalid. Query Parameters: start_date (str): Start date for filtering (YYYY-MM-DD). end_date (str): End date for filtering (YYYY-MM-DD). topics (str): Comma-separated list of topics to filter by. mentor (str): Filter by mentor unique ID. ## ai_analytics_orgs_users_usage_summary_list - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/usage-summary/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_usage_summary_list.md): Retrieve daily user engagement metrics with mentors. This endpoint returns data on the number of unique users who interact with mentors each day within a specified date range. Args: request: The HTTP request containing filter query parameters. org: Organization key identifier. Returns: Response: Daily time series of unique user counts. Raises: NotFound: If the specified organization does not exist. BadRequest: If the provided parameters are invalid. Query Parameters: start_date (str): Start date for filtering (YYYY-MM-DD) - required. end_date (str): End date for filtering (YYYY-MM-DD) - required. ## ai_analytics_orgs_users_user_cohorts_over_time_retrieve - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/user-cohorts-over-time/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_user_cohorts_over_time_retrieve.md): Retrieve user cohort trends over time. This endpoint returns data on the distribution of new versus veteran users over time, with options for different time aggregations and filtering by mentor. New users are those who registered within the specified date range, while veteran users are those who registered before the date range but were active during it. Args: request: The HTTP request containing filter query parameters. org: Organization key identifier. Returns: Response: Time series of new and veteran user counts. Raises: NotFound: If the specified organization does not exist. BadRequest: If the provided parameters are invalid. Query Parameters: start_date (str): Start date for filtering (YYYY-MM-DD) - required. end_date (str): End date for filtering (YYYY-MM-DD) - required. aggregation (str): Time aggregation level (hourly, daily, weekly) - default: daily. mentor_id (str): Filter by mentor unique ID. ## ai_analytics_orgs_users_user_cost_retrieve - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/user-cost/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_user_cost_retrieve.md): Retrieve LLM usage costs for a specific user. This endpoint returns data on the total cost of LLM usage for a specific user within a specified date range. The cost is calculated by summing the costs of all observations associated with traces from the tenant's sessions. Args: request: The HTTP request containing filter query parameters. org: Organization key identifier. user_id: User key identifier. Returns: Response: Total LLM usage cost for the specified tenant. Raises: NotFound: If the specified organization does not exist. BadRequest: If the provided parameters are invalid. Query Parameters: start_date (str): Start date for filtering (YYYY-MM-DD) - required. end_date (str): End date for filtering (YYYY-MM-DD) - required. ## ai_analytics_orgs_users_user_feedback_list - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/user-feedback/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_user_feedback_list.md): Retrieve aggregated user chat feedback counts. This endpoint returns data on the number of user chat feedback entries within a specified date range, with options for different time aggregations (hourly, daily, weekly). Results can be filtered by mentor. Args: request: The HTTP request containing filter query parameters. org: Organization key identifier. Returns: Response: Time series data of feedback counts. Raises: NotFound: If the specified organization does not exist. BadRequest: If the provided parameters are invalid. Query Parameters: start_date (str): Start date for filtering (YYYY-MM-DD) - required. end_date (str): End date for filtering (YYYY-MM-DD) - required. mentor_id (str): Filter by mentor unique ID. aggregation (str): Time aggregation level (hourly, daily, weekly) - default: daily. ## ai_analytics_orgs_users_user_metrics_retrieve - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/user-metrics/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_user_metrics_retrieve.md): Retrieve comprehensive user metrics. This endpoint returns data on various user metrics with month-over-month change calculations: - Registered users: Total users registered on the platform - New users: Users who joined in the current month - Unique users: Distinct users who have had sessions - Veteran users: Users who have been active for at least 6 months Results can be filtered by mentor. Args: request: The HTTP request containing filter query parameters. org: Organization key identifier. Returns: Response: Comprehensive user metrics with month-over-month changes. Raises: NotFound: If the specified organization does not exist. Query Parameters: mentor_id (str): Filter metrics by mentor unique ID. ## ai_analytics_orgs_users_user_metrics_pie_chart_retrieve - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/user-metrics-pie-chart/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_user_metrics_pie_chart_retrieve.md): Retrieve user distribution data for pie charts. This endpoint returns data on the distribution of new versus returning users within a specified date range, including both counts and percentages, suitable for pie chart visualization. Args: request: The HTTP request containing filter query parameters. org: Organization key identifier. Returns: Response: Distribution of new versus returning users with counts and percentages. Raises: NotFound: If the specified organization does not exist. BadRequest: If the provided parameters are invalid. Query Parameters: start_date (str): Start date for filtering (YYYY-MM-DD) - required. end_date (str): End date for filtering (YYYY-MM-DD) - required. mentor_id (str): Filter by mentor unique ID. ## ai_analytics_orgs_users_user_sentiment_retrieve - [GET /api/ai-analytics/orgs/{org}/users/{user_id}/user-sentiment/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_orgs_users_user_sentiment_retrieve.md): Retrieve user sentiment distribution. This endpoint returns data on the distribution of user sentiments (positive, negative, neutral) within a specified date range, expressed as percentages. Args: request: The HTTP request containing filter query parameters. org: Organization key identifier. Returns: Response: Sentiment distribution percentages and total sentiment count. Raises: NotFound: If the specified organization does not exist. BadRequest: If the provided parameters are invalid. Query Parameters: start_date (str): Start date for filtering (YYYY-MM-DD) - required. end_date (str): End date for filtering (YYYY-MM-DD) - required. ## ai_analytics_overview_orgs_active_users_retrieve - [GET /api/ai-analytics/overview/orgs/{org}/active-users](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_overview_orgs_active_users_retrieve.md): Get active user counts over time. This endpoint provides daily counts of active users (users with known activity) over a specified time period. Query Parameters: start_date (str, optional): Start date for the time range (ISO format) end_date (str, optional): End date for the time range (ISO format) Returns: Daily active user counts over the specified time period, with change metrics compared to previous periods. Default time range is the last 7 days if no dates are specified. An active user is defined as a user with any activity within the past 30 days. ## ai_analytics_overview_orgs_average_grade_retrieve - [GET /api/ai-analytics/overview/orgs/{org}/average-grade](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_overview_orgs_average_grade_retrieve.md): Get average grade value for platform, course, or user. This endpoint returns the average grade at different levels: - Platform level: Average grade across all courses - Course level: Average grade for a specific course - Learner level: Average grade for a specific learner - Course-learner level: Grade for a specific learner in a specific course Query Parameters: course_id (str, optional): Filter by course ID learner_id (str, optional): Filter by username or email Returns: The average grade value based on the specified filters. Access Control: - Platform admins can access any grade data - Learners can access their own grade data ## ai_analytics_overview_orgs_courses_completions_retrieve - [GET /api/ai-analytics/overview/orgs/{org}/courses/completions](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_overview_orgs_courses_completions_retrieve.md): Get course completion summary metrics over time. This endpoint provides completion statistics across the platform over a specified time period, including daily completion counts and overall metrics. Query Parameters: start_date (str): Start date for the time range (ISO format) end_date (str): End date for the time range (ISO format) Returns: Completion data including: - Daily completion counts over time - Total unique user count - Total completion count - Completion percentage - Change metrics compared to previous periods Default time range is the last 7 days if no dates are specified. ## ai_analytics_overview_orgs_learners_retrieve - [GET /api/ai-analytics/overview/orgs/{org}/learners](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_overview_orgs_learners_retrieve.md): List all learners on the platform with aggregated metrics. This endpoint returns a paginated list of all learners with key metrics including: - Enrollment counts - Completion counts - Time spent on platform Query Parameters: page (int): Page number for pagination length (int): Number of items per page search (str): Filter learners by username, email, or name Returns: A paginated list of learners with their associated metrics. ## ai_analytics_overview_orgs_most_active_courses_retrieve - [GET /api/ai-analytics/overview/orgs/{org}/most-active-courses](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_overview_orgs_most_active_courses_retrieve.md): Get time spent statistics on a per-course basis. This endpoint provides a paginated list of courses with the total time spent by users in each course. Query Parameters: start_date (str, optional): Start date for filtering (ISO format) end_date (str, optional): End date for filtering (ISO format) page (int, optional): Page number for pagination length (int, optional): Number of items per page Returns: A paginated list of courses with: - Course identification (ID and name) - Total time spent (in seconds) - Formatted time spent (human-readable) - Percentage of total platform time ## ai_analytics_overview_orgs_registered_users_retrieve - [GET /api/ai-analytics/overview/orgs/{org}/registered-users](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_overview_orgs_registered_users_retrieve.md): Get registered user counts over time. This endpoint provides daily counts of new user registrations over a specified time period. Query Parameters: start_date (str, optional): Start date for the time range (ISO format) end_date (str, optional): End date for the time range (ISO format) Returns: Daily registration counts over the specified time period, with change metrics compared to previous periods. Default time range is the last 7 days if no dates are specified. ## ai_analytics_performance_orgs_courses_grading_average_retrieve - [GET /api/ai-analytics/performance/orgs/{org}/courses/{course_id}/grading/average](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_performance_orgs_courses_grading_average_retrieve.md): Get average grade value for platform, course, or user. This endpoint returns the average grade at different levels: - Platform level: Average grade across all courses - Course level: Average grade for a specific course - Learner level: Average grade for a specific learner - Course-learner level: Grade for a specific learner in a specific course Query Parameters: course_id (str, optional): Filter by course ID learner_id (str, optional): Filter by username or email Returns: The average grade value based on the specified filters. Access Control: - Platform admins can access any grade data - Learners can access their own grade data ## ai_analytics_performance_orgs_courses_grading_average_with_cutoff_retrieve - [GET /api/ai-analytics/performance/orgs/{org}/courses/{course_id}/grading/average-with-cutoff](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_performance_orgs_courses_grading_average_with_cutoff_retrieve.md): Returns average course grade and grade cuttoff e.g Kwargs course_id ## ai_analytics_performance_orgs_courses_grading_detail_retrieve - [GET /api/ai-analytics/performance/orgs/{org}/courses/{course_id}/grading/detail](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_performance_orgs_courses_grading_detail_retrieve.md): Grading summary for the entire course overview in a tree-like format Kwargs course_id ## ai_analytics_performance_orgs_courses_grading_per_learner_retrieve - [GET /api/ai-analytics/performance/orgs/{org}/courses/{course_id}/grading/per-learner](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_performance_orgs_courses_grading_per_learner_retrieve.md): Grading information per enrolled user in a course Kwargs course_id ## ai_analytics_performance_orgs_courses_grading_summary_retrieve - [GET /api/ai-analytics/performance/orgs/{org}/courses/{course_id}/grading/summary](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_performance_orgs_courses_grading_summary_retrieve.md): Returns average grades across various assignment types in a course Query Params course_id Returns: dict { "data": [ { "assignment_type': , "weight": , "average_weighted_grade": , "average_section_grade": }, ... ] } ## ai_analytics_performance_orgs_grading_average_retrieve - [GET /api/ai-analytics/performance/orgs/{org}/grading/average](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_performance_orgs_grading_average_retrieve.md): Get average grade value for platform, course, or user. This endpoint returns the average grade at different levels: - Platform level: Average grade across all courses - Course level: Average grade for a specific course - Learner level: Average grade for a specific learner - Course-learner level: Grade for a specific learner in a specific course Query Parameters: course_id (str, optional): Filter by course ID learner_id (str, optional): Filter by username or email Returns: The average grade value based on the specified filters. Access Control: - Platform admins can access any grade data - Learners can access their own grade data ## ai_analytics_performance_orgs_grading_per_course_retrieve - [GET /api/ai-analytics/performance/orgs/{org}/grading/per-course](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_performance_orgs_grading_per_course_retrieve.md): List grade-related performance data for all courses. This endpoint provides a comprehensive view of grade performance across courses, including enrollment counts, pass rates, and average grades. Returns: A paginated list of courses with: - Course identification (ID and name) - Enrollment count - Number of students who passed - Average grade ## ai_analytics_perlearner_orgs_learners_retrieve - [GET /api/ai-analytics/perlearner/orgs/{org}/learners](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_perlearner_orgs_learners_retrieve.md): Enhanced API endpoint for listing learners with comprehensive filtering. This endpoint provides a paginated list of learners with detailed metrics and supports advanced filtering options. It uses DM token authentication and respects department-based access controls. Query Parameters: page (int): Page number for pagination length (int): Number of items per page search (str): Filter by username, email, or full name program (str): Filter by program location (str): Filter by location is_enrolled (bool): Filter for users with enrollments platform (str): Filter by platform start_date (date): Filter by join date (start range) end_date (date): Filter by join date (end range) Returns: A paginated list of learners with comprehensive metrics including: - Course enrollments and completions - Time spent on platform - Pathway progress - Certificate and skill information - Location data Access Control: - Platform admins can see all learners - Department admins can only see learners in their departments ## ai_analytics_perlearner_orgs_users_retrieve - [GET /api/ai-analytics/perlearner/orgs/{org}/users](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_perlearner_orgs_users_retrieve.md): List all learners on the platform with aggregated metrics. This endpoint returns a paginated list of all learners with key metrics including: - Enrollment counts - Completion counts - Time spent on platform Query Parameters: page (int): Page number for pagination length (int): Number of items per page search (str): Filter learners by username, email, or name Returns: A paginated list of learners with their associated metrics. ## ai_analytics_perlearner_orgs_users_activity_retrieve - [GET /api/ai-analytics/perlearner/orgs/{org}/users/{user_id}/activity/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_perlearner_orgs_users_activity_retrieve.md): Provides information on user enrollments Params user_id e.g developer@ibleducation.com| developer ## ai_analytics_perlearner_orgs_users_courses_grading_cutoffs_retrieve - [GET /api/ai-analytics/perlearner/orgs/{org}/users/{user_id}/courses/{course_id}/grading/cutoffs](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_perlearner_orgs_users_courses_grading_cutoffs_retrieve.md): Provides about a learner current grade in a course with the course cut Kwargs 1. course_id e.g course-v1:Org+Course4+Run 2. user_id e.g developer@ibleducation.com or dev123 (username|email) ## ai_analytics_perlearner_orgs_users_courses_grading_detail_retrieve - [GET /api/ai-analytics/perlearner/orgs/{org}/users/{user_id}/courses/{course_id}/grading/detail](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_perlearner_orgs_users_courses_grading_detail_retrieve.md): Mixin that includes the StudentTokenAuthentication and IsAdminUserOrStudent ## ai_analytics_perlearner_orgs_users_courses_grading_summary_retrieve - [GET /api/ai-analytics/perlearner/orgs/{org}/users/{user_id}/courses/{course_id}/grading/summary](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_perlearner_orgs_users_courses_grading_summary_retrieve.md): Query Params 1. course_id e.g course-v1:Org+Course4+Run 2. user_id e.g developer@ibleducation.com or dev123 (username|email) ## ai_analytics_perlearner_orgs_users_courses_overview_engagement_index_retrieve - [GET /api/ai-analytics/perlearner/orgs/{org}/users/{user_id}/courses/{course_id}/overview/engagement-index](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_perlearner_orgs_users_courses_overview_engagement_index_retrieve.md): Average of days with atleast an activity within ENGAGEMENT_INDEX_PERIOD consecutive days for a learner in a course ## ai_analytics_perlearner_orgs_users_courses_overview_grade_retrieve - [GET /api/ai-analytics/perlearner/orgs/{org}/users/{user_id}/courses/{course_id}/overview/grade](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_perlearner_orgs_users_courses_overview_grade_retrieve.md): Provides about a learner current grade in a course with the course cut Kwargs 1. course_id e.g course-v1:Org+Course4+Run 2. user_id e.g developer@ibleducation.com or dev123 (username|email) ## ai_analytics_perlearner_orgs_users_courses_overview_performance_index_retrieve - [GET /api/ai-analytics/perlearner/orgs/{org}/users/{user_id}/courses/{course_id}/overview/performance-index](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_perlearner_orgs_users_courses_overview_performance_index_retrieve.md): Evaluates performance index for platform, per course, per user and per user-per course Query Params course_id learner_id ## ai_analytics_perlearner_orgs_users_courses_overview_time_over_time_retrieve - [GET /api/ai-analytics/perlearner/orgs/{org}/users/{user_id}/courses/{course_id}/overview/time/over-time](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_perlearner_orgs_users_courses_overview_time_over_time_retrieve.md): Time spent within a course in secs on a per-day basis Kwargs 1. course_id e.g course-v1:Org+Course4+Run 2. user_id e.g developer@ibleducation.com or dev123 (username|email) Query Params 3. start_date e.g 2020-10-01 4. end_date e.g 2020-10-10 Default result when no query param is added is last_7_days (today inclusive) ## ai_analytics_perlearner_orgs_users_courses_videos_retrieve - [GET /api/ai-analytics/perlearner/orgs/{org}/users/{user_id}/courses/{course_id}/videos](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_perlearner_orgs_users_courses_videos_retrieve.md): List of videos within a course a learner has watched Kwargs 1. course_id e.g course-v1:Org+Course4+Run 2. user_id e.g developer@ibleducation.com or dev123 (username|email) Default result when no query param is added is [], 0 ## ai_analytics_perlearner_orgs_users_courses_videos_over_time_retrieve - [GET /api/ai-analytics/perlearner/orgs/{org}/users/{user_id}/courses/{course_id}/videos/over-time](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_perlearner_orgs_users_courses_videos_over_time_retrieve.md): Get video watch counts over time. This endpoint provides daily counts of videos watched over a specified time period, with options to filter by course or user. Query Parameters: start_date (str, optional): Start date for the time range (ISO format) end_date (str, optional): End date for the time range (ISO format) course_id (str, optional): Filter by course ID user_id (str, optional): Filter by username or email Returns: Daily video watch counts over the specified time period. Default time range is the last 7 days if no dates are specified. Access Control: - Platform admins can access any video watch data - Learners can access their own video watch data ## ai_analytics_perlearner_orgs_users_grades_per_course_retrieve - [GET /api/ai-analytics/perlearner/orgs/{org}/users/{user_id}/grades/per-course](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_perlearner_orgs_users_grades_per_course_retrieve.md): Summary Grading Information for a learner on a per-enrollment basis Query Params 1. user_id e.g developer@ibleducation.com or dev123 (username|email) ## ai_analytics_perlearner_orgs_users_info_retrieve - [GET /api/ai-analytics/perlearner/orgs/{org}/users/{user_id}/info](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_perlearner_orgs_users_info_retrieve.md): Retrieve detailed information about a specific learner. This endpoint returns personal and activity information about a learner, including profile data, activity metrics, and location information. Path Parameters: user_id (str): The username or email of the learner Query Parameters: meta (bool): Include additional analytics information when true Returns: Detailed learner information including: - Profile data (username, name, email) - Registration and activity dates - Activity metrics (assessments, time spent, videos watched) - Location and browser information (when available) Access Control: - Platform admins can access any learner - Learners can access their own information - Department admins can access learners in their departments ## ai_analytics_perlearner_orgs_users_last_access_retrieve - [GET /api/ai-analytics/perlearner/orgs/{org}/users/{user_id}/last-access](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_perlearner_orgs_users_last_access_retrieve.md): Last course accessed by a learner, includes upto unit information as well ## ai_analytics_perlearner_orgs_users_overview_engagement_index_retrieve - [GET /api/ai-analytics/perlearner/orgs/{org}/users/{user_id}/overview/engagement-index](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_perlearner_orgs_users_overview_engagement_index_retrieve.md): Average of days with atleast an activity within ENGAGEMENT_INDEX_PERIOD consecutive days ## ai_analytics_perlearner_orgs_users_overview_grades_average_retrieve - [GET /api/ai-analytics/perlearner/orgs/{org}/users/{user_id}/overview/grades/average](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_perlearner_orgs_users_overview_grades_average_retrieve.md): Get average grade value for platform, course, or user. This endpoint returns the average grade at different levels: - Platform level: Average grade across all courses - Course level: Average grade for a specific course - Learner level: Average grade for a specific learner - Course-learner level: Grade for a specific learner in a specific course Query Parameters: course_id (str, optional): Filter by course ID learner_id (str, optional): Filter by username or email Returns: The average grade value based on the specified filters. Access Control: - Platform admins can access any grade data - Learners can access their own grade data ## ai_analytics_perlearner_orgs_users_overview_performance_index_retrieve - [GET /api/ai-analytics/perlearner/orgs/{org}/users/{user_id}/overview/performance-index](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_perlearner_orgs_users_overview_performance_index_retrieve.md): Evaluates performance index for platform, per course, per user and per user-per course Query Params course_id learner_id ## ai_analytics_perlearner_orgs_users_overview_time_over_time_retrieve - [GET /api/ai-analytics/perlearner/orgs/{org}/users/{user_id}/overview/time/over-time](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_perlearner_orgs_users_overview_time_over_time_retrieve.md): Time spent in secs on a per-day basis Query Params 1. course_id e.g course-v1:Org+Course4+Run 2. user_id e.g developer@ibleducation.com or dev123 (username|email) 3. start_date e.g 2020-10-01 4. end_date e.g 2020-10-10 Default result when no query param is added is last_7_days (today inclusive) ## ai_analytics_perlearner_orgs_users_videos_over_time_retrieve - [GET /api/ai-analytics/perlearner/orgs/{org}/users/{user_id}/videos/over-time](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_perlearner_orgs_users_videos_over_time_retrieve.md): Get video watch counts over time. This endpoint provides daily counts of videos watched over a specified time period, with options to filter by course or user. Query Parameters: start_date (str, optional): Start date for the time range (ISO format) end_date (str, optional): End date for the time range (ISO format) course_id (str, optional): Filter by course ID user_id (str, optional): Filter by username or email Returns: Daily video watch counts over the specified time period. Default time range is the last 7 days if no dates are specified. Access Control: - Platform admins can access any video watch data - Learners can access their own video watch data ## ai_analytics_perlearner_orgs_users_videos_per_course_retrieve - [GET /api/ai-analytics/perlearner/orgs/{org}/users/{user_id}/videos/per-course](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_perlearner_orgs_users_videos_per_course_retrieve.md): Summary Videos watched data for a learner per enrollment Query Params 1. user_id e.g developer@ibleducation.com or dev123 (username|email) ## ai_analytics_user_groups_orgs_retrieve - [GET /api/ai-analytics/user-groups/orgs/{org}/](https://docs.ibl.ai/apis/ibl/ai-analytics/ai_analytics_user_groups_orgs_retrieve.md): Get a list of user groups with metrics and filtering options. This endpoint provides a paginated list of user groups with aggregated metrics about learner performance, course completions, and skill acquisition. This endpoint uses DM token authentication and respects department-based access controls. Query Parameters: page (int, optional): Page number for pagination length (int, optional): Number of items per page program (str, optional): Filter by program pathway (str, optional): Filter by pathway groups (list, optional): Filter by group names location (str, optional): Filter by location is_enrolled (bool, optional): Filter for groups with enrolled users start_date (date, optional): Filter by learner join date (start range) end_date (date, optional): Filter by learner join date (end range) Returns: A paginated list of user groups with comprehensive metrics. Access Control: - Platform admins can see all groups - Department admins can only see groups in their departments ## analytics_orgs_time_update_create - [POST /api/analytics/orgs/{org}/time/update/](https://docs.ibl.ai/apis/ibl/ai-analytics/analytics_orgs_time_update_create.md): Update time spent tracking data from client-side events. This endpoint receives time spent data collected on the client side and stores it in the analytics database. It requires a valid authentication token. Methods: POST: Submit time spent tracking data Returns: A response indicating success or failure: { "success": true|false, "message": "Error message if failed" (optional) } Error Responses: 400 Bad Request: If the request data is invalid or the API is disabled Notes: This API must be enabled via the ENABLE_TIME_SPENT_UPDATE_API setting. ## Get total time spent for current user - [GET /api/analytics/time-spent/user/](https://docs.ibl.ai/apis/ibl/ai-analytics/analytics_time_spent_user_retrieve.md): Returns the total time spent (in seconds) for the current authenticated user. Can be filtered by platform, date range, course ID, URL, mentor UUID, and session UUID. ## audience_orgs_active_users_over_time_retrieve - [GET /api/audience/orgs/{org}/active-users/over-time](https://docs.ibl.ai/apis/ibl/ai-analytics/audience_orgs_active_users_over_time_retrieve.md): Get active user counts over time. This endpoint provides daily counts of active users (users with known activity) over a specified time period. Query Parameters: start_date (str, optional): Start date for the time range (ISO format) end_date (str, optional): End date for the time range (ISO format) Returns: Daily active user counts over the specified time period, with change metrics compared to previous periods. Default time range is the last 7 days if no dates are specified. An active user is defined as a user with any activity within the past 30 days. ## audience_orgs_active_users_per_course_retrieve - [GET /api/audience/orgs/{org}/active-users/per-course](https://docs.ibl.ai/apis/ibl/ai-analytics/audience_orgs_active_users_per_course_retrieve.md): Get active user counts on a per-course basis. This endpoint provides counts of active users for each course within the specified date range. Query Parameters: start_date (str, optional): Start date for filtering (ISO format) end_date (str, optional): End date for filtering (ISO format) Returns: A list of courses with their active user counts. Default time range is the last 7 days if no dates are specified. ## audience_orgs_active_users_users_retrieve - [GET /api/audience/orgs/{org}/active-users/users](https://docs.ibl.ai/apis/ibl/ai-analytics/audience_orgs_active_users_users_retrieve.md): Get a list of active users with activity metrics. This endpoint provides a paginated list of users who have had activity within the specified date range. Query Parameters: start_date (str, optional): Start date for filtering (ISO format) end_date (str, optional): End date for filtering (ISO format) course_id (str, optional): Filter by course ID page (int, optional): Page number for pagination length (int, optional): Number of items per page Returns: A paginated list of active users with their activity metrics. Default time range is the last 7 days if no dates are specified. ## audience_orgs_enrollments_courses_over_time_retrieve - [GET /api/audience/orgs/{org}/enrollments/courses/{course_id}/over-time](https://docs.ibl.ai/apis/ibl/ai-analytics/audience_orgs_enrollments_courses_over_time_retrieve.md): Get enrollment or unenrollment counts over time. This endpoint provides daily counts of new enrollments or unenrollments over a specified time period. Query Parameters: start_date (str, optional): Start date for the time range (ISO format) end_date (str, optional): End date for the time range (ISO format) course_id (str, optional): Filter by course ID active (bool): Get enrollments when true, unenrollments when false Returns: Daily counts over the specified time period, with change metrics compared to previous periods. Default time range is the last 7 days if no dates are specified. ## audience_orgs_enrollments_courses_users_retrieve - [GET /api/audience/orgs/{org}/enrollments/courses/{course_id}/users](https://docs.ibl.ai/apis/ibl/ai-analytics/audience_orgs_enrollments_courses_users_retrieve.md): List users enrolled in a specific course. This endpoint provides a list of users who are enrolled or unenrolled in a specified course. Query Parameters: course_id (str): The course ID to get enrollments for active (bool): Filter for active enrollments when true, inactive when false page (int, optional): Page number for pagination length (int, optional): Number of items per page Returns: A paginated list of users with: - Username - Full name - Email - Enrollment timestamp ## audience_orgs_enrollments_over_time_retrieve - [GET /api/audience/orgs/{org}/enrollments/over-time](https://docs.ibl.ai/apis/ibl/ai-analytics/audience_orgs_enrollments_over_time_retrieve.md): Get enrollment or unenrollment counts over time. This endpoint provides daily counts of new enrollments or unenrollments over a specified time period. Query Parameters: start_date (str, optional): Start date for the time range (ISO format) end_date (str, optional): End date for the time range (ISO format) course_id (str, optional): Filter by course ID active (bool): Get enrollments when true, unenrollments when false Returns: Daily counts over the specified time period, with change metrics compared to previous periods. Default time range is the last 7 days if no dates are specified. ## audience_orgs_enrollments_per_course_retrieve - [GET /api/audience/orgs/{org}/enrollments/per-course](https://docs.ibl.ai/apis/ibl/ai-analytics/audience_orgs_enrollments_per_course_retrieve.md): List enrollment statistics on a per-course basis. This endpoint provides enrollment counts for all courses, with options to filter for active or inactive enrollments and to include time-based data. Query Parameters: active (bool): Filter for active enrollments when true, inactive when false start_date (str, optional): Start date for time-based filtering (ISO format) end_date (str, optional): End date for time-based filtering (ISO format) page (int, optional): Page number for pagination length (int, optional): Number of items per page Returns: A paginated list of courses with their enrollment counts and percentages. ## audience_orgs_registered_users_retrieve - [GET /api/audience/orgs/{org}/registered-users/](https://docs.ibl.ai/apis/ibl/ai-analytics/audience_orgs_registered_users_retrieve.md): List all learners on the platform with aggregated metrics. This endpoint returns a paginated list of all learners with key metrics including: - Enrollment counts - Completion counts - Time spent on platform Query Parameters: page (int): Page number for pagination length (int): Number of items per page search (str): Filter learners by username, email, or name Returns: A paginated list of learners with their associated metrics. ## audience_orgs_registered_users_over_time_retrieve - [GET /api/audience/orgs/{org}/registered-users/over-time](https://docs.ibl.ai/apis/ibl/ai-analytics/audience_orgs_registered_users_over_time_retrieve.md): Get registered user counts over time. This endpoint provides daily counts of new user registrations over a specified time period. Query Parameters: start_date (str, optional): Start date for the time range (ISO format) end_date (str, optional): End date for the time range (ISO format) Returns: Daily registration counts over the specified time period, with change metrics compared to previous periods. Default time range is the last 7 days if no dates are specified. ## audience_orgs_registered_users_per_course_retrieve - [GET /api/audience/orgs/{org}/registered-users/per-course](https://docs.ibl.ai/apis/ibl/ai-analytics/audience_orgs_registered_users_per_course_retrieve.md): List enrollment statistics on a per-course basis. This endpoint provides enrollment counts for all courses, with options to filter for active or inactive enrollments and to include time-based data. Query Parameters: active (bool): Filter for active enrollments when true, inactive when false start_date (str, optional): Start date for time-based filtering (ISO format) end_date (str, optional): End date for time-based filtering (ISO format) page (int, optional): Page number for pagination length (int, optional): Number of items per page Returns: A paginated list of courses with their enrollment counts and percentages. ## engagement_orgs_activity_retrieve - [GET /api/engagement/orgs/{org}/activity](https://docs.ibl.ai/apis/ibl/ai-analytics/engagement_orgs_activity_retrieve.md): Get engagement metrics on a per-course basis. This endpoint provides a paginated list of courses with engagement metrics including activity counts, time spent, and interaction data. Query Parameters: page (int, optional): Page number for pagination length (int, optional): Number of items per page Returns: A paginated list of courses with their engagement metrics. ## engagement_orgs_course_completion_over_time_retrieve - [GET /api/engagement/orgs/{org}/course_completion/over-time](https://docs.ibl.ai/apis/ibl/ai-analytics/engagement_orgs_course_completion_over_time_retrieve.md): Completion count per user per course across the platform Query Params 1. start_date e.g 2020-10-01 2. end_date e.g 2020-10-10 Default result when no query param is added is last_7_days (today inclusive) ## engagement_orgs_course_completion_per_course_retrieve - [GET /api/engagement/orgs/{org}/course_completion/per-course](https://docs.ibl.ai/apis/ibl/ai-analytics/engagement_orgs_course_completion_per_course_retrieve.md): List course completion metrics on a per-course basis. This endpoint provides a paginated table of courses with enrollment and completion statistics for each course. Returns: A paginated list of courses with: - Course identification (ID and name) - Enrollment count - Completion count - Average completion rate ## engagement_orgs_courses_time_average_retrieve - [GET /api/engagement/orgs/{org}/courses/{course_id}/time/average](https://docs.ibl.ai/apis/ibl/ai-analytics/engagement_orgs_courses_time_average_retrieve.md): Average time spent in secs on a per-day basis Query Params 1. start_date e.g 2020-10-01 2. end_date e.g 2020-10-10 3. course_id Default result when no query param is added is last_7_days (today inclusive) ## engagement_orgs_courses_time_detail_retrieve - [GET /api/engagement/orgs/{org}/courses/{course_id}/time/detail](https://docs.ibl.ai/apis/ibl/ai-analytics/engagement_orgs_courses_time_detail_retrieve.md): Time spent per course in secs in a tree like form Kwargs course_id e.g course-v1:Org+Course4+Run Query Params 1. start_date e.g 2020-10-01 2. end_date e.g 2020-10-10 ## engagement_orgs_courses_time_over_time_retrieve - [GET /api/engagement/orgs/{org}/courses/{course_id}/time/over-time](https://docs.ibl.ai/apis/ibl/ai-analytics/engagement_orgs_courses_time_over_time_retrieve.md): Time spent per course in secs on a per-day basis Query Params 1. start_date e.g 2020-10-01 2. end_date e.g 2020-10-10 Kwargs 3. course_id Default result when no query param is added is last_7_days (today inclusive) ## engagement_orgs_courses_time_users_retrieve - [GET /api/engagement/orgs/{org}/courses/{course_id}/time/users](https://docs.ibl.ai/apis/ibl/ai-analytics/engagement_orgs_courses_time_users_retrieve.md): Time spent by users in a course Query Params course_id e.g course-v1:Org+Course4+Run ## engagement_orgs_courses_time_users_detail_retrieve - [GET /api/engagement/orgs/{org}/courses/{course_id}/time/users/{user_id}/detail](https://docs.ibl.ai/apis/ibl/ai-analytics/engagement_orgs_courses_time_users_detail_retrieve.md): Time spent within a course in ordered hierarchical format Kwargs 1. course_id e.g course-v1:Org+Course4+Run 2. user_id e.g developer@ibleducation.com or dev123 (username|email) Query Params 3. start_date e.g 2020-10-01 4. end_date e.g 2020-10-10 ## engagement_orgs_courses_time_users_over_time_retrieve - [GET /api/engagement/orgs/{org}/courses/{course_id}/time/users/{user_id}/over-time](https://docs.ibl.ai/apis/ibl/ai-analytics/engagement_orgs_courses_time_users_over_time_retrieve.md): Time spent in secs on a per-day basis Query Params 1. course_id e.g course-v1:Org+Course4+Run 2. user_id e.g developer@ibleducation.com or dev123 (username|email) 3. start_date e.g 2020-10-01 4. end_date e.g 2020-10-10 Default result when no query param is added is last_7_days (today inclusive) ## engagement_orgs_courses_videos_retrieve - [GET /api/engagement/orgs/{org}/courses/{course_id}/videos/](https://docs.ibl.ai/apis/ibl/ai-analytics/engagement_orgs_courses_videos_retrieve.md): Get video engagement metrics for a specific course. This endpoint provides detailed video engagement statistics for a single course, including view counts, completion rates, and time spent on videos. Query Parameters: course_id (str): The course ID to get video engagement data for Returns: Detailed video engagement metrics for the specified course. ## engagement_orgs_courses_videos_over_time_retrieve - [GET /api/engagement/orgs/{org}/courses/{course_id}/videos/over-time](https://docs.ibl.ai/apis/ibl/ai-analytics/engagement_orgs_courses_videos_over_time_retrieve.md): Get video watch counts over time. This endpoint provides daily counts of videos watched over a specified time period, with options to filter by course or user. Query Parameters: start_date (str, optional): Start date for the time range (ISO format) end_date (str, optional): End date for the time range (ISO format) course_id (str, optional): Filter by course ID user_id (str, optional): Filter by username or email Returns: Daily video watch counts over the specified time period. Default time range is the last 7 days if no dates are specified. Access Control: - Platform admins can access any video watch data - Learners can access their own video watch data ## engagement_orgs_courses_videos_summary_retrieve - [GET /api/engagement/orgs/{org}/courses/{course_id}/videos/summary](https://docs.ibl.ai/apis/ibl/ai-analytics/engagement_orgs_courses_videos_summary_retrieve.md): Get a summary of video watch statistics for a specific course. This endpoint provides a structured summary of video watch data for a course, organized in a tree-like format by course sections and subsections. Query Parameters: course_id (str): The course ID to get video summary for Returns: A hierarchical structure of video watch data for the course, including: - Section and subsection organization - Video identification and metadata - Watch counts and completion rates ## engagement_orgs_courses_videos_users_retrieve - [GET /api/engagement/orgs/{org}/courses/{course_id}/videos/users](https://docs.ibl.ai/apis/ibl/ai-analytics/engagement_orgs_courses_videos_users_retrieve.md): List of users' videos completed records for a specific course Kwargs course_id e.g course-v1:Org+Course4+Run ## engagement_orgs_time_average_perlearner_percourse_retrieve - [GET /api/engagement/orgs/{org}/time/average-perlearner-percourse](https://docs.ibl.ai/apis/ibl/ai-analytics/engagement_orgs_time_average_perlearner_percourse_retrieve.md): Average time spent by a learner in enrolled courses. Gives a rough estimate of whats the average time that would be spent by a learner in a course Query Params 1. start_date e.g 2020-10-01 2. end_date e.g 2020-10-10 ## engagement_orgs_time_average_with_over_time_retrieve - [GET /api/engagement/orgs/{org}/time/average-with-over-time](https://docs.ibl.ai/apis/ibl/ai-analytics/engagement_orgs_time_average_with_over_time_retrieve.md): Average time spent in secs on a per-day basis Query Params 1. start_date e.g 2020-10-01 2. end_date e.g 2020-10-10 3. course_id Default result when no query param is added is last_7_days (today inclusive) ## engagement_orgs_time_over_time_retrieve - [GET /api/engagement/orgs/{org}/time/over-time](https://docs.ibl.ai/apis/ibl/ai-analytics/engagement_orgs_time_over_time_retrieve.md): Get time spent on the platform over time. This endpoint provides daily time spent values (in seconds) across the platform over a specified time period. Query Parameters: start_date (str, optional): Start date for the time range (ISO format) end_date (str, optional): End date for the time range (ISO format) Returns: Daily time spent values over the specified time period, with change metrics compared to previous periods. Default time range is the last 7 days if no dates are specified. ## engagement_orgs_time_per_course_retrieve - [GET /api/engagement/orgs/{org}/time/per-course](https://docs.ibl.ai/apis/ibl/ai-analytics/engagement_orgs_time_per_course_retrieve.md): Get time spent statistics on a per-course basis. This endpoint provides a paginated list of courses with the total time spent by users in each course. Query Parameters: start_date (str, optional): Start date for filtering (ISO format) end_date (str, optional): End date for filtering (ISO format) page (int, optional): Page number for pagination length (int, optional): Number of items per page Returns: A paginated list of courses with: - Course identification (ID and name) - Total time spent (in seconds) - Formatted time spent (human-readable) - Percentage of total platform time ## engagement_orgs_videos_retrieve - [GET /api/engagement/orgs/{org}/videos/](https://docs.ibl.ai/apis/ibl/ai-analytics/engagement_orgs_videos_retrieve.md): Get video engagement metrics on a per-course basis. This endpoint provides a paginated list of courses with video engagement metrics including view counts, completion rates, and time spent on videos. Query Parameters: page (int, optional): Page number for pagination length (int, optional): Number of items per page Returns: A paginated list of courses with their video engagement metrics. ## engagement_orgs_videos_over_time_retrieve - [GET /api/engagement/orgs/{org}/videos/over-time](https://docs.ibl.ai/apis/ibl/ai-analytics/engagement_orgs_videos_over_time_retrieve.md): Get video watch counts over time. This endpoint provides daily counts of videos watched over a specified time period, with options to filter by course or user. Query Parameters: start_date (str, optional): Start date for the time range (ISO format) end_date (str, optional): End date for the time range (ISO format) course_id (str, optional): Filter by course ID user_id (str, optional): Filter by username or email Returns: Daily video watch counts over the specified time period. Default time range is the last 7 days if no dates are specified. Access Control: - Platform admins can access any video watch data - Learners can access their own video watch data ## overview_orgs_active_users_retrieve - [GET /api/overview/orgs/{org}/active-users](https://docs.ibl.ai/apis/ibl/ai-analytics/overview_orgs_active_users_retrieve.md): Get active user counts over time. This endpoint provides daily counts of active users (users with known activity) over a specified time period. Query Parameters: start_date (str, optional): Start date for the time range (ISO format) end_date (str, optional): End date for the time range (ISO format) Returns: Daily active user counts over the specified time period, with change metrics compared to previous periods. Default time range is the last 7 days if no dates are specified. An active user is defined as a user with any activity within the past 30 days. ## overview_orgs_average_grade_retrieve - [GET /api/overview/orgs/{org}/average-grade](https://docs.ibl.ai/apis/ibl/ai-analytics/overview_orgs_average_grade_retrieve.md): Get average grade value for platform, course, or user. This endpoint returns the average grade at different levels: - Platform level: Average grade across all courses - Course level: Average grade for a specific course - Learner level: Average grade for a specific learner - Course-learner level: Grade for a specific learner in a specific course Query Parameters: course_id (str, optional): Filter by course ID learner_id (str, optional): Filter by username or email Returns: The average grade value based on the specified filters. Access Control: - Platform admins can access any grade data - Learners can access their own grade data ## overview_orgs_courses_completions_retrieve - [GET /api/overview/orgs/{org}/courses/completions](https://docs.ibl.ai/apis/ibl/ai-analytics/overview_orgs_courses_completions_retrieve.md): Get course completion summary metrics over time. This endpoint provides completion statistics across the platform over a specified time period, including daily completion counts and overall metrics. Query Parameters: start_date (str): Start date for the time range (ISO format) end_date (str): End date for the time range (ISO format) Returns: Completion data including: - Daily completion counts over time - Total unique user count - Total completion count - Completion percentage - Change metrics compared to previous periods Default time range is the last 7 days if no dates are specified. ## overview_orgs_learners_retrieve - [GET /api/overview/orgs/{org}/learners](https://docs.ibl.ai/apis/ibl/ai-analytics/overview_orgs_learners_retrieve.md): List all learners on the platform with aggregated metrics. This endpoint returns a paginated list of all learners with key metrics including: - Enrollment counts - Completion counts - Time spent on platform Query Parameters: page (int): Page number for pagination length (int): Number of items per page search (str): Filter learners by username, email, or name Returns: A paginated list of learners with their associated metrics. ## overview_orgs_most_active_courses_retrieve - [GET /api/overview/orgs/{org}/most-active-courses](https://docs.ibl.ai/apis/ibl/ai-analytics/overview_orgs_most_active_courses_retrieve.md): Get time spent statistics on a per-course basis. This endpoint provides a paginated list of courses with the total time spent by users in each course. Query Parameters: start_date (str, optional): Start date for filtering (ISO format) end_date (str, optional): End date for filtering (ISO format) page (int, optional): Page number for pagination length (int, optional): Number of items per page Returns: A paginated list of courses with: - Course identification (ID and name) - Total time spent (in seconds) - Formatted time spent (human-readable) - Percentage of total platform time ## overview_orgs_registered_users_retrieve - [GET /api/overview/orgs/{org}/registered-users](https://docs.ibl.ai/apis/ibl/ai-analytics/overview_orgs_registered_users_retrieve.md): Get registered user counts over time. This endpoint provides daily counts of new user registrations over a specified time period. Query Parameters: start_date (str, optional): Start date for the time range (ISO format) end_date (str, optional): End date for the time range (ISO format) Returns: Daily registration counts over the specified time period, with change metrics compared to previous periods. Default time range is the last 7 days if no dates are specified. ## performance_orgs_courses_grading_average_retrieve - [GET /api/performance/orgs/{org}/courses/{course_id}/grading/average](https://docs.ibl.ai/apis/ibl/ai-analytics/performance_orgs_courses_grading_average_retrieve.md): Get average grade value for platform, course, or user. This endpoint returns the average grade at different levels: - Platform level: Average grade across all courses - Course level: Average grade for a specific course - Learner level: Average grade for a specific learner - Course-learner level: Grade for a specific learner in a specific course Query Parameters: course_id (str, optional): Filter by course ID learner_id (str, optional): Filter by username or email Returns: The average grade value based on the specified filters. Access Control: - Platform admins can access any grade data - Learners can access their own grade data ## performance_orgs_courses_grading_average_with_cutoff_retrieve - [GET /api/performance/orgs/{org}/courses/{course_id}/grading/average-with-cutoff](https://docs.ibl.ai/apis/ibl/ai-analytics/performance_orgs_courses_grading_average_with_cutoff_retrieve.md): Returns average course grade and grade cuttoff e.g Kwargs course_id ## performance_orgs_courses_grading_detail_retrieve - [GET /api/performance/orgs/{org}/courses/{course_id}/grading/detail](https://docs.ibl.ai/apis/ibl/ai-analytics/performance_orgs_courses_grading_detail_retrieve.md): Grading summary for the entire course overview in a tree-like format Kwargs course_id ## performance_orgs_courses_grading_per_learner_retrieve - [GET /api/performance/orgs/{org}/courses/{course_id}/grading/per-learner](https://docs.ibl.ai/apis/ibl/ai-analytics/performance_orgs_courses_grading_per_learner_retrieve.md): Grading information per enrolled user in a course Kwargs course_id ## performance_orgs_courses_grading_summary_retrieve - [GET /api/performance/orgs/{org}/courses/{course_id}/grading/summary](https://docs.ibl.ai/apis/ibl/ai-analytics/performance_orgs_courses_grading_summary_retrieve.md): Returns average grades across various assignment types in a course Query Params course_id Returns: dict { "data": [ { "assignment_type': , "weight": , "average_weighted_grade": , "average_section_grade": }, ... ] } ## performance_orgs_grading_average_retrieve - [GET /api/performance/orgs/{org}/grading/average](https://docs.ibl.ai/apis/ibl/ai-analytics/performance_orgs_grading_average_retrieve.md): Get average grade value for platform, course, or user. This endpoint returns the average grade at different levels: - Platform level: Average grade across all courses - Course level: Average grade for a specific course - Learner level: Average grade for a specific learner - Course-learner level: Grade for a specific learner in a specific course Query Parameters: course_id (str, optional): Filter by course ID learner_id (str, optional): Filter by username or email Returns: The average grade value based on the specified filters. Access Control: - Platform admins can access any grade data - Learners can access their own grade data ## performance_orgs_grading_per_course_retrieve - [GET /api/performance/orgs/{org}/grading/per-course](https://docs.ibl.ai/apis/ibl/ai-analytics/performance_orgs_grading_per_course_retrieve.md): List grade-related performance data for all courses. This endpoint provides a comprehensive view of grade performance across courses, including enrollment counts, pass rates, and average grades. Returns: A paginated list of courses with: - Course identification (ID and name) - Enrollment count - Number of students who passed - Average grade ## perlearner_orgs_learners_retrieve - [GET /api/perlearner/orgs/{org}/learners](https://docs.ibl.ai/apis/ibl/ai-analytics/perlearner_orgs_learners_retrieve.md): Enhanced API endpoint for listing learners with comprehensive filtering. This endpoint provides a paginated list of learners with detailed metrics and supports advanced filtering options. It uses DM token authentication and respects department-based access controls. Query Parameters: page (int): Page number for pagination length (int): Number of items per page search (str): Filter by username, email, or full name program (str): Filter by program location (str): Filter by location is_enrolled (bool): Filter for users with enrollments platform (str): Filter by platform start_date (date): Filter by join date (start range) end_date (date): Filter by join date (end range) Returns: A paginated list of learners with comprehensive metrics including: - Course enrollments and completions - Time spent on platform - Pathway progress - Certificate and skill information - Location data Access Control: - Platform admins can see all learners - Department admins can only see learners in their departments ## perlearner_orgs_users_retrieve - [GET /api/perlearner/orgs/{org}/users](https://docs.ibl.ai/apis/ibl/ai-analytics/perlearner_orgs_users_retrieve.md): List all learners on the platform with aggregated metrics. This endpoint returns a paginated list of all learners with key metrics including: - Enrollment counts - Completion counts - Time spent on platform Query Parameters: page (int): Page number for pagination length (int): Number of items per page search (str): Filter learners by username, email, or name Returns: A paginated list of learners with their associated metrics. ## perlearner_orgs_users_activity_retrieve - [GET /api/perlearner/orgs/{org}/users/{user_id}/activity/](https://docs.ibl.ai/apis/ibl/ai-analytics/perlearner_orgs_users_activity_retrieve.md): Provides information on user enrollments Params user_id e.g developer@ibleducation.com| developer ## perlearner_orgs_users_courses_grading_cutoffs_retrieve - [GET /api/perlearner/orgs/{org}/users/{user_id}/courses/{course_id}/grading/cutoffs](https://docs.ibl.ai/apis/ibl/ai-analytics/perlearner_orgs_users_courses_grading_cutoffs_retrieve.md): Provides about a learner current grade in a course with the course cut Kwargs 1. course_id e.g course-v1:Org+Course4+Run 2. user_id e.g developer@ibleducation.com or dev123 (username|email) ## perlearner_orgs_users_courses_grading_detail_retrieve - [GET /api/perlearner/orgs/{org}/users/{user_id}/courses/{course_id}/grading/detail](https://docs.ibl.ai/apis/ibl/ai-analytics/perlearner_orgs_users_courses_grading_detail_retrieve.md): Mixin that includes the StudentTokenAuthentication and IsAdminUserOrStudent ## perlearner_orgs_users_courses_grading_summary_retrieve - [GET /api/perlearner/orgs/{org}/users/{user_id}/courses/{course_id}/grading/summary](https://docs.ibl.ai/apis/ibl/ai-analytics/perlearner_orgs_users_courses_grading_summary_retrieve.md): Query Params 1. course_id e.g course-v1:Org+Course4+Run 2. user_id e.g developer@ibleducation.com or dev123 (username|email) ## perlearner_orgs_users_courses_overview_engagement_index_retrieve - [GET /api/perlearner/orgs/{org}/users/{user_id}/courses/{course_id}/overview/engagement-index](https://docs.ibl.ai/apis/ibl/ai-analytics/perlearner_orgs_users_courses_overview_engagement_index_retrieve.md): Average of days with atleast an activity within ENGAGEMENT_INDEX_PERIOD consecutive days for a learner in a course ## perlearner_orgs_users_courses_overview_grade_retrieve - [GET /api/perlearner/orgs/{org}/users/{user_id}/courses/{course_id}/overview/grade](https://docs.ibl.ai/apis/ibl/ai-analytics/perlearner_orgs_users_courses_overview_grade_retrieve.md): Provides about a learner current grade in a course with the course cut Kwargs 1. course_id e.g course-v1:Org+Course4+Run 2. user_id e.g developer@ibleducation.com or dev123 (username|email) ## perlearner_orgs_users_courses_overview_performance_index_retrieve - [GET /api/perlearner/orgs/{org}/users/{user_id}/courses/{course_id}/overview/performance-index](https://docs.ibl.ai/apis/ibl/ai-analytics/perlearner_orgs_users_courses_overview_performance_index_retrieve.md): Evaluates performance index for platform, per course, per user and per user-per course Query Params course_id learner_id ## perlearner_orgs_users_courses_overview_time_over_time_retrieve - [GET /api/perlearner/orgs/{org}/users/{user_id}/courses/{course_id}/overview/time/over-time](https://docs.ibl.ai/apis/ibl/ai-analytics/perlearner_orgs_users_courses_overview_time_over_time_retrieve.md): Time spent within a course in secs on a per-day basis Kwargs 1. course_id e.g course-v1:Org+Course4+Run 2. user_id e.g developer@ibleducation.com or dev123 (username|email) Query Params 3. start_date e.g 2020-10-01 4. end_date e.g 2020-10-10 Default result when no query param is added is last_7_days (today inclusive) ## perlearner_orgs_users_courses_videos_retrieve - [GET /api/perlearner/orgs/{org}/users/{user_id}/courses/{course_id}/videos](https://docs.ibl.ai/apis/ibl/ai-analytics/perlearner_orgs_users_courses_videos_retrieve.md): List of videos within a course a learner has watched Kwargs 1. course_id e.g course-v1:Org+Course4+Run 2. user_id e.g developer@ibleducation.com or dev123 (username|email) Default result when no query param is added is [], 0 ## perlearner_orgs_users_courses_videos_over_time_retrieve - [GET /api/perlearner/orgs/{org}/users/{user_id}/courses/{course_id}/videos/over-time](https://docs.ibl.ai/apis/ibl/ai-analytics/perlearner_orgs_users_courses_videos_over_time_retrieve.md): Get video watch counts over time. This endpoint provides daily counts of videos watched over a specified time period, with options to filter by course or user. Query Parameters: start_date (str, optional): Start date for the time range (ISO format) end_date (str, optional): End date for the time range (ISO format) course_id (str, optional): Filter by course ID user_id (str, optional): Filter by username or email Returns: Daily video watch counts over the specified time period. Default time range is the last 7 days if no dates are specified. Access Control: - Platform admins can access any video watch data - Learners can access their own video watch data ## perlearner_orgs_users_grades_per_course_retrieve - [GET /api/perlearner/orgs/{org}/users/{user_id}/grades/per-course](https://docs.ibl.ai/apis/ibl/ai-analytics/perlearner_orgs_users_grades_per_course_retrieve.md): Summary Grading Information for a learner on a per-enrollment basis Query Params 1. user_id e.g developer@ibleducation.com or dev123 (username|email) ## perlearner_orgs_users_info_retrieve - [GET /api/perlearner/orgs/{org}/users/{user_id}/info](https://docs.ibl.ai/apis/ibl/ai-analytics/perlearner_orgs_users_info_retrieve.md): Retrieve detailed information about a specific learner. This endpoint returns personal and activity information about a learner, including profile data, activity metrics, and location information. Path Parameters: user_id (str): The username or email of the learner Query Parameters: meta (bool): Include additional analytics information when true Returns: Detailed learner information including: - Profile data (username, name, email) - Registration and activity dates - Activity metrics (assessments, time spent, videos watched) - Location and browser information (when available) Access Control: - Platform admins can access any learner - Learners can access their own information - Department admins can access learners in their departments ## perlearner_orgs_users_last_access_retrieve - [GET /api/perlearner/orgs/{org}/users/{user_id}/last-access](https://docs.ibl.ai/apis/ibl/ai-analytics/perlearner_orgs_users_last_access_retrieve.md): Last course accessed by a learner, includes upto unit information as well ## perlearner_orgs_users_overview_engagement_index_retrieve - [GET /api/perlearner/orgs/{org}/users/{user_id}/overview/engagement-index](https://docs.ibl.ai/apis/ibl/ai-analytics/perlearner_orgs_users_overview_engagement_index_retrieve.md): Average of days with atleast an activity within ENGAGEMENT_INDEX_PERIOD consecutive days ## perlearner_orgs_users_overview_grades_average_retrieve - [GET /api/perlearner/orgs/{org}/users/{user_id}/overview/grades/average](https://docs.ibl.ai/apis/ibl/ai-analytics/perlearner_orgs_users_overview_grades_average_retrieve.md): Get average grade value for platform, course, or user. This endpoint returns the average grade at different levels: - Platform level: Average grade across all courses - Course level: Average grade for a specific course - Learner level: Average grade for a specific learner - Course-learner level: Grade for a specific learner in a specific course Query Parameters: course_id (str, optional): Filter by course ID learner_id (str, optional): Filter by username or email Returns: The average grade value based on the specified filters. Access Control: - Platform admins can access any grade data - Learners can access their own grade data ## perlearner_orgs_users_overview_performance_index_retrieve - [GET /api/perlearner/orgs/{org}/users/{user_id}/overview/performance-index](https://docs.ibl.ai/apis/ibl/ai-analytics/perlearner_orgs_users_overview_performance_index_retrieve.md): Evaluates performance index for platform, per course, per user and per user-per course Query Params course_id learner_id ## perlearner_orgs_users_overview_time_over_time_retrieve - [GET /api/perlearner/orgs/{org}/users/{user_id}/overview/time/over-time](https://docs.ibl.ai/apis/ibl/ai-analytics/perlearner_orgs_users_overview_time_over_time_retrieve.md): Time spent in secs on a per-day basis Query Params 1. course_id e.g course-v1:Org+Course4+Run 2. user_id e.g developer@ibleducation.com or dev123 (username|email) 3. start_date e.g 2020-10-01 4. end_date e.g 2020-10-10 Default result when no query param is added is last_7_days (today inclusive) ## perlearner_orgs_users_videos_over_time_retrieve - [GET /api/perlearner/orgs/{org}/users/{user_id}/videos/over-time](https://docs.ibl.ai/apis/ibl/ai-analytics/perlearner_orgs_users_videos_over_time_retrieve.md): Get video watch counts over time. This endpoint provides daily counts of videos watched over a specified time period, with options to filter by course or user. Query Parameters: start_date (str, optional): Start date for the time range (ISO format) end_date (str, optional): End date for the time range (ISO format) course_id (str, optional): Filter by course ID user_id (str, optional): Filter by username or email Returns: Daily video watch counts over the specified time period. Default time range is the last 7 days if no dates are specified. Access Control: - Platform admins can access any video watch data - Learners can access their own video watch data ## perlearner_orgs_users_videos_per_course_retrieve - [GET /api/perlearner/orgs/{org}/users/{user_id}/videos/per-course](https://docs.ibl.ai/apis/ibl/ai-analytics/perlearner_orgs_users_videos_per_course_retrieve.md): Summary Videos watched data for a learner per enrollment Query Params 1. user_id e.g developer@ibleducation.com or dev123 (username|email) ## platform_orgs_retrieve - [GET /api/platform/orgs/{org}/](https://docs.ibl.ai/apis/ibl/ai-analytics/platform_orgs_retrieve.md): Get a list of registered users on the platform. This endpoint provides a list of all registered users with basic profile information including username, name, email, and registration date. Returns: A list of registered users with their profile information. ## platform_orgs_courses_progress_retrieve - [GET /api/platform/orgs/{org}/courses/{course_id}/progress/](https://docs.ibl.ai/apis/ibl/ai-analytics/platform_orgs_courses_progress_retrieve.md): Completion information per enrolled user Gives Percentage of units completed in course Query Params course_id user_id ## platform_orgs_courses_progress_average_days_to_complete_retrieve - [GET /api/platform/orgs/{org}/courses/{course_id}/progress/average-days-to-complete](https://docs.ibl.ai/apis/ibl/ai-analytics/platform_orgs_courses_progress_average_days_to_complete_retrieve.md): Average days used to complete a course Query Params 1. course_id e.g course-v1:Org+Course4+Run ## platform_orgs_courses_progress_average_time_to_complete_retrieve - [GET /api/platform/orgs/{org}/courses/{course_id}/progress/average-time-to-complete](https://docs.ibl.ai/apis/ibl/ai-analytics/platform_orgs_courses_progress_average_time_to_complete_retrieve.md): Average time used to complete a course in secs Query Params 1. course_id e.g course-v1:Org+Course4+Run ## platform_orgs_courses_progress_completed_retrieve - [GET /api/platform/orgs/{org}/courses/{course_id}/progress/completed](https://docs.ibl.ai/apis/ibl/ai-analytics/platform_orgs_courses_progress_completed_retrieve.md): Get completion count statistics. This endpoint returns completion counts at different levels: - Platform level: Total users who have completed at least one course - Course level: Total completions for a specific course - Learner level: Total courses completed by a specific learner Query Parameters: course_id (str, optional): Filter by course ID user_id (str, optional): Filter by username or email Returns: A count of completions based on the specified filters. ## platform_orgs_courses_progress_completion_rate_retrieve - [GET /api/platform/orgs/{org}/courses/{course_id}/progress/completion-rate](https://docs.ibl.ai/apis/ibl/ai-analytics/platform_orgs_courses_progress_completion_rate_retrieve.md): Average of total completed units ## platform_orgs_courses_progress_in_progress_retrieve - [GET /api/platform/orgs/{org}/courses/{course_id}/progress/in-progress](https://docs.ibl.ai/apis/ibl/ai-analytics/platform_orgs_courses_progress_in_progress_retrieve.md): In Progress means any unit completion in the past 30 days For platform : Total users who have atleast a course in_progress on the platform For course : Total users For learner : Total courses in progress Query Params 1. course_id e.g course-v1:Org+Course4+Run 2. user_id e.g developer@ibleducation.com or dev123 (username|email) ## platform_orgs_courses_progress_started_retrieve - [GET /api/platform/orgs/{org}/courses/{course_id}/progress/started](https://docs.ibl.ai/apis/ibl/ai-analytics/platform_orgs_courses_progress_started_retrieve.md): Started means an enrollment For platform : Total users who have atleast an enrollment For course : Total users enrolled For learner : Total courses in progress Query Params 1. course_id e.g course-v1:Org+Course4+Run 2. user_id e.g developer@ibleducation.com or dev123 (username|email) ## platform_orgs_courses_users_grades_passed_retrieve - [GET /api/platform/orgs/{org}/courses/{course_id}/users/{user_id}/grades/passed](https://docs.ibl.ai/apis/ibl/ai-analytics/platform_orgs_courses_users_grades_passed_retrieve.md): Base class for API views that return a single count value. This class formats the response as {"data": {value_key: count}} where value_key is configurable (defaults to "count"). Attributes: value_key: The key used in the response for the count value ## platform_orgs_courses_users_progress_retrieve - [GET /api/platform/orgs/{org}/courses/{course_id}/users/{user_id}/progress](https://docs.ibl.ai/apis/ibl/ai-analytics/platform_orgs_courses_users_progress_retrieve.md): Gives Percentage of units completed in course for a specific learner ## platform_orgs_courses_users_progress_days_to_complete_retrieve - [GET /api/platform/orgs/{org}/courses/{course_id}/users/{user_id}/progress/days-to-complete](https://docs.ibl.ai/apis/ibl/ai-analytics/platform_orgs_courses_users_progress_days_to_complete_retrieve.md): Average days used to complete a course Query Params 1. course_id e.g course-v1:Org+Course4+Run ## platform_orgs_courses_users_time_count_retrieve - [GET /api/platform/orgs/{org}/courses/{course_id}/users/{user_id}/time/count](https://docs.ibl.ai/apis/ibl/ai-analytics/platform_orgs_courses_users_time_count_retrieve.md): Time spent count in seconds within a course by a learner ## platform_orgs_courses_users_videos_count_retrieve - [GET /api/platform/orgs/{org}/courses/{course_id}/users/{user_id}/videos/count](https://docs.ibl.ai/apis/ibl/ai-analytics/platform_orgs_courses_users_videos_count_retrieve.md): (Total videos watched / Total Course Videos) or Total Videos watched in a course by a learner ## platform_orgs_courses_videos_retrieve_2 - [GET /api/platform/orgs/{org}/courses/{course_id}/videos/](https://docs.ibl.ai/apis/ibl/ai-analytics/platform_orgs_courses_videos_retrieve_2.md): Count of total videos in a course Query Params course_id e.g course-v1:Org+Course4+Run ## platform_orgs_courses_count_retrieve - [GET /api/platform/orgs/{org}/courses/count](https://docs.ibl.ai/apis/ibl/ai-analytics/platform_orgs_courses_count_retrieve.md): Get total count of courses on the platform. This endpoint returns the total number of courses available on the platform. Returns: The total count of courses on the platform. ## platform_orgs_courses_grades_retrieve - [GET /api/platform/orgs/{org}/courses/grades](https://docs.ibl.ai/apis/ibl/ai-analytics/platform_orgs_courses_grades_retrieve.md): List grading information on a per-course basis. This endpoint provides grading statistics for all courses, including average grades and completion rates. Returns: A list of courses with their associated grading metrics. ## platform_orgs_courses_videos_retrieve - [GET /api/platform/orgs/{org}/courses/videos](https://docs.ibl.ai/apis/ibl/ai-analytics/platform_orgs_courses_videos_retrieve.md): Get video watch statistics on a per-course basis. This endpoint provides a list of courses with aggregated video watch metrics, including total views and completion percentages. Returns: A list of courses with: - Course identification (ID and name) - Video watch count - Percentage of total videos watched ## platform_orgs_progress_completed_retrieve - [GET /api/platform/orgs/{org}/progress/completed](https://docs.ibl.ai/apis/ibl/ai-analytics/platform_orgs_progress_completed_retrieve.md): Get completion count statistics. This endpoint returns completion counts at different levels: - Platform level: Total users who have completed at least one course - Course level: Total completions for a specific course - Learner level: Total courses completed by a specific learner Query Parameters: course_id (str, optional): Filter by course ID user_id (str, optional): Filter by username or email Returns: A count of completions based on the specified filters. ## platform_orgs_progress_completion_rate_retrieve - [GET /api/platform/orgs/{org}/progress/completion-rate](https://docs.ibl.ai/apis/ibl/ai-analytics/platform_orgs_progress_completion_rate_retrieve.md): Average of total completed units ## platform_orgs_progress_in_progress_retrieve - [GET /api/platform/orgs/{org}/progress/in-progress](https://docs.ibl.ai/apis/ibl/ai-analytics/platform_orgs_progress_in_progress_retrieve.md): In Progress means any unit completion in the past 30 days For platform : Total users who have atleast a course in_progress on the platform For course : Total users For learner : Total courses in progress Query Params 1. course_id e.g course-v1:Org+Course4+Run 2. user_id e.g developer@ibleducation.com or dev123 (username|email) ## platform_orgs_progress_started_retrieve - [GET /api/platform/orgs/{org}/progress/started](https://docs.ibl.ai/apis/ibl/ai-analytics/platform_orgs_progress_started_retrieve.md): Started means an enrollment For platform : Total users who have atleast an enrollment For course : Total users enrolled For learner : Total courses in progress Query Params 1. course_id e.g course-v1:Org+Course4+Run 2. user_id e.g developer@ibleducation.com or dev123 (username|email) ## platform_orgs_time_count_retrieve - [GET /api/platform/orgs/{org}/time/count](https://docs.ibl.ai/apis/ibl/ai-analytics/platform_orgs_time_count_retrieve.md): Total time spent count on the platform within specified range or all time Query Params 1. start_date e.g 2020-10-01 2. end_date e.g 2020-10-10 Default result is all time ## platform_orgs_users_active_count_retrieve - [GET /api/platform/orgs/{org}/users/active/count](https://docs.ibl.ai/apis/ibl/ai-analytics/platform_orgs_users_active_count_retrieve.md): Get count of active users on the platform. This endpoint returns the number of users who have had activity on the platform, either for all time or within a specified date range. Query Parameters: start_date (str, optional): Start date for filtering (ISO format) end_date (str, optional): End date for filtering (ISO format) Returns: The count of active users and change metrics compared to previous periods. Default behavior returns the count for all time if no date range is specified. ## platform_orgs_users_count_retrieve - [GET /api/platform/orgs/{org}/users/count](https://docs.ibl.ai/apis/ibl/ai-analytics/platform_orgs_users_count_retrieve.md): Get count of registered users on the platform. This endpoint returns the number of users registered on the platform, either for all time or within a specified date range. Query Parameters: start_date (str, optional): Start date for filtering (ISO format) end_date (str, optional): End date for filtering (ISO format) Returns: The count of registered users and change metrics compared to previous periods. Default behavior returns the count for all time if no date range is specified. ## platform_orgs_users_courses_completed_count_retrieve - [GET /api/platform/orgs/{org}/users/courses-completed/count](https://docs.ibl.ai/apis/ibl/ai-analytics/platform_orgs_users_courses_completed_count_retrieve.md): Count of users who have completed a course on the platform within specified range or all time Query Params 1. start_date e.g 2020-10-01 2. end_date e.g 2020-10-10 Default is all time