@iblai/iblai-api 4.45.1-core → 4.46.0-core

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,30 @@
1
+ /* generated using openapi-typescript-codegen -- do not edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ /**
6
+ * Serializer for pagination information in content details response.
7
+ */
8
+ export type ContentDetailsPagination = {
9
+ /**
10
+ * Total learner records
11
+ */
12
+ count: number;
13
+ /**
14
+ * Relative URL for the next page
15
+ */
16
+ next?: string | null;
17
+ /**
18
+ * Relative URL for the previous page
19
+ */
20
+ previous?: string | null;
21
+ /**
22
+ * Current page number
23
+ */
24
+ current_page: number;
25
+ /**
26
+ * Total number of pages
27
+ */
28
+ total_pages: number;
29
+ };
30
+
@@ -0,0 +1,18 @@
1
+ /* generated using openapi-typescript-codegen -- do not edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ import type { ContentDetailsContentInfo } from './ContentDetailsContentInfo';
6
+ import type { ContentDetailsLearner } from './ContentDetailsLearner';
7
+ import type { ContentDetailsPagination } from './ContentDetailsPagination';
8
+ import type { ContentDetailsSummary } from './ContentDetailsSummary';
9
+ /**
10
+ * Serializer for the content details API response.
11
+ */
12
+ export type ContentDetailsResponse = {
13
+ content_info: ContentDetailsContentInfo;
14
+ summary: ContentDetailsSummary;
15
+ pagination: ContentDetailsPagination;
16
+ learners: Array<ContentDetailsLearner>;
17
+ };
18
+
@@ -0,0 +1,23 @@
1
+ /* generated using openapi-typescript-codegen -- do not edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ import type { ContentDetailsTimeSeries } from './ContentDetailsTimeSeries';
6
+ /**
7
+ * Serializer for summary data in the content details endpoint.
8
+ */
9
+ export type ContentDetailsSummary = {
10
+ /**
11
+ * Total counts related to the content item
12
+ */
13
+ totals: Record<string, number>;
14
+ /**
15
+ * Average values related to the content item
16
+ */
17
+ averages: Record<string, number | null>;
18
+ /**
19
+ * Optional time series data for the requested metric
20
+ */
21
+ time_series?: ContentDetailsTimeSeries;
22
+ };
23
+
@@ -0,0 +1,20 @@
1
+ /* generated using openapi-typescript-codegen -- do not edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ import type { ContentDetailsTimeSeriesPoint } from './ContentDetailsTimeSeriesPoint';
6
+ /**
7
+ * Serializer describing the time series block.
8
+ */
9
+ export type ContentDetailsTimeSeries = {
10
+ /**
11
+ * Metric represented in the time series
12
+ */
13
+ metric: string;
14
+ /**
15
+ * Aggregation interval (e.g., month)
16
+ */
17
+ interval: string;
18
+ data: Array<ContentDetailsTimeSeriesPoint>;
19
+ };
20
+
@@ -0,0 +1,22 @@
1
+ /* generated using openapi-typescript-codegen -- do not edit */
2
+ /* istanbul ignore file */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ /**
6
+ * Serializer for individual time series points in content details response.
7
+ */
8
+ export type ContentDetailsTimeSeriesPoint = {
9
+ /**
10
+ * ISO8601 timestamp representing the aggregated period
11
+ */
12
+ period: string;
13
+ /**
14
+ * Value for the requested metric during the period
15
+ */
16
+ value: number;
17
+ /**
18
+ * Average value for the period (used for ratings)
19
+ */
20
+ average?: number | null;
21
+ };
22
+
@@ -8,6 +8,7 @@ import type { ActivityAPI } from '../models/ActivityAPI';
8
8
  import type { Average } from '../models/Average';
9
9
  import type { AverageOvertime } from '../models/AverageOvertime';
10
10
  import type { AvgCourseGradeWithCutoff } from '../models/AvgCourseGradeWithCutoff';
11
+ import type { ContentDetailsResponse } from '../models/ContentDetailsResponse';
11
12
  import type { ContentResponse } from '../models/ContentResponse';
12
13
  import type { Count } from '../models/Count';
13
14
  import type { CourseCompletionPerCourse } from '../models/CourseCompletionPerCourse';
@@ -121,6 +122,80 @@ export class AiAnalyticsService {
121
122
  },
122
123
  });
123
124
  }
125
+ /**
126
+ * Get Content Details
127
+ * Retrieve detailed analytics for a specific content item including summary statistics, learner-level data, and optional time series information.
128
+ * @returns ContentDetailsResponse
129
+ * @throws ApiError
130
+ */
131
+ public static getContentDetails({
132
+ contentId,
133
+ metric,
134
+ dateFilter = 'today',
135
+ endDate,
136
+ limit = 10,
137
+ page = 1,
138
+ platformKey,
139
+ search,
140
+ startDate,
141
+ timeMetric,
142
+ }: {
143
+ contentId: string,
144
+ /**
145
+ * Content type to fetch (course, program, pathway, skill)
146
+ *
147
+ * * `course` - course
148
+ * * `courses` - courses
149
+ * * `program` - program
150
+ * * `programs` - programs
151
+ * * `pathway` - pathway
152
+ * * `pathways` - pathways
153
+ * * `skill` - skill
154
+ * * `skills` - skills
155
+ */
156
+ metric: 'course' | 'courses' | 'program' | 'programs' | 'pathway' | 'pathways' | 'skill' | 'skills',
157
+ /**
158
+ * * `today` - Today only
159
+ * * `7d` - Last 7 days
160
+ * * `30d` - Last 30 days
161
+ * * `90d` - Last 90 days
162
+ * * `all_time` - All time
163
+ * * `custom` - Custom date range
164
+ */
165
+ dateFilter?: 'today' | '7d' | '30d' | '90d' | 'all_time' | 'custom',
166
+ endDate?: string,
167
+ /**
168
+ * Number of learner records per page
169
+ */
170
+ limit?: number,
171
+ page?: number,
172
+ platformKey?: string,
173
+ search?: string,
174
+ startDate?: string,
175
+ /**
176
+ * Optional time series metric (enrollments, completions, ratings)
177
+ */
178
+ timeMetric?: string | null,
179
+ }): CancelablePromise<ContentDetailsResponse> {
180
+ return __request(OpenAPI, {
181
+ method: 'GET',
182
+ url: '/api/analytics/content/details/{content_id}/',
183
+ path: {
184
+ 'content_id': contentId,
185
+ },
186
+ query: {
187
+ 'date_filter': dateFilter,
188
+ 'end_date': endDate,
189
+ 'limit': limit,
190
+ 'metric': metric,
191
+ 'page': page,
192
+ 'platform_key': platformKey,
193
+ 'search': search,
194
+ 'start_date': startDate,
195
+ 'time_metric': timeMetric,
196
+ },
197
+ });
198
+ }
124
199
  /**
125
200
  *
126
201
  * Retrieve a holistic snapshot of a learner across catalog enrollments, mentor
@@ -2,6 +2,7 @@
2
2
  /* istanbul ignore file */
3
3
  /* tslint:disable */
4
4
  /* eslint-disable */
5
+ import type { ContentDetailsResponse } from '../models/ContentDetailsResponse';
5
6
  import type { ContentResponse } from '../models/ContentResponse';
6
7
  import type { LearnerAnalyticsResponse } from '../models/LearnerAnalyticsResponse';
7
8
  import type { CancelablePromise } from '../core/CancelablePromise';
@@ -77,6 +78,80 @@ export class AnalyticsService {
77
78
  },
78
79
  });
79
80
  }
81
+ /**
82
+ * Get Content Details
83
+ * Retrieve detailed analytics for a specific content item including summary statistics, learner-level data, and optional time series information.
84
+ * @returns ContentDetailsResponse
85
+ * @throws ApiError
86
+ */
87
+ public static getContentDetails({
88
+ contentId,
89
+ metric,
90
+ dateFilter = 'today',
91
+ endDate,
92
+ limit = 10,
93
+ page = 1,
94
+ platformKey,
95
+ search,
96
+ startDate,
97
+ timeMetric,
98
+ }: {
99
+ contentId: string,
100
+ /**
101
+ * Content type to fetch (course, program, pathway, skill)
102
+ *
103
+ * * `course` - course
104
+ * * `courses` - courses
105
+ * * `program` - program
106
+ * * `programs` - programs
107
+ * * `pathway` - pathway
108
+ * * `pathways` - pathways
109
+ * * `skill` - skill
110
+ * * `skills` - skills
111
+ */
112
+ metric: 'course' | 'courses' | 'program' | 'programs' | 'pathway' | 'pathways' | 'skill' | 'skills',
113
+ /**
114
+ * * `today` - Today only
115
+ * * `7d` - Last 7 days
116
+ * * `30d` - Last 30 days
117
+ * * `90d` - Last 90 days
118
+ * * `all_time` - All time
119
+ * * `custom` - Custom date range
120
+ */
121
+ dateFilter?: 'today' | '7d' | '30d' | '90d' | 'all_time' | 'custom',
122
+ endDate?: string,
123
+ /**
124
+ * Number of learner records per page
125
+ */
126
+ limit?: number,
127
+ page?: number,
128
+ platformKey?: string,
129
+ search?: string,
130
+ startDate?: string,
131
+ /**
132
+ * Optional time series metric (enrollments, completions, ratings)
133
+ */
134
+ timeMetric?: string | null,
135
+ }): CancelablePromise<ContentDetailsResponse> {
136
+ return __request(OpenAPI, {
137
+ method: 'GET',
138
+ url: '/api/analytics/content/details/{content_id}/',
139
+ path: {
140
+ 'content_id': contentId,
141
+ },
142
+ query: {
143
+ 'date_filter': dateFilter,
144
+ 'end_date': endDate,
145
+ 'limit': limit,
146
+ 'metric': metric,
147
+ 'page': page,
148
+ 'platform_key': platformKey,
149
+ 'search': search,
150
+ 'start_date': startDate,
151
+ 'time_metric': timeMetric,
152
+ },
153
+ });
154
+ }
80
155
  /**
81
156
  * Unified API endpoint for learner analytics.
82
157
  *