Skip to content

ibl-data-manager (4.84.1-ai-plus)

API for iblai

Download OpenAPI description
Languages
Servers
Mock server
https://docs.ibl.ai/_mock/apis/ibl/
https://base.manager.iblai.app/

ai-account

Operations

ai-analytics

Operations

ai_analytics_perlearner_orgs_users_videos_per_course_retrieve

Request

Summary Videos watched data for a learner per enrollment

Query Params

  1. user_id e.g developer@ibleducation.com or dev123 (username|email)
Security
PlatformApiKeyAuthentication
Path
orgstringrequired
user_idstringrequired
Query
department_idinteger

When department_mode=1 is passed, it allows to filter data for only user content groups for the specified department

end_datestringnon-empty

end date. ISO 8601

formatstringnon-empty

Format

  • json - json
Default "json"
Value"json"
include_main_platformboolean

Include main platform data

Default true
start_datestringnon-empty

start date. ISO 8601

curl -i -X GET \
  'https://docs.ibl.ai/_mock/apis/ibl/api/ai-analytics/perlearner/orgs/{org}/users/{user_id}/videos/per-course?department_id=0&end_date=string&format=json&include_main_platform=true&start_date=string' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Bodyapplication/json
dataArray of objects(PerlearnerEngagementVideosData)required
data[].​course_idstringrequired

Edx Course ID

data[].​namestringrequired

Course Name

data[].​total_videosintegerrequired

Total course videos

data[].​watchedintegerrequired

Total videos watched by student

data[].​total_time_watchintegerrequired

Total time user watched video

data[].​average_class_watchnumber(double)required

Average videos watched by students in course

data[].​class_time_averagenumber(double)required

Average time spent by students on this course

Response
application/json
{ "data": [ {} ] }

ai_analytics_user_groups_orgs_retrieve

Request

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
Security
PlatformApiKeyAuthentication
Path
orgstringrequired
Query
department_idinteger

When department_mode=1 is passed, it allows to filter data for only user content groups for the specified department

end_datestring(date)

Filter by learners date_joined. Start date. ISO 8601

formatstringnon-empty

Format

  • json - json
Default "json"
Value"json"
groupsArray of strings

Groups search string. Single string or list of strings. e.g 'sample_group' or ['group', 'another group']

include_main_platformboolean

Include main platform data

Default true
is_enrolledboolean or null

Filter for users who have at least an enrollment

lengthinteger

Size of data to return

locationstringnon-empty

Location search string

pageinteger

Page offset

pathwaystringnon-empty

Pathway string

programstringnon-empty

Program search string

start_datestring(date)

Filter by learners date_joined. Start date. ISO 8601

curl -i -X GET \
  'https://docs.ibl.ai/_mock/apis/ibl/api/ai-analytics/user-groups/orgs/{org}/?department_id=0&end_date=2019-08-24&format=json&groups=string&include_main_platform=true&is_enrolled=true&length=0&location=string&page=0&pathway=string&program=string&start_date=2019-08-24' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Bodyapplication/json
dataArray of objects(GroupListData)
paginationobject(Pagination)required
pagination.​totalItemsintegerrequired

Total records

pagination.​currentPageintegerrequired

Current Page

pagination.​perPageintegerrequired

Size of data returned per page

pagination.​totalPagesintegerrequired

Amount of pages

Response
application/json
{ "data": [ {} ], "pagination": { "totalItems": 0, "currentPage": 0, "perPage": 0, "totalPages": 0 } }

Get Content Analytics

Request

Retrieve aggregated analytics for catalog content (courses, programs, pathways, skills).

Returns both summary statistics and paginated list of content items with individual analytics. When a platform_key is provided, results are filtered to show only content consumed by learners associated with that platform.

Metrics supported:

  • course or courses: Course analytics with time spent
  • program or programs: Program analytics
  • pathway or pathways: Pathway analytics
  • skill or skills: Skill analytics

Platform Filtering:

  • Without platform_key: Shows global analytics across all platforms
  • With platform_key: Shows analytics filtered by platform learners only

Time Spent Analytics:

  • Platform-level: Total time spent across all content and average per learner
  • Course-level: Total time spent per course and average per enrolled learner
  • Time values are provided in seconds for precision
  • Overtime: Time series data showing platform time spent over last 7 days (courses only, and include_overtime=true)

External Content:

  • Content not owned by the requesting platform but used by its learners is marked as "external"
  • External content has limited metadata exposure for privacy
Security
PlatformApiKeyAuthentication
Query
date_filterstringnon-empty
  • today - Today only
  • 7d - Last 7 days
  • 30d - Last 30 days
  • 90d - Last 90 days
  • all_time - All time
  • custom - Custom date range
Default "today"
Enum"today""7d""30d""90d""all_time""custom"
end_datestring(date)
granularitystringnon-empty
  • day - day
  • hour - hour
  • week - week
  • month - month
Default "hour"
Enum"day""hour""week""month"
include_overtimeboolean

Include time spent over time data

Default false
limitinteger[ 1 .. 100 ]

Number of items per page (max 100)

Default 20
mentor_unique_idstring(uuid)
metricstringnon-emptyrequired

The type of content to retrieve (course, program, pathway, skill)

  • course - course
  • courses - courses
  • program - program
  • programs - programs
  • pathway - pathway
  • pathways - pathways
  • skill - skill
  • skills - skills
Enum"course""courses""program""programs""pathway""pathways""skill""skills"
pageinteger>= 1

Page number for pagination

Default 1
platform_keystring or null

Optional platform key to filter results by platform

start_datestring(date)
curl -i -X GET \
  'https://docs.ibl.ai/_mock/apis/ibl/api/analytics/content/?date_filter=today&end_date=2019-08-24&granularity=day&include_overtime=false&limit=20&mentor_unique_id=497f6eca-6276-4993-bfeb-53cbbbba6f08&metric=course&page=1&platform_key=string&start_date=2019-08-24' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Bodyapplication/json
metricstringrequired

The metric type (course, program, pathway, skill)

summaryobjectrequired
summary.​totalsobject(ContentTotals)required

Serializer for content summary totals.

summary.​totals.​total_learnersintegerrequired

Total number of learners

summary.​totals.​total_enrollmentsintegerrequired

Total number of enrollments

summary.​totals.​total_time_spentinteger

Total time spent in seconds (courses only)

summary.​totals.​coursesinteger

Total number of courses

summary.​totals.​active_coursesinteger

Number of active courses

summary.​totals.​platform_coursesinteger

Number of platform-owned courses

summary.​totals.​external_coursesinteger

Number of external courses

summary.​totals.​programsinteger

Total number of programs

summary.​totals.​active_programsinteger

Number of active programs

summary.​totals.​platform_programsinteger

Number of platform-owned programs

summary.​totals.​external_programsinteger

Number of external programs

summary.​totals.​pathwaysinteger

Total number of pathways

summary.​totals.​active_pathwaysinteger

Number of active pathways

summary.​totals.​platform_pathwaysinteger

Number of platform-owned pathways

summary.​totals.​external_pathwaysinteger

Number of external pathways

summary.​totals.​skillsinteger

Total number of skills

summary.​totals.​active_skillsinteger

Number of active skills

summary.​totals.​platform_skillsinteger

Number of platform-owned skills

summary.​totals.​external_skillsinteger

Number of external skills

summary.​totals.​associated_coursesinteger

Number of courses associated with skills

summary.​totals.​learners_with_skillsinteger

Number of learners with skills

summary.​averagesobject(ContentAverages)required

Serializer for content summary averages.

summary.​averages.​completion_ratenumber(double)

Average completion rate percentage

summary.​averages.​average_ratingnumber(double)

Average rating

summary.​averages.​enrollments_per_coursenumber(double)

Average enrollments per course

summary.​averages.​enrollments_per_programnumber(double)

Average enrollments per program

summary.​averages.​enrollments_per_pathwaynumber(double)

Average enrollments per pathway

summary.​averages.​courses_per_skillnumber(double)

Average courses per skill

summary.​averages.​time_per_learnernumber(double)

Average time spent per learner in seconds (courses only)

summary.​overtimeArray of objects(OvertimeDataPoint)

Time spent over time data (courses only, when include_overtime=true)

paginationobjectrequired
pagination.​countintegerrequired

Total number of items

pagination.​nextstring or null

URL for next page

pagination.​previousstring or null

URL for previous page

pagination.​current_pageintegerrequired

Current page number

pagination.​total_pagesintegerrequired

Total number of pages

resultsArray of objects(ContentItem)required

List of content items

results[].​idstringrequired

Content identifier

results[].​namestringrequired

Content name

results[].​slugstringrequired

Content slug

results[].​platformstring or nullrequired

Platform key

results[].​externalbooleanrequired

Whether content is external to the platform

results[].​analyticsobject(ContentAnalytics)required

Serializer for individual content item analytics.

results[].​analytics.​enrollmentsintegerrequired

Total enrollments for this item

results[].​analytics.​active_enrollmentsintegerrequired

Active enrollments for this item

results[].​analytics.​completion_ratenumber(double)required

Completion rate percentage

results[].​analytics.​avg_ratingnumber or null(double)

Average rating

results[].​analytics.​rating_countinteger

Number of ratings

results[].​analytics.​associated_coursesinteger

Associated courses (for skills)

results[].​analytics.​learners_countinteger

Number of learners (for skills)

results[].​analytics.​total_time_spentinteger

Total time spent on this content in seconds (courses only)

results[].​analytics.​avg_time_per_learnernumber(double)

Average time spent per learner in seconds (courses only)

results[].​instructorstring or null

Instructor name

results[].​categorystring or null

Content category

results[].​durationstring or null

Content duration

results[].​enabledboolean

Whether content is enabled

results[].​createdstring or null

Creation date

results[].​updatedstring or null

Last update date

results[].​metadataany
Response
application/json
{ "metric": "string", "summary": { "totals": {}, "averages": {}, "overtime": [] }, "pagination": { "count": 0, "next": "string", "previous": "string", "current_page": 0, "total_pages": 0 }, "results": [ {} ] }

ai-bot

Operations

ai-finetuning

Operations

ai-index

Operations

ai-marketing

Operations

ai-media

Operations

ai-mentor

Operations

ai-prompt

Operations

analytics

Operations

career

Operations

catalog

Operations

core

Operations

credentials

Operations

custom-domains

Operations

features

Operations

media

Operations

notifications

Operations

scim

Operations

commerce

Operations

recommendations

Operations

reports

Operations

skills

Operations