{"info":{"_postman_id":"89a0bb0d-6e9b-402a-8982-ec3cc4376420","name":"Engageli API","description":"<html><head></head><body><h1 id=\"changes\">Changes</h1>\n<p>Applicable for current production versions:</p>\n<ol>\n<li><p>v3.1.57-20260521</p>\n</li>\n<li><p>v3.1.58-20260803</p>\n</li>\n</ol>\n<h2 id=\"classes-api\">Classes API</h2>\n<p>This documentation now covers some new API endpoints for the Classes API, available from Engageli 3.1.56.</p>\n<ul>\n<li><p>PATCH method to update a class configuration, including adding users to the roster, or changing their roster details (role, active/inactive status etc).</p>\n</li>\n<li><p>POST method to a new endpoint to delete users from a roster. Note, this is analogous to deleting a user from a class roster in the portal, and will not only remove the user's access to the classroom, but will delete all their attendance and engagement data too. If you only want to prohibit access, please use the PATCH method instead, and change their status to <code>inactive</code>.</p>\n</li>\n</ul>\n<h2 id=\"engagement-events\">Engagement Events</h2>\n<p>From Engageli 3.1.56 there are some additional values to be seen for type in the data returned by the Engagement Events API, relating to the new Polls, Quizzes and Sprints (aka Rallyo) features:</p>\n<ul>\n<li><p><code>pollSet</code> is an event type that relates to the Poll feature.</p>\n</li>\n<li><p><code>quizSet</code> is an event type that relates to the Quiz feature.</p>\n</li>\n<li><p><code>quizSprint</code> is an event type that relates to the Sprint (aka Rallyo) feature.</p>\n</li>\n</ul>\n<p>Each set contains one or more questions which when launched will result in <code>poll</code> events. The sets contain IDs that allow you to link the set to the individual <code>poll</code> events.</p>\n<h1 id=\"using-the-engageli-api\">Using the Engageli API</h1>\n<p>Engageli provides a set of robust APIs to retrieve configuration and usage data for your classes and class sessions. This data includes user and course identifiers from your LMS (if configured), eliminating the need for transforms and enabling the creation of comprehensive reports and dashboards.</p>\n<p>Engageli APIs support full or baseline data loads as well as incremental requests for recent updates, which makes them ideal for regular calls to keep a full copy of data in your data warehouse, allowing you to provide custom reports or drive business processes using Engageli data. All API endpoints are secured and accessed using standard REST API methods over HTTPS, returning JSON responses.</p>\n<h2 id=\"configuration-variables\">Configuration Variables</h2>\n<p>This collection describes the APIs available in Engageli. To use these, you will need to obtain details from your Engageli Partner Success Manager for:</p>\n<ul>\n<li><p>API Key to store in <code>your_api_key</code>. This is a basic authentication token which is used with the <code>token</code> endpoint to retrieve a JWT token to use as a Bearer token for all other API endpoints.</p>\n</li>\n<li><p>Host to store in <code>host</code>. This forms the base of your API URLs.</p>\n</li>\n<li><p>Sandbox to store in <code>sandbox</code>. This is used to build the path to your API URLs and is usually the same value as the start of your Engageli hostname.</p>\n</li>\n</ul>\n<p>The final variable in the collection is <code>jwt</code> and this is populated dynamically by the output of the <strong>Access Token</strong> endpoint. This is a JWT with validity of 1 hour and is used as a Bearer token to authorize all other Engageli API endpoints.</p>\n<h2 id=\"response-status-codes\">Response Status Codes</h2>\n<p>Successful responses from the APIs will have a HTTP 200 status response.</p>\n<p>Non-successful responses from the APIs may include the following:</p>\n<ul>\n<li><p>400 Bad Request. Check the parameters you provided, or the body of your request. It is likely you didn't follow the rules detailed for each API below.</p>\n</li>\n<li><p>401 Unauthorized. This is typically seen if you try to use your API key instead of a fetched JWT to authenticate your request to the APIs. Or, if you use a JWT that has passed its 1 hour lifespan.</p>\n</li>\n<li><p>429 Rate Limit Exceeded. As detailed below, this is returned when you make too many API calls within any 1 minute period. You will need to pause for a minute before retrying. Try to manage the rate you send your requests out.</p>\n</li>\n<li><p>500 Internal Server Error. If you encounter this, please contact Engageli Support at <a href=\"https://mailto:support@engageli.com\">support@engageli.com</a></p>\n</li>\n<li><p>502 Bad Gateway. This should be a temporary issue and you may wish to retry, but if the issue persists please contact Engageli Support at <a href=\"https://mailto:support@engageli.com\">support@engageli.com</a></p>\n</li>\n<li><p>503 Service Unavailable. This may be caused by you making too many concurrent requests to an Engageli API. Otherwise, this should be a temporary issue and you may wish to retry, but if the issue persists please contact Engageli Support at <a href=\"https://mailto:support@engageli.com\">support@engageli.com</a></p>\n</li>\n</ul>\n<h2 id=\"rate-limits-and-concurrency\">Rate Limits and Concurrency</h2>\n<p>The API endpoints do have concurrency and rate limits, but they have been designed in such a way as to support bulk export and pagination, meaning that for typical incremental calls you will not need to run concurrent calls to the same endpoint because the next call will require the <code>nextToken</code> pagination token from the current request. Independent requests may run concurrently, subject to the endpoint-specific and instance-wide limits below.</p>\n<p>The APIs are highly performant and can provide the data you need quickly and reliably through the use of precompiled reports and incremental/delta parameters.</p>\n<ol>\n<li><p>Each product instance will support up to 60 API requests per minute across all API keys. Exceeding this count will result in a 429 status response.</p>\n</li>\n<li><p>The Event Stream endpoint supports up to 2 concurrent requests across the product instance. Exceeding this concurrency will result in a 503 status response. For the typical use case, a response is required to obtain the nextToken needed to get the next page of data, reducing the need for concurrent calls.</p>\n</li>\n<li><p>The Attendance endpoint supports up to 25 concurrent requests across the product instance. Exceeding this concurrency will result in a 503 status response. For the typical use case, concurrent use may occur where you need to re-fetch whole attendance records for classes where their attendance model has been recalculated, so be sure to design to control the concurrency of these requests.</p>\n</li>\n</ol>\n<h2 id=\"dates-and-times\">Dates and Times</h2>\n<p>When sending datetime parameters to, or receiving datetime values from Engageli endpoints, note that all our timestamps are in UTC timezone, to millisecond accuracy. We provide timestamps as strings in the format <code>YYYY-MM-DDThh:mm:ss.sssZ</code>, e.g. <code>2024-07-22T12:52:33.482Z</code>. For best compatibility, please provide your datetime parameters as strings in any of the following formats, and we will interpret them as shown.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Format</strong></th>\n<th><strong>Example</strong></th>\n<th><strong>Interpretation</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>YYYY-MM-DD</code></td>\n<td><code>2024-07-22</code></td>\n<td><code>2024-07-22T00:00:00.000Z</code></td>\n</tr>\n<tr>\n<td><code>YYYY-MM-DDThh:mm:ss</code></td>\n<td><code>2024-07-22T12:52:33</code></td>\n<td><code>2024-07-22T12:52:33.000Z</code></td>\n</tr>\n<tr>\n<td><code>YYYY-MM-DDThh:mm:ss.sss</code></td>\n<td><code>2024-07-22T12:52:33.482</code></td>\n<td><code>2024-07-22T12:52:33.482Z</code></td>\n</tr>\n<tr>\n<td><code>YYYY-MM-DDThh:mm:ss.sssZ</code></td>\n<td><code>2024-07-22T12:52:33.482Z</code></td>\n<td><code>2024-07-22T12:52:33.482Z</code></td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li><p>Where a timestamp is provided for a rangeStart URL parameter, this is treated as an inclusive boundary, i.e. for timestamps equal to or greater than the parameter.</p>\n</li>\n<li><p>Where a timestamp is provided for a rangeEnd URL parameter, this is treated as an exclusive boundary, i.e. for timestamps less than the parameter.</p>\n</li>\n</ul>\n<h2 id=\"pagination\">Pagination</h2>\n<p>Engageli APIs that return large quantities of data will use a cursor-based pagination approach. If more data is available that can be included in a response, the response will include a root-level field called <code>nextToken</code> and its value should be passed as a URL parameter on an additional API call <strong>with all other parameters unchanged</strong>. <code>nextToken</code> will be absent on API responses where there is no additional page of data to return.</p>\n<p>The <code>nextToken</code> value instructs the Engageli API to carry on sending data from the point at which the previous page stopped, so it's vital all the other parameters (e.g. rangeStart) are unchanged. The token does not expire, but because it is typically used in pulling of incremental data, it makes sense to use it immediately to finish the retrieval of data.</p>\n<p>Because this is a cursor based pagination method, the results are not pre-cached and the Engageli API will pick up results from that point onwards, as they exist when the subsequent API call is made. If an item that was due to be on the next page is deleted before the next page is requested, then it will not appear in the next page's data.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>API</strong></th>\n<th><strong>Maximum Response Page Size</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Live Session Reports (engagements/live)</td>\n<td>20 objects in the data array</td>\n</tr>\n<tr>\n<td>Playback Session Reports (engagements/playback)</td>\n<td>500 objects in the data array</td>\n</tr>\n<tr>\n<td>Lectures</td>\n<td>5,000 objects in the data array</td>\n</tr>\n<tr>\n<td>Attendance</td>\n<td>2,000 objects in the data array</td>\n</tr>\n<tr>\n<td>Engagement Events</td>\n<td>100,000 objects in the data array</td>\n</tr>\n<tr>\n<td>Classes</td>\n<td>1,000 objects in the data array</td>\n</tr>\n</tbody>\n</table>\n</div><p>Note, for multi-stack implementations, the APIs will paginate after returning one sub-stack's data. e.g. with 3 sub-stacks you will get at least three pages of data in a response, and the pages will not necessarily reach the maximum limits shown above. Where there are more results for a single sub-stack than can be returned in one page, you will receive that sub-stack's data across more than one page, and then the API will page again to continue with the next sub-stack's data. If you just follow the <code>nextToken</code>, you will receive all the data.</p>\n<h2 id=\"base-load-of-data\">Base Load of Data</h2>\n<p>Engageli's APIs are designed to be used in an incremental way, being polled regularly for new or updated data. However, we understand that as part of an integration project you may need to perform a base load of historical data covering weeks, months or even years of usage.</p>\n<p>For best performance in base load situations, we recommend you segment your historical date range and make API calls for each segment separately. This will ensure the APIs return data as quickly as possible, allowing you to continue with your project. This is often best done programmatically for ease of management.</p>\n<p>We recommend the following maximum date range segment sizes for each data API, although for some customers we may advise different limits:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>API</strong></th>\n<th><strong>Recommended date range segment size limit</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Live Session Reports</td>\n<td>30 days</td>\n</tr>\n<tr>\n<td>Playback Session Reports</td>\n<td>7 days</td>\n</tr>\n<tr>\n<td>Lectures</td>\n<td>n/a</td>\n</tr>\n<tr>\n<td>Attendance</td>\n<td>30 days</td>\n</tr>\n<tr>\n<td>Engagement Events</td>\n<td>1 hour (API will not allow more than this)</td>\n</tr>\n<tr>\n<td>Classes</td>\n<td>n/a</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"user-information\">User Information</h2>\n<p>Where user information is included in responses, please be aware that some fields such as name, can be updated by your source systems such as the Learning Management System, and Engageli may hold out of date information if a sync has not recently taken place. We include identifiers such as <code>lmsUserId</code> that indicate the unique record in your source system, to allow you to join to your source data.</p>\n<h1 id=\"understanding-engageli-data\">Understanding Engageli Data</h1>\n<p>There are several objects used in the responses from this API. Here is a brief description of what each represents.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Object</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>class</code></td>\n<td>The Engageli class is a persistent space where presence and engagement activity is generated. The class supports one <code>meeting</code> at a time in the instructor-led Live Classroom, but the class can then be reused for other meetings at other times. The Playback Room for the class supports concurrent and separate student-initiated use. Access to the class is controlled by means of membership on the <code>roster</code>, or possession of a current guest token.</td>\n</tr>\n<tr>\n<td><code>roster</code></td>\n<td>Each class has a roster which is a list of users authorized to access the class, along with their permitted role. We also provide details of which LMS course placed them on the roster, if applicable.</td>\n</tr>\n<tr>\n<td><code>lmsInfo</code></td>\n<td>Each class has details of its LTI 1.3 links with LMS courses. A class may have no link, one link, or more than one link. Where links exist, each may be responsible for adding and managing users on the class <code>roster</code>. Where more than one link attempts to manage a user, the most recent link to sync with the class will take ownership of that user.</td>\n</tr>\n<tr>\n<td><code>meeting</code></td>\n<td>A meeting is a timebound instance of a Live Classroom or a Playback Room for a class. Each meeting is linked to only one class and has start and end timestamps.</td>\n</tr>\n<tr>\n<td><code>schedule</code></td>\n<td>A class may optionally have one or more schedules set, which can limit the visibility of Live Classroom attendance and engagement analytics in the Engageli Portal UI, as well as in the response from the Attendance API endpoint. Where a schedule exists, there will be a nested array of events that indicate what time periods will be shown.</td>\n</tr>\n<tr>\n<td><code>lecture</code></td>\n<td>The reporting unit within the Attendance API endpoint response is a lecture, which generally maps to meetings, that is a timebound period in the Live Classroom. In order to support a wide range of use cases for attendance reporting, the lecture object can also represent a subset, or a group, of meetings. A lecture can also provide reporting for playback attendance against a video file that has been uploaded to appear alongside the list of Live Classroom recordings.</td>\n</tr>\n</tbody>\n</table>\n</div><p>This Entity Relationship Diagram explains how the various data objects seen in the API responses relate to each other, which you may find helpful when designing schemas to hold the data in your systems. Click the image below to see a larger version.</p>\n<img src=\"https://content.pstmn.io/0ea02fa0-bb3d-45f0-8c58-e783f04c32e8/RW5nYWdlbGkgVjIgQVBJIEVSRC5wbmc=\">\n\n<h2 id=\"user-roles\">User Roles</h2>\n<p>Every user is listed in the User Management screen within the Admin Portal. Here they have a defined <code>Default Role</code> which is what they will be rostered with initially when being added to a class in the portal UI, although that roster role can be changed before being saved.</p>\n<p>When a user is rostered to a classroom, they have a <code>Roster Role</code> which determines which <code>Session Role</code> they may join a live class with. The mappings are as follows:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Roster Role</strong></th>\n<th><strong>Allowed Session Role(s)</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>prof</code> (<code>Instructor</code> in the UI)</td>\n<td><code>coInstructor</code> (<code>Instructor</code> in the UI) or <code>TA</code></td>\n</tr>\n<tr>\n<td><code>TA</code></td>\n<td><code>TA</code></td>\n</tr>\n<tr>\n<td><code>student</code> (<code>Learner</code> in the UI)</td>\n<td><code>student</code> (<code>Learner</code> in the UI)</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"similar-fields\">Similar fields</h2>\n<p>There are a number of fields titled \"version\" or similar throughout this documentation, so for clarity they are summarized here with differences explained.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Location</strong></th>\n<th><strong>Meaning</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>version</code></td>\n<td>Data response root</td>\n<td>API response/schema version</td>\n</tr>\n<tr>\n<td><code>versions</code></td>\n<td>Class object</td>\n<td>Class compatibility metadata</td>\n</tr>\n<tr>\n<td><code>progressVersion</code></td>\n<td>Lecture/attendance record</td>\n<td>Attendance recalculation version</td>\n</tr>\n</tbody>\n</table>\n</div></body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Changes","slug":"changes"},{"content":"Using the Engageli API","slug":"using-the-engageli-api"},{"content":"Understanding Engageli Data","slug":"understanding-engageli-data"}],"owner":"17080638","collectionId":"89a0bb0d-6e9b-402a-8982-ec3cc4376420","publishedId":"2sB3WpPzmu","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2025-10-31T13:22:17.000Z"},"item":[{"name":"Data APIs","item":[{"name":"Fetch Live Session Reports","id":"6990ac3f-d1ec-4c14-96e0-07fdd6a434a2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://example.engageli.com/api/data-insights/example/v2/external/engagements/live","description":"<h1 id=\"purpose\">Purpose</h1>\n<p>Return summary reports of each <code>meeting</code> that has occurred in Live Classrooms.</p>\n<h1 id=\"parameters-and-usage\">Parameters and Usage</h1>\n<ul>\n<li><p><code>rangeStart</code> is a required parameter. Meetings concluded on or after this timestamp will be returned (inclusive boundary).</p>\n</li>\n<li><p>Where <code>rangeEnd</code> parameter is specified, only meetings concluded before this timestamp will be returned (exclusive boundary).</p>\n</li>\n<li><p>Where <code>classIds</code> parameter is specified, only meetings for these classes will be returned.</p>\n</li>\n<li><p>Where required, data will be returned in paginated responses. Each response will include a value under <code>nextToken</code> that is used to request the next page of data. The final page will not have a <code>nextToken</code> key.</p>\n</li>\n</ul>\n<h1 id=\"response-schema\">Response Schema</h1>\n<p>At the root of the response are the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>ok</code></td>\n<td><em>Boolean</em>. <code>true</code></td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td><em>String</em>. <code>\"live-engagements\"</code>. This simply denotes which API is responding.</td>\n</tr>\n<tr>\n<td><code>version</code></td>\n<td><em>String</em>. <code>\"2.0\"</code></td>\n</tr>\n<tr>\n<td><code>url</code></td>\n<td><em>String</em>. The url path of the request that produced this response.</td>\n</tr>\n<tr>\n<td><code>data</code></td>\n<td><em>Array of Objects</em>. The response data (see below).</td>\n</tr>\n<tr>\n<td><code>nextToken</code></td>\n<td><em>String</em>. The token required to fetch the next page of data. If not present, this response is the last page from the query.</td>\n</tr>\n</tbody>\n</table>\n</div><p>Each record in the <code>data</code> array will be a report of a single Live Classroom meeting, detailing each user's presence with timestamps for join and leave, along with summaries of various engagement types per 5-minute interval.</p>\n<p>Where a record in the data includes an <code>occurrenceId</code> value, then the class has been set in the UI with \"Track attendance by Occurrence ID\" which reports the <code>resourceLinkId</code> from the LTI 1.3 link used first by an instructor to join the class. This can be used to help track which element in your LMS was used to launch the class.</p>\n<p>Within the response body, the <code>data</code> array contains objects, each representing a report of a Live Classroom <code>meeting</code>, with the following meeting-level keys:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Value Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>meetingId</code></td>\n<td>String. Unique Engageli ID for the meeting.</td>\n</tr>\n<tr>\n<td><code>occurrenceId</code></td>\n<td><em>String</em>. If \"Track attendance by occurrence ID\" is enabled, this is the value of <code>resourceLinkId</code> passed by the LMS in the LTI launch used by the first instructor to join this <code>meeting</code>. Otherwise, empty string.</td>\n</tr>\n<tr>\n<td><code>classId</code></td>\n<td><em>Integer</em>. Unique Engageli ID for the <code>class</code> where this <code>meeting</code> took place.</td>\n</tr>\n<tr>\n<td><code>className</code></td>\n<td><em>String</em>. The display name for this <code>class</code>.</td>\n</tr>\n<tr>\n<td><code>startDate</code></td>\n<td><em>String</em>. ISO8601 UTC timestamp of when this meeting started.</td>\n</tr>\n<tr>\n<td><code>endDate</code></td>\n<td><em>String</em>. ISO8601 UTC timestamp of when this meeting ended.</td>\n</tr>\n<tr>\n<td><code>intervalStartTime</code></td>\n<td><em>String</em>. ISO8601 UTC timestamp of the start of the first interval included in engagement reporting for this meeting. This will be the startDate rounded down to the last 5 minute interval, with intervals aligned to the hour. e.g. a meeting with <code>startDate</code> of <code>2025-02-17T14:12:44.543Z</code> would have an <code>intervalStartTime</code> of <code>2025-02-17T14:10:00.000Z</code>.</td>\n</tr>\n<tr>\n<td><code>intervalCount</code></td>\n<td><em>Integer</em>. The number of intervals of time that will have engagement reported for in this meeting.</td>\n</tr>\n<tr>\n<td><code>intervalSeconds</code></td>\n<td><em>Integer</em>. The duration of each reporting interval.</td>\n</tr>\n<tr>\n<td><code>userIntervals</code></td>\n<td><em>Array of Objects</em>. Reports of each user's discrete presence in the <code>meeting</code>. Where a user joins a <code>meeting</code>, then leaves and joins again, there will be a separate userIntervals object for each subsequent presence. Further details about these objects are provided below.</td>\n</tr>\n</tbody>\n</table>\n</div><p>Each object in <code>userIntervals</code> is a report of a user's presence in that <code>meeting</code>. The engagement metrics are presented as an array of integers with each integer representing the value of that metric, presented in order across each interval. For example, <code>[3, 0, 0]</code> would mean a value of <code>3</code> in the first interval and <code>0</code> in the following two intervals. Be sure to track which interval in the meeting relates to the first one reported in the <code>userIntervals</code> object by checking the <code>intervalStartIndex</code> value, as detailed below.</p>\n<p>Each <code>userIntervals</code> object has the following keys:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Value Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>userId</code></td>\n<td><em>Integer</em>. Unique Engageli ID for the user.</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td><em>String</em>. Current stored email address for the user.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td><em>String</em>. Current stored display name for the user.</td>\n</tr>\n<tr>\n<td><code>sessionRole</code></td>\n<td><em>String</em>. The in-class role that the user joined the <code>meeting</code> with.</td>\n</tr>\n<tr>\n<td><code>joinDate</code></td>\n<td><em>String</em>. ISO8601 UTC timestamp of when the user joined the <code>meeting</code>.</td>\n</tr>\n<tr>\n<td><code>leaveDate</code></td>\n<td><em>String</em>. ISO8601 UTC timestamp of when the user left the <code>meeting</code>.</td>\n</tr>\n<tr>\n<td><code>intervalStartIndex</code></td>\n<td><code>Integer</code>. The index of the first <code>meeting</code> interval that the user's engagement is reported for. e.g. if the value is <code>0</code> then the user's engagement is reported from the first interval which is the one that covers the start of the <code>meeting</code>. For any higher value, this would indicate that the user joined the <code>meeting</code> at a time later than covered by the first <code>meeting</code> interval.</td>\n</tr>\n<tr>\n<td><code>raiseHandTableModeDuration</code></td>\n<td><em>Array of Integers</em>. Each integer is a duration in seconds that the user had their hand raised while the Live Classroom was in Table Mode.</td>\n</tr>\n<tr>\n<td><code>raiseHandRoomModeDuration</code></td>\n<td><em>Array of Integers</em>. Each integer is a duration in seconds that the user had their hand raised while the Live Classroom was in Room Mode.</td>\n</tr>\n<tr>\n<td><code>speakingTimeTableModeAtTableDuration</code></td>\n<td><em>Array of Integers</em>. Each integer is a duration in seconds that the user recorded speaking time while at their table (i.e. not at the podium or on the panel) while the Live Classroom was in Table Mode.</td>\n</tr>\n<tr>\n<td><code>speakingTimeRoomModeAtTableDuration</code></td>\n<td><em>Array of Integers</em>. Each integer is a duration in seconds that the user recorded speaking time while at their table (i.e. not at the podium or on the panel) while the Live Classroom was in Room Mode.</td>\n</tr>\n<tr>\n<td><code>speakingTimeTableModeAtPodiumDuration</code></td>\n<td><em>Array of Integers</em>. Each integer is a duration in seconds that the user recorded speaking time while at the podium while the Live Classroom was in Table Mode.</td>\n</tr>\n<tr>\n<td><code>speakingTimeRoomModeAtPodiumDuration</code></td>\n<td><em>Array of Integers</em>. Each integer is a duration in seconds that the user recorded speaking time while at the podium while the Live Classroom was in Room Mode.</td>\n</tr>\n<tr>\n<td><code>speakingTimeAtPanelDuration</code></td>\n<td><em>Array of Integers</em>. Each integer is a duration in seconds that the user recorded speaking time while on the panel.</td>\n</tr>\n<tr>\n<td><code>chatPrivateMessageCount</code></td>\n<td><em>Array of Integers</em>. Each integer is a count of chat messages the user sent privately.</td>\n</tr>\n<tr>\n<td><code>chatStaffMessageCount</code></td>\n<td><em>Array of Integers</em>. Each integer is a count of chat messages the user sent to the Staff group.</td>\n</tr>\n<tr>\n<td><code>chatTableMessageCount</code></td>\n<td><em>Array of Integers</em>. Each integer is a count of chat messages the user sent to a table group.</td>\n</tr>\n<tr>\n<td><code>chatRoomMessageCount</code></td>\n<td><em>Array of Integers</em>. Each integer is a count of chat messages the user sent to the whole room.</td>\n</tr>\n<tr>\n<td><code>pollNumericCount</code></td>\n<td><em>Array of Integers</em>. Each integer is a count of relevant single or multiple answer poll activities the user engaged in. For students and TAs, the activity would be to answer a poll. For instructors, the activity would be to mark/verify an answer to a poll.</td>\n</tr>\n<tr>\n<td><code>pollQuickNumericCount</code></td>\n<td><em>Array of Integers</em>. Each integer is a count of relevant single or multiple answer poll activities the user engaged in. For students and TAs, the activity would be to answer a poll. For instructors, the activity would be to mark/verify an answer to a poll.</td>\n</tr>\n<tr>\n<td><code>pollTextCount</code></td>\n<td><em>Array of Integers</em>. Each integer is a count of relevant text poll activities the user engaged in. For students and TAs, the activity would be to answer a poll.</td>\n</tr>\n<tr>\n<td><code>pollQuickTextCount</code></td>\n<td><em>Array of Integers</em>. Each integer is a count of relevant text poll activities the user engaged in. For students and TAs, the activity would be to answer a poll.</td>\n</tr>\n<tr>\n<td><code>cameraActivityDuration</code></td>\n<td><em>Array of Integers</em>. Each integer is a duration in seconds that the user's camera was switched on during the interval.</td>\n</tr>\n<tr>\n<td><code>noteTextCount</code></td>\n<td><em>Array of Integers</em>. Each integer is a count of the user's text notes added during the interval.</td>\n</tr>\n<tr>\n<td><code>noteScreenshotCount</code></td>\n<td><em>Array of Integers</em>. Each integer is a count of the user's screenshot notes added during the interval.</td>\n</tr>\n<tr>\n<td><code>reactionSoundCount</code></td>\n<td><em>Array of Integers</em>. Each integer is a count of the user's sound reactions during the interval.</td>\n</tr>\n<tr>\n<td><code>reactionEmojiCount</code></td>\n<td><em>Array of Integers</em>. Each integer is a count of the user's emoji reactions during the interval.</td>\n</tr>\n<tr>\n<td><code>raiseHandCount</code></td>\n<td><em>Array of Integers</em>. Each integer is a count of how many times the user raised their hand during the interval.</td>\n</tr>\n<tr>\n<td><code>qaQuestionCount</code></td>\n<td><em>Array of Integers</em>. Each integer is a count of questions submitted to Q&amp;A by the user during the interval.</td>\n</tr>\n<tr>\n<td><code>qaAnswerCount</code></td>\n<td><em>Array of Integers</em>. Each integer is a count of answers submitted to Q&amp;A by the user during the interval.</td>\n</tr>\n</tbody>\n</table>\n</div><h1 id=\"nuances\">Nuances</h1>\n<h2 id=\"interval-repeats\">Interval repeats</h2>\n<p>Where a user leaves and rejoins a meeting within a reporting interval, that metrics for that interval will be included in both <code>userIntervals</code> objects for that user, as you might expect. However, please note that each time that interval's metrics are reported, they will include the <strong>full engagement values for that whole reporting interval</strong>. This means that if you wish to calculate metric sums across the meeting for that user (or all users), you should be sure to de-duplicate and not count those intervals twice. See here for a visual explanation:</p>\n<img src=\"https://content.pstmn.io/ad4a71f0-c5f4-4c4e-96c3-ef9dda735514/RW5nYWdlbGkgVjIgQVBJIGludGVydmFscy5wbmc=\" />\n\n<p>From a database perspective, you may wish to view this as needing to enforcing a constraint that rows for <code>userIntervals</code> metric values (assuming you write these to a separate table) are unique across <code>meetingId</code>, <code>userId</code>, <code>intervalIndex</code>. If you get another <code>userInterval</code> within the same meeting record for the same <code>userId</code> and covering the same <code>intervalIndex</code>, you do not need to store the metrics again - you already received them on the user's previous <code>userInterval</code> record.</p>\n<h2 id=\"data-availability\">Data Availability</h2>\n<p>The best version of a live session report will be available shortly after the meeting concludes (allowing for a couple of minutes for Engageli to detect meeting end and process analytics). Over time the available data might not be the same in the situation where a classroom is deleted (we delete the class's data so the live session report is no longer available) or where a user is deleted from a roster (we delete the user's data from the classroom, meaning the live session report will be missing that user's userInterval record[s]).</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"from_token_endpoint"}]},"isInherited":true,"source":{"_postman_id":"89a0bb0d-6e9b-402a-8982-ec3cc4376420","id":"89a0bb0d-6e9b-402a-8982-ec3cc4376420","name":"Engageli API","type":"collection"}},"urlObject":{"protocol":"https","path":["api","data-insights","example","v2","external","engagements","live"],"host":["example.engageli.com"],"query":[{"disabled":true,"description":{"content":"<p>Retrieve summaries of live meetings concluded on or after this timestamp.</p>\n","type":"text/plain"},"key":"rangeStart","value":""},{"disabled":true,"description":{"content":"<p>Retrieve summaries of live meetings concluded before this timestamp.</p>\n","type":"text/plain"},"key":"rangeEnd","value":""},{"disabled":true,"description":{"content":"<p>Comma separated integers: Maximum 10. Retrieve data only for classes with these class IDs.</p>\n","type":"text/plain"},"key":"classIds","value":""},{"disabled":true,"description":{"content":"<p>Pagination token provided in previous page's response.</p>\n","type":"text/plain"},"key":"nextToken","value":""}],"variable":[]}},"response":[{"id":"2f828478-f94a-42a1-9bca-b02f75bc0ce0","name":"200 OK","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://example.engageli.com/api/data-insights/example/v2/external/engagements/live?rangeStart=2025-02-17","protocol":"https","host":["example.engageli.com"],"path":["api","data-insights","example","v2","external","engagements","live"],"query":[{"key":"rangeStart","value":"2025-02-17","description":"Retrieve summaries of live meetings concluded on or after this timestamp."},{"key":"rangeEnd","value":"","description":"Retrieve summaries of live meetings concluded before this timestamp.","disabled":true},{"key":"classIds","value":"","description":"Comma separated integers: Maximum 10. Retrieve data only for classes with these class IDs.","disabled":true},{"key":"nextToken","value":"","description":"Pagination token provided in previous page's response.","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Tue, 18 Feb 2025 16:03:31 GMT"},{"key":"Permissions-Policy","value":"accelerometer=(),autoplay=*,camera=(self),encrypted-media=(),fullscreen=*,geolocation=(self),gyroscope=(),magnetometer=(),microphone=(self),midi=(),payment=(self),picture-in-picture=*,publickey-credentials-get=(),screen-wake-lock=(self),sync-xhr=(self),usb=(self),xr-spatial-tracking=()"},{"key":"Content-Encoding","value":"gzip"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Security-Policy","value":"default-src 'self'; font-src 'self' https: data:; img-src 'self' blob: data: https:; object-src 'none'; script-src 'unsafe-eval' 'self' 'sha256-1P7pfYIX5uui48jv3jJTENpF7uVSv/iYb9YkbJm6Hos=' 'sha256-hZ39PMN+tlPLQx61o7zG0TAuYyLoGbXWHkOslKFw+/M=' 'sha256-Gagf4D9b8KK6T/qA4w9SYsYKu0ZPoo/kVn27Lf/fVoE=' 'sha256-SxfF3aB+8OGwBqOwrZT6iTeC7PqDtp1zSpOomp8Q/Hg=' https://*.engageli.com:* https://*.engageli-test.com:* https://www.youtube.com:* https://*.google.com:* https://*.vimeo.com:* https://vimeo.com:* https://miro.com:* https://*.mixpanel.com:* https://cdn.jsdelivr.net:* https://js.hsforms.net:* blob: ; script-src-attr 'none'; style-src 'self' https: 'unsafe-inline'; frame-src nggli: *; media-src 'self' https: blob:; connect-src https://*.engageli.com:* https://*.ingest.sentry.io https://*.engageli-test.com:* wss://*.engageli.com:* wss://*.engageli-test.com:* https://noembed.com:* file://* https://*.amazonaws.com:* wss://*.amazonaws.com:* https://*.cloudfront.net:* https://*.gravatar.com:* https://vimeo.com:* https://*.vimeo.com:* https://*.mixpanel.com:* https://*.miro.com:* https://storage.googleapis.com:* https://cdn.jsdelivr.net:* https://tfhub.dev:* https://www.kaggle.com:* https://kaggle.com:* https://forms.hsforms.com:* wss://matan-engageli.sip.signalwire.com:* https://*.auth0.com:*  blob:; base-uri 'self'; frame-ancestors https://*.google.com https://*.engageli-test.com/ https://*.instructure.com https://*.engageli.com https://*.engageli-dev.com https://*.brightspace.com https://*.brightspacedemo.com https://*.moodlecloud.com https://engageli-lti1p3.docebosaas.com https://moodle.us.engageli-dev.com;"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-site"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Strict-Transport-Security","value":"max-age=63072000; includeSubDomains; preload"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"X-RateLimit-Reset","value":"1739894671"},{"key":"ETag","value":"W/\"f68b-rkpucxk/J6HdMtx67FFouUofJSQ\""},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 398a51ec785027c0cfb5003d3a46ab0a.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"LHR50-P3"},{"key":"X-Amz-Cf-Id","value":"QPuffllqvlK08zwG6obovn-eL0CGhKXlGCBFmfJVl4_sfN5k0pTLFw=="},{"key":"X-Robots-Tag","value":"noindex, nofollow, nosnippet, noarchive"}],"cookie":[],"responseTime":null,"body":"{\n  \"ok\": true,\n  \"type\": \"live-engagements\",\n  \"version\": \"2.0\",\n  \"url\": \"/api/data-insights/example/v2/external/engagements/live?rangeStart=2025-02-17\",\n  \"data\": [\n    {\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"classId\": 6221,\n      \"className\": \"Example Maths 101 Spring 2025 Everyone Class\",\n      \"startDate\": \"2025-02-17T13:57:59.248Z\",\n      \"endDate\": \"2025-02-17T14:30:00.008Z\",\n      \"intervalStartTime\": \"2025-02-17T13:55:00.000Z\",\n      \"intervalCount\": 8,\n      \"intervalSeconds\": 300,\n      \"userIntervals\": [\n        {\n          \"userId\": 160099,\n          \"email\": \"instructor1@example.com\",\n          \"name\": \"Example Instructor1\",\n          \"sessionRole\": \"coInstructor\",\n          \"joinDate\": \"2025-02-17T13:58:06.997Z\",\n          \"leaveDate\": \"2025-02-17T14:25:53.653Z\",\n          \"intervalStartIndex\": 0,\n          \"raiseHandTableModeDuration\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"raiseHandRoomModeDuration\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"speakingTimeTableModeAtTableDuration\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"speakingTimeRoomModeAtTableDuration\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"speakingTimeTableModeAtPodiumDuration\": [\n            0,\n            9,\n            8,\n            48,\n            0,\n            18,\n            0\n          ],\n          \"speakingTimeRoomModeAtPodiumDuration\": [\n            0,\n            0,\n            0,\n            1,\n            0,\n            0,\n            0\n          ],\n          \"speakingTimeAtPanelDuration\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"chatPrivateMessageCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"chatStaffMessageCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"chatTableMessageCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"chatRoomMessageCount\": [\n            0,\n            1,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"pollNumericCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"pollQuickNumericCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"pollTextCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"pollQuickTextCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"cameraActivityDuration\": [\n            112,\n            300,\n            300,\n            300,\n            300,\n            300,\n            53\n          ],\n          \"noteTextCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"noteScreenshotCount\": [\n            0,\n            0,\n            0,\n            0,\n            1,\n            1,\n            0\n          ],\n          \"reactionSoundCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"reactionEmojiCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"raiseHandCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"qaQuestionCount\": [\n            0,\n            0,\n            0,\n            0,\n            1,\n            0,\n            0\n          ],\n          \"qaAnswerCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ]\n        },\n        {\n          \"userId\": 160101,\n          \"email\": \"learner1@example.com\",\n          \"name\": \"Example Learner1\",\n          \"sessionRole\": \"student\",\n          \"joinDate\": \"2025-02-17T13:58:53.121Z\",\n          \"leaveDate\": \"2025-02-17T14:25:53.666Z\",\n          \"intervalStartIndex\": 0,\n          \"raiseHandTableModeDuration\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"raiseHandRoomModeDuration\": [\n            0,\n            57,\n            64,\n            0,\n            0,\n            62,\n            0\n          ],\n          \"speakingTimeTableModeAtTableDuration\": [\n            0,\n            0,\n            0,\n            42,\n            0,\n            0,\n            0\n          ],\n          \"speakingTimeRoomModeAtTableDuration\": [\n            0,\n            0,\n            6,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"speakingTimeTableModeAtPodiumDuration\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"speakingTimeRoomModeAtPodiumDuration\": [\n            0,\n            14,\n            1,\n            0,\n            0,\n            11,\n            0\n          ],\n          \"speakingTimeAtPanelDuration\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"chatPrivateMessageCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"chatStaffMessageCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"chatTableMessageCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"chatRoomMessageCount\": [\n            0,\n            1,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"pollNumericCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"pollQuickNumericCount\": [\n            0,\n            0,\n            1,\n            2,\n            0,\n            1,\n            0\n          ],\n          \"pollTextCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"pollQuickTextCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"cameraActivityDuration\": [\n            0,\n            49,\n            0,\n            0,\n            0,\n            34,\n            18\n          ],\n          \"noteTextCount\": [\n            0,\n            0,\n            1,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"noteScreenshotCount\": [\n            0,\n            0,\n            1,\n            0,\n            0,\n            2,\n            0\n          ],\n          \"reactionSoundCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"reactionEmojiCount\": [\n            0,\n            1,\n            0,\n            0,\n            0,\n            1,\n            0\n          ],\n          \"raiseHandCount\": [\n            0,\n            1,\n            1,\n            0,\n            0,\n            1,\n            0\n          ],\n          \"qaQuestionCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"qaAnswerCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ]\n        },\n        {\n          \"userId\": 160103,\n          \"email\": \"learner2@example.com\",\n          \"name\": \"Example Learner2\",\n          \"sessionRole\": \"student\",\n          \"joinDate\": \"2025-02-17T14:02:48.018Z\",\n          \"leaveDate\": \"2025-02-17T14:25:53.655Z\",\n          \"intervalStartIndex\": 1,\n          \"raiseHandTableModeDuration\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"raiseHandRoomModeDuration\": [\n            0,\n            36,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"speakingTimeTableModeAtTableDuration\": [\n            0,\n            0,\n            51,\n            0,\n            0,\n            0\n          ],\n          \"speakingTimeRoomModeAtTableDuration\": [\n            0,\n            0,\n            7,\n            0,\n            0,\n            0\n          ],\n          \"speakingTimeTableModeAtPodiumDuration\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"speakingTimeRoomModeAtPodiumDuration\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"speakingTimeAtPanelDuration\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"chatPrivateMessageCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"chatStaffMessageCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"chatTableMessageCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"chatRoomMessageCount\": [\n            1,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"pollNumericCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"pollQuickNumericCount\": [\n            0,\n            1,\n            1,\n            0,\n            1,\n            0\n          ],\n          \"pollTextCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"pollQuickTextCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"cameraActivityDuration\": [\n            102,\n            267,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"noteTextCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"noteScreenshotCount\": [\n            0,\n            2,\n            0,\n            0,\n            2,\n            0\n          ],\n          \"reactionSoundCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"reactionEmojiCount\": [\n            1,\n            0,\n            1,\n            0,\n            1,\n            0\n          ],\n          \"raiseHandCount\": [\n            0,\n            1,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"qaQuestionCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"qaAnswerCount\": [\n            0,\n            0,\n            0,\n            1,\n            0,\n            0\n          ]\n        }\n      ]\n    },\n    {\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"classId\": 6222,\n      \"className\": \"Example 101(917de)\",\n      \"startDate\": \"2025-02-18T12:59:27.944Z\",\n      \"endDate\": \"2025-02-18T13:35:00.005Z\",\n      \"intervalStartTime\": \"2025-02-18T12:55:00.000Z\",\n      \"intervalCount\": 9,\n      \"intervalSeconds\": 300,\n      \"userIntervals\": [\n        {\n          \"userId\": 160099,\n          \"email\": \"instructor1@example.com\",\n          \"name\": \"Example Instructor1\",\n          \"sessionRole\": \"coInstructor\",\n          \"joinDate\": \"2025-02-18T12:59:35.437Z\",\n          \"leaveDate\": \"2025-02-18T13:28:19.803Z\",\n          \"intervalStartIndex\": 0,\n          \"raiseHandTableModeDuration\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"raiseHandRoomModeDuration\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"speakingTimeTableModeAtTableDuration\": [\n            0,\n            0,\n            0,\n            12,\n            0,\n            0,\n            0\n          ],\n          \"speakingTimeRoomModeAtTableDuration\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"speakingTimeTableModeAtPodiumDuration\": [\n            0,\n            28,\n            8,\n            5,\n            0,\n            20,\n            8\n          ],\n          \"speakingTimeRoomModeAtPodiumDuration\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"speakingTimeAtPanelDuration\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"chatPrivateMessageCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"chatStaffMessageCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"chatTableMessageCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"chatRoomMessageCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"pollNumericCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"pollQuickNumericCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"pollTextCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"pollQuickTextCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"cameraActivityDuration\": [\n            24,\n            300,\n            300,\n            300,\n            300,\n            300,\n            199\n          ],\n          \"noteTextCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"noteScreenshotCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"reactionSoundCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"reactionEmojiCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"raiseHandCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"qaQuestionCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"qaAnswerCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ]\n        },\n        {\n          \"userId\": 160101,\n          \"email\": \"learner1@example.com\",\n          \"name\": \"Example Learner1\",\n          \"sessionRole\": \"student\",\n          \"joinDate\": \"2025-02-18T13:00:32.040Z\",\n          \"leaveDate\": \"2025-02-18T13:28:24.428Z\",\n          \"intervalStartIndex\": 1,\n          \"raiseHandTableModeDuration\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"raiseHandRoomModeDuration\": [\n            28,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"speakingTimeTableModeAtTableDuration\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"speakingTimeRoomModeAtTableDuration\": [\n            7,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"speakingTimeTableModeAtPodiumDuration\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"speakingTimeRoomModeAtPodiumDuration\": [\n            1,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"speakingTimeAtPanelDuration\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"chatPrivateMessageCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"chatStaffMessageCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"chatTableMessageCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"chatRoomMessageCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"pollNumericCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"pollQuickNumericCount\": [\n            0,\n            0,\n            9,\n            0,\n            0,\n            0\n          ],\n          \"pollTextCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"pollQuickTextCount\": [\n            0,\n            0,\n            0,\n            0,\n            1,\n            0\n          ],\n          \"cameraActivityDuration\": [\n            0,\n            0,\n            279,\n            148,\n            0,\n            0\n          ],\n          \"noteTextCount\": [\n            0,\n            0,\n            0,\n            0,\n            2,\n            0\n          ],\n          \"noteScreenshotCount\": [\n            0,\n            1,\n            0,\n            0,\n            0,\n            2\n          ],\n          \"reactionSoundCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"reactionEmojiCount\": [\n            1,\n            2,\n            0,\n            0,\n            1,\n            1\n          ],\n          \"raiseHandCount\": [\n            1,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"qaQuestionCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ],\n          \"qaAnswerCount\": [\n            0,\n            0,\n            0,\n            0,\n            0,\n            0\n          ]\n        }\n      ]\n    },\n    {\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"classId\": 6223,\n      \"className\": \"Example 101(44c74)\",\n      \"startDate\": \"2025-02-18T13:29:41.987Z\",\n      \"endDate\": \"2025-02-18T13:45:00.005Z\",\n      \"intervalStartTime\": \"2025-02-18T13:25:00.000Z\",\n      \"intervalCount\": 5,\n      \"intervalSeconds\": 300,\n      \"userIntervals\": [\n      {\n        \"userId\": 160100,\n        \"email\": \"instructor2@example.com\",\n        \"name\": \"Example Instructor2\",\n        \"sessionRole\": \"coInstructor\",\n        \"joinDate\": \"2025-02-18T13:29:49.948Z\",\n        \"leaveDate\": \"2025-02-18T13:43:21.089Z\",\n        \"intervalStartIndex\": 0,\n        \"raiseHandTableModeDuration\": [\n          0,\n          0,\n          0,\n          0\n        ],\n        \"raiseHandRoomModeDuration\": [\n          0,\n          0,\n          0,\n          0\n        ],\n        \"speakingTimeTableModeAtTableDuration\": [\n          0,\n          0,\n          0,\n          0\n        ],\n        \"speakingTimeRoomModeAtTableDuration\": [\n          0,\n          0,\n          0,\n          0\n        ],\n        \"speakingTimeTableModeAtPodiumDuration\": [\n          0,\n          0,\n          0,\n          0\n        ],\n        \"speakingTimeRoomModeAtPodiumDuration\": [\n          0,\n          0,\n          0,\n          0\n        ],\n        \"speakingTimeAtPanelDuration\": [\n          0,\n          0,\n          0,\n          0\n        ],\n        \"chatPrivateMessageCount\": [\n          0,\n          0,\n          0,\n          0\n        ],\n        \"chatStaffMessageCount\": [\n          0,\n          0,\n          0,\n          0\n        ],\n        \"chatTableMessageCount\": [\n          0,\n          0,\n          0,\n          0\n        ],\n        \"chatRoomMessageCount\": [\n          0,\n          0,\n          0,\n          0\n        ],\n        \"pollNumericCount\": [\n          0,\n          0,\n          0,\n          0\n        ],\n        \"pollQuickNumericCount\": [\n          0,\n          0,\n          0,\n          0\n        ],\n        \"pollTextCount\": [\n          0,\n          0,\n          0,\n          0\n        ],\n        \"pollQuickTextCount\": [\n          0,\n          0,\n          0,\n          0\n        ],\n        \"cameraActivityDuration\": [\n          9,\n          300,\n          300,\n          201\n        ],\n        \"noteTextCount\": [\n          0,\n          1,\n          1,\n          0\n        ],\n        \"noteScreenshotCount\": [\n          0,\n          0,\n          1,\n          0\n        ],\n        \"reactionSoundCount\": [\n          0,\n          0,\n          0,\n          0\n        ],\n        \"reactionEmojiCount\": [\n          0,\n          0,\n          0,\n          0\n        ],\n        \"raiseHandCount\": [\n          0,\n          0,\n          0,\n          0\n        ],\n        \"qaQuestionCount\": [\n          0,\n          0,\n          0,\n          0\n        ],\n        \"qaAnswerCount\": [\n          0,\n          0,\n          0,\n          0\n        ]\n      }\n      ]\n    }\n  ]\n}"}],"_postman_id":"6990ac3f-d1ec-4c14-96e0-07fdd6a434a2"},{"name":"Fetch Playback Session Reports","id":"43bca439-c0b1-4acc-8f7a-c476d6105fcd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://example.engageli.com/api/data-insights/example/v2/external/engagements/playback","description":"<h1 id=\"purpose\">Purpose</h1>\n<p>Returns reports of each Playback Room session that has taken place, including details of users who joined them, with join and leave timestamps, and some user engagement metrics.</p>\n<h1 id=\"parameters-and-usage\">Parameters and Usage</h1>\n<ul>\n<li><p>Where <code>rangeStart</code> parameter is used, return only reports of sessions that concluded on or after this timestamp (inclusive boundary).</p>\n</li>\n<li><p>Where <code>rangeEnd</code> parameter is used, return only reports of sessions that concluded before this timestamp (exclusive boundary).</p>\n</li>\n<li><p>Where required, data will be returned in paginated responses with each page including a <code>nextToken</code> key whose value is a string that can be used as a parameter to get the next page of data. The final page will not have a <code>nextToken</code> key in the response.</p>\n</li>\n</ul>\n<h1 id=\"response-schema\">Response Schema</h1>\n<p>At the root of the response are the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>ok</code></td>\n<td><em>Boolean</em>. <code>true</code></td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td><em>String</em>. <code>\"playbackEngagements\"</code>. This simply denotes which API is responding.</td>\n</tr>\n<tr>\n<td><code>version</code></td>\n<td><em>String</em>. <code>\"2.0\"</code></td>\n</tr>\n<tr>\n<td><code>url</code></td>\n<td><em>String</em>. The url path of the request that produced this response.</td>\n</tr>\n<tr>\n<td><code>data</code></td>\n<td><em>Array of Objects</em>. The response data (see below).</td>\n</tr>\n<tr>\n<td><code>nextToken</code></td>\n<td><em>String</em>. The token required to fetch the next page of data. If not present, this response is the last page from the query.</td>\n</tr>\n</tbody>\n</table>\n</div><p>Each object in the <code>data</code> array will be a report of a single Playback Session, detailing each user's presence with timestamps for join and leave, along with total counts of selected engagement types throughout the whole session, with the following keys:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Value Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>classId</code></td>\n<td><em>Integer</em>. Unique Engageli ID for the <code>class</code> where this playback session took place.</td>\n</tr>\n<tr>\n<td><code>className</code></td>\n<td><em>String</em>. The display name for this <code>class</code>.</td>\n</tr>\n<tr>\n<td><code>meetingId</code></td>\n<td><em>String</em>. Unique Engageli ID for the playback session <code>meeting</code>.</td>\n</tr>\n<tr>\n<td><code>startDate</code></td>\n<td><em>String</em>. ISO8601 UTC timestamp of when this playback session <code>meeting</code> started.</td>\n</tr>\n<tr>\n<td><code>endDate</code></td>\n<td><em>String</em>. ISO8601 UTC timestamp of when this playback session <code>meeting</code> ended.</td>\n</tr>\n<tr>\n<td><code>userIntervals</code></td>\n<td><em>Array of Objects</em>. Reports of each user's discrete presence in the playback session. If a user joins a playback session, then leaves and joins again, there will be a separate <code>userIntervals</code> object for each subsequent presence. Further details about these objects are provided below.</td>\n</tr>\n</tbody>\n</table>\n</div><p>Each object in <code>userIntervals</code> is a report of a user's presence in that playback session. A selection of total counts of selected engagement metrics are provided too.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Value Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>userId</code></td>\n<td><em>Integer</em>. Unique Engageli ID for the user.</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td><em>String</em>. Current stored email address for the user.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td><em>String</em>. Current stored display name for the user.</td>\n</tr>\n<tr>\n<td><code>owner</code></td>\n<td><em>Boolean</em>. true when this user is the one that started the playback session. Omitted if not.</td>\n</tr>\n<tr>\n<td><code>joinDate</code></td>\n<td><em>String</em>. ISO8601 UTC timestamp of when the user joined the playback session.</td>\n</tr>\n<tr>\n<td><code>leaveDate</code></td>\n<td><em>String</em>. ISO8601 UTC timestamp of when the user left the playback session.</td>\n</tr>\n<tr>\n<td><code>notesCount</code></td>\n<td><em>Integer</em>. Total count of notes created or note screenshots made during this presence in the playback session.</td>\n</tr>\n<tr>\n<td><code>pollsCount</code></td>\n<td><em>Integer</em>. Total count of poll answers given (note this is not the same as a count of polls on which an answer was given) during this presence in the playback session.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"from_token_endpoint"}]},"isInherited":true,"source":{"_postman_id":"89a0bb0d-6e9b-402a-8982-ec3cc4376420","id":"89a0bb0d-6e9b-402a-8982-ec3cc4376420","name":"Engageli API","type":"collection"}},"urlObject":{"protocol":"https","path":["api","data-insights","example","v2","external","engagements","playback"],"host":["example.engageli.com"],"query":[{"disabled":true,"description":{"content":"<p>Retrieve summaries of playback sessions concluded on or after this timestamp.</p>\n","type":"text/plain"},"key":"rangeStart","value":""},{"disabled":true,"description":{"content":"<p>Retrieve summaries of playback sessions concluded before this timestamp.</p>\n","type":"text/plain"},"key":"rangeEnd","value":""},{"disabled":true,"description":{"content":"<p>Pagination token provided in previous page's response.</p>\n","type":"text/plain"},"key":"nextToken","value":""}],"variable":[]}},"response":[{"id":"23e660b6-1fdb-49ca-be26-16aeaf9beeff","name":"200 OK","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://example.engageli.com/api/data-insights/example/v2/external/engagements/playback?rangeStart=2025-02-17","protocol":"https","host":["example.engageli.com"],"path":["api","data-insights","example","v2","external","engagements","playback"],"query":[{"key":"rangeStart","value":"2025-02-17","description":"Retrieve summaries of playback sessions concluded on or after this timestamp."},{"key":"rangeEnd","value":"","description":"Retrieve summaries of playback sessions concluded before this timestamp.","disabled":true},{"key":"nextToken","value":"","description":"Pagination token provided in previous page's response.","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Tue, 18 Feb 2025 17:01:17 GMT"},{"key":"Permissions-Policy","value":"accelerometer=(),autoplay=*,camera=(self),encrypted-media=(),fullscreen=*,geolocation=(self),gyroscope=(),magnetometer=(),microphone=(self),midi=(),payment=(self),picture-in-picture=*,publickey-credentials-get=(),screen-wake-lock=(self),sync-xhr=(self),usb=(self),xr-spatial-tracking=()"},{"key":"Content-Encoding","value":"gzip"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Security-Policy","value":"default-src 'self'; font-src 'self' https: data:; img-src 'self' blob: data: https:; object-src 'none'; script-src 'unsafe-eval' 'self' 'sha256-1P7pfYIX5uui48jv3jJTENpF7uVSv/iYb9YkbJm6Hos=' 'sha256-hZ39PMN+tlPLQx61o7zG0TAuYyLoGbXWHkOslKFw+/M=' 'sha256-Gagf4D9b8KK6T/qA4w9SYsYKu0ZPoo/kVn27Lf/fVoE=' 'sha256-SxfF3aB+8OGwBqOwrZT6iTeC7PqDtp1zSpOomp8Q/Hg=' https://*.engageli.com:* https://*.engageli-test.com:* https://www.youtube.com:* https://*.google.com:* https://*.vimeo.com:* https://vimeo.com:* https://miro.com:* https://*.mixpanel.com:* https://cdn.jsdelivr.net:* https://js.hsforms.net:* blob: ; script-src-attr 'none'; style-src 'self' https: 'unsafe-inline'; frame-src nggli: *; media-src 'self' https: blob:; connect-src https://*.engageli.com:* https://*.ingest.sentry.io https://*.engageli-test.com:* wss://*.engageli.com:* wss://*.engageli-test.com:* https://noembed.com:* file://* https://*.amazonaws.com:* wss://*.amazonaws.com:* https://*.cloudfront.net:* https://*.gravatar.com:* https://vimeo.com:* https://*.vimeo.com:* https://*.mixpanel.com:* https://*.miro.com:* https://storage.googleapis.com:* https://cdn.jsdelivr.net:* https://tfhub.dev:* https://www.kaggle.com:* https://kaggle.com:* https://forms.hsforms.com:* wss://matan-engageli.sip.signalwire.com:* https://*.auth0.com:*  blob:; base-uri 'self'; frame-ancestors https://*.google.com https://*.engageli-test.com/ https://*.instructure.com https://*.engageli.com https://*.engageli-dev.com https://*.brightspace.com https://*.brightspacedemo.com https://*.moodlecloud.com https://engageli-lti1p3.docebosaas.com https://moodle.us.engageli-dev.com;"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-site"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Strict-Transport-Security","value":"max-age=63072000; includeSubDomains; preload"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"X-RateLimit-Reset","value":"1739898138"},{"key":"ETag","value":"W/\"4a5d-ToGf6qRud9dRVsyou+rhpPjoKY8\""},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 aa2f611dc578ba7eecb9a39cb23b1b70.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"LHR50-P3"},{"key":"X-Amz-Cf-Id","value":"KoF0zt70RvDV0M-Jbdie6GIz_kJXr2O477erOwUlBYZMZC3CXX996w=="},{"key":"X-Robots-Tag","value":"noindex, nofollow, nosnippet, noarchive"}],"cookie":[],"responseTime":null,"body":"{\n  \"ok\": true,\n  \"type\": \"playbackEngagements\",\n  \"version\": \"2.0\",\n  \"url\": \"/api/data-insights/example/v2/external/engagements/playback?rangeStart=2025-02-17\",\n  \"data\": [\n    {\n      \"classId\": 6221,\n      \"className\": \"Example Maths 101 Spring 2025 Everyone Class\",\n      \"meetingId\": \"44281e80-3ecb-4672-9839-83d5f3d7db2e\",\n      \"startDate\": \"2025-02-18T16:21:09.750Z\",\n      \"endDate\": \"2025-02-18T16:38:00.002Z\",\n      \"userIntervals\": [\n        {\n          \"userId\": 160102,\n          \"email\": \"learner3@example.com\",\n          \"name\": \"Example Learner3\",\n          \"owner\": true,\n          \"joinDate\": \"2025-02-18T16:21:13.228Z\",\n          \"leaveDate\": \"2025-02-18T16:37:52.847Z\",\n          \"notesCount\": 0,\n          \"pollsCount\": 2\n        },\n        {\n          \"userId\": 160104,\n          \"email\": \"learner4@example.com\",\n          \"name\": \"Example Learner4\",\n          \"joinDate\": \"2025-02-18T16:24:04.268Z\",\n          \"leaveDate\": \"2025-02-18T16:37:53.645Z\",\n          \"notesCount\": 0,\n          \"pollsCount\": 2\n        }\n      ]\n    },\n    {\n      \"classId\": 6222,\n      \"className\": \"Example 101(917de)\",\n      \"meetingId\": \"f7fbc594-a007-49ec-8359-856347fd43f6\",\n      \"startDate\": \"2025-02-18T16:11:57.743Z\",\n      \"endDate\": \"2025-02-18T16:19:00.002Z\",\n      \"userIntervals\": [\n        {\n          \"userId\": 160103,\n          \"email\": \"learner2@example.com\",\n          \"name\": \"Example Learner2\",\n          \"owner\": true,\n          \"joinDate\": \"2025-02-18T16:12:01.261Z\",\n          \"leaveDate\": \"2025-02-18T16:18:48.076Z\",\n          \"notesCount\": 3,\n          \"pollsCount\": 3\n        }\n      ]\n    },\n    {\n      \"classId\": 6223,\n      \"className\": \"Example 101(44c74)\",\n      \"meetingId\": \"ce9bfb34-cdd2-4d04-baa0-c4487b431aae\",\n      \"startDate\": \"2025-02-18T16:22:56.433Z\",\n      \"endDate\": \"2025-02-18T16:38:00.003Z\",\n      \"userIntervals\": [\n      {\n        \"userId\": 160104,\n        \"email\": \"learner4@example.com\",\n        \"name\": \"Example Learner4\",\n        \"owner\": true,\n        \"joinDate\": \"2025-02-18T16:22:59.898Z\",\n        \"leaveDate\": \"2025-02-18T16:23:08.966Z\",\n        \"notesCount\": 0,\n        \"pollsCount\": 0\n      }\n      ]\n    }\n  ]\n}"}],"_postman_id":"43bca439-c0b1-4acc-8f7a-c476d6105fcd"},{"name":"Fetch Engagement Events","id":"27c2fa70-78c4-47ed-928f-f36a8c01bc34","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://example.engageli.com/api/data-insights/example/v2/external/event-stream","description":"<h1 id=\"purpose\">Purpose</h1>\n<p>Request details of individual engagement event records generated by users' activity in the Live Classroom and Playback Room.</p>\n<p>This endpoint will only return data when the requested date range is one hour or less:</p>\n<ul>\n<li><p>If you only use <code>rangeStart</code>, be sure to use a datetime no more than one hour ago (but beware that the Engageli server clock may be slightly different to yours)</p>\n</li>\n<li><p>If you use <code>rangeStart</code> and <code>rangeEnd</code> parameters, be sure that the duration between these datetimes is no more than one hour.</p>\n</li>\n<li><p>If you require data for larger date ranges, you will need to break down your requests into chunks of one hour or less. We recommend to work through these sequentially and not concurrently, in order to not exceed the concurrency limit of 2 requests for this endpoint.</p>\n</li>\n</ul>\n<h1 id=\"response-schema\">Response Schema</h1>\n<p>At the root of the response are the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>ok</code></td>\n<td><em>Boolean</em>. <code>true</code></td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td><em>String</em>. <code>\"event-stream\"</code>. This simply denotes which API is responding.</td>\n</tr>\n<tr>\n<td><code>version</code></td>\n<td><em>String</em>. <code>\"2.0\"</code></td>\n</tr>\n<tr>\n<td><code>url</code></td>\n<td><em>String</em>. The url path of the request that produced this response.</td>\n</tr>\n<tr>\n<td><code>data</code></td>\n<td><em>Array of Objects</em>. The response data (see below).</td>\n</tr>\n<tr>\n<td><code>nextToken</code></td>\n<td><em>String</em>. The token required to fetch the next page of data. If not present, this response is the last page from the query.</td>\n</tr>\n</tbody>\n</table>\n</div><p>Each object in the <code>data</code> array includes various details as follows:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>eventDate</code></td>\n<td><em>String</em>. ISO8601 UTC timestamp of the engagement event.</td>\n</tr>\n<tr>\n<td><code>classId</code></td>\n<td><em>Integer</em>. Unique identifier for the <code>class</code> that this engagement event was generated in.</td>\n</tr>\n<tr>\n<td><code>meetingId</code></td>\n<td><em>String</em>. Unique identifier for the <code>meeting</code> that this engagement event was generated in.</td>\n</tr>\n<tr>\n<td><code>occurrenceId</code></td>\n<td><em>String</em>. If the class has \"Track Attendance by Occurrence ID\" then this is the <code>resourceLinkId</code> of the component that held the LTI link that the Instructor used to start the <code>meeting</code>.</td>\n</tr>\n<tr>\n<td><code>userId</code></td>\n<td><em>Integer or null</em>. Unique identifier for the user that generated this engagement event. For events that were made anonymously, <code>userId</code> will be null.</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td><em>String</em>. Email address that Engageli holds for the user that generated this engagement event.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td><em>String</em>. Display name that Engageli holds for the user that generated this engagement event.</td>\n</tr>\n<tr>\n<td><code>sessionRole</code></td>\n<td><em>String</em>. The in-class role that the user had when they generated this engagement event. One of <code>student</code>, <code>TA</code>, <code>coInstructor</code> (or <code>prof</code> for some older data).</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td><em>String</em>. The high-level description of the engagement event, used to group sub-types.</td>\n</tr>\n<tr>\n<td><code>subType</code></td>\n<td><em>String or null</em>. The specific action within the engagement <code>type</code> group.</td>\n</tr>\n<tr>\n<td><code>duration</code></td>\n<td><em>Integer or null</em>. Milliseconds duration metric of the engagement event that the record represents.</td>\n</tr>\n<tr>\n<td><code>eventId</code></td>\n<td><em>String</em>. Unique identifier for this engagement event. May be used as a primary key for this data.</td>\n</tr>\n<tr>\n<td><code>more</code></td>\n<td><em>Object or null</em>. Contains additional contextual information for this engagement event. Contents will vary depending on the <code>type</code> and <code>subType</code>, detailed below. Where there is no data, this value will either be <code>null</code> (where there was no possibility of data) or an empty object <code>{}</code> (where there was possibility of data but none exists).</td>\n</tr>\n</tbody>\n</table>\n</div><p>Details of various event <code>type</code>, <code>subType</code> and additional information in <code>more</code> are as follows. This list is intended to be exhaustive so may be added to from time to time in this online documentation.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Event Type and Sub Type</strong></th>\n<th><strong>Keys in</strong> <strong><code>more</code></strong> <strong>with possible values</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>type: audioMode</code>  <br /><code>subType: changed</code>  <br />Changing <a href=\"https://support.engageli.com/hc/en-us/articles/4416183888155-Classroom-Audio-Settings\">audio mode</a> in the Live Classroom.</td>\n<td><code>mode</code>: <code>room, table</code></td>\n</tr>\n<tr>\n<td><code>type: annotationWhiteboard</code>  <br /><code>subType: start, stop, changeTool</code>  <br />Annotating content on File Share or Screen Share</td>\n<td><code>annotationType: screen, pdf</code></td>\n</tr>\n<tr>\n<td><code>type: camera</code>  <br /><code>subType: applyEffect, removeEffect, off, on, forceOff, requestOn</code>  <br />Make changes to user's webcam feed</td>\n<td><code>backGroundEffect: BLUR, IMAGE, COLOR</code>  <br /><code>forceOff: room, 'target user's email address'</code> for subtype <code>forceOff</code>  <br /><code>requestTo: room, 'target user's email address'</code> for subtype <code>requestOn</code></td>\n</tr>\n<tr>\n<td><code>type: chat</code>  <br /><code>subType: everyone, table, staff, private</code>  <br />Chat messages sent in the classroom</td>\n<td><code>target:</code> <code>EVERYONE IN ROOM</code>, <code>STAFF_IN_ROOM</code>, <code>TABLE,</code> <code>'recipient user's email address'</code>  <br /><code>vtgId: 'recipient table number'</code> for subtype <code>table</code></td>\n</tr>\n<tr>\n<td><code>type: class</code>  <br /><code>subType: join, leave, endClassForAll</code>  <br />Joining or leaving the classroom</td>\n<td><code>playbackRoom: true</code> for events in a Playback Room, omitted for events in a Live Classroom.</td>\n</tr>\n<tr>\n<td><code>type: collaborationWhiteboard</code>  <br /><code>subType: start, stop, changeTool</code>  <br />Using the class or table whiteboard.</td>\n<td><code>mode: room, table</code>  <br /><code>isInPlayback: true, false</code>  <br />for changeTool:  <br /><code>tool: select, drag, brush, pen, drawing, addingText, addingShape, addingNote, addingFile, addingImage, highlighter, addingFormula</code></td>\n</tr>\n<tr>\n<td><code>type: externalDocuments</code>  <br /><code>subType: start, stop</code></td>\n<td></td>\n</tr>\n<tr>\n<td><code>type: fileShare</code>  <br /><code>subType: start, stop, pageChange, annotate</code>  <br />File Share activity</td>\n<td><code>page: 'number'</code>  <br /><code>fileName: 'file title'</code>  <br /><code>recordingId: 'recording ID'</code>  <br /><code>isPPTX: true</code> for uploaded and converted PPTX file</td>\n</tr>\n<tr>\n<td><code>type: mic</code>  <br /><code>subType: on, off, forceOff, forceAllOff, requestOn</code></td>\n<td>for requestOn:  <br /><code>requestTo: 'email of user who received the request'</code></td>\n</tr>\n<tr>\n<td><code>type: note</code>  <br /><code>subType: create, screenshot, delete, annotateSave</code></td>\n<td></td>\n</tr>\n<tr>\n<td><code>type: playback</code>  <br /><code>subType: play, pause, speedChange, switchRecording</code></td>\n<td><code>recordingTimestampMs: 'duration in milliseconds'</code>  <br /><code>recordingId 'integer ID of recording'</code>  <br /><code>classTimestamp: 'unix timestamp of the point the live class'</code>  <br /><code>speed: 'decimal of speed multiplier'</code></td>\n</tr>\n<tr>\n<td><code>type: poll</code>  <br /><code>subType: viewed, answer, start, stop, lock, unlock, showResults, hideResults, markVerifiedAnswer</code></td>\n<td><code>pollType: word-cloud-quiz, MULTIPLE_CHOICE_POLL, PBM, TEXT_POLL, multiple-choice-quiz, single-choice-quiz</code>  <br /><code>isQuickPoll: true</code> for Quick Polls  <br /><code>quizSetId: 'integer id'</code> if part of a Poll Set, Quiz Set or Sprint  <br /><code>quizSetMode: \"poll\", \"quiz\", \"sprint\"</code> if part of a Poll Set, Quiz Set or Sprint  <br /><code>pollId: 'uuid for this poll instance'</code></td>\n</tr>\n<tr>\n<td><code>type: pollSet</code>  <br /><code>subType: start, stop</code></td>\n<td><code>quizSetId: 'integer ID'</code>  <br /><code>quizSetMode: poll</code>  <br /><code>quizSetTitle: 'string as entered in UI'</code></td>\n</tr>\n<tr>\n<td><code>type: questionAnswer</code>  <br /><code>subType: newQuestion, newAnswer, removeQuestion, removeAnswer, markAnswer, newQuestionWithFile, newAnswerWithFile, pinQuestion, unpinQuestion</code></td>\n<td><code>anonymous: true, false</code>  <br /><code>verified: true, false</code></td>\n</tr>\n<tr>\n<td><code>type: quizSet</code>  <br /><code>subType: start, stop</code></td>\n<td><code>quizSetId: 'integer ID'</code>  <br /><code>quizSetMode: \"quiz\"</code>  <br /><code>quizSetTitle: 'string as entered in UI'</code> for <code>start</code></td>\n</tr>\n<tr>\n<td><code>type: quizSprint</code>  <br /><code>subType: start, stop</code></td>\n<td><code>quizSetId: 'integer ID'</code>  <br /><code>quizSetMode: \"sprint\"</code>  <br /><code>quizSetTitle: 'string as entered in UI'</code> for <code>start</code></td>\n</tr>\n<tr>\n<td><code>type: raiseHand</code>  <br /><code>subType: up, down, requestUp, forceDown</code></td>\n<td><code>requestTo: 'email address of target user'</code> for <code>requestUp</code></td>\n</tr>\n<tr>\n<td><code>type: reaction</code>  <br /><code>subType: HEART, PARTYING_FACE, THUMBS_UP, THUMBS_DOWN, CRICKETS, APPLAUSE, DRAMATIC, SAD_TROMBONE</code></td>\n<td></td>\n</tr>\n<tr>\n<td><code>type: screenShare</code>  <br /><code>subType: start, stop</code></td>\n<td><code>isTableShare: true</code> for table-based shares  <br /><code>vtgId: 'table number of table share'</code></td>\n</tr>\n<tr>\n<td><code>type: speakingTime</code>  <br /><code>subType: null</code></td>\n<td><code>discussion: true, false</code> (true if Room Mode, false if Table Mode)  <br /><code>podium: true, false</code> (true if user is at the Podium, false otherwise)  <br /><code>panel: true, false</code> (true if user is on the Panel, false otherwise)  <br />Note, the above fields are usually evaluated in the order <code>panel -&gt; podium -&gt; discussion</code> in order to determine where the speaking should be attributed, i.e. Panel -&gt; Podium -&gt; Room -&gt; Table  <br />  <br />In addition, the <code>duration</code> field for the event records the amount of measured speaking in milliseconds. A <code>duration</code> value of 0 indicates the moment the user started speaking.</td>\n</tr>\n<tr>\n<td><code>type: tableArrangement</code>  <br /><code>subType: random, poll</code></td>\n<td><code>studentsPerTable: 'number of students'</code></td>\n</tr>\n<tr>\n<td><code>type: tableChange</code>  <br /><code>subType: join, leave, peek, stopPeek, forceStudentMove</code></td>\n<td><code>vtgId: 'table number'</code></td>\n</tr>\n<tr>\n<td><code>type: tableLock</code>  <br /><code>subType: lock, unlock</code></td>\n<td></td>\n</tr>\n<tr>\n<td><code>type: timer</code>  <br /><code>subType: start, end, show, hide, addTime, pause, unpause</code></td>\n<td><code>durationMS: 'duration in milliseconds'</code></td>\n</tr>\n<tr>\n<td><code>type: videoClip</code>  <br /><code>subType: play, stop, videoEnd</code></td>\n<td><code>fileType: youtube, savedClip</code>  <br /><code>url: 'url of YouTube video'</code>  <br /><code>title: 'title of saved video clip'</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"from_token_endpoint"}]},"isInherited":true,"source":{"_postman_id":"89a0bb0d-6e9b-402a-8982-ec3cc4376420","id":"89a0bb0d-6e9b-402a-8982-ec3cc4376420","name":"Engageli API","type":"collection"}},"urlObject":{"protocol":"https","path":["api","data-insights","example","v2","external","event-stream"],"host":["example.engageli.com"],"query":[{"disabled":true,"description":{"content":"<p>Required. Retrieve engagement events with eventDate equal to or after this timestamp.</p>\n","type":"text/plain"},"key":"rangeStart","value":""},{"disabled":true,"description":{"content":"<p>Retrieve engagement events with eventDate before this timestamp. If rangeStart is more than 1hr ago, rangeEnd can be no more than 1hr after rangeStart.</p>\n","type":"text/plain"},"key":"rangeEnd","value":""},{"disabled":true,"description":{"content":"<p>Pagination token provided in previous page's response.</p>\n","type":"text/plain"},"key":"nextToken","value":""}],"variable":[]}},"response":[{"id":"afcf76c0-db15-4487-a999-00ac730747f9","name":"200 OK","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://example.engageli.com/api/data-insights/example/v2/external/event-stream?rangeStart=2025-02-17T14:00:00.000Z&rangeEnd=2025-02-17T15:00:00.000Z","protocol":"https","host":["example.engageli.com"],"path":["api","data-insights","example","v2","external","event-stream"],"query":[{"key":"rangeStart","value":"2025-02-17T14:00:00.000Z","description":"Required. Retrieve engagement events with eventDate equal to or after this timestamp."},{"key":"rangeEnd","value":"2025-02-17T15:00:00.000Z","description":"Retrieve engagement events with eventDate before this timestamp. If rangeStart is more than 1hr ago, rangeEnd can be no more than 1hr after rangeStart."},{"key":"nextToken","value":"","description":"Pagination token provided in previous page's response.","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Tue, 18 Feb 2025 16:07:12 GMT"},{"key":"Permissions-Policy","value":"accelerometer=(),autoplay=*,camera=(self),encrypted-media=(),fullscreen=*,geolocation=(self),gyroscope=(),magnetometer=(),microphone=(self),midi=(),payment=(self),picture-in-picture=*,publickey-credentials-get=(),screen-wake-lock=(self),sync-xhr=(self),usb=(self),xr-spatial-tracking=()"},{"key":"Content-Encoding","value":"gzip"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Security-Policy","value":"default-src 'self'; font-src 'self' https: data:; img-src 'self' blob: data: https:; object-src 'none'; script-src 'unsafe-eval' 'self' 'sha256-1P7pfYIX5uui48jv3jJTENpF7uVSv/iYb9YkbJm6Hos=' 'sha256-hZ39PMN+tlPLQx61o7zG0TAuYyLoGbXWHkOslKFw+/M=' 'sha256-Gagf4D9b8KK6T/qA4w9SYsYKu0ZPoo/kVn27Lf/fVoE=' 'sha256-SxfF3aB+8OGwBqOwrZT6iTeC7PqDtp1zSpOomp8Q/Hg=' https://*.engageli.com:* https://*.engageli-test.com:* https://www.youtube.com:* https://*.google.com:* https://*.vimeo.com:* https://vimeo.com:* https://miro.com:* https://*.mixpanel.com:* https://cdn.jsdelivr.net:* https://js.hsforms.net:* blob: ; script-src-attr 'none'; style-src 'self' https: 'unsafe-inline'; frame-src nggli: *; media-src 'self' https: blob:; connect-src https://*.engageli.com:* https://*.ingest.sentry.io https://*.engageli-test.com:* wss://*.engageli.com:* wss://*.engageli-test.com:* https://noembed.com:* file://* https://*.amazonaws.com:* wss://*.amazonaws.com:* https://*.cloudfront.net:* https://*.gravatar.com:* https://vimeo.com:* https://*.vimeo.com:* https://*.mixpanel.com:* https://*.miro.com:* https://storage.googleapis.com:* https://cdn.jsdelivr.net:* https://tfhub.dev:* https://www.kaggle.com:* https://kaggle.com:* https://forms.hsforms.com:* wss://matan-engageli.sip.signalwire.com:* https://*.auth0.com:*  blob:; base-uri 'self'; frame-ancestors https://*.google.com https://*.engageli-test.com/ https://*.instructure.com https://*.engageli.com https://*.engageli-dev.com https://*.brightspace.com https://*.brightspacedemo.com https://*.moodlecloud.com https://engageli-lti1p3.docebosaas.com https://moodle.us.engageli-dev.com;"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-site"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Strict-Transport-Security","value":"max-age=63072000; includeSubDomains; preload"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"X-RateLimit-Reset","value":"1739894892"},{"key":"ETag","value":"W/\"98d98-1lTdnXedv4jTZE2H/5A2rAMqOjw\""},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 e963d9388521b938ab0c2d19e2400bee.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"LHR50-P3"},{"key":"X-Amz-Cf-Id","value":"_VVSLmeqgjbThK1UkriOm8zJgtc5f77xNrKvHbtpz33mvX-In-VvWQ=="},{"key":"X-Robots-Tag","value":"noindex, nofollow, nosnippet, noarchive"}],"cookie":[],"responseTime":null,"body":"{\n  \"ok\": true,\n  \"type\": \"event-stream\",\n  \"version\": \"2.0\",\n  \"url\": \"/api/data-insights/example/v2/external/event-stream?rangeStart=2025-02-17T14:00:00.000Z&rangeEnd=2025-02-17T15:00:00.000Z\",\n  \"data\": [\n    {\n      \"eventDate\": \"2025-02-17T13:58:06.997Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"class\",\n      \"subType\": \"join\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024901\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T13:58:08.155Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024902\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T13:58:08.155Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"camera\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024903\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T13:58:53.121Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"class\",\n      \"subType\": \"join\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024912\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T13:58:54.309Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024913\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T13:58:54.309Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"camera\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024914\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T13:58:52.995Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"tableChange\",\n      \"subType\": \"join\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024916\",\n      \"more\": {\n        \"vtgId\": \"1\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T13:59:05.629Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 0,\n      \"email\": \"engageli-recorder31778740\",\n      \"name\": \"Engageli-Recorder-31778740\",\n      \"sessionRole\": \"student\",\n      \"type\": \"class\",\n      \"subType\": \"join\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024920\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T13:59:05.664Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 0,\n      \"email\": \"engageli-recorder31778740\",\n      \"name\": \"Engageli-Recorder-31778740\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024921\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T13:59:05.664Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 0,\n      \"email\": \"engageli-recorder31778740\",\n      \"name\": \"Engageli-Recorder-31778740\",\n      \"sessionRole\": \"student\",\n      \"type\": \"camera\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024922\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:01:34.064Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"chat\",\n      \"subType\": \"everyone\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024930\",\n      \"more\": {\n        \"target\": \"EVERYONE IN ROOM\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:01:37.243Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"start\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024932\",\n      \"more\": {\n        \"page\": 1,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:01:49.039Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"chat\",\n      \"subType\": \"everyone\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024933\",\n      \"more\": {\n        \"target\": \"EVERYONE IN ROOM\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:02:00.809Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"mic\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024935\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:02:40.774Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024937\",\n      \"more\": {\n        \"page\": 2,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:02:48.018Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"class\",\n      \"subType\": \"join\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024938\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:02:49.190Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024939\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:02:49.190Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"camera\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024940\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:02:49.202Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"reaction\",\n      \"subType\": \"THUMBS_UP\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024941\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:02:55.568Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"reaction\",\n      \"subType\": \"HEART\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024943\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:02:47.779Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"tableChange\",\n      \"subType\": \"join\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024947\",\n      \"more\": {\n        \"vtgId\": \"1\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:03:01.269Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"chat\",\n      \"subType\": \"everyone\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024950\",\n      \"more\": {\n        \"target\": \"EVERYONE IN ROOM\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:03:18.292Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"camera\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024951\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:03:23.989Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"camera\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024952\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:03:31.027Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024953\",\n      \"more\": {\n        \"page\": 3,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:04:03.180Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"raiseHand\",\n      \"subType\": \"up\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024956\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:04:05.621Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024957\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:04:12.902Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"camera\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024959\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:04:18.329Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024960\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:04:21.992Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2024961\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:04:22.385Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 393,\n      \"eventId\": \"6221-2024962\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:04:07.786Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2024963\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:04:08.211Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 425,\n      \"eventId\": \"6221-2024964\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:04:10.619Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2024965\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:04:25.521Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 14902,\n      \"eventId\": \"6221-2024966\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:04:24.576Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2024968\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:04:34.273Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 9697,\n      \"eventId\": \"6221-2024969\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:05:50.461Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024975\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:05:33.927Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2024976\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:05:34.272Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 345,\n      \"eventId\": \"6221-2024977\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:05:57.601Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024978\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:06:00.419Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"raiseHand\",\n      \"subType\": \"down\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024981\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:05:52.017Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2024984\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:05:53.920Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 1903,\n      \"eventId\": \"6221-2024985\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:06:17.014Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"raiseHand\",\n      \"subType\": \"up\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024986\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:06:19.582Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024987\",\n      \"more\": {\n        \"page\": 4,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:06:21.605Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"raiseHand\",\n      \"subType\": \"down\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024988\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:06:19.583Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2024990\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": false,\n        \"discussion\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:06:25.723Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 6140,\n      \"eventId\": \"6221-2024991\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": false,\n        \"discussion\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:06:44.425Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"annotationWhiteboard\",\n      \"subType\": \"start\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024993\",\n      \"more\": {\n        \"annotationType\": \"pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:06:26.051Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2024994\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:06:34.266Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 8215,\n      \"eventId\": \"6221-2024995\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:06:44.412Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"annotate\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024996\",\n      \"more\": {\n        \"page\": 4\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:07:03.943Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"annotationWhiteboard\",\n      \"subType\": \"stop\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024997\",\n      \"more\": {\n        \"annotationType\": \"pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:07:10.462Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"note\",\n      \"subType\": \"screenshot\",\n      \"duration\": null,\n      \"eventId\": \"6221-2024999\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:07:13.434Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"note\",\n      \"subType\": \"screenshot\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025001\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:07:56.922Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"start\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025003\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:07:57.413Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"poll\",\n      \"subType\": \"viewed\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025004\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:07:57.415Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"viewed\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025005\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:07:57.476Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"poll\",\n      \"subType\": \"viewed\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025006\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:08:02.769Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"poll\",\n      \"subType\": \"answer\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025007\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:08:05.209Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"poll\",\n      \"subType\": \"answer\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025008\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:08:11.629Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"lock\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025009\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:08:14.445Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"showResults\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025010\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:08:24.965Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"stop\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025011\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:08:27.777Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025012\",\n      \"more\": {\n        \"page\": 5,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:08:45.354Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025013\",\n      \"more\": {\n        \"page\": 6,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:09:06.743Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"raiseHand\",\n      \"subType\": \"up\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025014\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:08:54.071Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"note\",\n      \"subType\": \"create\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025015\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:09:03.555Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"note\",\n      \"subType\": \"screenshot\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025017\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:09:27.802Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"camera\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025018\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:09:30.544Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025019\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:09:32.751Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025020\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:09:42.223Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"raiseHand\",\n      \"subType\": \"down\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025021\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:09:43.824Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025022\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:09:37.701Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2025023\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:09:38.095Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 394,\n      \"eventId\": \"6221-2025024\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:10:12.716Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"mic\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025025\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:10:14.304Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025026\",\n      \"more\": {\n        \"page\": 7,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:10:17.777Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025027\",\n      \"more\": {\n        \"page\": 8,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:10:28.995Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"audioMode\",\n      \"subType\": \"changed\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025029\",\n      \"more\": {\n        \"mode\": \"Table\",\n        \"manual\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:10:32.972Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025030\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:10:34.444Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025031\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:10:11.261Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2025032\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": false,\n        \"discussion\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:10:18.408Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 7147,\n      \"eventId\": \"6221-2025033\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": false,\n        \"discussion\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:10:35.726Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2025035\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": false,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:10:36.120Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 394,\n      \"eventId\": \"6221-2025036\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": false,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:10:41.443Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025037\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:10:45.733Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025039\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:10:47.232Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2025041\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": false,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:10:47.637Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 405,\n      \"eventId\": \"6221-2025042\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": false,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:10:50.489Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025043\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:10:51.298Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025044\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:10:52.401Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025045\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:11:14.889Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025046\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:10:49.658Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2025047\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": false,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:11:18.409Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 28751,\n      \"eventId\": \"6221-2025048\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": false,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:11:41.545Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"reaction\",\n      \"subType\": \"THUMBS_UP\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025049\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:10:54.241Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2025052\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": false,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:11:25.529Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 31288,\n      \"eventId\": \"6221-2025053\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": false,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:11:59.751Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025054\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:12:02.065Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"mic\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025055\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:11:44.621Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"timer\",\n      \"subType\": \"show\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025056\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:11:56.029Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"timer\",\n      \"subType\": \"start\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025057\",\n      \"more\": {\n        \"durationMS\": 60000\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:12:05.102Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025058\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:12:13.144Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025059\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:12:16.541Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025060\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:12:18.118Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025063\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:12:03.341Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2025065\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:12:05.231Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 1890,\n      \"eventId\": \"6221-2025066\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:12:17.977Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2025067\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": false,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:12:18.379Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 402,\n      \"eventId\": \"6221-2025068\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": false,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:12:18.378Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2025069\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": false,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:12:25.771Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 7393,\n      \"eventId\": \"6221-2025070\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": false,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:11:59.830Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2025071\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": false,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:12:18.411Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 18581,\n      \"eventId\": \"6221-2025072\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": false,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:12:43.249Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025073\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:12:30.204Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2025074\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:12:34.565Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 4361,\n      \"eventId\": \"6221-2025075\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:13:11.604Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"mic\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025076\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:13:15.322Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"audioMode\",\n      \"subType\": \"changed\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025078\",\n      \"more\": {\n        \"mode\": \"Room\",\n        \"manual\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:12:57.567Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"timer\",\n      \"subType\": \"end\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025080\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:13:13.637Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2025081\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:13:14.030Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 393,\n      \"eventId\": \"6221-2025082\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:13:14.030Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2025083\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:13:15.524Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 1494,\n      \"eventId\": \"6221-2025084\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:13:25.228Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025085\",\n      \"more\": {\n        \"page\": 9,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:13:29.655Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025086\",\n      \"more\": {\n        \"page\": 10,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:13:33.255Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025087\",\n      \"more\": {\n        \"page\": 11,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:13:10.166Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2025088\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": false,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:13:15.753Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 5587,\n      \"eventId\": \"6221-2025089\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": false,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:13:11.332Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2025090\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": false,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:13:15.937Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 4605,\n      \"eventId\": \"6221-2025091\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": false,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:13:15.280Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2025093\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:13:34.042Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 18762,\n      \"eventId\": \"6221-2025094\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:13:54.813Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"start\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025096\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:13:55.212Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"viewed\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025097\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:13:55.213Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"poll\",\n      \"subType\": \"viewed\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025098\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:13:55.246Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"poll\",\n      \"subType\": \"viewed\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025099\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:13:59.601Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"poll\",\n      \"subType\": \"answer\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025100\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:14:02.244Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"poll\",\n      \"subType\": \"answer\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025101\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:14:04.971Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"showResults\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025102\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:14:12.004Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"poll\",\n      \"subType\": \"answer\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025103\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:14:20.578Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"stop\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025104\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:14:23.817Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025105\",\n      \"more\": {\n        \"page\": 12,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:14:28.680Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025106\",\n      \"more\": {\n        \"page\": 13,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:14:29.597Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025107\",\n      \"more\": {\n        \"page\": 14,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:14:34.868Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"collaborationWhiteboard\",\n      \"subType\": \"start\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025109\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:14:09.013Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2025110\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:14:34.289Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 25276,\n      \"eventId\": \"6221-2025111\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:15:03.987Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"collaborationWhiteboard\",\n      \"subType\": \"changeTool\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025112\",\n      \"more\": {\n        \"isInPlayback\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:15:27.729Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"collaborationWhiteboard\",\n      \"subType\": \"changeTool\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025113\",\n      \"more\": {\n        \"isInPlayback\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:15:38.377Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"collaborationWhiteboard\",\n      \"subType\": \"changeTool\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025114\",\n      \"more\": {\n        \"isInPlayback\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:15:45.370Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"collaborationWhiteboard\",\n      \"subType\": \"changeTool\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025115\",\n      \"more\": {\n        \"isInPlayback\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:15:58.926Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"collaborationWhiteboard\",\n      \"subType\": \"changeTool\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025118\",\n      \"more\": {\n        \"isInPlayback\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:16:17.263Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"collaborationWhiteboard\",\n      \"subType\": \"changeTool\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025119\",\n      \"more\": {\n        \"isInPlayback\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:16:47.004Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"collaborationWhiteboard\",\n      \"subType\": \"stop\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025120\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:16:34.421Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"collaborationWhiteboard\",\n      \"subType\": \"changeTool\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025121\",\n      \"more\": {\n        \"isInPlayback\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:16:44.550Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"note\",\n      \"subType\": \"screenshot\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025122\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:17:33.598Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"questionAnswer\",\n      \"subType\": \"newQuestion\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025123\",\n      \"more\": {\n        \"anonymous\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:17:43.399Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"questionAnswer\",\n      \"subType\": \"newAnswer\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025124\",\n      \"more\": {\n        \"verified\": false,\n        \"anonymous\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:18:00.195Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": null,\n      \"email\": \"anonymousqa@example.com\",\n      \"name\": \"Anonymous\",\n      \"sessionRole\": \"student\",\n      \"type\": \"questionAnswer\",\n      \"subType\": \"newAnswer\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025127\",\n      \"more\": {\n        \"verified\": false,\n        \"anonymous\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:18:11.367Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"questionAnswer\",\n      \"subType\": \"markAnswer\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025129\",\n      \"more\": {\n        \"verified\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:18:13.998Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"questionAnswer\",\n      \"subType\": \"markAnswer\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025130\",\n      \"more\": {\n        \"verified\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:18:22.281Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025131\",\n      \"more\": {\n        \"page\": 15,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:18:25.377Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025132\",\n      \"more\": {\n        \"page\": 16,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:18:27.729Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025133\",\n      \"more\": {\n        \"page\": 17,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:18:38.480Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"tableArrangement\",\n      \"subType\": \"random\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025134\",\n      \"more\": {\n        \"studentsPerTable\": 1\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:18:41.962Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"audioMode\",\n      \"subType\": \"changed\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025138\",\n      \"more\": {\n        \"mode\": \"Table\",\n        \"manual\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:18:48.330Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025139\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:18:50.097Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025140\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:18:54.824Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025141\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:18:38.908Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"tableChange\",\n      \"subType\": \"leave\",\n      \"duration\": 951274,\n      \"eventId\": \"6221-2025142\",\n      \"more\": {\n        \"vtgId\": \"1\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:18:39.109Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"tableChange\",\n      \"subType\": \"join\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025143\",\n      \"more\": {\n        \"vtgId\": \"2\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:21:08.148Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"mic\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025167\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:21:10.747Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"audioMode\",\n      \"subType\": \"changed\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025169\",\n      \"more\": {\n        \"mode\": \"Room\",\n        \"manual\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:21:12.054Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025171\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:21:12.178Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025172\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:21:16.190Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025173\",\n      \"more\": {\n        \"page\": 18,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:21:20.276Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"annotationWhiteboard\",\n      \"subType\": \"start\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025175\",\n      \"more\": {\n        \"annotationType\": \"pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:21:09.679Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2025176\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:21:10.071Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 392,\n      \"eventId\": \"6221-2025177\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:21:10.070Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2025178\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:21:11.021Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 951,\n      \"eventId\": \"6221-2025179\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:21:20.453Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"annotate\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025180\",\n      \"more\": {\n        \"page\": 18\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:21:24.534Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2025181\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:21:34.312Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 9778,\n      \"eventId\": \"6221-2025182\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:21:56.037Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"annotationWhiteboard\",\n      \"subType\": \"stop\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025183\",\n      \"more\": {\n        \"annotationType\": \"pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:21:44.788Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"note\",\n      \"subType\": \"screenshot\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025185\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:22:03.448Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"raiseHand\",\n      \"subType\": \"up\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025186\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:22:05.085Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025187\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:21:52.615Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"note\",\n      \"subType\": \"screenshot\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025189\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:22:06.791Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2025190\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:22:07.160Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 369,\n      \"eventId\": \"6221-2025191\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:22:10.319Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"annotationWhiteboard\",\n      \"subType\": \"start\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025193\",\n      \"more\": {\n        \"annotationType\": \"pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:22:13.133Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025194\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:22:06.758Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2025195\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:22:07.149Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 391,\n      \"eventId\": \"6221-2025196\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:22:10.498Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"annotate\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025197\",\n      \"more\": {\n        \"page\": 18\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:22:13.960Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2025198\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:22:25.792Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 11832,\n      \"eventId\": \"6221-2025199\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:22:24.864Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2025200\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:22:34.313Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 9449,\n      \"eventId\": \"6221-2025201\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:22:53.127Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"note\",\n      \"subType\": \"screenshot\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025203\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:23:05.105Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"raiseHand\",\n      \"subType\": \"down\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025204\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:23:08.074Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"annotationWhiteboard\",\n      \"subType\": \"stop\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025205\",\n      \"more\": {\n        \"annotationType\": \"pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:22:49.950Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"note\",\n      \"subType\": \"screenshot\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025206\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:22:51.126Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"note\",\n      \"subType\": \"screenshot\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025207\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:23:13.687Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025208\",\n      \"more\": {\n        \"page\": 19,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:23:16.287Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025209\",\n      \"more\": {\n        \"page\": 20,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:23:19.712Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025210\",\n      \"more\": {\n        \"page\": 21,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:23:23.015Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025211\",\n      \"more\": {\n        \"page\": 22,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:23:29.171Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"reaction\",\n      \"subType\": \"PARTYING_FACE\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025212\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:23:33.220Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"reaction\",\n      \"subType\": \"HEART\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025214\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:23:38.876Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025215\",\n      \"more\": {\n        \"page\": 23,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:23:44.603Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025216\",\n      \"more\": {\n        \"page\": 24,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:24:12.603Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025217\",\n      \"more\": {\n        \"page\": 25,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:24:26.303Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"camera\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025218\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:24:43.536Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"start\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025219\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:24:43.939Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"viewed\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025223\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:24:43.956Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"poll\",\n      \"subType\": \"viewed\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025224\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:24:44.040Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"poll\",\n      \"subType\": \"viewed\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025225\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:24:48.893Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"poll\",\n      \"subType\": \"answer\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025226\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:24:51.306Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"poll\",\n      \"subType\": \"answer\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025227\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:24:55.029Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"showResults\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025228\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:24:59.392Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"stop\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025229\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:25:18.901Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"camera\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025230\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:25:23.450Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025235\",\n      \"more\": {\n        \"page\": 26,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:25:27.759Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025236\",\n      \"more\": {\n        \"page\": 27,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:25:32.541Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025237\",\n      \"more\": {\n        \"page\": 28,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:25:33.687Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025238\",\n      \"more\": {\n        \"page\": 29,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:25:36.779Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025239\",\n      \"more\": {\n        \"page\": 30,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:25:38.093Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025240\",\n      \"more\": {\n        \"page\": 31,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:25:38.935Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025241\",\n      \"more\": {\n        \"page\": 32,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:25:41.930Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"stop\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025242\",\n      \"more\": {\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:25:52.507Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"class\",\n      \"subType\": \"endClassForAll\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025243\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:25:53.653Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"class\",\n      \"subType\": \"leave\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025244\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:25:53.655Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"sessionRole\": \"student\",\n      \"type\": \"class\",\n      \"subType\": \"leave\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025245\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:25:53.666Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"class\",\n      \"subType\": \"leave\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025246\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:25:55.005Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 0,\n      \"email\": \"engageli-recorder31778740\",\n      \"name\": \"Engageli-Recorder-31778740\",\n      \"sessionRole\": \"student\",\n      \"type\": \"class\",\n      \"subType\": \"leave\",\n      \"duration\": null,\n      \"eventId\": \"6221-2025247\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:25:45.921Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6221-2025248\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-17T14:25:46.315Z\",\n      \"classId\": 6221,\n      \"meetingId\": \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 394,\n      \"eventId\": \"6221-2025249\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T12:59:35.437Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"class\",\n      \"subType\": \"join\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026486\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-18T12:59:36.591Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026487\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T12:59:36.591Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"camera\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026488\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-18T12:59:44.408Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 0,\n      \"email\": \"engageli-recorder30814754\",\n      \"name\": \"Engageli-Recorder-30814754\",\n      \"sessionRole\": \"student\",\n      \"type\": \"class\",\n      \"subType\": \"join\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026493\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-18T12:59:44.445Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 0,\n      \"email\": \"engageli-recorder30814754\",\n      \"name\": \"Engageli-Recorder-30814754\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026494\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T12:59:44.445Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 0,\n      \"email\": \"engageli-recorder30814754\",\n      \"name\": \"Engageli-Recorder-30814754\",\n      \"sessionRole\": \"student\",\n      \"type\": \"camera\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026495\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:00:32.040Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"class\",\n      \"subType\": \"join\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026500\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:00:33.195Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026501\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:00:33.195Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"camera\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026502\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:00:31.537Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"tableChange\",\n      \"subType\": \"join\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026507\",\n      \"more\": {\n        \"vtgId\": \"1\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:02:34.174Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"start\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026516\",\n      \"more\": {\n        \"page\": 1,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:02:42.327Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026517\",\n      \"more\": {\n        \"page\": 2,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:02:47.287Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"mic\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026518\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:03:08.733Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"raiseHand\",\n      \"subType\": \"up\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026519\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:03:09.884Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026520\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:02:50.862Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6222-2026521\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:02:51.259Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 397,\n      \"eventId\": \"6222-2026522\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:02:57.852Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6222-2026523\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:03:09.706Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 11854,\n      \"eventId\": \"6222-2026524\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:03:16.449Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026525\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:03:22.738Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026526\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:03:24.921Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"mic\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026527\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:03:32.819Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026529\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:03:11.340Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6222-2026530\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:03:13.235Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 1895,\n      \"eventId\": \"6222-2026531\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:03:35.695Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"reaction\",\n      \"subType\": \"THUMBS_UP\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026532\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:03:13.960Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6222-2026533\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:03:15.854Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 1894,\n      \"eventId\": \"6222-2026534\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:03:36.945Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"raiseHand\",\n      \"subType\": \"down\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026535\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:03:40.298Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6222-2026536\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": false,\n        \"discussion\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:03:47.994Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 7696,\n      \"eventId\": \"6222-2026537\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": false,\n        \"discussion\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:03:52.942Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6222-2026538\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:04:09.709Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 16767,\n      \"eventId\": \"6222-2026539\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:05:40.884Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026540\",\n      \"more\": {\n        \"page\": 3,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:05:48.354Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"annotationWhiteboard\",\n      \"subType\": \"start\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026542\",\n      \"more\": {\n        \"annotationType\": \"pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:05:48.439Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"annotate\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026543\",\n      \"more\": {\n        \"page\": 3\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:05:55.470Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"annotationWhiteboard\",\n      \"subType\": \"changeTool\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026544\",\n      \"more\": {\n        \"annotationType\": \"pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:06:26.864Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"reaction\",\n      \"subType\": \"THUMBS_UP\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026545\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:06:31.976Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"annotationWhiteboard\",\n      \"subType\": \"stop\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026546\",\n      \"more\": {\n        \"annotationType\": \"pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:06:33.323Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026547\",\n      \"more\": {\n        \"page\": 4,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:06:20.239Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"note\",\n      \"subType\": \"screenshot\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026549\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:08:50.528Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026551\",\n      \"more\": {\n        \"page\": 5,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:08:53.423Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"mic\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026552\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:08:59.689Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026553\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:09:10.811Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"mic\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026554\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:09:14.319Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026555\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:08:55.990Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6222-2026556\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:08:56.383Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 393,\n      \"eventId\": \"6222-2026557\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:09:01.054Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6222-2026558\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:09:09.732Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 8678,\n      \"eventId\": \"6222-2026559\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:09:13.109Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6222-2026560\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:09:13.504Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 395,\n      \"eventId\": \"6222-2026561\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:09:18.486Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026562\",\n      \"more\": {\n        \"page\": 6,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:09:24.625Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"reaction\",\n      \"subType\": \"PARTYING_FACE\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026563\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:09:29.036Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026564\",\n      \"more\": {\n        \"page\": 7,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:09:32.224Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026565\",\n      \"more\": {\n        \"page\": 8,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:09:45.690Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"tableArrangement\",\n      \"subType\": \"random\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026566\",\n      \"more\": {\n        \"studentsPerTable\": 2\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:10:15.000Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"audioMode\",\n      \"subType\": \"changed\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026570\",\n      \"more\": {\n        \"mode\": \"Table\",\n        \"manual\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:10:20.413Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026571\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:10:21.072Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"camera\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026572\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:10:03.862Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6222-2026573\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:10:09.728Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 5866,\n      \"eventId\": \"6222-2026574\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:10:36.638Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"mic\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026577\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:10:50.208Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026578\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:10:33.739Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"tableChange\",\n      \"subType\": \"join\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026580\",\n      \"more\": {\n        \"vtgId\": \"1\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:10:38.923Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6222-2026581\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": false,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:10:39.318Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 395,\n      \"eventId\": \"6222-2026582\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": false,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:10:47.024Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"tableChange\",\n      \"subType\": \"leave\",\n      \"duration\": 13486,\n      \"eventId\": \"6222-2026583\",\n      \"more\": {\n        \"vtgId\": \"1\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:10:55.879Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"tableChange\",\n      \"subType\": \"join\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026586\",\n      \"more\": {\n        \"vtgId\": \"1\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:10:59.881Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"tableChange\",\n      \"subType\": \"leave\",\n      \"duration\": 4202,\n      \"eventId\": \"6222-2026587\",\n      \"more\": {\n        \"vtgId\": \"1\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:11:05.808Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"tableChange\",\n      \"subType\": \"peek\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026589\",\n      \"more\": {\n        \"vtgId\": \"1\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:10:57.215Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6222-2026590\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": false,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:11:09.732Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 12517,\n      \"eventId\": \"6222-2026591\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": false,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:11:09.827Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"tableChange\",\n      \"subType\": \"stopPeek\",\n      \"duration\": 4219,\n      \"eventId\": \"6222-2026592\",\n      \"more\": {\n        \"vtgId\": \"1\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:11:20.059Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"audioMode\",\n      \"subType\": \"changed\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026595\",\n      \"more\": {\n        \"mode\": \"Room\",\n        \"manual\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:11:20.696Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026596\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:12:36.630Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"start\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026598\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:12:37.067Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"poll\",\n      \"subType\": \"viewed\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026599\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:12:37.067Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"viewed\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026600\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:12:39.965Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"poll\",\n      \"subType\": \"answer\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026601\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:12:40.658Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"poll\",\n      \"subType\": \"answer\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026602\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:12:41.565Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"poll\",\n      \"subType\": \"answer\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026603\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:12:42.289Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"poll\",\n      \"subType\": \"answer\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026604\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:12:43.346Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"poll\",\n      \"subType\": \"answer\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026605\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:12:45.953Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"poll\",\n      \"subType\": \"answer\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026606\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:12:47.855Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"poll\",\n      \"subType\": \"answer\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026607\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:12:49.763Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"poll\",\n      \"subType\": \"answer\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026608\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:12:51.563Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"poll\",\n      \"subType\": \"answer\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026609\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:12:54.268Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"lock\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026610\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:12:55.300Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"showResults\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026611\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:13:47.278Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"unlock\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026612\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:13:51.614Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"lock\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026613\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:17:28.058Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"camera\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026614\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:17:32.446Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"stop\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026615\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:17:39.906Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026617\",\n      \"more\": {\n        \"page\": 9,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:17:52.214Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026618\",\n      \"more\": {\n        \"page\": 10,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:17:53.551Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026619\",\n      \"more\": {\n        \"page\": 11,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:18:18.257Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"videoClip\",\n      \"subType\": \"play\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026621\",\n      \"more\": {\n        \"url\": \"https://www.youtube.com/embed/P_fHJIYENdI\",\n        \"title\": \"Shared youtube video\",\n        \"fileType\": \"youtube\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:21:49.859Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"videoClip\",\n      \"subType\": \"stop\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026632\",\n      \"more\": {\n        \"fileType\": \"youtube\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:21:51.662Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"mic\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026633\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:21:56.024Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026634\",\n      \"more\": {\n        \"page\": 12,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:21:58.974Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026635\",\n      \"more\": {\n        \"page\": 13,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:22:00.036Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026636\",\n      \"more\": {\n        \"page\": 14,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:22:08.011Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"collaborationWhiteboard\",\n      \"subType\": \"start\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026638\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:21:52.153Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6222-2026641\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:21:54.046Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 1893,\n      \"eventId\": \"6222-2026642\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:21:54.954Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6222-2026643\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:22:09.757Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 14803,\n      \"eventId\": \"6222-2026644\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:22:29.988Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"collaborationWhiteboard\",\n      \"subType\": \"changeTool\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026646\",\n      \"more\": {\n        \"isInPlayback\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:22:36.634Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"collaborationWhiteboard\",\n      \"subType\": \"changeTool\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026647\",\n      \"more\": {\n        \"isInPlayback\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:22:42.386Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"collaborationWhiteboard\",\n      \"subType\": \"changeTool\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026648\",\n      \"more\": {\n        \"isInPlayback\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:23:19.461Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"reaction\",\n      \"subType\": \"THUMBS_UP\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026658\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:23:00.713Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"collaborationWhiteboard\",\n      \"subType\": \"changeTool\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026659\",\n      \"more\": {\n        \"isInPlayback\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:23:05.377Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"collaborationWhiteboard\",\n      \"subType\": \"changeTool\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026660\",\n      \"more\": {\n        \"isInPlayback\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:23:09.342Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6222-2026661\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:23:09.769Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 427,\n      \"eventId\": \"6222-2026662\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:23:14.761Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"collaborationWhiteboard\",\n      \"subType\": \"changeTool\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026663\",\n      \"more\": {\n        \"isInPlayback\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:23:23.733Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"collaborationWhiteboard\",\n      \"subType\": \"stop\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026664\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:23:26.477Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026669\",\n      \"more\": {\n        \"page\": 15,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:23:29.129Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026670\",\n      \"more\": {\n        \"page\": 16,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:23:31.378Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026671\",\n      \"more\": {\n        \"page\": 15,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:23:43.739Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"start\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026674\",\n      \"more\": {\n        \"pollType\": \"word-cloud-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:23:32.762Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6222-2026675\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:23:33.153Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 391,\n      \"eventId\": \"6222-2026676\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:23:44.143Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"viewed\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026677\",\n      \"more\": {\n        \"pollType\": \"word-cloud-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:23:44.168Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"poll\",\n      \"subType\": \"viewed\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026678\",\n      \"more\": {\n        \"pollType\": \"word-cloud-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:23:51.010Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"poll\",\n      \"subType\": \"answer\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026679\",\n      \"more\": {\n        \"pollType\": \"word-cloud-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:23:55.292Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"showResults\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026680\",\n      \"more\": {\n        \"pollType\": \"word-cloud-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:23:57.622Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026682\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:24:10.177Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"stop\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026685\",\n      \"more\": {\n        \"pollType\": \"word-cloud-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:24:13.662Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026686\",\n      \"more\": {\n        \"page\": 16,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:24:15.680Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026687\",\n      \"more\": {\n        \"page\": 17,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:24:03.907Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6222-2026692\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:24:09.768Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 5861,\n      \"eventId\": \"6222-2026693\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:24:22.999Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"note\",\n      \"subType\": \"create\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026697\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:24:26.706Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"note\",\n      \"subType\": \"create\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026698\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:24:58.992Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"note\",\n      \"subType\": \"annotateSave\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026705\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:25:08.439Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"note\",\n      \"subType\": \"screenshot\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026710\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:25:12.817Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"note\",\n      \"subType\": \"delete\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026711\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:25:26.875Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"note\",\n      \"subType\": \"screenshot\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026712\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:25:43.775Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"note\",\n      \"subType\": \"annotateSave\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026715\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:27:20.995Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026723\",\n      \"more\": {\n        \"page\": 18,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:27:23.180Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026724\",\n      \"more\": {\n        \"page\": 19,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:27:23.960Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026725\",\n      \"more\": {\n        \"page\": 20,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:27:24.822Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026726\",\n      \"more\": {\n        \"page\": 21,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:27:25.798Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026727\",\n      \"more\": {\n        \"page\": 22,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:27:30.265Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026728\",\n      \"more\": {\n        \"page\": 32,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:27:36.233Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"reaction\",\n      \"subType\": \"HEART\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026729\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:27:41.384Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"stop\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026730\",\n      \"more\": {\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:27:49.830Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"mic\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026731\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:27:51.360Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6222-2026733\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:27:51.754Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 394,\n      \"eventId\": \"6222-2026734\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:28:00.847Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 0,\n      \"eventId\": \"6222-2026735\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:28:09.783Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"speakingTime\",\n      \"subType\": null,\n      \"duration\": 8936,\n      \"eventId\": \"6222-2026736\",\n      \"more\": {\n        \"panel\": false,\n        \"podium\": true,\n        \"discussion\": false\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:28:19.803Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"class\",\n      \"subType\": \"leave\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026737\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:28:24.428Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"sessionRole\": \"student\",\n      \"type\": \"class\",\n      \"subType\": \"leave\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026738\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:35:01.625Z\",\n      \"classId\": 6222,\n      \"meetingId\": \"656f3872-51df-4439-9646-22186fe4e450\",\n      \"occurrenceId\": \"\",\n      \"userId\": 0,\n      \"email\": \"engageli-recorder30814754\",\n      \"name\": \"Engageli-Recorder-30814754\",\n      \"sessionRole\": \"student\",\n      \"type\": \"class\",\n      \"subType\": \"leave\",\n      \"duration\": null,\n      \"eventId\": \"6222-2026801\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:29:49.948Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"class\",\n      \"subType\": \"join\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026740\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:29:51.097Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026741\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:29:51.097Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"camera\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026742\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:29:58.202Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 0,\n      \"email\": \"engageli-recorder71462309\",\n      \"name\": \"Engageli-Recorder-71462309\",\n      \"sessionRole\": \"student\",\n      \"type\": \"class\",\n      \"subType\": \"join\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026743\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:29:58.240Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 0,\n      \"email\": \"engageli-recorder71462309\",\n      \"name\": \"Engageli-Recorder-71462309\",\n      \"sessionRole\": \"student\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026744\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:29:58.240Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 0,\n      \"email\": \"engageli-recorder71462309\",\n      \"name\": \"Engageli-Recorder-71462309\",\n      \"sessionRole\": \"student\",\n      \"type\": \"camera\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026745\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:30:42.642Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"start\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026753\",\n      \"more\": {\n        \"page\": 1,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:30:56.340Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026758\",\n      \"more\": {\n        \"page\": 2,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:31:01.613Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"mic\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026760\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:31:17.162Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026767\",\n      \"more\": {\n        \"page\": 3,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:31:32.446Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026768\",\n      \"more\": {\n        \"page\": 4,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:31:51.531Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"start\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026771\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:31:51.931Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"viewed\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026772\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:32:05.569Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"showResults\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026773\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:32:17.623Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"stop\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026774\",\n      \"more\": {\n        \"pollType\": \"single-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:32:19.890Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026775\",\n      \"more\": {\n        \"page\": 5,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:32:26.445Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026777\",\n      \"more\": {\n        \"page\": 6,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:32:49.492Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"start\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026780\",\n      \"more\": {\n        \"pollType\": \"word-cloud-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:32:49.899Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"viewed\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026781\",\n      \"more\": {\n        \"pollType\": \"word-cloud-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:32:57.621Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"showResults\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026785\",\n      \"more\": {\n        \"pollType\": \"word-cloud-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:33:09.662Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"stop\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026786\",\n      \"more\": {\n        \"pollType\": \"word-cloud-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:33:12.112Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026787\",\n      \"more\": {\n        \"page\": 7,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:33:14.296Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026788\",\n      \"more\": {\n        \"page\": 8,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:33:30.960Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026792\",\n      \"more\": {\n        \"page\": 9,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:33:46.168Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"note\",\n      \"subType\": \"create\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026794\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:33:57.935Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026796\",\n      \"more\": {\n        \"page\": 10,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:33:59.837Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026797\",\n      \"more\": {\n        \"page\": 11,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:34:16.668Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"videoClip\",\n      \"subType\": \"play\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026798\",\n      \"more\": {\n        \"url\": \"https://www.youtube.com/embed/P_fHJIYENdI\",\n        \"title\": \"Shared youtube video\",\n        \"fileType\": \"youtube\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:34:31.399Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"mic\",\n      \"subType\": \"off\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026800\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:36:35.539Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"videoClip\",\n      \"subType\": \"stop\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026809\",\n      \"more\": {\n        \"fileType\": \"youtube\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:36:36.615Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"mic\",\n      \"subType\": \"on\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026810\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:36:43.362Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026811\",\n      \"more\": {\n        \"page\": 12,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:36:46.624Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026812\",\n      \"more\": {\n        \"page\": 13,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:36:47.498Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026813\",\n      \"more\": {\n        \"page\": 14,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:37:00.111Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"collaborationWhiteboard\",\n      \"subType\": \"start\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026816\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:37:25.567Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"collaborationWhiteboard\",\n      \"subType\": \"stop\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026823\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:37:28.180Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026824\",\n      \"more\": {\n        \"page\": 15,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:37:46.389Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"start\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026825\",\n      \"more\": {\n        \"pollType\": \"multiple-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:37:46.788Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"viewed\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026827\",\n      \"more\": {\n        \"pollType\": \"multiple-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:38:07.898Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"showResults\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026830\",\n      \"more\": {\n        \"pollType\": \"multiple-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:38:26.787Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"poll\",\n      \"subType\": \"stop\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026831\",\n      \"more\": {\n        \"pollType\": \"multiple-choice-quiz\",\n        \"isQuickPoll\": true\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:38:29.472Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026833\",\n      \"more\": {\n        \"page\": 16,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:38:32.478Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026834\",\n      \"more\": {\n        \"page\": 17,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:39:14.128Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026841\",\n      \"more\": {\n        \"page\": 18,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:38:59.248Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"note\",\n      \"subType\": \"screenshot\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026843\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:39:07.898Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"note\",\n      \"subType\": \"create\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026844\",\n      \"more\": null\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:39:29.713Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026849\",\n      \"more\": {\n        \"page\": 19,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:39:31.627Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026850\",\n      \"more\": {\n        \"page\": 20,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:39:37.520Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026853\",\n      \"more\": {\n        \"page\": 21,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:39:47.012Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026854\",\n      \"more\": {\n        \"page\": 22,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:39:55.650Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026855\",\n      \"more\": {\n        \"page\": 23,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:40:01.764Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026856\",\n      \"more\": {\n        \"page\": 24,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:40:12.445Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026857\",\n      \"more\": {\n        \"page\": 25,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:40:27.420Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026858\",\n      \"more\": {\n        \"page\": 26,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:40:29.833Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026860\",\n      \"more\": {\n        \"page\": 27,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:41:11.140Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026861\",\n      \"more\": {\n        \"page\": 28,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:41:13.316Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026862\",\n      \"more\": {\n        \"page\": 29,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:41:26.396Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026863\",\n      \"more\": {\n        \"page\": 30,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:41:28.464Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026864\",\n      \"more\": {\n        \"page\": 31,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:41:32.672Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026865\",\n      \"more\": {\n        \"page\": 32,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:42:24.444Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026870\",\n      \"more\": {\n        \"page\": 33,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:42:31.440Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026871\",\n      \"more\": {\n        \"page\": 34,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:42:35.657Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026872\",\n      \"more\": {\n        \"page\": 35,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:42:38.065Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026873\",\n      \"more\": {\n        \"page\": 36,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:42:45.568Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026874\",\n      \"more\": {\n        \"page\": 37,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:42:52.204Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026875\",\n      \"more\": {\n        \"page\": 38,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:42:55.345Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026876\",\n      \"more\": {\n        \"page\": 39,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:42:56.580Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"pageChange\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026877\",\n      \"more\": {\n        \"page\": 40,\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:43:02.430Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"fileShare\",\n      \"subType\": \"stop\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026878\",\n      \"more\": {\n        \"fileName\": \"Engageli Presentation.pdf\"\n      }\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:43:19.945Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"class\",\n      \"subType\": \"endClassForAll\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026881\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:43:21.089Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"sessionRole\": \"coInstructor\",\n      \"type\": \"class\",\n      \"subType\": \"leave\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026882\",\n      \"more\": {}\n    },\n    {\n      \"eventDate\": \"2025-02-18T13:43:24.491Z\",\n      \"classId\": 6223,\n      \"meetingId\": \"673abe73-4a97-400d-b507-78b75d18520f\",\n      \"occurrenceId\": \"\",\n      \"userId\": 0,\n      \"email\": \"engageli-recorder71462309\",\n      \"name\": \"Engageli-Recorder-71462309\",\n      \"sessionRole\": \"student\",\n      \"type\": \"class\",\n      \"subType\": \"leave\",\n      \"duration\": null,\n      \"eventId\": \"6223-2026883\",\n      \"more\": {}\n    }\n  ]\n}"}],"_postman_id":"27c2fa70-78c4-47ed-928f-f36a8c01bc34"},{"name":"Fetch Modified Lectures","id":"c695eaf1-08e3-47f1-8248-775b944d3cbb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://example.engageli.com/api/data-insights/example/v2/external/lectures","description":"<h1 id=\"purpose\">Purpose</h1>\n<p>Request details of lectures for active classes. Each <code>lecture</code> belongs to one <code>class</code>.</p>\n<h1 id=\"parameters-and-usage\">Parameters and Usage</h1>\n<p>Where <code>rangeStart</code> is specified, return only lectures created or modified on or after the given timestamp (inclusive boundary).</p>\n<p>The list of lectures in a class can change for several reasons:</p>\n<ul>\n<li><p>A new <code>meeting</code> in the Live Classroom has concluded. The details inside the lecture will show if it is linked to one or more <code>event</code> defined in a <code>schedule</code>.</p>\n</li>\n<li><p>A change (add/delete) has been made to a <code>schedule</code> in this <code>class</code>, which has an <code>event</code> that intersects an existing <code>meeting</code> in this class.</p>\n</li>\n<li><p>A <code>recording</code> of a <code>meeting</code> in the Live Classroom has been trimmed, restored or deleted.</p>\n</li>\n<li><p>An uploaded <code>recording</code> has been added, trimmed, restored or deleted.</p>\n</li>\n</ul>\n<p>Where <code>classIds</code> is specified, return only lectures for these classes. Requesting more than 10 class ID values will cause <code>400 Bad Request</code>.</p>\n<p><strong>Response Schema</strong></p>\n<p>At the root of the response are the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Value Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>ok</code></td>\n<td><em>Boolean</em>. <code>true</code></td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td><em>String</em>. <code>\"lectures\"</code>. This simply denotes which API is responding.</td>\n</tr>\n<tr>\n<td><code>version</code></td>\n<td><em>String</em>. <code>\"2.0\"</code></td>\n</tr>\n<tr>\n<td><code>url</code></td>\n<td><em>String</em>. The url path of the request that produced this response.</td>\n</tr>\n<tr>\n<td><code>data</code></td>\n<td><em>Array of Objects</em>. The response data (see below).</td>\n</tr>\n<tr>\n<td><code>nextToken</code></td>\n<td><em>String</em>. The token required to fetch the next page of data. If not present, this response is the last page from the query.</td>\n</tr>\n</tbody>\n</table>\n</div><p>The <code>data</code> array contains objects which each represent a <code>lecture</code> associated with a <code>class</code>. A <code>lecture</code> is a reporting unit for attendance from the attendance API, and is used within the Engageli portals for attendance and engagement metrics presentation. Each object has the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Value Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>lectureId</code></td>\n<td><em>String</em>. Unique internal ID for this <code>lecture</code>.</td>\n</tr>\n<tr>\n<td><code>classId</code></td>\n<td><em>Integer</em>. Unique ID for the <code>class</code> that the <code>lecture</code> belongs to.</td>\n</tr>\n<tr>\n<td><code>className</code></td>\n<td><em>String</em>. Display name for the <code>class</code> that the <code>lecture</code> belongs to.</td>\n</tr>\n<tr>\n<td><code>startDate</code></td>\n<td><em>String</em>. ISO8601 UTC timestamp for the start of the <code>lecture</code> reporting period.</td>\n</tr>\n<tr>\n<td><code>endDate</code></td>\n<td><em>String</em>. ISO8601 UTC timstamp for the end of the <code>lecture</code> reporting period.</td>\n</tr>\n<tr>\n<td><code>meetingIds</code></td>\n<td><em>Array of Strings</em>. Each is a <code>meetingId</code> from a live classroom session that is included in this <code>lecture</code>. Multiple meetingId values can be present on a lecture where either \"Track attendance using Occurrence ID\" is turned on for a class and multiple live sessions are launched from the same LTI link, or where a single schedule for the class spans more than one live session.</td>\n</tr>\n<tr>\n<td><code>eventIds</code></td>\n<td><em>Array of Integers</em>. Each is an <code>eventId</code> as provided in the classes API endpoint, belonging to a schedule.</td>\n</tr>\n<tr>\n<td><code>occurrenceId</code></td>\n<td><em>String</em>. Either a) the <code>lectureId</code> repeated or b) LMS provided ID for the LTI launch item that has been associated with this lecture due to \"Track Attendance using Occurrence ID\" being switched on when the associated <code>meeting</code> was started.</td>\n</tr>\n<tr>\n<td><code>isOccurrence</code></td>\n<td><em>Boolean</em>. <code>true</code> if \"Track Attendance using Occurrence ID\" was switched on when the associated meeting was started or <code>false</code> otherwise.</td>\n</tr>\n<tr>\n<td><code>isUploadedRecording</code></td>\n<td><em>Boolean</em>. <code>true</code> if the <code>lecture</code> exists to provide playback attendance against an uploaded file (i.e. not recorded directly in Engageli) recording, <code>false</code> otherwise.</td>\n</tr>\n<tr>\n<td><code>displayDate</code></td>\n<td><em>String or null</em>. ISO8601 UTC timestamp for the date that should be shown for an uploaded recording. <code>null</code> for lectures where <code>isUploadedRecording</code> is <code>false</code>.</td>\n</tr>\n<tr>\n<td><code>isValid</code></td>\n<td><em>Boolean</em>. <code>true</code> if this lecture will be included in the data from the attendance API endpoint, <code>false</code> otherwise.</td>\n</tr>\n<tr>\n<td><code>modifiedDate</code></td>\n<td><em>String</em>. ISO8601 UTC timestamp to indicate when this <code>lecture</code> was last modified (including creation). Most lectures are not modified after creation but in some circumstances they can be.</td>\n</tr>\n<tr>\n<td><code>intervals</code></td>\n<td><em>Array of Objects</em>. Each represents a time period that is represented by this lecture. For simple lectures these will be the same as the startDate and endDate, but where multiple meetings are joined using a schedule or occurrence ID, there will be multiple intervals. Within each object are two keys with ISO8601 UTC datetime strings, <code>startDate</code> and <code>endDate</code>.</td>\n</tr>\n<tr>\n<td><code>durations</code></td>\n<td><em>Object</em>. Contains two keys:  <br /><code>liveDuration</code> has a number value and indicates the duration in minutes of the live session that this lecture covers; <code>playbackDuration</code> has a number value and indicates the duration in minutes of the live session that is recorded and available in the playback room to view.</td>\n</tr>\n<tr>\n<td><code>progressVersion</code></td>\n<td><em>String</em>. ISO8601 UTC timestamp indicating the last time that attendance progress was recalculated for this lecture. This may be due to new attendance progress by users (typically through playback) or due to additional meetings being added to an existing lecture that represents an aggregation of live classroom sessions due to use of Track By Occurrence ID.</td>\n</tr>\n<tr>\n<td><code>recordingInfo</code></td>\n<td>Array of Objects. Each represents a recording associated with this <code>lecture</code>. For most lectures, there will be zero or one recording. For a <code>lecture</code> that represents multiple meetings grouped using occurrence ID, there may be more. Each object has the following keys:  <br /><code>url</code>: <em>String</em>. relative path to the MP4 version of the recording.  <br /><code>createdDate</code>: <em>String</em>. ISO8601 timestamp of when the recording was processed.  <br /><code>recordingId</code>: <em>Integer</em>. Unique ID of this recording within the Engageli instance.  <br /><code>recordingName</code>: <em>String</em>. Display name of the recording as listed in the Class Portal, Admin Portal and Playback Room.</td>\n</tr>\n</tbody>\n</table>\n</div><h1 id=\"nuances\">Nuances</h1>\n<h2 id=\"lecture-durations\">Lecture Durations</h2>\n<p>The live duration of a lecture is the number of minutes during the live session(s) that a coInstructor was present. Therefore, this is likely to be less than the date different between the lecture startDate and endDate. Reasons why it could be less include coInstructor joining the class late (meeting starts when first student joins); coInstructor leaves for a period mid-class; coInstructor leaves early (meeting ends once the room is processed for closure following last student leaving).</p>\n<p>The playback duration of a lecture is the number of minutes of recording available for users to watch in the playback room. This may be less than the date difference between the recording start and end timestamps. Reasons why include: recording was paused and resumed mid-class; recording has been trimmed in the playback room by the instructor to remove unwanted segments.</p>\n<h2 id=\"recording-info\">Recording Info</h2>\n<p>While a lecture object may be created fairly soon after a live session concludes, the <code>recordingInfo</code> data will initially be empty, because the recording can take some time to process. If you need the <code>recordingInfo</code>, please allow for some time after session end times before you request data. Recordings will take 10-15 minutes per hour of recording time to process.</p>\n<p>If you request lecture data after the recording has finished processing, you will get the same lecture record (same <code>lectureId</code>, same <code>progressVersion</code> and same <code>modifiedDate</code>), but it will now have the recordingInfo array populated. In the case where you have duplicate rows with the same <code>lectureId</code>, same <code>progressVersion</code> and same <code>modifiedDate</code>, you should use the row you received more recently (so consider storing the retrieval data for the record, or instead update records when you see duplicates over those three fields).</p>\n<p>But note, because <code>progressVersion</code> and <code>modifiedDate</code> have not updated, this will not cause the Lecture record to be returned on an incremental API call where <code>rangeStart</code> has moved on. For this reason, please design your incremental calls to run with an overlap, e.g. on the hour request the lectures from 2 hours ago onwards. Update any duplicates received in your database because they may now include <code>recordingInfo</code> that they didn't have the first time you saw them.</p>\n<h2 id=\"updated-lectures\">Updated Lectures</h2>\n<p>A lecture can be updated (not replaced) where either:</p>\n<ul>\n<li><p>The class has a schedule set that spans more than one live meeting, or</p>\n</li>\n<li><p>\"Track Attendance using Occurrence ID\" is enabled and the same LTI link is used by the first Instructor to join a second live session.</p>\n</li>\n</ul>\n<p>In these scenarios, the same Lecture (same <code>lectureId</code>) will appear on the Lectures API but with an updated <code>progressVersion</code> value. You may wish therefore to use a composite key of <code>classId</code>, <code>lectureId</code>, <code>progressVersion</code> when storing lectures, and use the one with the latest <code>progressVersion</code> as your current lecture.</p>\n<p>When <code>progressVersion</code> is updated for a lecture, it is updated to all lectures in the class, even if the other lectures' data has not changed.</p>\n<h2 id=\"replaced-lectures\">Replaced Lectures</h2>\n<p>Sometimes, a bigger change to the class's lectures takes place which causes all the lectures for a classroom to be replaced. Typically this can be when a schedule is applied to a classroom that didn't already have one, or all schedules are removed from a class, leaving it schedule-free.</p>\n<p>When this happens, new lectures are published and the <code>progressVersion</code> for the class is updated. New attendance data linked to the new lectures will be published on the Attendance API too.</p>\n<p>The old lecture records are not then available on the API. All lectures within a class will have the same <code>progressVersion</code> and it is the latest <code>progressVersion</code> that identifies the current lectures. Any data on lectures you hold with older <code>progressVersion</code> values can be considered stale.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"from_token_endpoint"}]},"isInherited":true,"source":{"_postman_id":"89a0bb0d-6e9b-402a-8982-ec3cc4376420","id":"89a0bb0d-6e9b-402a-8982-ec3cc4376420","name":"Engageli API","type":"collection"}},"urlObject":{"protocol":"https","path":["api","data-insights","example","v2","external","lectures"],"host":["example.engageli.com"],"query":[{"disabled":true,"description":{"content":"<p>Return lectures created or modified on or after specified timestamp (note, not the lecture start date).</p>\n","type":"text/plain"},"key":"rangeStart","value":""},{"disabled":true,"description":{"content":"<p>Comma separated integers: Maximum 10. Retrieve data only for classes with these class IDs.</p>\n","type":"text/plain"},"key":"classIds","value":""},{"disabled":true,"description":{"content":"<p>Pagination token provided in previous page's response.</p>\n","type":"text/plain"},"key":"nextToken","value":""}],"variable":[]}},"response":[{"id":"d4a323cc-d144-415b-a124-da2352543c2f","name":"200 OK","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://example.engageli.com/api/data-insights/example/v2/external/lectures?rangeStart=2025-02-17","protocol":"https","host":["example","engageli","com"],"path":["api","data-insights","example","v2","external","lectures"],"query":[{"key":"rangeStart","value":"2025-02-17","description":"Return lectures created or modified on or after specified timestamp (note, not the lecture start date)."},{"key":"classIds","value":"","description":"Comma separated integers: Maximum 10. Retrieve data only for classes with these class IDs.","disabled":true},{"key":"nextToken","value":"","description":"Pagination token provided in previous page's response.","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Tue, 18 Feb 2025 15:48:32 GMT"},{"key":"Permissions-Policy","value":"accelerometer=(),autoplay=*,camera=(self),encrypted-media=(),fullscreen=*,geolocation=(self),gyroscope=(),magnetometer=(),microphone=(self),midi=(),payment=(self),picture-in-picture=*,publickey-credentials-get=(),screen-wake-lock=(self),sync-xhr=(self),usb=(self),xr-spatial-tracking=()"},{"key":"Content-Encoding","value":"gzip"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Security-Policy","value":"default-src 'self'; font-src 'self' https: data:; img-src 'self' blob: data: https:; object-src 'none'; script-src 'unsafe-eval' 'self' 'sha256-1P7pfYIX5uui48jv3jJTENpF7uVSv/iYb9YkbJm6Hos=' 'sha256-hZ39PMN+tlPLQx61o7zG0TAuYyLoGbXWHkOslKFw+/M=' 'sha256-Gagf4D9b8KK6T/qA4w9SYsYKu0ZPoo/kVn27Lf/fVoE=' 'sha256-SxfF3aB+8OGwBqOwrZT6iTeC7PqDtp1zSpOomp8Q/Hg=' https://*.engageli.com:* https://*.engageli-test.com:* https://www.youtube.com:* https://*.google.com:* https://*.vimeo.com:* https://vimeo.com:* https://miro.com:* https://*.mixpanel.com:* https://cdn.jsdelivr.net:* https://js.hsforms.net:* blob: ; script-src-attr 'none'; style-src 'self' https: 'unsafe-inline'; frame-src nggli: *; media-src 'self' https: blob:; connect-src https://*.engageli.com:* https://*.ingest.sentry.io https://*.engageli-test.com:* wss://*.engageli.com:* wss://*.engageli-test.com:* https://noembed.com:* file://* https://*.amazonaws.com:* wss://*.amazonaws.com:* https://*.cloudfront.net:* https://*.gravatar.com:* https://vimeo.com:* https://*.vimeo.com:* https://*.mixpanel.com:* https://*.miro.com:* https://storage.googleapis.com:* https://cdn.jsdelivr.net:* https://tfhub.dev:* https://www.kaggle.com:* https://kaggle.com:* https://forms.hsforms.com:* wss://matan-engageli.sip.signalwire.com:* https://*.auth0.com:*  blob:; base-uri 'self'; frame-ancestors https://*.google.com https://*.engageli-test.com/ https://*.instructure.com https://*.engageli.com https://*.engageli-dev.com https://*.brightspace.com https://*.brightspacedemo.com https://*.moodlecloud.com https://engageli-lti1p3.docebosaas.com https://moodle.us.engageli-dev.com;"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-site"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Strict-Transport-Security","value":"max-age=63072000; includeSubDomains; preload"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"X-RateLimit-Reset","value":"1739893773"},{"key":"ETag","value":"W/\"1a94-ZMLHmbTr+nMCsVxt9wWjJaj+sy8\""},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 19d5615c4d307c11803beb015d8f6562.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"LHR50-P3"},{"key":"X-Amz-Cf-Id","value":"PpBoQ4JIinJrM-u8UIgHxgR2QloXjzku0N5ZNL8RMxSDK-uSxYko3g=="},{"key":"X-Robots-Tag","value":"noindex, nofollow, nosnippet, noarchive"}],"cookie":[],"responseTime":null,"body":"{\n  \"ok\": true,\n  \"type\": \"lectures\",\n  \"version\": \"2.0\",\n  \"url\": \"/api/data-insights/example/v2/external/lectures?rangeStart=2025-02-17\",\n  \"data\": [\n    {\n      \"lectureId\": \"f4e3e4d4-11b8-473a-87e1-7ee5ddeae43c\",\n      \"classId\": 6221,\n      \"className\": \"Example Maths 101 Spring 2025 Everyone Class\",\n      \"startDate\": \"2025-02-17T14:00:00.000Z\",\n      \"endDate\": \"2025-02-17T14:30:00.000Z\",\n      \"meetingIds\": [\n        \"54377f9d-f9e3-44db-b6af-a7d59b132e9d\"\n      ],\n      \"eventIds\": [\n        9017\n      ],\n      \"occurrenceId\": \"f4e3e4d4-11b8-473a-87e1-7ee5ddeae43c\",\n      \"isOccurrence\": false,\n      \"isUploadedRecording\": false,\n      \"displayDate\": null,\n      \"isValid\": true,\n      \"modifiedDate\": \"2025-02-17T15:47:42.225Z\",\n      \"intervals\": [\n        {\n          \"endDate\": \"2025-02-17T14:30:00.000Z\",\n          \"startDate\": \"2025-02-17T14:00:00.000Z\"\n        }\n      ],\n      \"durations\": {\n        \"liveDuration\": 25.9,\n        \"playbackDuration\": 25.83\n      },\n      \"progressVersion\": \"2025-02-17T15:50:21.611Z\",\n      \"recordingInfo\": [\n        {\n          \"url\": \"class/recorder/example-maths-101-spring-2025-everyone-class/1739800679270-uuid-83d7a8c3-b2f2-4af9-a09b-9edb264974d9/recording/MP4/recording.mp4\",\n          \"createdDate\": \"2025-02-17T14:31:38.175Z\",\n          \"recordingId\": 3898,\n          \"recordingName\": \"Recording 1\"\n        }\n      ]\n    },\n    {\n      \"lectureId\": \"61011ba9-89aa-431e-a246-e45c48c605e6\",\n      \"classId\": 6222,\n      \"className\": \"Example 101(917de)\",\n      \"startDate\": \"2025-02-18T13:00:00.000Z\",\n      \"endDate\": \"2025-02-18T13:30:00.000Z\",\n      \"meetingIds\": [\n        \"656f3872-51df-4439-9646-22186fe4e450\"\n      ],\n      \"eventIds\": [\n        9021\n      ],\n      \"occurrenceId\": \"61011ba9-89aa-431e-a246-e45c48c605e6\",\n      \"isOccurrence\": false,\n      \"isUploadedRecording\": false,\n      \"displayDate\": null,\n      \"isValid\": true,\n      \"modifiedDate\": \"2025-02-18T13:47:57.458Z\",\n      \"intervals\": [\n        {\n          \"endDate\": \"2025-02-18T13:30:00.000Z\",\n          \"startDate\": \"2025-02-18T13:00:00.000Z\"\n        }\n      ],\n      \"durations\": {\n        \"liveDuration\": 28.33,\n        \"playbackDuration\": 25.78\n      },\n      \"progressVersion\": \"2025-02-18T13:50:00.198Z\",\n      \"recordingInfo\": [\n        {\n          \"url\": \"class/recorder/example-101(917de)/1739883567963-uuid-36cfca41-ec88-47a7-a0a1-6cfca7b1277f/recording/MP4/recording.mp4\",\n          \"createdDate\": \"2025-02-18T13:40:06.193Z\",\n          \"recordingId\": 3901,\n          \"recordingName\": \"Recording 1\"\n        }\n      ]\n    },\n    {\n      \"lectureId\": \"9b44c640-ac43-40ae-a821-251ac1e36031\",\n      \"classId\": 6223,\n      \"className\": \"Example 101(44c74)\",\n      \"startDate\": \"2025-02-18T13:30:00.000Z\",\n      \"endDate\": \"2025-02-18T13:45:00.005Z\",\n      \"meetingIds\": [\n        \"673abe73-4a97-400d-b507-78b75d18520f\"\n      ],\n      \"eventIds\": [\n        9026\n      ],\n      \"occurrenceId\": \"9b44c640-ac43-40ae-a821-251ac1e36031\",\n      \"isOccurrence\": false,\n      \"isUploadedRecording\": false,\n      \"displayDate\": null,\n      \"isValid\": true,\n      \"modifiedDate\": \"2025-02-18T13:48:30.998Z\",\n      \"intervals\": [\n        {\n          \"endDate\": \"2025-02-18T13:45:00.005Z\",\n          \"startDate\": \"2025-02-18T13:30:00.000Z\"\n        }\n      ],\n      \"durations\": {\n        \"liveDuration\": 13.35,\n        \"playbackDuration\": 13.07\n      },\n      \"progressVersion\": \"2025-02-18T13:50:00.230Z\",\n      \"recordingInfo\": [\n        {\n          \"url\": \"class/recorder/example-101(44c74)/1739885382006-uuid-54a548bf-e33a-45ac-af20-77dba3785b1b/recording/MP4/recording.mp4\",\n          \"createdDate\": \"2025-02-18T13:48:13.742Z\",\n          \"recordingId\": 3902,\n          \"recordingName\": \"Recording 1\"\n        }\n      ]\n    }\n  ]\n}"}],"_postman_id":"c695eaf1-08e3-47f1-8248-775b944d3cbb"},{"name":"Fetch Attendances","id":"5f58e125-7862-40fe-b91b-5c8c41aa5ba0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://example.engageli.com/api/data-insights/example/v2/external/attendance","description":"<h1 id=\"purpose\">Purpose</h1>\n<p>Request attendance reports for each <code>lecture</code> in each <code>class</code>.</p>\n<h1 id=\"parameters-and-usage\">Parameters and Usage</h1>\n<ul>\n<li><p>Where <code>rangeStart</code> is specified, return only attendances that have been calculated on or after this timestamp, based on <code>progressDate</code>.</p>\n</li>\n<li><p>Where <code>rangeEnd</code> is specified, return only attendances that have been updated before this timestamp, based on <code>progressDate</code>.</p>\n</li>\n<li><p>Where <code>classIds</code> parameter is used, return only attendance for lectures of those classes. Use this parameter if you need to reload attendance for a class due to changes in the class's attendance version.</p>\n</li>\n<li><p>Note, if both <code>classIds</code> and <code>rangeStart</code> are not specified, the endpoint will return <code>400 Bad Request</code>.</p>\n</li>\n<li><p>Where needed, data will be returned in paginated responses. Each response will include a value under <code>nextToken</code> to use to request the next page of data, with the last page returning no <code>nextToken</code> value.</p>\n</li>\n</ul>\n<p>Attendance is updated for a user shortly after the corresponding Live Classroom meeting or Playback Room session has finished.</p>\n<p>The response will contain an array <code>classesWithModifiedAttendance</code> which indicates which classes have had a full recalculation since the specified <code>rangeStart</code> timestamp. In addition, within each record in the <code>data</code> array will be a <code>progressVersion</code> key with a timestamp value that indicates the recalculation version applied to the class’s lectures. If you hold a <code>progressVersion</code> older than this in your local data, you are advised to request a full reload of that class's attendance data using the <code>classIds</code> parameter with no <code>rangeStart</code> or <code>rangeEnd</code> parameters, i.e.<br /><code>https://example.engageli.com/api/data-insights/example/v2/external/attendance?classIds=xxx</code></p>\n<p>The attendance records you then receive will be new items, with new <code>progressId</code> values. You can mark previous items as stale, or write logic to only pick attendance records with the latest <code>progressVersion</code> timestamp - anything with an older timestamp still in your database can be considered stale.</p>\n<h1 id=\"response-schema\">Response Schema</h1>\n<p>At the root of the response are the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Value Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>ok</code></td>\n<td><em>Boolean</em>. For valid response always <code>true</code></td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td><em>String</em>. Always <code>\"attendance\"</code>. This simply denotes which API is responding.</td>\n</tr>\n<tr>\n<td><code>version</code></td>\n<td><em>String</em>. Always <code>\"2.0\"</code></td>\n</tr>\n<tr>\n<td><code>url</code></td>\n<td><em>String</em>. The url path of the request that produced this response.</td>\n</tr>\n<tr>\n<td><code>classesWithModifiedAttendance</code></td>\n<td>Array of Objects. Each indicates a <code>class</code> whose attendance model was changed during the requested time range, and should have all attendance re-fetched using the <code>classId</code> parameter and no <code>rangeStart</code> and <code>rangeEnd</code> parameters. Each object contains keys of <code>classId</code> (<em>Integer</em>) and <code>lastRecalculationDateWithinRange</code> (<em>String</em> with ISO8601 UTC timestamp).  <br />This will not appear on every page of the API response, so you should be sure to process the data when you see it.</td>\n</tr>\n<tr>\n<td><code>data</code></td>\n<td><em>Array of Objects</em>. The response data (see below).</td>\n</tr>\n<tr>\n<td><code>nextToken</code></td>\n<td><em>String</em>. The token required to fetch the next page of data. If not present, this response is the last page from the query.</td>\n</tr>\n</tbody>\n</table>\n</div><p>The attendance records are returned in the <code>data</code> array of objects, with each object representing an attendance progress record for a <code>user</code> in a <code>class</code>.</p>\n<ul>\n<li><p>Where <code>rangeStart</code> parameter is included, and additional <code>playback</code> attendance progress is calculated for a user in a <code>lecture</code> that is dated before this range, records will only be returned for the attendance modalities that have changed, which could be <code>playback</code>, <code>combined-live</code> and <code>combined-playback</code>. The user's previously reported <code>live</code> attendance would still be valid.</p>\n</li>\n<li><p>Where <code>classIds</code> parameter is included, the data returned for those classes will be complete attendance records across all lectures, as this parameter cannot be used alongside <code>rangeStart</code> and <code>rangeEnd</code>.</p>\n</li>\n</ul>\n<p>Engageli Attendance is a unique reporting format which users' presence in class sessions is reported in various modalities.</p>\n<ol>\n<li><p><code>live</code> attendance covers time in the live <code>meeting</code></p>\n</li>\n<li><p><code>playback</code> attendance covers first playback of a <code>recording</code>. Note, subsequent viewing of the same <code>recording</code> does not earn additional <code>playback</code> attendance progress for that <code>user</code>.</p>\n</li>\n<li><p><code>combined-live</code> attendance covers an overall measure of time either in the live <code>meeting</code>, or watching a <code>recording</code> of the live <code>meeting</code>.</p>\n</li>\n<li><p><code>combined-playback</code> attendance covers an overall measure of time either watching a <code>recording</code> of a live <code>meeting</code>, or in the live <code>meeting</code> during recorded segments only.</p>\n</li>\n</ol>\n<img src=\"https://content.pstmn.io/efa4f8c4-ad1f-48a7-bff9-d9cad4892ed5/RW5nYWdlbGkgQXR0ZW5kYW5jZSBUeXBlcyBjcm9wcGVkLnBuZw==\" alt=\"Engageli%20Attendance%20Modalities\" />\n\n<p>Each object in the <code>data</code> array is a record of attendance progress for a <code>user</code> in one modality in a <code>lecture</code> with the following keys and values.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Value Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>classId</code></td>\n<td><em>Integer</em>. Unique ID for the <code>class</code> that the <code>lecture</code> that this attendance progress record belongs to.</td>\n</tr>\n<tr>\n<td><code>className</code></td>\n<td><em>String</em>. Display name for the <code>class</code> that the <code>lecture</code> that this attendance progress record belongs to.</td>\n</tr>\n<tr>\n<td><code>lectureId</code></td>\n<td><em>String</em>. Unique ID for the <code>lecture</code> that this attendance progress record belongs to.</td>\n</tr>\n<tr>\n<td><code>progressId</code></td>\n<td><em>Integer</em>. Unique ID for this attendance progress record. This can be used as a primary key in the table where you store this data.</td>\n</tr>\n<tr>\n<td><code>userId</code></td>\n<td><em>Integer</em>. Unique internal ID for the user, as shown in the <code>roster</code> for this <code>class</code>.</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td><em>String</em>. Stored email address of the user.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td><em>String</em>. Display name of the user.</td>\n</tr>\n<tr>\n<td><code>progressDate</code></td>\n<td><em>String</em>. ISO8601 UTC timestamp of when this attendance progress record was calculated.</td>\n</tr>\n<tr>\n<td><code>progressVersion</code></td>\n<td><em>String</em>. ISO8601 UTC timestamp of the last time a full attendance recalculation was done for the <code>class</code> that this attendance progress record belongs to.</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td><em>String</em>. Modality that this attendance progress record represents. One of <code>live</code> or <code>playback</code> or <code>combined-live</code> or <code>combined-playback</code>.</td>\n</tr>\n<tr>\n<td><code>duration</code></td>\n<td><em>Number</em>. Updated cumulative minutes that this user now has earned attendance for within the indicated modality.</td>\n</tr>\n<tr>\n<td><code>attended</code></td>\n<td><em>Boolean</em>. <code>true</code> if the user has accumulated equal to or more than <code>x</code>% of possible attendance duration within the indicated modality for this lecture, where the possible total duration is indicated in the lectures endpoint data, and where <code>x</code> is the attendance ratio set for the class in the UI. <code>false</code> otherwise.</td>\n</tr>\n</tbody>\n</table>\n</div><p>Note, there will be multiple attendance reports for a user in a <code>lecture</code> attendance object from this endpoint.</p>\n<ul>\n<li><p>Upon conclusion of a live session, a <code>user</code> who was present will have new <code>live</code> and <code>combined-live</code> attendance progress records. If the session was recorded at all (within the intervals that the lecture represents), there will be a <code>combined-playback</code> attendance progress record too.</p>\n</li>\n<li><p>Upon conclusion of a playback session, a user who was present for playback of segments of a recording will earn <code>playback</code> attendance progress (if those segments were not already watched previously by the <code>user</code>), and will also have updated <code>combined-live</code> and <code>combined-playback</code> attendance progress records if it is possible for them to increase their durations with the segments they watched - typically because they were not present in the live class and so the new <code>playback</code> attendance progress represents new combined attendance progress.</p>\n</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"from_token_endpoint"}]},"isInherited":true,"source":{"_postman_id":"89a0bb0d-6e9b-402a-8982-ec3cc4376420","id":"89a0bb0d-6e9b-402a-8982-ec3cc4376420","name":"Engageli API","type":"collection"}},"urlObject":{"protocol":"https","path":["api","data-insights","example","v2","external","attendance"],"host":["example.engageli.com"],"query":[{"disabled":true,"description":{"content":"<p>Retrieve all attendance progress calculated on or after this timestamp.</p>\n","type":"text/plain"},"key":"rangeStart","value":""},{"disabled":true,"description":{"content":"<p>Retrieve all attendance progress calculated before this timestamp.</p>\n","type":"text/plain"},"key":"rangeEnd","value":""},{"disabled":true,"description":{"content":"<p>Comma separated integers: Maximum 10. Retrieve data only for classes with these class IDs.</p>\n","type":"text/plain"},"key":"classIds","value":""},{"disabled":true,"description":{"content":"<p>Pagination token provided in previous page's response.</p>\n","type":"text/plain"},"key":"nextToken","value":""}],"variable":[]}},"response":[{"id":"1994ae3f-a0eb-4b88-9b9b-168562a2355f","name":"200 OK","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://example.engageli.com/api/data-insights/example/v2/external/attendance?rangeStart=2025-02-17","protocol":"https","host":["example.engageli.com"],"path":["api","data-insights","example","v2","external","attendance"],"query":[{"key":"rangeStart","value":"2025-02-17","description":"Retrieve all attendance progress calculated on or after this timestamp."},{"key":"rangeEnd","value":"","description":"Retrieve all attendance progress updated before this timestamp.","disabled":true},{"key":"classIds","value":"","description":"Comma separated integers: Maximum 10. Retrieve data only for classes with these class IDs.","disabled":true},{"key":"nextToken","value":"","description":"Pagination token provided in previous page's response.","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Tue, 18 Feb 2025 17:04:24 GMT"},{"key":"Permissions-Policy","value":"accelerometer=(),autoplay=*,camera=(self),encrypted-media=(),fullscreen=*,geolocation=(self),gyroscope=(),magnetometer=(),microphone=(self),midi=(),payment=(self),picture-in-picture=*,publickey-credentials-get=(),screen-wake-lock=(self),sync-xhr=(self),usb=(self),xr-spatial-tracking=()"},{"key":"Content-Encoding","value":"gzip"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Security-Policy","value":"default-src 'self'; font-src 'self' https: data:; img-src 'self' blob: data: https:; object-src 'none'; script-src 'unsafe-eval' 'self' 'sha256-1P7pfYIX5uui48jv3jJTENpF7uVSv/iYb9YkbJm6Hos=' 'sha256-hZ39PMN+tlPLQx61o7zG0TAuYyLoGbXWHkOslKFw+/M=' 'sha256-Gagf4D9b8KK6T/qA4w9SYsYKu0ZPoo/kVn27Lf/fVoE=' 'sha256-SxfF3aB+8OGwBqOwrZT6iTeC7PqDtp1zSpOomp8Q/Hg=' https://*.engageli.com:* https://*.engageli-test.com:* https://www.youtube.com:* https://*.google.com:* https://*.vimeo.com:* https://vimeo.com:* https://miro.com:* https://*.mixpanel.com:* https://cdn.jsdelivr.net:* https://js.hsforms.net:* blob: ; script-src-attr 'none'; style-src 'self' https: 'unsafe-inline'; frame-src nggli: *; media-src 'self' https: blob:; connect-src https://*.engageli.com:* https://*.ingest.sentry.io https://*.engageli-test.com:* wss://*.engageli.com:* wss://*.engageli-test.com:* https://noembed.com:* file://* https://*.amazonaws.com:* wss://*.amazonaws.com:* https://*.cloudfront.net:* https://*.gravatar.com:* https://vimeo.com:* https://*.vimeo.com:* https://*.mixpanel.com:* https://*.miro.com:* https://storage.googleapis.com:* https://cdn.jsdelivr.net:* https://tfhub.dev:* https://www.kaggle.com:* https://kaggle.com:* https://forms.hsforms.com:* wss://matan-engageli.sip.signalwire.com:* https://*.auth0.com:*  blob:; base-uri 'self'; frame-ancestors https://*.google.com https://*.engageli-test.com/ https://*.instructure.com https://*.engageli.com https://*.engageli-dev.com https://*.brightspace.com https://*.brightspacedemo.com https://*.moodlecloud.com https://engageli-lti1p3.docebosaas.com https://moodle.us.engageli-dev.com;"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-site"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Strict-Transport-Security","value":"max-age=63072000; includeSubDomains; preload"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"X-RateLimit-Reset","value":"1739898324"},{"key":"ETag","value":"W/\"37d3-eg16cFZH4YlmnCTVXdnlvvg61QU\""},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 65cbd6c4094454b31bc32d6426b92cf2.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"LHR50-P3"},{"key":"X-Amz-Cf-Id","value":"mKJJRUlqXbDK1R9u02TlU6Bd62tBMjVk-TJ6Ont_Zrjgurh_zP2w_A=="},{"key":"X-Robots-Tag","value":"noindex, nofollow, nosnippet, noarchive"}],"cookie":[],"responseTime":null,"body":"{\n  \"ok\": true,\n  \"type\": \"attendance\",\n  \"version\": \"2.0\",\n  \"url\": \"/api/data-insights/example/v2/external/attendance?rangeStart=2025-02-17\",\n  \"nextToken\": \"Xzo2MjQ4LTI2MDI2MDoyMDI1LTA0LTA5VDEyYzEwYzI5Ljk3OVo6MjAyNS0wMi0xN1QwMGMwMGMwMC4wMDBaOi0tdTotLWU\",\n  \"classesWithModifiedAttendance\": [\n    {\n      \"classId\": 6221,\n      \"lastRecalculationDateWithinRange\": \"2025-02-17T15:50:21.611Z\"\n    },\n    {\n      \"classId\": 6222,\n      \"lastRecalculationDateWithinRange\": \"2025-02-18T13:50:00.198Z\"\n    },\n    {\n      \"classId\": 6223,\n      \"lastRecalculationDateWithinRange\": \"2025-02-18T13:50:00.230Z\"\n    }\n  ],\n  \"data\": [\n    {\n      \"classId\": 6221,\n      \"className\": \"Example Maths 101 Spring 2025 Everyone Class\",\n      \"lectureId\": \"f4e3e4d4-11b8-473a-87e1-7ee5ddeae43c\",\n      \"progressId\": 247584,\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"progressDate\": \"2025-02-17T14:33:00.000Z\",\n      \"progressVersion\": \"2025-02-17T15:50:21.611Z\",\n      \"type\": \"live\",\n      \"duration\": 25.9,\n      \"attended\": true\n    },\n    {\n      \"classId\": 6221,\n      \"className\": \"Example Maths 101 Spring 2025 Everyone Class\",\n      \"lectureId\": \"f4e3e4d4-11b8-473a-87e1-7ee5ddeae43c\",\n      \"progressId\": 247585,\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"progressDate\": \"2025-02-17T14:33:00.000Z\",\n      \"progressVersion\": \"2025-02-17T15:50:21.611Z\",\n      \"type\": \"live\",\n      \"duration\": 25.9,\n      \"attended\": true\n    },\n    {\n      \"classId\": 6221,\n      \"className\": \"Example Maths 101 Spring 2025 Everyone Class\",\n      \"lectureId\": \"f4e3e4d4-11b8-473a-87e1-7ee5ddeae43c\",\n      \"progressId\": 247586,\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"progressDate\": \"2025-02-17T14:33:00.000Z\",\n      \"progressVersion\": \"2025-02-17T15:50:21.611Z\",\n      \"type\": \"live\",\n      \"duration\": 23.1,\n      \"attended\": true\n    },\n    {\n      \"classId\": 6221,\n      \"className\": \"Example Maths 101 Spring 2025 Everyone Class\",\n      \"lectureId\": \"f4e3e4d4-11b8-473a-87e1-7ee5ddeae43c\",\n      \"progressId\": 247587,\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"progressDate\": \"2025-02-17T14:33:00.000Z\",\n      \"progressVersion\": \"2025-02-17T15:50:21.611Z\",\n      \"type\": \"combined-live\",\n      \"duration\": 25.89,\n      \"attended\": true\n    },\n    {\n      \"classId\": 6221,\n      \"className\": \"Example Maths 101 Spring 2025 Everyone Class\",\n      \"lectureId\": \"f4e3e4d4-11b8-473a-87e1-7ee5ddeae43c\",\n      \"progressId\": 247588,\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"progressDate\": \"2025-02-17T14:33:00.000Z\",\n      \"progressVersion\": \"2025-02-17T15:50:21.611Z\",\n      \"type\": \"combined-live\",\n      \"duration\": 25.89,\n      \"attended\": true\n    },\n    {\n      \"classId\": 6221,\n      \"className\": \"Example Maths 101 Spring 2025 Everyone Class\",\n      \"lectureId\": \"f4e3e4d4-11b8-473a-87e1-7ee5ddeae43c\",\n      \"progressId\": 247589,\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"progressDate\": \"2025-02-17T14:33:00.000Z\",\n      \"progressVersion\": \"2025-02-17T15:50:21.611Z\",\n      \"type\": \"combined-live\",\n      \"duration\": 23.09,\n      \"attended\": true\n    },\n    {\n      \"classId\": 6221,\n      \"className\": \"Example Maths 101 Spring 2025 Everyone Class\",\n      \"lectureId\": \"f4e3e4d4-11b8-473a-87e1-7ee5ddeae43c\",\n      \"progressId\": 247591,\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"progressDate\": \"2025-02-17T14:33:00.000Z\",\n      \"progressVersion\": \"2025-02-17T15:50:21.611Z\",\n      \"type\": \"combined-playback\",\n      \"duration\": 25.83,\n      \"attended\": true\n    },\n    {\n      \"classId\": 6221,\n      \"className\": \"Example Maths 101 Spring 2025 Everyone Class\",\n      \"lectureId\": \"f4e3e4d4-11b8-473a-87e1-7ee5ddeae43c\",\n      \"progressId\": 247592,\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"progressDate\": \"2025-02-17T14:33:00.000Z\",\n      \"progressVersion\": \"2025-02-17T15:50:21.611Z\",\n      \"type\": \"combined-playback\",\n      \"duration\": 25.83,\n      \"attended\": true\n    },\n    {\n      \"classId\": 6221,\n      \"className\": \"Example Maths 101 Spring 2025 Everyone Class\",\n      \"lectureId\": \"f4e3e4d4-11b8-473a-87e1-7ee5ddeae43c\",\n      \"progressId\": 247593,\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"progressDate\": \"2025-02-17T14:33:00.000Z\",\n      \"progressVersion\": \"2025-02-17T15:50:21.611Z\",\n      \"type\": \"combined-playback\",\n      \"duration\": 23.08,\n      \"attended\": true\n    },\n    {\n      \"classId\": 6221,\n      \"className\": \"Example Maths 101 Spring 2025 Everyone Class\",\n      \"lectureId\": \"f4e3e4d4-11b8-473a-87e1-7ee5ddeae43c\",\n      \"progressId\": 250847,\n      \"userId\": 160102,\n      \"email\": \"learner3@example.com\",\n      \"name\": \"Example Learner3\",\n      \"progressDate\": \"2025-02-18T16:41:00.130Z\",\n      \"progressVersion\": \"2025-02-17T15:50:21.611Z\",\n      \"type\": \"playback\",\n      \"duration\": 4.52,\n      \"attended\": false\n    },\n    {\n      \"classId\": 6221,\n      \"className\": \"Example Maths 101 Spring 2025 Everyone Class\",\n      \"lectureId\": \"f4e3e4d4-11b8-473a-87e1-7ee5ddeae43c\",\n      \"progressId\": 250848,\n      \"userId\": 160104,\n      \"email\": \"learner4@example.com\",\n      \"name\": \"Example Learner4\",\n      \"progressDate\": \"2025-02-18T16:41:00.130Z\",\n      \"progressVersion\": \"2025-02-17T15:50:21.611Z\",\n      \"type\": \"playback\",\n      \"duration\": 4.58,\n      \"attended\": false\n    },\n    {\n      \"classId\": 6221,\n      \"className\": \"Example Maths 101 Spring 2025 Everyone Class\",\n      \"lectureId\": \"f4e3e4d4-11b8-473a-87e1-7ee5ddeae43c\",\n      \"progressId\": 250849,\n      \"userId\": 160102,\n      \"email\": \"learner3@example.com\",\n      \"name\": \"Example Learner3\",\n      \"progressDate\": \"2025-02-18T16:41:00.140Z\",\n      \"progressVersion\": \"2025-02-17T15:50:21.611Z\",\n      \"type\": \"combined-live\",\n      \"duration\": 4.51,\n      \"attended\": false\n    },\n    {\n      \"classId\": 6221,\n      \"className\": \"Example Maths 101 Spring 2025 Everyone Class\",\n      \"lectureId\": \"f4e3e4d4-11b8-473a-87e1-7ee5ddeae43c\",\n      \"progressId\": 250850,\n      \"userId\": 160104,\n      \"email\": \"learner4@example.com\",\n      \"name\": \"Example Learner4\",\n      \"progressDate\": \"2025-02-18T16:41:00.140Z\",\n      \"progressVersion\": \"2025-02-17T15:50:21.611Z\",\n      \"type\": \"combined-live\",\n      \"duration\": 4.56,\n      \"attended\": false\n    },\n    {\n      \"classId\": 6221,\n      \"className\": \"Example Maths 101 Spring 2025 Everyone Class\",\n      \"lectureId\": \"f4e3e4d4-11b8-473a-87e1-7ee5ddeae43c\",\n      \"progressId\": 250851,\n      \"userId\": 160102,\n      \"email\": \"learner3@example.com\",\n      \"name\": \"Example Learner3\",\n      \"progressDate\": \"2025-02-18T16:41:00.147Z\",\n      \"progressVersion\": \"2025-02-17T15:50:21.611Z\",\n      \"type\": \"combined-playback\",\n      \"duration\": 4.51,\n      \"attended\": false\n    },\n    {\n      \"classId\": 6221,\n      \"className\": \"Example Maths 101 Spring 2025 Everyone Class\",\n      \"lectureId\": \"f4e3e4d4-11b8-473a-87e1-7ee5ddeae43c\",\n      \"progressId\": 250852,\n      \"userId\": 160104,\n      \"email\": \"learner4@example.com\",\n      \"name\": \"Example Learner4\",\n      \"progressDate\": \"2025-02-18T16:41:00.147Z\",\n      \"progressVersion\": \"2025-02-17T15:50:21.611Z\",\n      \"type\": \"combined-playback\",\n      \"duration\": 4.56,\n      \"attended\": false\n    },\n    {\n      \"classId\": 6222,\n      \"className\": \"Example 101(917de)\",\n      \"lectureId\": \"61011ba9-89aa-431e-a246-e45c48c605e6\",\n      \"progressId\": 250794,\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"progressDate\": \"2025-02-18T13:33:00.000Z\",\n      \"progressVersion\": \"2025-02-18T13:50:00.198Z\",\n      \"type\": \"live\",\n      \"duration\": 28.33,\n      \"attended\": true\n    },\n    {\n      \"classId\": 6222,\n      \"className\": \"Example 101(917de)\",\n      \"lectureId\": \"61011ba9-89aa-431e-a246-e45c48c605e6\",\n      \"progressId\": 250795,\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"progressDate\": \"2025-02-18T13:33:00.000Z\",\n      \"progressVersion\": \"2025-02-18T13:50:00.198Z\",\n      \"type\": \"live\",\n      \"duration\": 27.8,\n      \"attended\": true\n    },\n    {\n      \"classId\": 6222,\n      \"className\": \"Example 101(917de)\",\n      \"lectureId\": \"61011ba9-89aa-431e-a246-e45c48c605e6\",\n      \"progressId\": 250796,\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"progressDate\": \"2025-02-18T13:33:00.000Z\",\n      \"progressVersion\": \"2025-02-18T13:50:00.198Z\",\n      \"type\": \"combined-live\",\n      \"duration\": 28.33,\n      \"attended\": true\n    },\n    {\n      \"classId\": 6222,\n      \"className\": \"Example 101(917de)\",\n      \"lectureId\": \"61011ba9-89aa-431e-a246-e45c48c605e6\",\n      \"progressId\": 250797,\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"progressDate\": \"2025-02-18T13:33:00.000Z\",\n      \"progressVersion\": \"2025-02-18T13:50:00.198Z\",\n      \"type\": \"combined-live\",\n      \"duration\": 27.8,\n      \"attended\": true\n    },\n    {\n      \"classId\": 6222,\n      \"className\": \"Example 101(917de)\",\n      \"lectureId\": \"61011ba9-89aa-431e-a246-e45c48c605e6\",\n      \"progressId\": 250799,\n      \"userId\": 160099,\n      \"email\": \"instructor1@example.com\",\n      \"name\": \"Example Instructor1\",\n      \"progressDate\": \"2025-02-18T13:33:00.000Z\",\n      \"progressVersion\": \"2025-02-18T13:50:00.198Z\",\n      \"type\": \"combined-playback\",\n      \"duration\": 25.78,\n      \"attended\": true\n    },\n    {\n      \"classId\": 6222,\n      \"className\": \"Example 101(917de)\",\n      \"lectureId\": \"61011ba9-89aa-431e-a246-e45c48c605e6\",\n      \"progressId\": 250800,\n      \"userId\": 160101,\n      \"email\": \"learner1@example.com\",\n      \"name\": \"Example Learner1\",\n      \"progressDate\": \"2025-02-18T13:33:00.000Z\",\n      \"progressVersion\": \"2025-02-18T13:50:00.198Z\",\n      \"type\": \"combined-playback\",\n      \"duration\": 25.78,\n      \"attended\": true\n    },\n    {\n      \"classId\": 6222,\n      \"className\": \"Example 101(917de)\",\n      \"lectureId\": \"61011ba9-89aa-431e-a246-e45c48c605e6\",\n      \"progressId\": 250825,\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"progressDate\": \"2025-02-18T16:22:00.127Z\",\n      \"progressVersion\": \"2025-02-18T13:50:00.198Z\",\n      \"type\": \"playback\",\n      \"duration\": 3.65,\n      \"attended\": false\n    },\n    {\n      \"classId\": 6222,\n      \"className\": \"Example 101(917de)\",\n      \"lectureId\": \"61011ba9-89aa-431e-a246-e45c48c605e6\",\n      \"progressId\": 250826,\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"progressDate\": \"2025-02-18T16:22:00.135Z\",\n      \"progressVersion\": \"2025-02-18T13:50:00.198Z\",\n      \"type\": \"combined-live\",\n      \"duration\": 3.64,\n      \"attended\": false\n    },\n    {\n      \"classId\": 6222,\n      \"className\": \"Example 101(917de)\",\n      \"lectureId\": \"61011ba9-89aa-431e-a246-e45c48c605e6\",\n      \"progressId\": 250827,\n      \"userId\": 160103,\n      \"email\": \"learner2@example.com\",\n      \"name\": \"Example Learner2\",\n      \"progressDate\": \"2025-02-18T16:22:00.142Z\",\n      \"progressVersion\": \"2025-02-18T13:50:00.198Z\",\n      \"type\": \"combined-playback\",\n      \"duration\": 3.64,\n      \"attended\": false\n    },\n    {\n      \"classId\": 6223,\n      \"className\": \"Example 101(44c74)\",\n      \"lectureId\": \"9b44c640-ac43-40ae-a821-251ac1e36031\",\n      \"progressId\": 250802,\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"progressDate\": \"2025-02-18T13:48:00.005Z\",\n      \"progressVersion\": \"2025-02-18T13:50:00.230Z\",\n      \"type\": \"live\",\n      \"duration\": 13.35,\n      \"attended\": true\n    },\n    {\n      \"classId\": 6223,\n      \"className\": \"Example 101(44c74)\",\n      \"lectureId\": \"9b44c640-ac43-40ae-a821-251ac1e36031\",\n      \"progressId\": 250803,\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"progressDate\": \"2025-02-18T13:48:00.005Z\",\n      \"progressVersion\": \"2025-02-18T13:50:00.230Z\",\n      \"type\": \"combined-live\",\n      \"duration\": 13.35,\n      \"attended\": true\n    },\n    {\n      \"classId\": 6223,\n      \"className\": \"Example 101(44c74)\",\n      \"lectureId\": \"9b44c640-ac43-40ae-a821-251ac1e36031\",\n      \"progressId\": 250805,\n      \"userId\": 160100,\n      \"email\": \"instructor2@example.com\",\n      \"name\": \"Example Instructor2\",\n      \"progressDate\": \"2025-02-18T13:48:00.005Z\",\n      \"progressVersion\": \"2025-02-18T13:50:00.230Z\",\n      \"type\": \"combined-playback\",\n      \"duration\": 13.07,\n      \"attended\": true\n    }\n  ]\n}"}],"_postman_id":"5f58e125-7862-40fe-b91b-5c8c41aa5ba0"}],"id":"2eefa5ed-155b-4326-a0e2-ae3144e45af5","description":"<p>The Engageli Data APIs provide useful information about what has happened in your Engageli classes. We provide insight into both Live Class sessions, as well as time spent in Playback Rooms watching recordings or interacting with Engageli Modules.</p>\n<p>Data is always reported against an Engageli Class, so you will probably want to also use the Fetch New and Updated Classes API within the Class Management APIs, and then join everything using those top-level Class records.</p>\n<h1 id=\"live-session-reports\">Live Session Reports</h1>\n<p>These are the main source of data about live sessions. The responses from this API provide summarized reports of live sessions, which classroom they ran in, who attended and what they all did throughout the session. Use this as a base for any reporting you want to do on live classes.</p>\n<h1 id=\"playback-session-reports\">Playback Session Reports</h1>\n<p>These are the main source of data about time spent in Playback Rooms. The responses from this API provide simple summarized reports of each session in a Playback Room including which Engageli class it belongs to, who started the Playback Room, and anyone else who joined it. Use this as a base for any reporting you want to do on playback sessions.</p>\n<h1 id=\"engagement-events\">Engagement Events</h1>\n<p>This data API is different in that it provides discrete data, not summarized data. Each item in the data response is a record of specific action that a user took in an Engageli Live Classroom or a Playback Room. The records don't typically contain any of the content of the user's action (e.g. words spoken), because they are only intended to help show engagement levels. Use this data to extend Live Session Reports or Playback Session Reports if you want different summaries, or timestamped records of individual actions.</p>\n<h1 id=\"lectures\">Lectures</h1>\n<p>Lectures are data objects used against which Engageli Attendance is measured. They typically correspond closely to the live session meetings, but will adjust start/end times, or group meetings together as a result of class schedules, or settings to group attendance reporting by LTI launch IDs. You need to use this API if you want to get Attendance data as shown in the Engageli Class Portal and Admin Portal.</p>\n<h1 id=\"attendance\">Attendance</h1>\n<p>Engageli has a sophisticated attendance reporting mechanism which pulls together users' time in live sessions or watching recordings of live sessions. Attendance is reported against Lecture objects.</p>\n","_postman_id":"2eefa5ed-155b-4326-a0e2-ae3144e45af5","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"from_token_endpoint"}]},"isInherited":true,"source":{"_postman_id":"89a0bb0d-6e9b-402a-8982-ec3cc4376420","id":"89a0bb0d-6e9b-402a-8982-ec3cc4376420","name":"Engageli API","type":"collection"}}},{"name":"Class Management APIs","item":[{"name":"Create a Class","id":"cb02c8fc-3900-4d50-8109-d16f62f163bd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"className\": \"test12345\",\r\n    \"roster\": [\r\n        {\r\n            \"name\": \"John Doe\",\r\n            \"email\": \"john.doe@example.com\",\r\n            \"role\": \"prof\"\r\n        },\r\n        {\r\n            \"name\": \"Anna Smith\",\r\n            \"email\": \"anna.smith@example.com\",\r\n            \"role\": \"TA\"\r\n        },\r\n        {\r\n            \"name\": \"Jane Doe\",\r\n            \"email\": \"jane.doe@example.com\",\r\n            \"role\": \"student\"\r\n        }\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://example.engageli.com/api/data-insights/example/v2/external/classes","description":"<h1 id=\"purpose\">Purpose</h1>\n<p>Create a new classroom in your Engageli instance with an initial configuration and roster.</p>\n<h1 id=\"parameters-and-usage\">Parameters and Usage</h1>\n<p>Include a JSON body with the details of the class you want to create with the following keys.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Value Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>className</code></td>\n<td><em>String</em>. Required. The name you want the class to have, up to 110 UTF-8 characters. Longer names will be truncated.</td>\n</tr>\n<tr>\n<td><code>roster</code></td>\n<td><em>Array of Objects</em>. Optional. Each object represents a user you wish to have rostered to the class. Details of the object are below.  <br />Where they do not already exist, they will be created.</td>\n</tr>\n</tbody>\n</table>\n</div><p>Each user object in the <code>roster</code> array must/may have the following keys and values:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Value Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td><em>String</em>. Required. The user's display name.</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td><em>String</em>. Required. The user's email address.</td>\n</tr>\n<tr>\n<td><code>role</code></td>\n<td><em>String</em>. Required. The required roster role. Valid values are <code>prof</code>, <code>TA</code> or <code>student</code>.</td>\n</tr>\n<tr>\n<td><code>lmsSisId</code></td>\n<td><em>String</em>. Optional. For Engageli 3.1.56 onwards. A customer identifier for this user, such as from a student information system or CRM.</td>\n</tr>\n</tbody>\n</table>\n</div><p>Note, if the provided <code>email</code> already exists for a user in your Engageli instance, the <code>name</code> and <code>lmsSisId</code> will be updated with the value you provide, if different to what is already stored, as these are global values for a user within an Engageli instance, and not specific to a classroom.</p>\n<h1 id=\"response-schema\">Response Schema</h1>\n<p>At the root of the response are the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Value Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>ok</code></td>\n<td><em>Boolean</em>. <code>true</code></td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td><em>String</em>. <code>\"classes\"</code>. This simply denotes which API is responding.</td>\n</tr>\n<tr>\n<td><code>version</code></td>\n<td><em>String</em>. <code>\"2.0\"</code></td>\n</tr>\n<tr>\n<td><code>url</code></td>\n<td><em>String</em>. The url path of the request that produced this response.</td>\n</tr>\n<tr>\n<td><code>data</code></td>\n<td><em>Object</em>. An object representing the newly created classroom (see below).</td>\n</tr>\n</tbody>\n</table>\n</div><p>The response will contain an object in <code>data</code>, representing the newly created Engageli class, and provides details about the class configuration with the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Value Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>classId</code></td>\n<td><em>Integer</em>. Unique ID for the <code>class</code>.</td>\n</tr>\n<tr>\n<td><code>className</code></td>\n<td><em>String</em>. Display name for the <code>class</code>.  <br />Note: be sure to check the value returned here. From Engageli 3.1.56 onwards, the requested class name will be cleaned as follows:  <br />Allowed characters are tested by the PCRE regex <code>[\\p{L}0-9-.: ]+</code> with anything else replaced by a hyphen <code>-</code>.  <br />Anything over 110 characters will be truncated.  <br />The cleaned name will have an alphanumeric shortcode in parentheses suffixed, such as <code>(abc123)</code>, in order to allow for duplicate requested class names.</td>\n</tr>\n<tr>\n<td><code>longName</code></td>\n<td><em>String</em>. Longer form display name for the <code>class</code> as shown in the Engageli portals.</td>\n</tr>\n<tr>\n<td><code>isArchived</code></td>\n<td><em>Boolean</em>. <code>true</code> if the class is archived and <code>false</code> otherwise.</td>\n</tr>\n<tr>\n<td><code>isAdhoc</code></td>\n<td><em>Boolean</em>. <code>true</code> if the class is set up to expire on a planned date, <code>false</code> otherwise.</td>\n</tr>\n<tr>\n<td><code>lmsPlatformId</code></td>\n<td><em>Integer or null</em>. The LTI integration number (as shown in Engageli Admin Portal) that is linked to this class. <code>null</code> for class with no LTI link(s).</td>\n</tr>\n<tr>\n<td><code>createdDate</code></td>\n<td><em>String</em>. ISO8601 UTC datetime string to indicate when the <code>class</code> was created.</td>\n</tr>\n<tr>\n<td><code>modifiedDate</code></td>\n<td><em>String</em>. ISO8601 UTC datetime string to indicate when the <code>class</code> last modified.</td>\n</tr>\n<tr>\n<td><code>archivedDate</code></td>\n<td><em>String or null</em>. For archived classes, ISO8601 UTC datetime string to indicate when the <code>class</code> was archived. null otherwise.</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td><em>String</em>. <code>\"manual\"</code> or <code>\"lms\"</code> or <code>\"aggregate\"</code> or <code>\"byInstructor\"</code></td>\n</tr>\n<tr>\n<td><code>accessTokens</code></td>\n<td><em>Object</em>.  <br />- Always contains the key registeredUser which has a string value of the access token used in the class URL  <br />- If guest access is enabled then also a key guest that has a string value of the access token used in the learner guest URL.</td>\n</tr>\n<tr>\n<td><code>attendanceRatioThreshold</code></td>\n<td><em>Number</em>. Decimal value between 0 and 1. This is a decimal number between 0 and 1 indicating the amount of a specific modality (live/playback/combined) that a user needs to be present for, in order to be marked as present for attendance (as seen in the Engageli Portal UI and in the GET Attendance response data).</td>\n</tr>\n<tr>\n<td><code>timezone</code></td>\n<td><em>String</em>. Timezone set in the Engageli Admin Portal for the class in the TZ identifier format e.g. <code>\"Europe/Paris\"</code></td>\n</tr>\n<tr>\n<td><code>versions</code></td>\n<td><em>String</em>. One of <code>\"[]\"</code> or <code>\"[1, 2]\"</code>.</td>\n</tr>\n<tr>\n<td><code>lmsInfo</code></td>\n<td><em>Array of Objects</em>. Will be empty immediately after class creation.</td>\n</tr>\n<tr>\n<td><code>roster</code></td>\n<td>Array of Objects. Each represents a <code>user</code> rostered to this <code>class</code>. Details below.</td>\n</tr>\n<tr>\n<td><code>schedules</code></td>\n<td><em>Array of Objects</em>. Will be empty immediately after class creation.</td>\n</tr>\n</tbody>\n</table>\n</div><p>Users listed in <code>roster</code> array have the following details:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Value Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>userId</code></td>\n<td><em>Integer</em>. Unique internal ID for the <code>user</code>.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td><em>String</em>. Current stored display name of the <code>user</code>.</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td><em>String</em>. Current stored email address of the <code>user</code>.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td><em>String</em>. <code>active</code> for all users added to the roster on class creation.</td>\n</tr>\n<tr>\n<td><code>role</code></td>\n<td><em>String</em>. One of <code>student</code> or <code>TA</code> or <code>prof</code>, indicating how the user is rostered to the class, and therefore what session role is available to them in the UI.  <br />Users rostered as <code>student</code> can only join the classroom as <code>student</code>.  <br />Users rostered as <code>TA</code> can only join the classroom as <code>TA</code>.  <br />Users rostered as <code>prof</code> can join the classroom as <code>coInstructor</code> or <code>TA</code>.</td>\n</tr>\n<tr>\n<td><code>isGuest</code></td>\n<td><em>Boolean</em>. <code>true</code> if this user was generated from using a guest URL and <code>false</code> otherwise. Will be <code>false</code> following class creation, as all users at this point are authenticated and rostered.</td>\n</tr>\n<tr>\n<td><code>lmsSisId</code></td>\n<td><em>String</em>. The set value, if provided in the request or if already existing for the user.</td>\n</tr>\n<tr>\n<td><code>lmsUserId</code></td>\n<td><em>String</em>. Will be empty because this is a LTI specific field.</td>\n</tr>\n<tr>\n<td><code>lmsClassId</code></td>\n<td><em>String</em>. Will be empty because this is a LTI specific field.</td>\n</tr>\n</tbody>\n</table>\n</div><h1 id=\"nuances\">Nuances</h1>\n<p>This API endpoint will not work for multi-stack Engageli environments. Most Engageli instances are single-stack implementations and we will let you know if not.</p>\n<p>If you submit identical requests twice to this endpoint, you will get two separate classes created, each with their own <code>classId</code> and <code>className</code> values. The <code>className</code> value you request is used to form the resulting <code>className</code> value, but with a random code suffix, which helps manage duplicates.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"from_token_endpoint"}]},"isInherited":true,"source":{"_postman_id":"89a0bb0d-6e9b-402a-8982-ec3cc4376420","id":"89a0bb0d-6e9b-402a-8982-ec3cc4376420","name":"Engageli API","type":"collection"}},"urlObject":{"protocol":"https","path":["api","data-insights","example","v2","external","classes"],"host":["example.engageli.com"],"query":[],"variable":[]}},"response":[{"id":"3b051d5f-c66a-4131-a820-0d921cc5b33f","name":"200 OK","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"className\": \"test12345\",\r\n    \"roster\": [\r\n        {\r\n            \"name\": \"John Doe\",\r\n            \"email\": \"john.doe@example.com\",\r\n            \"role\": \"prof\"\r\n        },\r\n        {\r\n            \"name\": \"Anna Smith\",\r\n            \"email\": \"anna.smith@example.com\",\r\n            \"role\": \"TA\"\r\n        },\r\n        {\r\n            \"name\": \"Jane Doe\",\r\n            \"email\": \"jane.doe@example.com\",\r\n            \"role\": \"student\"\r\n        }\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://example.engageli.com/api/data-insights/example/v2/external/classes"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Tue, 18 Feb 2025 15:59:47 GMT"},{"key":"Permissions-Policy","value":"accelerometer=(),autoplay=*,camera=(self),encrypted-media=(),fullscreen=*,geolocation=(self),gyroscope=(),magnetometer=(),microphone=(self),midi=(),payment=(self),picture-in-picture=*,publickey-credentials-get=(),screen-wake-lock=(self),sync-xhr=(self),usb=(self),xr-spatial-tracking=()"},{"key":"Content-Encoding","value":"gzip"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Security-Policy","value":"default-src 'self'; font-src 'self' https: data:; img-src 'self' blob: data: https:; object-src 'none'; script-src 'unsafe-eval' 'self' 'sha256-1P7pfYIX5uui48jv3jJTENpF7uVSv/iYb9YkbJm6Hos=' 'sha256-hZ39PMN+tlPLQx61o7zG0TAuYyLoGbXWHkOslKFw+/M=' 'sha256-Gagf4D9b8KK6T/qA4w9SYsYKu0ZPoo/kVn27Lf/fVoE=' 'sha256-SxfF3aB+8OGwBqOwrZT6iTeC7PqDtp1zSpOomp8Q/Hg=' https://*.engageli.com:* https://*.engageli-test.com:* https://www.youtube.com:* https://*.google.com:* https://*.vimeo.com:* https://vimeo.com:* https://miro.com:* https://*.mixpanel.com:* https://cdn.jsdelivr.net:* https://js.hsforms.net:* blob: ; script-src-attr 'none'; style-src 'self' https: 'unsafe-inline'; frame-src nggli: *; media-src 'self' https: blob:; connect-src https://*.engageli.com:* https://*.ingest.sentry.io https://*.engageli-test.com:* wss://*.engageli.com:* wss://*.engageli-test.com:* https://noembed.com:* file://* https://*.amazonaws.com:* wss://*.amazonaws.com:* https://*.cloudfront.net:* https://*.gravatar.com:* https://vimeo.com:* https://*.vimeo.com:* https://*.mixpanel.com:* https://*.miro.com:* https://storage.googleapis.com:* https://cdn.jsdelivr.net:* https://tfhub.dev:* https://www.kaggle.com:* https://kaggle.com:* https://forms.hsforms.com:* wss://matan-engageli.sip.signalwire.com:* https://*.auth0.com:*  blob:; base-uri 'self'; frame-ancestors https://*.google.com https://*.engageli-test.com/ https://*.instructure.com https://*.engageli.com https://*.engageli-dev.com https://*.brightspace.com https://*.brightspacedemo.com https://*.moodlecloud.com https://engageli-lti1p3.docebosaas.com https://moodle.us.engageli-dev.com;"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-site"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Strict-Transport-Security","value":"max-age=63072000; includeSubDomains; preload"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"X-RateLimit-Reset","value":"1739894448"},{"key":"ETag","value":"W/\"1bd60-dB9dicQSEwyIN593T5C4+T1l6NA\""},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 835f3c9e7c3bc0e7766edf13dac581de.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"LHR50-P3"},{"key":"X-Amz-Cf-Id","value":"ReAwWw8l8CuAG5tvhXr8UhALvya8Fx_YGGkfpxVvkjeQSqAZRLx0Hg=="},{"key":"X-Robots-Tag","value":"noindex, nofollow, nosnippet, noarchive"}],"cookie":[],"responseTime":null,"body":"{\n  \"ok\": true,\n  \"type\": \"classes\",\n  \"version\": \"2.0\",\n  \"url\": \"/api/data-insights/example/v2/external/classes\",\n  \"data\": {\n    \"classId\": 217,\n    \"className\": \"test12345(12889)\",\n    \"longName\": \"test12345(12889) by api-user@example.com\",\n    \"isArchived\": false,\n    \"isAdhoc\": false,\n    \"lmsPlatformId\": null,\n    \"createdDate\": \"2025-10-31T13:20:01.334Z\",\n    \"modifiedDate\": \"2025-10-31T13:20:01.334Z\",\n    \"archivedDate\": null,\n    \"type\": \"manual\",\n    \"accessTokens\": {\n      \"registeredUser\": \"dr1lhfy07\"\n    },\n    \"attendanceRatioThreshold\": 0.6,\n    \"timezone\": \"Europe/London\",\n    \"versions\": \"[1, 2]\",\n    \"lmsInfo\": [],\n    \"roster\": [\n      {\n        \"name\": \"John Doe\",\n        \"role\": \"prof\",\n        \"email\": \"john.doe@example.com\",\n        \"status\": \"active\",\n        \"userId\": 5598,\n        \"isGuest\": false,\n        \"lmsSisId\": \"\",\n        \"lmsUserId\": \"\",\n        \"lmsClassId\": \"\"\n      },\n      {\n        \"name\": \"Anna Smith\",\n        \"role\": \"TA\",\n        \"email\": \"anna.smith@example.com\",\n        \"status\": \"active\",\n        \"userId\": 5599,\n        \"isGuest\": false,\n        \"lmsSisId\": \"\",\n        \"lmsUserId\": \"\",\n        \"lmsClassId\": \"\"\n      },\n      {\n        \"name\": \"Jane Doe\",\n        \"role\": \"student\",\n        \"email\": \"jane.doe@example.com\",\n        \"status\": \"active\",\n        \"userId\": 5600,\n        \"isGuest\": false,\n        \"lmsSisId\": \"\",\n        \"lmsUserId\": \"\",\n        \"lmsClassId\": \"\"\n      }\n    ],\n    \"schedules\": []\n  }\n}"}],"_postman_id":"cb02c8fc-3900-4d50-8109-d16f62f163bd"},{"name":"Fetch a Class","id":"1efd58a2-d758-4282-8813-45aef1c6c87d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://example.engageli.com/api/data-insights/example/v2/external/classes/:classId","description":"<h1 id=\"purpose\">Purpose</h1>\n<p>Request details of an existing class in your Engageli instance.</p>\n<h1 id=\"parameters-and-usage\">Parameters and Usage</h1>\n<p>Not applicable for multistack Engageli implementations.</p>\n<p>Pass an Engageli <code>classId</code> value as a path variable, and the API will return the details of a single classroom.</p>\n<h1 id=\"response-schema\">Response Schema</h1>\n<p>At the root of the response are the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Value Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>ok</code></td>\n<td><em>Boolean</em>. <code>true</code></td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td><em>String</em>. <code>\"classes\"</code>. This simply denotes which API is responding.</td>\n</tr>\n<tr>\n<td><code>version</code></td>\n<td><em>String</em>. <code>\"2.0\"</code></td>\n</tr>\n<tr>\n<td><code>url</code></td>\n<td><em>String</em>. The url path of the request that produced this response.</td>\n</tr>\n<tr>\n<td><code>data</code></td>\n<td><em>Object</em>. The response data (see below).</td>\n</tr>\n</tbody>\n</table>\n</div><p>The response will include a single object in <code>data</code>, containing the details of the requested Engageli class and provides details about the class configuration with the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Value Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>classId</code></td>\n<td><em>Integer</em>. Unique ID for the <code>class</code>.</td>\n</tr>\n<tr>\n<td><code>className</code></td>\n<td><em>String</em>. Display name for the <code>class</code>.</td>\n</tr>\n<tr>\n<td><code>longName</code></td>\n<td><em>String</em>. Longer form display name for the <code>class</code> as shown in the Engageli portals.</td>\n</tr>\n<tr>\n<td><code>isArchived</code></td>\n<td><em>Boolean</em>. <code>true</code> if the class is archived and <code>false</code> otherwise.</td>\n</tr>\n<tr>\n<td><code>isAdhoc</code></td>\n<td><em>Boolean</em>. <code>true</code> if the class is set up to expire on a planned date, <code>false</code> otherwise.</td>\n</tr>\n<tr>\n<td><code>lmsPlatformId</code></td>\n<td><em>Integer or null</em>. The LTI integration number (as shown in Engageli Admin Portal) that is linked to this class. <code>null</code> for class with no LTI link(s).</td>\n</tr>\n<tr>\n<td><code>createdDate</code></td>\n<td><em>String</em>. ISO8601 UTC datetime string to indicate when the <code>class</code> was created.</td>\n</tr>\n<tr>\n<td><code>modifiedDate</code></td>\n<td><em>String</em>. ISO8601 UTC datetime string to indicate when the <code>class</code> last modified. Note, this can take a few minutes to update after changes are made, but the changes are shown instantly on the API.</td>\n</tr>\n<tr>\n<td><code>archivedDate</code></td>\n<td><em>String or null</em>. For archived classes, ISO8601 UTC datetime string to indicate when the <code>class</code> was archived. null otherwise.</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td><em>String</em>. <code>\"manual\"</code> or <code>\"lms\"</code> or <code>\"aggregate\"</code> or <code>\"byInstructor\"</code></td>\n</tr>\n<tr>\n<td><code>accessTokens</code></td>\n<td><em>Object</em>.  <br />- Always contains the key registeredUser which has a string value of the access token used in the class URL  <br />- If guest access is enabled then also a key guest that has a string value of the access token used in the learner guest URL.</td>\n</tr>\n<tr>\n<td><code>attendanceRatioThreshold</code></td>\n<td><em>Number</em>. Decimal value between 0 and 1. This is a decimal number between 0 and 1 indicating the amount of a specific modality (live/playback/combined) that a user needs to be present for, in order to be marked as present for attendance (as seen in the Engageli Portal UI and in the GET Attendance response data).</td>\n</tr>\n<tr>\n<td><code>timezone</code></td>\n<td><em>String</em>. Timezone set in the Engageli Admin Portal for the class in the TZ identifier format e.g. <code>\"Europe/Paris\"</code></td>\n</tr>\n<tr>\n<td><code>versions</code></td>\n<td><em>String</em>. One of <code>\"[]\"</code> or <code>\"[1, 2]\"</code>.</td>\n</tr>\n<tr>\n<td><code>lmsInfo</code></td>\n<td><em>Array of Objects</em>. Each represents a LTI link to this class from the LMS specified in <code>lmsPlatformId</code>. Details below.</td>\n</tr>\n<tr>\n<td><code>roster</code></td>\n<td>Array of Objects. Each represents a <code>user</code> rostered to this <code>class</code>. Details below.</td>\n</tr>\n<tr>\n<td><code>schedules</code></td>\n<td><em>Array of Objects</em>. Each represents a schedule set in the Engageli portals that can generate lectures for attendance and engagement reporting in the Engageli portals, and from the attendance API.</td>\n</tr>\n</tbody>\n</table>\n</div><p>LTI links detailed in <code>lmsInfo</code> array have the following details:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Value Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>lmsClassId</code></td>\n<td><em>String</em>. The identifier provided by the LMS for the course that is linked to this <code>class</code>.</td>\n</tr>\n<tr>\n<td><code>lmsClassLabel</code></td>\n<td><em>String</em>.</td>\n</tr>\n<tr>\n<td><code>lmsClassTitle</code></td>\n<td><em>String</em>.</td>\n</tr>\n<tr>\n<td><code>courseOfferingSourcedid</code></td>\n<td>String.</td>\n</tr>\n<tr>\n<td><code>custom</code></td>\n<td>Object.</td>\n</tr>\n</tbody>\n</table>\n</div><p>Users listed in <code>roster</code> array have the following details:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Value Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>userId</code></td>\n<td><em>Integer</em>. Unique internal ID for the <code>user</code>.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td><em>String</em>. Current stored display name of the <code>user</code>.</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td><em>String</em>. Current stored email address of the <code>user</code>.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td><em>String</em>. <code>active</code> users are able to join the classroom and <code>inactive</code> users are not.</td>\n</tr>\n<tr>\n<td><code>role</code></td>\n<td><em>String</em>. One of <code>student</code> or <code>TA</code> or <code>prof</code>, indicating how the user is rostered to the class, and therefore what session role is available to them in the UI.  <br />Users rostered as <code>student</code> can only join the classroom as <code>student</code>.  <br />Users rostered as <code>TA</code> can only join the classroom as <code>TA</code>.  <br />Users rostered as <code>prof</code> can join the classroom as <code>coInstructor</code> or <code>TA</code>.</td>\n</tr>\n<tr>\n<td><code>isGuest</code></td>\n<td><em>Boolean</em>. <code>true</code> if this user was generated from using a guest URL and <code>false</code> otherwise.</td>\n</tr>\n<tr>\n<td><code>lmsSisId</code></td>\n<td><em>String</em>. The unique identifier for the <code>user</code> provided by the LMS that is expected to be sourced from an external system, e.g. Student Information System.</td>\n</tr>\n<tr>\n<td><code>lmsUserId</code></td>\n<td><em>String</em>. The unique identifier for the <code>user</code> provided by the LMS that is expected to be sourced from the LMS itself.</td>\n</tr>\n<tr>\n<td><code>lmsClassId</code></td>\n<td><em>String</em>. The unique identifier for the LMS course that last updated this <code>user</code> onto the <code>class</code> roster.</td>\n</tr>\n<tr>\n<td><code>lmsUserSectionSisId</code></td>\n<td><em>String</em>. A comma separated list of the SIS IDs for each section this user belongs to in the linked LMS course.</td>\n</tr>\n</tbody>\n</table>\n</div><p>Schedules added to the class have the following details:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Value Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>title</code></td>\n<td><em>String</em>. The title entered in the Engageli Portal UI for the schedule.</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td><em>String</em>. The description entered in the Engageli Portal UI for the schedule.</td>\n</tr>\n<tr>\n<td><code>events</code></td>\n<td><em>Array of Objects</em>. Each represents a time period that could result in an associated lecture if a live session is (or was) held and has the following keys:  <br />- <code>startDate</code> UTC timestamp  <br />- <code>endDate</code> UTC timestamp  <br />- <code>eventId</code> internal unique identifier</td>\n</tr>\n<tr>\n<td><code>startDate</code></td>\n<td><em>String</em>. The UTC timestamp of the earliest event within this schedule.</td>\n</tr>\n<tr>\n<td><code>endDate</code></td>\n<td><em>String</em>. The UTC timestamp of the latest event within this schedule.</td>\n</tr>\n<tr>\n<td><code>daysOfWeek</code></td>\n<td><em>Array of Integers</em>. Integers that appear are the days of the week that the schedule will repeat on, with 0 representing Sunday.</td>\n</tr>\n<tr>\n<td><code>createdTime</code></td>\n<td><em>String</em>. ISO8601 UTC timestamp indicating when this schedule was created in the portal UI.</td>\n</tr>\n</tbody>\n</table>\n</div><h1 id=\"nuances\">Nuances</h1>\n<p>Only classes that have a <code>\"versions\":\"[1, 2]\"</code> can be reported on by the Engageli Data APIs. These classes are the ones that were created on Engageli 3.1.51 (early 2024) and later.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"from_token_endpoint"}]},"isInherited":true,"source":{"_postman_id":"89a0bb0d-6e9b-402a-8982-ec3cc4376420","id":"89a0bb0d-6e9b-402a-8982-ec3cc4376420","name":"Engageli API","type":"collection"}},"urlObject":{"protocol":"https","path":["api","data-insights","example","v2","external","classes",":classId"],"host":["example.engageli.com"],"query":[],"variable":[{"description":{"content":"<p>The classId value of an existing Engageli classroom you want to retrieve details of.</p>\n","type":"text/plain"},"type":"any","value":"","key":"classId"}]}},"response":[{"id":"add3b4c2-8ea8-4516-930a-6dc2902027c1","name":"200 OK","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://example.engageli.com/api/data-insights/example/v2/external/classes/:classId","protocol":"https","host":["example","engageli","com"],"path":["api","data-insights","example","v2","external","classes",":classId"],"variable":[{"key":"classId","value":"6220"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":""},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Tue, 18 Feb 2025 15:59:47 GMT"},{"key":"Permissions-Policy","value":"accelerometer=(),autoplay=*,camera=(self),encrypted-media=(),fullscreen=*,geolocation=(self),gyroscope=(),magnetometer=(),microphone=(self),midi=(),payment=(self),picture-in-picture=*,publickey-credentials-get=(),screen-wake-lock=(self),sync-xhr=(self),usb=(self),xr-spatial-tracking=()"},{"key":"Content-Encoding","value":"gzip"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Security-Policy","value":"default-src 'self'; font-src 'self' https: data:; img-src 'self' blob: data: https:; object-src 'none'; script-src 'unsafe-eval' 'self' 'sha256-1P7pfYIX5uui48jv3jJTENpF7uVSv/iYb9YkbJm6Hos=' 'sha256-hZ39PMN+tlPLQx61o7zG0TAuYyLoGbXWHkOslKFw+/M=' 'sha256-Gagf4D9b8KK6T/qA4w9SYsYKu0ZPoo/kVn27Lf/fVoE=' 'sha256-SxfF3aB+8OGwBqOwrZT6iTeC7PqDtp1zSpOomp8Q/Hg=' https://*.engageli.com:* https://*.engageli-test.com:* https://www.youtube.com:* https://*.google.com:* https://*.vimeo.com:* https://vimeo.com:* https://miro.com:* https://*.mixpanel.com:* https://cdn.jsdelivr.net:* https://js.hsforms.net:* blob: ; script-src-attr 'none'; style-src 'self' https: 'unsafe-inline'; frame-src nggli: *; media-src 'self' https: blob:; connect-src https://*.engageli.com:* https://*.ingest.sentry.io https://*.engageli-test.com:* wss://*.engageli.com:* wss://*.engageli-test.com:* https://noembed.com:* file://* https://*.amazonaws.com:* wss://*.amazonaws.com:* https://*.cloudfront.net:* https://*.gravatar.com:* https://vimeo.com:* https://*.vimeo.com:* https://*.mixpanel.com:* https://*.miro.com:* https://storage.googleapis.com:* https://cdn.jsdelivr.net:* https://tfhub.dev:* https://www.kaggle.com:* https://kaggle.com:* https://forms.hsforms.com:* wss://matan-engageli.sip.signalwire.com:* https://*.auth0.com:*  blob:; base-uri 'self'; frame-ancestors https://*.google.com https://*.engageli-test.com/ https://*.instructure.com https://*.engageli.com https://*.engageli-dev.com https://*.brightspace.com https://*.brightspacedemo.com https://*.moodlecloud.com https://engageli-lti1p3.docebosaas.com https://moodle.us.engageli-dev.com;"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-site"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Strict-Transport-Security","value":"max-age=63072000; includeSubDomains; preload"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"X-RateLimit-Reset","value":"1739894448"},{"key":"ETag","value":"W/\"1bd60-dB9dicQSEwyIN593T5C4+T1l6NA\""},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 835f3c9e7c3bc0e7766edf13dac581de.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"LHR50-P3"},{"key":"X-Amz-Cf-Id","value":"ReAwWw8l8CuAG5tvhXr8UhALvya8Fx_YGGkfpxVvkjeQSqAZRLx0Hg=="},{"key":"X-Robots-Tag","value":"noindex, nofollow, nosnippet, noarchive"}],"cookie":[],"responseTime":null,"body":"{\n  \"ok\": true,\n  \"type\": \"classes\",\n  \"version\": \"2.0\",\n  \"url\": \"/api/data-insights/example/v2/external/classes/6220\",\n  \"data\": {\n    \"classId\": 6220,\n    \"className\": \"Example 202(cc6a3)\",\n    \"longName\": \"Example History 202 Spring 2025\",\n    \"isArchived\": false,\n    \"isAdhoc\": false,\n    \"createdDate\": \"2025-02-16T16:28:12.943Z\",\n    \"modifiedDate\": \"2025-02-16T21:12:00.006Z\",\n    \"archivedDate\": null,\n    \"type\": \"lms\",\n    \"accessTokens\": {\n      \"guest\": \"uwql9fp19\",\n      \"registeredUser\": \"461ihiiq7\"\n    },\n    \"attendanceRatioThreshold\": 0.6,\n    \"timezone\": \"America/New_York\",\n    \"versions\": \"[1, 2]\",\n    \"lmsPlatformId\": 1,\n    \"lmsInfo\": [\n      {\n        \"custom\": {\n          \"termName\": \"Default term\",\n          \"courseAccountName\": \"Engageli\",\n          \"courseSectionRestricted\": false\n        },\n        \"lmsClassId\": \"1d92d56c701b3814e7777bc9d45232b86daf9f24\",\n        \"lmsClassLabel\": \"Example 202\",\n        \"lmsClassTitle\": \"Example History 202 Spring 2025\",\n        \"courseOfferingSourcedid\": \"\"\n      }\n    ],\n    \"roster\": [\n      {\n        \"name\": \"Example Instructor1\",\n        \"role\": \"prof\",\n        \"email\": \"instructor1@example.com\",\n        \"status\": \"active\",\n        \"userId\": 160099,\n        \"isGuest\": false,\n        \"lmsSisId\": \"\",\n        \"lmsUserId\": \"03e2222c-ca47-444c-b569-ac90a720836e\",\n        \"lmsClassId\": \"1d92d56c701b3814e7777bc9d45232b86daf9f24\"\n      },\n      {\n        \"name\": \"Example Learner1\",\n        \"role\": \"student\",\n        \"email\": \"learner1@example.com\",\n        \"status\": \"active\",\n        \"userId\": 160101,\n        \"isGuest\": false,\n        \"lmsSisId\": \"\",\n        \"lmsUserId\": \"58935aad-75f1-45e1-9290-655efbfcb1a5\",\n        \"lmsClassId\": \"1d92d56c701b3814e7777bc9d45232b86daf9f24\"\n      },\n      {\n        \"name\": \"Example Learner3\",\n        \"role\": \"student\",\n        \"email\": \"learner3@example.com\",\n        \"status\": \"active\",\n        \"userId\": 160102,\n        \"isGuest\": false,\n        \"lmsSisId\": \"\",\n        \"lmsUserId\": \"58fed561-2263-4152-86bc-cd9bc9bdedbc\",\n        \"lmsClassId\": \"1d92d56c701b3814e7777bc9d45232b86daf9f24\"\n      }\n    ],\n    \"schedules\": []\n  }\n}"}],"_postman_id":"1efd58a2-d758-4282-8813-45aef1c6c87d"},{"name":"Fetch New and Updated Classes","id":"e5320cf7-4036-4037-b4fe-91a8f04ae6cb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://example.engageli.com/api/data-insights/example/v2/external/classes","description":"<h1 id=\"purpose\">Purpose</h1>\n<p>Request details of classes in your Engageli instance which were created and/or modified in the specified time range.</p>\n<h1 id=\"parameters-and-usage\">Parameters and Usage</h1>\n<ul>\n<li><p>Where <code>rangeStart</code> parameter is included, only classes with a <code>modifiedDate</code> on or after this timestamp will be returned. Provide a timestamp in a compatible format as explained above. When not specified, classes with <code>modifiedDate</code> in the last month will be returned.</p>\n</li>\n<li><p>Where required, the data will be paginated, with each response containing a value in <code>nextToken</code> that can be used to obtain the next page of data, with the final page containing no token in the response body.</p>\n</li>\n<li><p>Where <code>archived</code> parameter is used, if set to <code>false</code> then only active (non-archived) classes will be returned, and if set to <code>true</code> then only archived classes will be returned. If the parameter is omitted, both archived and active (non-archived) classes will be returned.</p>\n</li>\n</ul>\n<p>The <code>modifiedDate</code> value will be updated within a few minutes of any changes to:</p>\n<ul>\n<li><p><code>roster</code> array</p>\n</li>\n<li><p><code>schedules</code> array</p>\n</li>\n<li><p><code>lmsInfo</code> array</p>\n</li>\n<li><p><code>isArchived</code> value</p>\n</li>\n</ul>\n<p>Note, while the <code>modifiedDate</code> may take a few minutes to be updated, changes to the actual updated data (e.g. roster changes, archive status) are shown immediately on the API. As such, you may find when advancing your watermark for <code>rangeStart</code> that you get a new version of a class record that has a new <code>modifiedDate</code> but no fields are changed - this could happen if you retrieved the previous version immediately after changes were made but before the <code>modifiedDate</code> was updated.</p>\n<p>Incremental consumers should use a lookback overlap of at least several minutes and upsert by <code>classId</code>. Do not assume that the largest previously requested timestamp is a safe watermark without an overlap.</p>\n<h1 id=\"response-schema\">Response Schema</h1>\n<p>At the root of the response are the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Value Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>ok</code></td>\n<td><em>Boolean</em>. <code>true</code></td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td><em>String</em>. <code>\"classes\"</code>. This simply denotes which API is responding.</td>\n</tr>\n<tr>\n<td><code>version</code></td>\n<td><em>String</em>. <code>\"2.0\"</code></td>\n</tr>\n<tr>\n<td><code>url</code></td>\n<td><em>String</em>. The url path of the request that produced this response.</td>\n</tr>\n<tr>\n<td><code>data</code></td>\n<td><em>Array of Objects</em>. The response data (see below).</td>\n</tr>\n<tr>\n<td><code>nextToken</code></td>\n<td><em>String</em>. The token required to fetch the next page of data. If not present, this response is the last page from the query.</td>\n</tr>\n</tbody>\n</table>\n</div><p>The response will include an array of objects in <code>data</code>. Each object represents an Engageli class and provides details about the class configuration with the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Value Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>classId</code></td>\n<td><em>Integer</em>. Unique ID for the <code>class</code>.</td>\n</tr>\n<tr>\n<td><code>className</code></td>\n<td><em>String</em>. Display name for the <code>class</code>.</td>\n</tr>\n<tr>\n<td><code>longName</code></td>\n<td><em>String</em>. Longer form display name for the <code>class</code> as shown in the Engageli portals.</td>\n</tr>\n<tr>\n<td><code>isArchived</code></td>\n<td><em>Boolean</em>. <code>true</code> if the class is archived and <code>false</code> otherwise.</td>\n</tr>\n<tr>\n<td><code>isAdhoc</code></td>\n<td><em>Boolean</em>. <code>true</code> if the class is set up to expire on a planned date, <code>false</code> otherwise.</td>\n</tr>\n<tr>\n<td><code>lmsPlatformId</code></td>\n<td><em>Integer or null</em>. The LTI integration number (as shown in Engageli Admin Portal) that is linked to this class. <code>null</code> for class with no LTI link(s).</td>\n</tr>\n<tr>\n<td><code>createdDate</code></td>\n<td><em>String</em>. ISO8601 UTC datetime string to indicate when the <code>class</code> was created.</td>\n</tr>\n<tr>\n<td><code>modifiedDate</code></td>\n<td><em>String</em>. ISO8601 UTC datetime string to indicate when the <code>class</code> last modified. Note, this can take a few minutes to update after changes are made, but the changes are shown instantly on the API.</td>\n</tr>\n<tr>\n<td><code>archivedDate</code></td>\n<td><em>String or null</em>. For archived classes, ISO8601 UTC datetime string to indicate when the <code>class</code> was archived. null otherwise.</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td><em>String</em>. <code>\"manual\"</code> or <code>\"lms\"</code> or <code>\"aggregate\"</code> or <code>\"byInstructor\"</code></td>\n</tr>\n<tr>\n<td><code>accessTokens</code></td>\n<td><em>Object</em>.  <br />- Always contains the key registeredUser which has a string value of the access token used in the class URL  <br />- If guest access is enabled then also a key guest that has a string value of the access token used in the learner guest URL.</td>\n</tr>\n<tr>\n<td><code>attendanceRatioThreshold</code></td>\n<td><em>Number</em>. Decimal value between 0 and 1. This is a decimal number between 0 and 1 indicating the amount of a specific modality (live/playback/combined) that a user needs to be present for, in order to be marked as present for attendance (as seen in the Engageli Portal UI and in the GET Attendance response data).</td>\n</tr>\n<tr>\n<td><code>timezone</code></td>\n<td><em>String</em>. Timezone set in the Engageli Admin Portal for the class in the TZ identifier format e.g. <code>\"Europe/Paris\"</code></td>\n</tr>\n<tr>\n<td><code>versions</code></td>\n<td><em>String</em>. One of <code>\"[]\"</code> or <code>\"[1, 2]\"</code>.</td>\n</tr>\n<tr>\n<td><code>lmsInfo</code></td>\n<td><em>Array of Objects</em>. Each represents a LTI link to this class from the LMS specified in <code>lmsPlatformId</code>. Details below.</td>\n</tr>\n<tr>\n<td><code>roster</code></td>\n<td>Array of Objects. Each represents a <code>user</code> rostered to this <code>class</code>. Details below.</td>\n</tr>\n<tr>\n<td><code>schedules</code></td>\n<td><em>Array of Objects</em>. Each represents a schedule set in the Engageli portals that can generate lectures for attendance and engagement reporting in the Engageli portals, and from the attendance API.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Note</strong>: Only classes with a <code>versions</code> value of <code>\"[1, 2]\"</code> can be reported on by the other endpoints in the Engageli V2 API. These classes are the ones that were created on Engageli 3.1.51 and later.</p>\n<p>LTI links detailed in <code>lmsInfo</code> array have the following details:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Value Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>lmsClassId</code></td>\n<td><em>String</em>. The identifier provided by the LMS for the course that is linked to this <code>class</code>.</td>\n</tr>\n<tr>\n<td><code>lmsClassLabel</code></td>\n<td><em>String</em>.</td>\n</tr>\n<tr>\n<td><code>lmsClassTitle</code></td>\n<td><em>String</em>.</td>\n</tr>\n<tr>\n<td><code>courseOfferingSourcedid</code></td>\n<td>String.</td>\n</tr>\n<tr>\n<td><code>custom</code></td>\n<td>Object.</td>\n</tr>\n</tbody>\n</table>\n</div><p>Users listed in <code>roster</code> array have the following details:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Value Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>userId</code></td>\n<td><em>Integer</em>. Unique internal ID for the <code>user</code>.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td><em>String</em>. Current stored display name of the <code>user</code>.</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td><em>String</em>. Current stored email address of the <code>user</code>.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td><em>String</em>. <code>active</code> users are able to join the classroom and <code>inactive</code> users are not.</td>\n</tr>\n<tr>\n<td><code>role</code></td>\n<td><em>String</em>. One of <code>student</code> or <code>TA</code> or <code>prof</code>, indicating how the user is rostered to the class, and therefore what session role is available to them in the UI.  <br />Users rostered as <code>student</code> can only join the classroom as <code>student</code>.  <br />Users rostered as <code>TA</code> can only join the classroom as <code>TA</code>.  <br />Users rostered as <code>prof</code> can join the classroom as <code>coInstructor</code> or <code>TA</code>.</td>\n</tr>\n<tr>\n<td><code>isGuest</code></td>\n<td><em>Boolean</em>. <code>true</code> if this user was generated from using a guest URL and <code>false</code> otherwise.</td>\n</tr>\n<tr>\n<td><code>lmsSisId</code></td>\n<td><em>String</em>. The unique identifier for the <code>user</code> provided by the LMS that is expected to be sourced from an external system, e.g. Student Information System.</td>\n</tr>\n<tr>\n<td><code>lmsUserId</code></td>\n<td><em>String</em>. The unique identifier for the <code>user</code> provided by the LMS that is expected to be sourced from the LMS itself.</td>\n</tr>\n<tr>\n<td><code>lmsClassId</code></td>\n<td><em>String</em>. The unique identifier for the LMS course that last updated this <code>user</code> onto the <code>class</code> roster.</td>\n</tr>\n<tr>\n<td><code>lmsUserSectionSisId</code></td>\n<td><em>String</em>. A comma separated list of the SIS IDs for each section this user belongs to in the linked LMS course.</td>\n</tr>\n</tbody>\n</table>\n</div><p>Schedules added to the class have the following details:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Value Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>title</code></td>\n<td><em>String</em>. The title entered in the Engageli Portal UI for the schedule.</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td><em>String</em>. The description entered in the Engageli Portal UI for the schedule.</td>\n</tr>\n<tr>\n<td><code>events</code></td>\n<td><em>Array of Objects</em>. Each represents a time period that could result in an associated lecture if a live session is (or was) held and has the following keys:  <br />- <code>startDate</code> UTC timestamp  <br />- <code>endDate</code> UTC timestamp  <br />- <code>eventId</code> internal unique identifier</td>\n</tr>\n<tr>\n<td><code>startDate</code></td>\n<td><em>String</em>. The UTC timestamp of the earliest event within this schedule.</td>\n</tr>\n<tr>\n<td><code>endDate</code></td>\n<td><em>String</em>. The UTC timestamp of the latest event within this schedule.</td>\n</tr>\n<tr>\n<td><code>daysOfWeek</code></td>\n<td><em>Array of Integers</em>. Integers that appear are the days of the week that the schedule will repeat on, with 0 representing Sunday.</td>\n</tr>\n<tr>\n<td><code>createdTime</code></td>\n<td><em>String</em>. ISO8601 UTC timestamp indicating when this schedule was created in the portal UI.</td>\n</tr>\n</tbody>\n</table>\n</div><h1 id=\"nuances\">Nuances</h1>\n<p>Only classes that have a <code>\"versions\":\"[1, 2]\"</code> can be reported on by the Engageli Data APIs. These classes are the ones that were created on Engageli 3.1.51 (early 2024) and later.</p>\n<p>While the <code>modifiedDate</code> value on a classroom may take a few minutes to update following a change, the actual configuration change will take place immediately. Example: you update the roster for a class and 30 mins later you then change the class timezone. Immediately you use the API to request classes create or modified in the last hour. You see both the roster change and the timezone change, but the <code>modifiedDate</code> is set to 30 mins ago. A few minutes later you make the same API request and see that the <code>modifiedDate</code> has now been updated to just after you made the timezone change.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"from_token_endpoint"}]},"isInherited":true,"source":{"_postman_id":"89a0bb0d-6e9b-402a-8982-ec3cc4376420","id":"89a0bb0d-6e9b-402a-8982-ec3cc4376420","name":"Engageli API","type":"collection"}},"urlObject":{"protocol":"https","path":["api","data-insights","example","v2","external","classes"],"host":["example.engageli.com"],"query":[{"disabled":true,"description":{"content":"<p>Return all classes with modifiedDate on or after this timestamp. If omitted, return classes with modifiedDate in the last month.</p>\n","type":"text/plain"},"key":"rangeStart","value":""},{"disabled":true,"description":{"content":"<p>false = return only active classes; true = return only archived classes; omitted = return all classes.</p>\n","type":"text/plain"},"key":"archived","value":""},{"disabled":true,"description":{"content":"<p>Pagination token provided in previous page's response.</p>\n","type":"text/plain"},"key":"nextToken","value":""}],"variable":[]}},"response":[{"id":"938f4da7-a723-4ac6-bd5d-ec49e2196c8f","name":"200 OK","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://example.engageli.com/api/data-insights/example/v2/external/classes?rangeStart=2025-02-15","protocol":"https","host":["example","engageli","com"],"path":["api","data-insights","example","v2","external","classes"],"query":[{"key":"rangeStart","value":"2025-02-15","description":"Return all classes with modification date after this timestamp."},{"key":"archived","value":"","description":"false = return only active classes; true = return only archived classes; omitted = return all classes.","disabled":true},{"key":"nextToken","value":"","description":"Pagination token provided in previous page's response.","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":""},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Tue, 18 Feb 2025 15:59:47 GMT"},{"key":"Permissions-Policy","value":"accelerometer=(),autoplay=*,camera=(self),encrypted-media=(),fullscreen=*,geolocation=(self),gyroscope=(),magnetometer=(),microphone=(self),midi=(),payment=(self),picture-in-picture=*,publickey-credentials-get=(),screen-wake-lock=(self),sync-xhr=(self),usb=(self),xr-spatial-tracking=()"},{"key":"Content-Encoding","value":"gzip"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Security-Policy","value":"default-src 'self'; font-src 'self' https: data:; img-src 'self' blob: data: https:; object-src 'none'; script-src 'unsafe-eval' 'self' 'sha256-1P7pfYIX5uui48jv3jJTENpF7uVSv/iYb9YkbJm6Hos=' 'sha256-hZ39PMN+tlPLQx61o7zG0TAuYyLoGbXWHkOslKFw+/M=' 'sha256-Gagf4D9b8KK6T/qA4w9SYsYKu0ZPoo/kVn27Lf/fVoE=' 'sha256-SxfF3aB+8OGwBqOwrZT6iTeC7PqDtp1zSpOomp8Q/Hg=' https://*.engageli.com:* https://*.engageli-test.com:* https://www.youtube.com:* https://*.google.com:* https://*.vimeo.com:* https://vimeo.com:* https://miro.com:* https://*.mixpanel.com:* https://cdn.jsdelivr.net:* https://js.hsforms.net:* blob: ; script-src-attr 'none'; style-src 'self' https: 'unsafe-inline'; frame-src nggli: *; media-src 'self' https: blob:; connect-src https://*.engageli.com:* https://*.ingest.sentry.io https://*.engageli-test.com:* wss://*.engageli.com:* wss://*.engageli-test.com:* https://noembed.com:* file://* https://*.amazonaws.com:* wss://*.amazonaws.com:* https://*.cloudfront.net:* https://*.gravatar.com:* https://vimeo.com:* https://*.vimeo.com:* https://*.mixpanel.com:* https://*.miro.com:* https://storage.googleapis.com:* https://cdn.jsdelivr.net:* https://tfhub.dev:* https://www.kaggle.com:* https://kaggle.com:* https://forms.hsforms.com:* wss://matan-engageli.sip.signalwire.com:* https://*.auth0.com:*  blob:; base-uri 'self'; frame-ancestors https://*.google.com https://*.engageli-test.com/ https://*.instructure.com https://*.engageli.com https://*.engageli-dev.com https://*.brightspace.com https://*.brightspacedemo.com https://*.moodlecloud.com https://engageli-lti1p3.docebosaas.com https://moodle.us.engageli-dev.com;"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-site"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Strict-Transport-Security","value":"max-age=63072000; includeSubDomains; preload"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"X-RateLimit-Reset","value":"1739894448"},{"key":"ETag","value":"W/\"1bd60-dB9dicQSEwyIN593T5C4+T1l6NA\""},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 835f3c9e7c3bc0e7766edf13dac581de.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"LHR50-P3"},{"key":"X-Amz-Cf-Id","value":"ReAwWw8l8CuAG5tvhXr8UhALvya8Fx_YGGkfpxVvkjeQSqAZRLx0Hg=="},{"key":"X-Robots-Tag","value":"noindex, nofollow, nosnippet, noarchive"}],"cookie":[],"responseTime":null,"body":"{\n  \"ok\": true,\n  \"type\": \"classes\",\n  \"version\": \"2.0\",\n  \"url\": \"/api/data-insights/example/v2/external/classes?rangeStart=2025-02-15\",\n  \"data\": [\n    {\n      \"classId\": 6220,\n      \"className\": \"Example 202(cc6a3)\",\n      \"longName\": \"Example History 202 Spring 2025\",\n      \"isArchived\": false,\n      \"isAdhoc\": false,\n      \"createdDate\": \"2025-02-16T16:28:12.943Z\",\n      \"modifiedDate\": \"2025-02-16T21:12:00.006Z\",\n      \"archivedDate\": null,\n      \"type\": \"lms\",\n      \"accessTokens\": {\n        \"guest\": \"uwql9fp19\",\n        \"registeredUser\": \"461ihiiq7\"\n      },\n      \"attendanceRatioThreshold\": 0.6,\n      \"timezone\": \"America/New_York\",\n      \"versions\": \"[1, 2]\",\n      \"lmsPlatformId\": 1,\n      \"lmsInfo\": [\n        {\n          \"custom\": {\n            \"termName\": \"Default term\",\n            \"courseAccountName\": \"Engageli\",\n            \"courseSectionRestricted\": false\n          },\n          \"lmsClassId\": \"1d92d56c701b3814e7777bc9d45232b86daf9f24\",\n          \"lmsClassLabel\": \"Example 202\",\n          \"lmsClassTitle\": \"Example History 202 Spring 2025\",\n          \"courseOfferingSourcedid\": \"\"\n        }\n      ],\n      \"roster\": [\n        {\n          \"name\": \"Example Instructor1\",\n          \"role\": \"prof\",\n          \"email\": \"instructor1@example.com\",\n          \"status\": \"active\",\n          \"userId\": 160099,\n          \"isGuest\": false,\n          \"lmsSisId\": \"\",\n          \"lmsUserId\": \"03e2222c-ca47-444c-b569-ac90a720836e\",\n          \"lmsClassId\": \"1d92d56c701b3814e7777bc9d45232b86daf9f24\"\n        },\n        {\n          \"name\": \"Example Learner1\",\n          \"role\": \"student\",\n          \"email\": \"learner1@example.com\",\n          \"status\": \"active\",\n          \"userId\": 160101,\n          \"isGuest\": false,\n          \"lmsSisId\": \"\",\n          \"lmsUserId\": \"58935aad-75f1-45e1-9290-655efbfcb1a5\",\n          \"lmsClassId\": \"1d92d56c701b3814e7777bc9d45232b86daf9f24\"\n        },\n        {\n          \"name\": \"Example Learner3\",\n          \"role\": \"student\",\n          \"email\": \"learner3@example.com\",\n          \"status\": \"active\",\n          \"userId\": 160102,\n          \"isGuest\": false,\n          \"lmsSisId\": \"\",\n          \"lmsUserId\": \"58fed561-2263-4152-86bc-cd9bc9bdedbc\",\n          \"lmsClassId\": \"1d92d56c701b3814e7777bc9d45232b86daf9f24\"\n        }\n      ],\n      \"schedules\": []\n    },\n    {\n      \"classId\": 6221,\n      \"className\": \"Example Maths 101 Spring 2025 Everyone Class\",\n      \"longName\": \"Example Maths 101 Spring 2025 Everyone Class by admin@example.com\",\n      \"isArchived\": false,\n      \"isAdhoc\": false,\n      \"createdDate\": \"2025-02-16T16:30:02.395Z\",\n      \"modifiedDate\": \"2025-02-17T15:48:00.008Z\",\n      \"archivedDate\": null,\n      \"type\": \"aggregate\",\n      \"accessTokens\": {\n        \"registeredUser\": \"ug5do22md\"\n      },\n      \"attendanceRatioThreshold\": 0.6,\n      \"timezone\": \"America/New_York\",\n      \"versions\": \"[1, 2]\",\n      \"lmsPlatformId\": 1,\n      \"lmsInfo\": [\n        {\n          \"custom\": {\n            \"termName\": \"Default term\",\n            \"courseAccountName\": \"Engageli\",\n            \"courseSectionRestricted\": false\n          },\n          \"lmsClassId\": \"8762589274fac608be5e49072bdea889506b1a06\",\n          \"lmsClassLabel\": \"Example 101\",\n          \"lmsClassTitle\": \"Example Maths 101 Spring 2025 Group 1\",\n          \"courseOfferingSourcedid\": \"\"\n        },\n        {\n          \"custom\": {\n            \"termName\": \"Default term\",\n            \"courseAccountName\": \"Engageli\",\n            \"courseSectionRestricted\": false\n          },\n          \"lmsClassId\": \"30c98478bf565f086bc03fe4951eec5b3c718096\",\n          \"lmsClassLabel\": \"Example 101\",\n          \"lmsClassTitle\": \"Example Maths 101 Spring 2025 Group 2\",\n          \"courseOfferingSourcedid\": \"\"\n        }\n      ],\n      \"roster\": [\n        {\n          \"name\": \"Example Instructor1\",\n          \"role\": \"prof\",\n          \"email\": \"instructor1@example.com\",\n          \"status\": \"active\",\n          \"userId\": 160099,\n          \"isGuest\": false,\n          \"lmsSisId\": \"\",\n          \"lmsUserId\": \"03e2222c-ca47-444c-b569-ac90a720836e\",\n          \"lmsClassId\": \"8762589274fac608be5e49072bdea889506b1a06\"\n        },\n        {\n          \"name\": \"Example Instructor2\",\n          \"role\": \"prof\",\n          \"email\": \"instructor2@example.com\",\n          \"status\": \"active\",\n          \"userId\": 160100,\n          \"isGuest\": false,\n          \"lmsSisId\": \"\",\n          \"lmsUserId\": \"1cf688a7-1fb1-49ef-8058-e31d631f4428\",\n          \"lmsClassId\": \"30c98478bf565f086bc03fe4951eec5b3c718096\"\n        },\n        {\n          \"name\": \"Example Learner1\",\n          \"role\": \"student\",\n          \"email\": \"learner1@example.com\",\n          \"status\": \"active\",\n          \"userId\": 160101,\n          \"isGuest\": false,\n          \"lmsSisId\": \"\",\n          \"lmsUserId\": \"58935aad-75f1-45e1-9290-655efbfcb1a5\",\n          \"lmsClassId\": \"8762589274fac608be5e49072bdea889506b1a06\"\n        },\n        {\n          \"name\": \"Example Learner2\",\n          \"role\": \"student\",\n          \"email\": \"learner2@example.com\",\n          \"status\": \"active\",\n          \"userId\": 160103,\n          \"isGuest\": false,\n          \"lmsSisId\": \"\",\n          \"lmsUserId\": \"1ebd3192-8957-4e85-b5cf-8badb45e917c\",\n          \"lmsClassId\": \"8762589274fac608be5e49072bdea889506b1a06\"\n        },\n        {\n          \"name\": \"Example Learner3\",\n          \"role\": \"student\",\n          \"email\": \"learner3@example.com\",\n          \"status\": \"active\",\n          \"userId\": 160102,\n          \"isGuest\": false,\n          \"lmsSisId\": \"\",\n          \"lmsUserId\": \"58fed561-2263-4152-86bc-cd9bc9bdedbc\",\n          \"lmsClassId\": \"30c98478bf565f086bc03fe4951eec5b3c718096\"\n        },\n        {\n          \"name\": \"Example Learner4\",\n          \"role\": \"student\",\n          \"email\": \"learner4@example.com\",\n          \"status\": \"active\",\n          \"userId\": 160104,\n          \"isGuest\": false,\n          \"lmsSisId\": \"\",\n          \"lmsUserId\": \"4c0d0ff3-a888-416d-b9a7-060255f3758a\",\n          \"lmsClassId\": \"30c98478bf565f086bc03fe4951eec5b3c718096\"\n        }\n      ],\n      \"schedules\": [\n        {\n          \"title\": \"Main lecture\",\n          \"description\": \"Weekly mandatory lecture for all students\",\n          \"events\": [\n            {\n              \"endDate\": \"2025-02-18T12:00:00.000Z\",\n              \"eventId\": 9010,\n              \"startDate\": \"2025-02-18T10:00:00.000Z\"\n            },\n            {\n              \"endDate\": \"2025-02-25T12:00:00.000Z\",\n              \"eventId\": 9011,\n              \"startDate\": \"2025-02-25T10:00:00.000Z\"\n            },\n            {\n              \"endDate\": \"2025-03-04T12:00:00.000Z\",\n              \"eventId\": 9012,\n              \"startDate\": \"2025-03-04T10:00:00.000Z\"\n            },\n            {\n              \"endDate\": \"2025-03-11T12:00:00.000Z\",\n              \"eventId\": 9013,\n              \"startDate\": \"2025-03-11T10:00:00.000Z\"\n            },\n            {\n              \"endDate\": \"2025-03-18T12:00:00.000Z\",\n              \"eventId\": 9014,\n              \"startDate\": \"2025-03-18T10:00:00.000Z\"\n            }\n          ],\n          \"endDate\": \"2025-03-18T12:00:00\",\n          \"startDate\": \"2025-02-18T10:00:00\",\n          \"daysOfWeek\": [\n            2\n          ],\n          \"createdTime\": \"2025-02-16T21:10:34.483513\"\n        },\n        {\n          \"title\": \"Office hours\",\n          \"description\": \"Optional drop-in session for questions\",\n          \"events\": [\n            {\n              \"endDate\": \"2025-02-17T09:30:00.000Z\",\n              \"eventId\": 9017,\n              \"startDate\": \"2025-02-17T09:00:00.000Z\"\n            },\n            {\n              \"endDate\": \"2025-02-24T09:30:00.000Z\",\n              \"eventId\": 9018,\n              \"startDate\": \"2025-02-24T09:00:00.000Z\"\n            },\n            {\n              \"endDate\": \"2025-03-03T09:30:00.000Z\",\n              \"eventId\": 9019,\n              \"startDate\": \"2025-03-03T09:00:00.000Z\"\n            },\n            {\n              \"endDate\": \"2025-03-10T09:30:00.000Z\",\n              \"eventId\": 9020,\n              \"startDate\": \"2025-03-10T09:00:00.000Z\"\n            }\n          ],\n          \"endDate\": \"2025-03-10T09:30:00\",\n          \"startDate\": \"2025-02-17T09:00:00\",\n          \"daysOfWeek\": [\n            1\n          ],\n          \"createdTime\": \"2025-02-17T15:47:42.195578\"\n        }\n      ]\n    },\n    {\n      \"classId\": 6222,\n      \"className\": \"Example 101(917de)\",\n      \"longName\": \"Example Maths 101 Spring 2025 Group 1\",\n      \"isArchived\": false,\n      \"isAdhoc\": false,\n      \"createdDate\": \"2025-02-16T16:32:20.142Z\",\n      \"modifiedDate\": \"2025-02-18T13:48:00.008Z\",\n      \"archivedDate\": null,\n      \"type\": \"lms\",\n      \"accessTokens\": {\n        \"registeredUser\": \"z6t0pb9jj\"\n      },\n      \"attendanceRatioThreshold\": 0.6,\n      \"timezone\": \"America/New_York\",\n      \"versions\": \"[1, 2]\",\n      \"lmsPlatformId\": 1,\n      \"lmsInfo\": [\n        {\n          \"custom\": {\n            \"termName\": \"Default term\",\n            \"courseAccountName\": \"Engageli\",\n            \"courseSectionRestricted\": false\n          },\n          \"lmsClassId\": \"8762589274fac608be5e49072bdea889506b1a06\",\n          \"lmsClassLabel\": \"Example 101\",\n          \"lmsClassTitle\": \"Example Maths 101 Spring 2025 Group 1\",\n          \"courseOfferingSourcedid\": \"\"\n        }\n      ],\n      \"roster\": [\n        {\n          \"name\": \"Example Instructor1\",\n          \"role\": \"prof\",\n          \"email\": \"instructor1@example.com\",\n          \"status\": \"active\",\n          \"userId\": 160099,\n          \"isGuest\": false,\n          \"lmsSisId\": \"\",\n          \"lmsUserId\": \"03e2222c-ca47-444c-b569-ac90a720836e\",\n          \"lmsClassId\": \"8762589274fac608be5e49072bdea889506b1a06\"\n        },\n        {\n          \"name\": \"Example Learner1\",\n          \"role\": \"student\",\n          \"email\": \"learner1@example.com\",\n          \"status\": \"active\",\n          \"userId\": 160101,\n          \"isGuest\": false,\n          \"lmsSisId\": \"\",\n          \"lmsUserId\": \"58935aad-75f1-45e1-9290-655efbfcb1a5\",\n          \"lmsClassId\": \"8762589274fac608be5e49072bdea889506b1a06\"\n        },\n        {\n          \"name\": \"Example Learner2\",\n          \"role\": \"student\",\n          \"email\": \"learner2@example.com\",\n          \"status\": \"active\",\n          \"userId\": 160103,\n          \"isGuest\": false,\n          \"lmsSisId\": \"\",\n          \"lmsUserId\": \"1ebd3192-8957-4e85-b5cf-8badb45e917c\",\n          \"lmsClassId\": \"8762589274fac608be5e49072bdea889506b1a06\"\n        }\n      ],\n      \"schedules\": [\n        {\n          \"title\": \"\",\n          \"description\": \"\",\n          \"events\": [\n            {\n              \"endDate\": \"2025-02-18T08:30:00.000Z\",\n              \"eventId\": 9021,\n              \"startDate\": \"2025-02-18T08:00:00.000Z\"\n            },\n            {\n              \"endDate\": \"2025-02-25T08:30:00.000Z\",\n              \"eventId\": 9022,\n              \"startDate\": \"2025-02-25T08:00:00.000Z\"\n            },\n            {\n              \"endDate\": \"2025-03-04T08:30:00.000Z\",\n              \"eventId\": 9023,\n              \"startDate\": \"2025-03-04T08:00:00.000Z\"\n            },\n            {\n              \"endDate\": \"2025-03-11T08:30:00.000Z\",\n              \"eventId\": 9024,\n              \"startDate\": \"2025-03-11T08:00:00.000Z\"\n            },\n            {\n              \"endDate\": \"2025-03-18T08:30:00.000Z\",\n              \"eventId\": 9025,\n              \"startDate\": \"2025-03-18T08:00:00.000Z\"\n            }\n          ],\n          \"endDate\": \"2025-03-18T08:30:00\",\n          \"startDate\": \"2025-02-18T08:00:00\",\n          \"daysOfWeek\": [\n            2\n          ],\n          \"createdTime\": \"2025-02-18T13:47:57.428275\"\n        }\n      ]\n    },\n    {\n      \"classId\": 6223,\n      \"className\": \"Example 101(44c74)\",\n      \"longName\": \"Example Maths 101 Spring 2025 Group 2\",\n      \"isArchived\": false,\n      \"isAdhoc\": false,\n      \"createdDate\": \"2025-02-16T16:34:57.251Z\",\n      \"modifiedDate\": \"2025-02-18T13:54:00.007Z\",\n      \"archivedDate\": null,\n      \"type\": \"lms\",\n      \"accessTokens\": {\n        \"registeredUser\": \"g4t96g68w\"\n      },\n      \"attendanceRatioThreshold\": 0.6,\n      \"timezone\": \"America/New_York\",\n      \"versions\": \"[1, 2]\",\n      \"lmsPlatformId\": 1,\n      \"lmsInfo\": [\n        {\n          \"custom\": {\n            \"termName\": \"Default term\",\n            \"courseAccountName\": \"Engageli\",\n            \"courseSectionRestricted\": false\n          },\n          \"lmsClassId\": \"30c98478bf565f086bc03fe4951eec5b3c718096\",\n          \"lmsClassLabel\": \"Example 101\",\n          \"lmsClassTitle\": \"Example Maths 101 Spring 2025 Group 2\",\n          \"courseOfferingSourcedid\": \"\"\n        }\n      ],\n      \"roster\": [\n        {\n          \"name\": \"Example Instructor2\",\n          \"role\": \"prof\",\n          \"email\": \"instructor2@example.com\",\n          \"status\": \"active\",\n          \"userId\": 160100,\n          \"isGuest\": false,\n          \"lmsSisId\": \"\",\n          \"lmsUserId\": \"1cf688a7-1fb1-49ef-8058-e31d631f4428\",\n          \"lmsClassId\": \"30c98478bf565f086bc03fe4951eec5b3c718096\"\n        },\n        {\n          \"name\": \"Example Learner3\",\n          \"role\": \"student\",\n          \"email\": \"learner3@example.com\",\n          \"status\": \"active\",\n          \"userId\": 160102,\n          \"isGuest\": false,\n          \"lmsSisId\": \"\",\n          \"lmsUserId\": \"58fed561-2263-4152-86bc-cd9bc9bdedbc\",\n          \"lmsClassId\": \"30c98478bf565f086bc03fe4951eec5b3c718096\"\n        },\n        {\n          \"name\": \"Example Learner4\",\n          \"role\": \"student\",\n          \"email\": \"learner4@example.com\",\n          \"status\": \"active\",\n          \"userId\": 160104,\n          \"isGuest\": false,\n          \"lmsSisId\": \"\",\n          \"lmsUserId\": \"4c0d0ff3-a888-416d-b9a7-060255f3758a\",\n          \"lmsClassId\": \"30c98478bf565f086bc03fe4951eec5b3c718096\"\n        }\n      ],\n      \"schedules\": [\n        {\n          \"title\": \"\",\n          \"description\": \"\",\n          \"events\": [\n            {\n              \"endDate\": \"2025-02-18T09:00:00.000Z\",\n              \"eventId\": 9026,\n              \"startDate\": \"2025-02-18T08:30:00.000Z\"\n            },\n            {\n              \"endDate\": \"2025-02-25T09:00:00.000Z\",\n              \"eventId\": 9027,\n              \"startDate\": \"2025-02-25T08:30:00.000Z\"\n            },\n            {\n              \"endDate\": \"2025-03-04T09:00:00.000Z\",\n              \"eventId\": 9028,\n              \"startDate\": \"2025-03-04T08:30:00.000Z\"\n            },\n            {\n              \"endDate\": \"2025-03-11T09:00:00.000Z\",\n              \"eventId\": 9029,\n              \"startDate\": \"2025-03-11T08:30:00.000Z\"\n            },\n            {\n              \"endDate\": \"2025-03-18T09:00:00.000Z\",\n              \"eventId\": 9030,\n              \"startDate\": \"2025-03-18T08:30:00.000Z\"\n            }\n          ],\n          \"endDate\": \"2025-03-18T09:00:00\",\n          \"startDate\": \"2025-02-18T08:30:00\",\n          \"daysOfWeek\": [\n            2\n          ],\n          \"createdTime\": \"2025-02-18T13:48:30.973381\"\n        }\n      ]\n    }\n  ]\n}"}],"_postman_id":"e5320cf7-4036-4037-b4fe-91a8f04ae6cb"},{"name":"Update a Class","id":"86d99618-ad2b-4ebb-b2af-f62ec33b3379","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"roster\": [\r\n        {\r\n            \"name\": \"John Doe\",\r\n            \"email\": \"john.doe@example.com\",\r\n            \"role\": \"prof\"\r\n        },\r\n        {\r\n            \"name\": \"Anna Smith\",\r\n            \"email\": \"anna.smith@example.com\",\r\n            \"role\": \"TA\"\r\n        },\r\n        {\r\n            \"name\": \"Jane Doe\",\r\n            \"email\": \"jane.doe@example.com\",\r\n            \"role\": \"student\",\r\n            \"status\": \"inactive\"\r\n        }\r\n    ],\r\n    \"timezone\": \"Europe/London\",\r\n    \"isArchived\": true\r\n}","options":{"raw":{"language":"json"}}},"url":"https://example.engageli.com/api/data-insights/example/v2/external/classes/:classId","description":"<h1 id=\"purpose\">Purpose</h1>\n<p>Update the configuration and/or roster of an existing Engageli classroom.</p>\n<h1 id=\"parameters-and-usage\">Parameters and Usage</h1>\n<p>Include a JSON body with the details of the class you want to update with the following keys.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Value Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>roster</code></td>\n<td><em>Array of Objects</em>. Optional. Each object represents a user you wish to have rostered to the class. Details of the object are below.  <br />Where they do not already exist in the class roster, they will be added. Where they do exist, they will be updated.</td>\n</tr>\n<tr>\n<td><code>timezone</code></td>\n<td><em>String</em>. Optional. Specify the <code>TZ identifier</code> (timezone) of the class for the purpose of interpreting schedules for analytics reporting in the portal and in the Attendance API. Engageli will observe the relevant daylight savings to ensure that events remain at the correct local time of day, even across changes in daylight saving. Example <code>TZ identifier</code> values: <a href=\"https://en.wikipedia.org/wiki/List_of_tz_database_time_zones\">https://en.wikipedia.org/wiki/List_of_tz_database_time_zones</a></td>\n</tr>\n<tr>\n<td><code>isArchived</code></td>\n<td><em>Boolean</em>. Optional. Use <code>true</code> to archive a class and use <code>false</code> to make it active. Archived classes do not permit users to join the live classroom or playback room.</td>\n</tr>\n</tbody>\n</table>\n</div><p>Each user object in the <code>roster</code> array must/may have the following keys and values:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Value Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td><em>String</em>. Required. The user's display name.</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td><em>String</em>. Required. The user's email address.</td>\n</tr>\n<tr>\n<td><code>role</code></td>\n<td><em>String</em>. Required. The required roster role. Valid values are <code>prof</code>, <code>TA</code> or <code>student</code>.</td>\n</tr>\n<tr>\n<td><code>lmsSisId</code></td>\n<td><em>String</em>. Optional. A customer identifier for this user, such as from a student information system or CRM.</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td><em>String</em>. Optional. Allowed values are <code>active</code> or <code>inactive</code>. Only <code>active</code> users may join a class. Use <code>inactive</code> to prohibit a user from joining a classroom without deleting them from the roster as that removes their attendance and engagement data from that class. Where omitted, the existing value will be retained for existing roster users and the default value of <code>active</code> will be used for new roster users.</td>\n</tr>\n</tbody>\n</table>\n</div><p>Note, if the provided <code>email</code> already exists for a user in your Engageli instance, the <code>name</code> and <code>lmsSisId</code> will be updated with the value you provide, if different to what is already stored, as these are global values for a user within an Engageli instance, and not specific to a classroom.</p>\n<h1 id=\"response-schema\">Response Schema</h1>\n<p>At the root of the response of a successful call (with a 200 OK status response) are the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Value Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>ok</code></td>\n<td><em>Boolean</em>. <code>true</code></td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td><em>String</em>. <code>\"classes\"</code>. This simply denotes which API is responding.</td>\n</tr>\n<tr>\n<td><code>version</code></td>\n<td><em>String</em>. <code>\"2.0\"</code></td>\n</tr>\n<tr>\n<td><code>url</code></td>\n<td><em>String</em>. The url path of the request that produced this response.</td>\n</tr>\n</tbody>\n</table>\n</div><p>The response does not provide the full updated class configuration. To see a full view of the updated class configuration and roster, use the <code>GET</code> method to the Classes API, specifying the <code>classId</code> as a parameter.</p>\n<h1 id=\"nuances\">Nuances</h1>\n<p>This API will not work for Engageli multi-stack implementations. Most Engageli instances are single-stack implementations however, and we will let you know if not.</p>\n<p>If the Engageli classroom has a live class running, or is being edited in the Admin Portal or Class Portal, you will not be able to complete the API call and will get a <code>400 Bad Request</code> response. Retry is not advised until the room is available, which is not likely to be imminent.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"from_token_endpoint"}]},"isInherited":true,"source":{"_postman_id":"89a0bb0d-6e9b-402a-8982-ec3cc4376420","id":"89a0bb0d-6e9b-402a-8982-ec3cc4376420","name":"Engageli API","type":"collection"}},"urlObject":{"protocol":"https","path":["api","data-insights","example","v2","external","classes",":classId"],"host":["example.engageli.com"],"query":[],"variable":[{"description":{"content":"<p>The Engageli internal class ID of the classroom you want to update</p>\n","type":"text/plain"},"type":"any","value":"","key":"classId"}]}},"response":[{"id":"e7c33c9e-8234-47e8-bc48-1ef421b28341","name":"200 OK","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"roster\": [\r\n        {\r\n            \"name\": \"John Doe\",\r\n            \"email\": \"john.doe@example.com\",\r\n            \"role\": \"prof\"\r\n        },\r\n        {\r\n            \"name\": \"Anna Smith\",\r\n            \"email\": \"anna.smith@example.com\",\r\n            \"role\": \"TA\"\r\n        },\r\n        {\r\n            \"name\": \"Jane Doe\",\r\n            \"email\": \"jane.doe@example.com\",\r\n            \"role\": \"student\"\r\n        }\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://example.engageli.com/api/data-insights/example/v2/external/classes/:classId","protocol":"https","host":["example","engageli","com"],"path":["api","data-insights","example","v2","external","classes",":classId"],"variable":[{"key":"classId","value":"101"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Tue, 18 Feb 2025 15:59:47 GMT"},{"key":"Permissions-Policy","value":"accelerometer=(),autoplay=*,camera=(self),encrypted-media=(),fullscreen=*,geolocation=(self),gyroscope=(),magnetometer=(),microphone=(self),midi=(),payment=(self),picture-in-picture=*,publickey-credentials-get=(),screen-wake-lock=(self),sync-xhr=(self),usb=(self),xr-spatial-tracking=()"},{"key":"Content-Encoding","value":"gzip"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Security-Policy","value":"default-src 'self'; font-src 'self' https: data:; img-src 'self' blob: data: https:; object-src 'none'; script-src 'unsafe-eval' 'self' 'sha256-1P7pfYIX5uui48jv3jJTENpF7uVSv/iYb9YkbJm6Hos=' 'sha256-hZ39PMN+tlPLQx61o7zG0TAuYyLoGbXWHkOslKFw+/M=' 'sha256-Gagf4D9b8KK6T/qA4w9SYsYKu0ZPoo/kVn27Lf/fVoE=' 'sha256-SxfF3aB+8OGwBqOwrZT6iTeC7PqDtp1zSpOomp8Q/Hg=' https://*.engageli.com:* https://*.engageli-test.com:* https://www.youtube.com:* https://*.google.com:* https://*.vimeo.com:* https://vimeo.com:* https://miro.com:* https://*.mixpanel.com:* https://cdn.jsdelivr.net:* https://js.hsforms.net:* blob: ; script-src-attr 'none'; style-src 'self' https: 'unsafe-inline'; frame-src nggli: *; media-src 'self' https: blob:; connect-src https://*.engageli.com:* https://*.ingest.sentry.io https://*.engageli-test.com:* wss://*.engageli.com:* wss://*.engageli-test.com:* https://noembed.com:* file://* https://*.amazonaws.com:* wss://*.amazonaws.com:* https://*.cloudfront.net:* https://*.gravatar.com:* https://vimeo.com:* https://*.vimeo.com:* https://*.mixpanel.com:* https://*.miro.com:* https://storage.googleapis.com:* https://cdn.jsdelivr.net:* https://tfhub.dev:* https://www.kaggle.com:* https://kaggle.com:* https://forms.hsforms.com:* wss://matan-engageli.sip.signalwire.com:* https://*.auth0.com:*  blob:; base-uri 'self'; frame-ancestors https://*.google.com https://*.engageli-test.com/ https://*.instructure.com https://*.engageli.com https://*.engageli-dev.com https://*.brightspace.com https://*.brightspacedemo.com https://*.moodlecloud.com https://engageli-lti1p3.docebosaas.com https://moodle.us.engageli-dev.com;"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-site"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Strict-Transport-Security","value":"max-age=63072000; includeSubDomains; preload"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"X-RateLimit-Reset","value":"1739894448"},{"key":"ETag","value":"W/\"1bd60-dB9dicQSEwyIN593T5C4+T1l6NA\""},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 835f3c9e7c3bc0e7766edf13dac581de.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"LHR50-P3"},{"key":"X-Amz-Cf-Id","value":"ReAwWw8l8CuAG5tvhXr8UhALvya8Fx_YGGkfpxVvkjeQSqAZRLx0Hg=="},{"key":"X-Robots-Tag","value":"noindex, nofollow, nosnippet, noarchive"}],"cookie":[],"responseTime":null,"body":"{\n  \"ok\": true,\n  \"type\": \"classes\",\n  \"version\": \"2.0\",\n  \"url\": \"/api/data-insights/example/v2/external/classes/101\"\n}"},{"id":"73080140-c79b-4980-a91e-693831a3ac7d","name":"400 Bad Request (Class locked)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"roster\": [\r\n        {\r\n            \"name\": \"John Doe\",\r\n            \"email\": \"john.doe@example.com\",\r\n            \"role\": \"prof\"\r\n        },\r\n        {\r\n            \"name\": \"Anna Smith\",\r\n            \"email\": \"anna.smith@example.com\",\r\n            \"role\": \"TA\"\r\n        },\r\n        {\r\n            \"name\": \"Jane Doe\",\r\n            \"email\": \"jane.doe@example.com\",\r\n            \"role\": \"student\"\r\n        }\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://example.engageli.com/api/data-insights/example/v2/external/classes/:classId","protocol":"https","host":["example","engageli","com"],"path":["api","data-insights","example","v2","external","classes",":classId"],"variable":[{"key":"classId","value":"101"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Tue, 18 Feb 2025 15:59:47 GMT"},{"key":"Permissions-Policy","value":"accelerometer=(),autoplay=*,camera=(self),encrypted-media=(),fullscreen=*,geolocation=(self),gyroscope=(),magnetometer=(),microphone=(self),midi=(),payment=(self),picture-in-picture=*,publickey-credentials-get=(),screen-wake-lock=(self),sync-xhr=(self),usb=(self),xr-spatial-tracking=()"},{"key":"Content-Encoding","value":"gzip"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Security-Policy","value":"default-src 'self'; font-src 'self' https: data:; img-src 'self' blob: data: https:; object-src 'none'; script-src 'unsafe-eval' 'self' 'sha256-1P7pfYIX5uui48jv3jJTENpF7uVSv/iYb9YkbJm6Hos=' 'sha256-hZ39PMN+tlPLQx61o7zG0TAuYyLoGbXWHkOslKFw+/M=' 'sha256-Gagf4D9b8KK6T/qA4w9SYsYKu0ZPoo/kVn27Lf/fVoE=' 'sha256-SxfF3aB+8OGwBqOwrZT6iTeC7PqDtp1zSpOomp8Q/Hg=' https://*.engageli.com:* https://*.engageli-test.com:* https://www.youtube.com:* https://*.google.com:* https://*.vimeo.com:* https://vimeo.com:* https://miro.com:* https://*.mixpanel.com:* https://cdn.jsdelivr.net:* https://js.hsforms.net:* blob: ; script-src-attr 'none'; style-src 'self' https: 'unsafe-inline'; frame-src nggli: *; media-src 'self' https: blob:; connect-src https://*.engageli.com:* https://*.ingest.sentry.io https://*.engageli-test.com:* wss://*.engageli.com:* wss://*.engageli-test.com:* https://noembed.com:* file://* https://*.amazonaws.com:* wss://*.amazonaws.com:* https://*.cloudfront.net:* https://*.gravatar.com:* https://vimeo.com:* https://*.vimeo.com:* https://*.mixpanel.com:* https://*.miro.com:* https://storage.googleapis.com:* https://cdn.jsdelivr.net:* https://tfhub.dev:* https://www.kaggle.com:* https://kaggle.com:* https://forms.hsforms.com:* wss://matan-engageli.sip.signalwire.com:* https://*.auth0.com:*  blob:; base-uri 'self'; frame-ancestors https://*.google.com https://*.engageli-test.com/ https://*.instructure.com https://*.engageli.com https://*.engageli-dev.com https://*.brightspace.com https://*.brightspacedemo.com https://*.moodlecloud.com https://engageli-lti1p3.docebosaas.com https://moodle.us.engageli-dev.com;"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-site"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Strict-Transport-Security","value":"max-age=63072000; includeSubDomains; preload"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"X-RateLimit-Reset","value":"1739894448"},{"key":"ETag","value":"W/\"1bd60-dB9dicQSEwyIN593T5C4+T1l6NA\""},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 835f3c9e7c3bc0e7766edf13dac581de.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"LHR50-P3"},{"key":"X-Amz-Cf-Id","value":"ReAwWw8l8CuAG5tvhXr8UhALvya8Fx_YGGkfpxVvkjeQSqAZRLx0Hg=="},{"key":"X-Robots-Tag","value":"noindex, nofollow, nosnippet, noarchive"}],"cookie":[],"responseTime":null,"body":"{\n    \"ok\": false,\n    \"type\": \"classes\",\n    \"version\": \"2.0\",\n    \"url\": \"/api/data-insights/example/v2/external/classes/101\",\n    \"msg\": \"class is locked by user@example.com.\"\n}"},{"id":"c1cfd487-5dd2-4307-85b2-8f79567b764e","name":"400 Bad Request (Class active)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"roster\": [\r\n        {\r\n            \"name\": \"John Doe\",\r\n            \"email\": \"john.doe@example.com\",\r\n            \"role\": \"prof\"\r\n        },\r\n        {\r\n            \"name\": \"Anna Smith\",\r\n            \"email\": \"anna.smith@example.com\",\r\n            \"role\": \"TA\"\r\n        },\r\n        {\r\n            \"name\": \"Jane Doe\",\r\n            \"email\": \"jane.doe@example.com\",\r\n            \"role\": \"student\"\r\n        }\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://example.engageli.com/api/data-insights/example/v2/external/classes/:classId","protocol":"https","host":["example","engageli","com"],"path":["api","data-insights","example","v2","external","classes",":classId"],"variable":[{"key":"classId","value":"101"}]}},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Tue, 18 Feb 2025 15:59:47 GMT"},{"key":"Permissions-Policy","value":"accelerometer=(),autoplay=*,camera=(self),encrypted-media=(),fullscreen=*,geolocation=(self),gyroscope=(),magnetometer=(),microphone=(self),midi=(),payment=(self),picture-in-picture=*,publickey-credentials-get=(),screen-wake-lock=(self),sync-xhr=(self),usb=(self),xr-spatial-tracking=()"},{"key":"Content-Encoding","value":"gzip"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Security-Policy","value":"default-src 'self'; font-src 'self' https: data:; img-src 'self' blob: data: https:; object-src 'none'; script-src 'unsafe-eval' 'self' 'sha256-1P7pfYIX5uui48jv3jJTENpF7uVSv/iYb9YkbJm6Hos=' 'sha256-hZ39PMN+tlPLQx61o7zG0TAuYyLoGbXWHkOslKFw+/M=' 'sha256-Gagf4D9b8KK6T/qA4w9SYsYKu0ZPoo/kVn27Lf/fVoE=' 'sha256-SxfF3aB+8OGwBqOwrZT6iTeC7PqDtp1zSpOomp8Q/Hg=' https://*.engageli.com:* https://*.engageli-test.com:* https://www.youtube.com:* https://*.google.com:* https://*.vimeo.com:* https://vimeo.com:* https://miro.com:* https://*.mixpanel.com:* https://cdn.jsdelivr.net:* https://js.hsforms.net:* blob: ; script-src-attr 'none'; style-src 'self' https: 'unsafe-inline'; frame-src nggli: *; media-src 'self' https: blob:; connect-src https://*.engageli.com:* https://*.ingest.sentry.io https://*.engageli-test.com:* wss://*.engageli.com:* wss://*.engageli-test.com:* https://noembed.com:* file://* https://*.amazonaws.com:* wss://*.amazonaws.com:* https://*.cloudfront.net:* https://*.gravatar.com:* https://vimeo.com:* https://*.vimeo.com:* https://*.mixpanel.com:* https://*.miro.com:* https://storage.googleapis.com:* https://cdn.jsdelivr.net:* https://tfhub.dev:* https://www.kaggle.com:* https://kaggle.com:* https://forms.hsforms.com:* wss://matan-engageli.sip.signalwire.com:* https://*.auth0.com:*  blob:; base-uri 'self'; frame-ancestors https://*.google.com https://*.engageli-test.com/ https://*.instructure.com https://*.engageli.com https://*.engageli-dev.com https://*.brightspace.com https://*.brightspacedemo.com https://*.moodlecloud.com https://engageli-lti1p3.docebosaas.com https://moodle.us.engageli-dev.com;"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-site"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Strict-Transport-Security","value":"max-age=63072000; includeSubDomains; preload"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"X-RateLimit-Reset","value":"1739894448"},{"key":"ETag","value":"W/\"1bd60-dB9dicQSEwyIN593T5C4+T1l6NA\""},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 835f3c9e7c3bc0e7766edf13dac581de.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"LHR50-P3"},{"key":"X-Amz-Cf-Id","value":"ReAwWw8l8CuAG5tvhXr8UhALvya8Fx_YGGkfpxVvkjeQSqAZRLx0Hg=="},{"key":"X-Robots-Tag","value":"noindex, nofollow, nosnippet, noarchive"}],"cookie":[],"responseTime":null,"body":"{\n    \"ok\": false,\n    \"type\": \"classes\",\n    \"version\": \"2.0\",\n    \"url\": \"/api/data-insights/example/v2/external/classes/101\",\n    \"msg\": \"class is open.\"\n}"}],"_postman_id":"86d99618-ad2b-4ebb-b2af-f62ec33b3379"},{"name":"Remove Roster Users","id":"8703f662-ff50-41ca-8f3e-97377748698b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"emails\": [\r\n        \"john.doe@example.com\",\r\n        \"jane.doe@example.com\"\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":"https://example.engageli.com/api/data-insights/example/v2/external/classes/:classId/remove-rosters","description":"<h1 id=\"purpose\">Purpose</h1>\n<p>Remove users from the roster of a classroom, and delete all their attendance and engagement data from the class.</p>\n<h1 id=\"parameters-and-usage\">Parameters and Usage</h1>\n<p>Note, if you simply wish to prohibit a user from joining a class without deleting their data from the classroom, use the PATCH method to the Classes API and set the user's status to <code>inactive</code>. While a user can be re-added to a roster, their data will not be restored.</p>\n<p>Include a JSON body with the details of the class you want to update with the following keys.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Value Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>emails</code></td>\n<td><em>Array of Strings</em>. Required. Each string is an email address of a user you wish to remove from a class roster.</td>\n</tr>\n</tbody>\n</table>\n</div><h1 id=\"response-schema\">Response Schema</h1>\n<p>At the root of the response of a successful call (with a 200 OK status response) are the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Value Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>ok</code></td>\n<td><em>Boolean</em>. <code>true</code></td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td><em>String</em>. <code>\"classes\"</code>. This simply denotes which API is responding.</td>\n</tr>\n<tr>\n<td><code>version</code></td>\n<td><em>String</em>. <code>\"2.0\"</code></td>\n</tr>\n<tr>\n<td><code>url</code></td>\n<td><em>String</em>. The url path of the request that produced this response.</td>\n</tr>\n</tbody>\n</table>\n</div><p>To see a full view of the updated class configuration and roster, use the <code>GET</code> method to the Classes API.</p>\n<h1 id=\"nuances\">Nuances</h1>\n<p>This API will not work for Engageli multi-stack implementations. Most Engageli instances are single-stack however, and we will let you know if not.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"from_token_endpoint"}]},"isInherited":true,"source":{"_postman_id":"89a0bb0d-6e9b-402a-8982-ec3cc4376420","id":"89a0bb0d-6e9b-402a-8982-ec3cc4376420","name":"Engageli API","type":"collection"}},"urlObject":{"protocol":"https","path":["api","data-insights","example","v2","external","classes",":classId","remove-rosters"],"host":["example.engageli.com"],"query":[],"variable":[{"description":{"content":"<p>The Engageli internal class ID of the classroom you want to remove users from the roster of.</p>\n","type":"text/plain"},"type":"any","value":"","key":"classId"}]}},"response":[{"id":"0d66bc4a-69c1-4c9e-8bcb-89c761a888c5","name":"200 OK","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"emails\": [\r\n        \"student1@example.com\",\r\n        \"student2@example.com\"\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://example.engageli.com/api/data-insights/example/v2/external/classes/:classId/remove-rosters","protocol":"https","host":["example","engageli","com"],"path":["api","data-insights","example","v2","external","classes",":classId","remove-rosters"],"variable":[{"key":"classId","value":"123"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Tue, 18 Feb 2025 15:59:47 GMT"},{"key":"Permissions-Policy","value":"accelerometer=(),autoplay=*,camera=(self),encrypted-media=(),fullscreen=*,geolocation=(self),gyroscope=(),magnetometer=(),microphone=(self),midi=(),payment=(self),picture-in-picture=*,publickey-credentials-get=(),screen-wake-lock=(self),sync-xhr=(self),usb=(self),xr-spatial-tracking=()"},{"key":"Content-Encoding","value":"gzip"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Security-Policy","value":"default-src 'self'; font-src 'self' https: data:; img-src 'self' blob: data: https:; object-src 'none'; script-src 'unsafe-eval' 'self' 'sha256-1P7pfYIX5uui48jv3jJTENpF7uVSv/iYb9YkbJm6Hos=' 'sha256-hZ39PMN+tlPLQx61o7zG0TAuYyLoGbXWHkOslKFw+/M=' 'sha256-Gagf4D9b8KK6T/qA4w9SYsYKu0ZPoo/kVn27Lf/fVoE=' 'sha256-SxfF3aB+8OGwBqOwrZT6iTeC7PqDtp1zSpOomp8Q/Hg=' https://*.engageli.com:* https://*.engageli-test.com:* https://www.youtube.com:* https://*.google.com:* https://*.vimeo.com:* https://vimeo.com:* https://miro.com:* https://*.mixpanel.com:* https://cdn.jsdelivr.net:* https://js.hsforms.net:* blob: ; script-src-attr 'none'; style-src 'self' https: 'unsafe-inline'; frame-src nggli: *; media-src 'self' https: blob:; connect-src https://*.engageli.com:* https://*.ingest.sentry.io https://*.engageli-test.com:* wss://*.engageli.com:* wss://*.engageli-test.com:* https://noembed.com:* file://* https://*.amazonaws.com:* wss://*.amazonaws.com:* https://*.cloudfront.net:* https://*.gravatar.com:* https://vimeo.com:* https://*.vimeo.com:* https://*.mixpanel.com:* https://*.miro.com:* https://storage.googleapis.com:* https://cdn.jsdelivr.net:* https://tfhub.dev:* https://www.kaggle.com:* https://kaggle.com:* https://forms.hsforms.com:* wss://matan-engageli.sip.signalwire.com:* https://*.auth0.com:*  blob:; base-uri 'self'; frame-ancestors https://*.google.com https://*.engageli-test.com/ https://*.instructure.com https://*.engageli.com https://*.engageli-dev.com https://*.brightspace.com https://*.brightspacedemo.com https://*.moodlecloud.com https://engageli-lti1p3.docebosaas.com https://moodle.us.engageli-dev.com;"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Cross-Origin-Resource-Policy","value":"same-site"},{"key":"Origin-Agent-Cluster","value":"?1"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"Strict-Transport-Security","value":"max-age=63072000; includeSubDomains; preload"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"X-RateLimit-Reset","value":"1739894448"},{"key":"ETag","value":"W/\"1bd60-dB9dicQSEwyIN593T5C4+T1l6NA\""},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 835f3c9e7c3bc0e7766edf13dac581de.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"LHR50-P3"},{"key":"X-Amz-Cf-Id","value":"ReAwWw8l8CuAG5tvhXr8UhALvya8Fx_YGGkfpxVvkjeQSqAZRLx0Hg=="},{"key":"X-Robots-Tag","value":"noindex, nofollow, nosnippet, noarchive"}],"cookie":[],"responseTime":null,"body":"{\n    \"ok\": true,\n    \"type\": \"classes\",\n    \"version\": \"2.0\",\n    \"url\": \"/api/data-insights/example/v2/external/classes/123/remove-rosters\"\n}"}],"_postman_id":"8703f662-ff50-41ca-8f3e-97377748698b"},{"name":"Delete a Class","id":"c535c048-aeda-4c64-b30d-0f82fa553bd5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://example.engageli.com/api/data-insights/example/v2/external/classes/:classId","description":"<h1 id=\"purpose\">Purpose</h1>\n<p>Delete an existing class in your Engageli instance.</p>\n<h1 id=\"parameters-and-usage\">Parameters and Usage</h1>\n<p>Pass an Engageli <code>classId</code> value as a path variable, and if the class exists, the API will return a confirmation of successful deletion.</p>\n<p>Caution - the class will be deleted along with all associated data, including attendance and engagement records, recordings, AI summaries, Q&amp;A, Notes, and any Playback Room materials such as Engageli Studio Modules. The deleted class <strong>cannot be recovered</strong>, so only use this method if you are sure you want to permanently delete the class and all its data. If you only want to stop the class being used, consider setting the class to archived.</p>\n<p><strong>Response Schema</strong></p>\n<p>At the root of the response are the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Value Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>ok</code></td>\n<td><em>Boolean</em>. <code>true</code></td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td><em>String</em>. <code>\"classes\"</code>. This simply denotes which API is responding.</td>\n</tr>\n<tr>\n<td><code>version</code></td>\n<td><em>String</em>. <code>\"2.0\"</code></td>\n</tr>\n<tr>\n<td><code>url</code></td>\n<td><em>String</em>. The url path of the request that produced this response.</td>\n</tr>\n</tbody>\n</table>\n</div><h1 id=\"nuances\">Nuances</h1>\n<p>This API will not work for Engageli multi-stack implementations. However, most Engageli instances are single-stack and we will let you know if not.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"from_token_endpoint"}]},"isInherited":true,"source":{"_postman_id":"89a0bb0d-6e9b-402a-8982-ec3cc4376420","id":"89a0bb0d-6e9b-402a-8982-ec3cc4376420","name":"Engageli API","type":"collection"}},"urlObject":{"protocol":"https","path":["api","data-insights","example","v2","external","classes",":classId"],"host":["example.engageli.com"],"query":[],"variable":[{"description":{"content":"<p>The classId value of an existing Engageli classroom you want to delete.</p>\n","type":"text/plain"},"type":"any","value":"","key":"classId"}]}},"response":[{"id":"635f6825-0096-49bc-b604-d0bb9a2e0ee6","name":"200 OK","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://example.engageli.com/api/data-insights/example/v2/external/classes/:classId","protocol":"https","host":["example","engageli","com"],"path":["api","data-insights","example","v2","external","classes",":classId"],"variable":[{"key":"classId","value":"217","description":"Class ID to be deleted"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"ok\": true,\n    \"type\": \"classes\",\n    \"version\": \"2.0\",\n    \"url\": \"/api/data-insights/example/v2/external/classes/217\"\n}"}],"_postman_id":"c535c048-aeda-4c64-b30d-0f82fa553bd5"}],"id":"53414f29-17e9-46f7-ac2f-9b1f353eae4e","description":"<p>Class Management APIs are here to help you manage the lifecycle of an Engageli classroom. Typically you would use these when you do not have a LTI integration with a Learning Management System, as this does much of the same work. If you want to instead drive the lifecycle from another source such as a CRM, these APIs are what you would use.</p>\n","_postman_id":"53414f29-17e9-46f7-ac2f-9b1f353eae4e","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"from_token_endpoint"}]},"isInherited":true,"source":{"_postman_id":"89a0bb0d-6e9b-402a-8982-ec3cc4376420","id":"89a0bb0d-6e9b-402a-8982-ec3cc4376420","name":"Engageli API","type":"collection"}}},{"name":"Fetch an Access Token","event":[{"listen":"test","script":{"type":"text/javascript","exec":["var jsonData = JSON.parse(responseBody);\npm.collectionVariables.set(\"jwt\", jsonData.token);"]}}],"id":"8f6c77db-662f-4fc8-9454-29161f1060b2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"Authorization"},{"key":"value","value":"your_api_key"}]},"isInherited":false},"method":"GET","header":[],"url":"https://example.engageli.com/api/example/api-auth/token","description":"<h1 id=\"purpose\">Purpose</h1>\n<p>Request a JWT (<a href=\"https://en.wikipedia.org/wiki/JSON_Web_Token\">JSON Web Token</a>) that is used as a <code>Bearer</code> token in an <code>Authorization</code> header for requests to all other endpoints.</p>\n<h1 id=\"response-schema\">Response Schema</h1>\n<p>The JWT is provided in the response under the root key <code>token</code> and is valid for 1 hour.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key</strong></th>\n<th><strong>Value Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>token</code></td>\n<td><em>String</em>. Use the entire String contents as the value for an Authorization header in your API requests.</td>\n</tr>\n</tbody>\n</table>\n</div><h1 id=\"nuances\">Nuances</h1>\n<p>When pulling large amounts of data from the Engageli APIs (e.g. for historical data initial load), if you use a JWT for a request to an Engageli API and the expiry date on the token has expired, you will receive a <code>401 Unauthorized</code> response. You may choose to use this response to trigger fetching a new JWT to continue the loading, or you may want to programmatically track the expiry date of the JWT and renew the token before it expires.</p>\n<p>You may request multiple tokens and use them concurrently while each is still valid. But you should ensure that your overall request rate does not exceed the supported levels, as the rate limit is applied globally across your Engageli instance.</p>\n","urlObject":{"protocol":"https","path":["api","example","api-auth","token"],"host":["example.engageli.com"],"query":[],"variable":[]}},"response":[{"id":"1350b146-8818-48aa-bee5-1f2e5f39a8f2","name":"200 OK","originalRequest":{"method":"GET","header":[],"url":"https://example.engageli.com/api/example/api-auth/token"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"191"},{"key":"Connection","value":"keep-alive"},{"key":"Date","value":"Tue, 18 Feb 2025 17:01:16 GMT"},{"key":"Permissions-Policy","value":"accelerometer=(),autoplay=*,camera=(self),encrypted-media=(),fullscreen=*,geolocation=(self),gyroscope=(),magnetometer=(),microphone=(self),midi=(),payment=(self),picture-in-picture=*,publickey-credentials-get=(),screen-wake-lock=(self),sync-xhr=(self),usb=(self),xr-spatial-tracking=()"},{"key":"Access-Control-Allow-Origin","value":"https://test3152.marlon.engageli-test.com:8080"},{"key":"Vary","value":"Origin"},{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Content-Security-Policy","value":"default-src 'self'; font-src 'self' https: data:; img-src 'self' blob: data: https:; object-src 'none'; script-src 'unsafe-eval' 'self' 'sha256-1P7pfYIX5uui48jv3jJTENpF7uVSv/iYb9YkbJm6Hos=' 'sha256-hZ39PMN+tlPLQx61o7zG0TAuYyLoGbXWHkOslKFw+/M=' 'sha256-Gagf4D9b8KK6T/qA4w9SYsYKu0ZPoo/kVn27Lf/fVoE=' 'sha256-SxfF3aB+8OGwBqOwrZT6iTeC7PqDtp1zSpOomp8Q/Hg=' https://*.engageli.com:* https://*.engageli-test.com:* https://www.youtube.com:* https://*.google.com:* https://*.vimeo.com:* https://vimeo.com:* https://miro.com:* https://*.mixpanel.com:* https://cdn.jsdelivr.net:* https://js.hsforms.net:* blob: ; script-src-attr 'none'; style-src 'self' https: 'unsafe-inline'; frame-src nggli: *; media-src 'self' https: blob:; connect-src https://*.engageli.com:* https://*.ingest.sentry.io https://*.engageli-test.com:* wss://*.engageli.com:* wss://*.engageli-test.com:* https://noembed.com:* file://* https://*.amazonaws.com:* wss://*.amazonaws.com:* https://*.cloudfront.net:* https://*.gravatar.com:* https://vimeo.com:* https://*.vimeo.com:* https://*.mixpanel.com:* https://*.miro.com:* https://storage.googleapis.com:* https://cdn.jsdelivr.net:* https://tfhub.dev:* https://www.kaggle.com:* https://kaggle.com:* https://forms.hsforms.com:* wss://matan-engageli.sip.signalwire.com:* https://*.auth0.com:*  blob:; base-uri 'self'; frame-ancestors https://*.google.com https://*.engageli-test.com/ https://*.instructure.com https://*.engageli.com https://*.engageli-dev.com https://*.brightspace.com https://*.brightspacedemo.com https://*.moodlecloud.com https://engageli-lti1p3.docebosaas.com https://moodle.us.engageli-dev.com;"},{"key":"Cross-Origin-Resource-Policy","value":"same-site"},{"key":"X-DNS-Prefetch-Control","value":"off"},{"key":"Expect-CT","value":"max-age=0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Strict-Transport-Security","value":"max-age=63072000; includeSubDomains; preload"},{"key":"X-Download-Options","value":"noopen"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Permitted-Cross-Domain-Policies","value":"none"},{"key":"Referrer-Policy","value":"strict-origin-when-cross-origin"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"private, no-cache, no-store, must-revalidate"},{"key":"Expires","value":"-1"},{"key":"Pragma","value":"no-cache"},{"key":"ETag","value":"W/\"bf-BW2ZGbyw7+yt+5y/CKIl83dqMD0\""},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 aa2f611dc578ba7eecb9a39cb23b1b70.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"LHR50-P3"},{"key":"X-Amz-Cf-Id","value":"p8siwrtPXjV6w5Qy_7lJrm-0DH6mxfiFWU8U9TNIfuSjTjaoHAn3Hg=="},{"key":"X-Robots-Tag","value":"noindex, nofollow, nosnippet, noarchive"}],"cookie":[],"responseTime":null,"body":"{\n    \"token\": \"abcd...your_1hr_jwt_token....7890\"\n}"}],"_postman_id":"8f6c77db-662f-4fc8-9454-29161f1060b2"}],"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"from_token_endpoint"}]}},"event":[{"listen":"prerequest","script":{"id":"2bb7dc44-0124-465d-abe0-cfc1e503a422","type":"text/javascript","requests":{},"exec":[""]}},{"listen":"test","script":{"id":"bc92aee2-d9fe-48d6-b274-e504cc399415","type":"text/javascript","requests":{},"exec":[""]}}],"variable":[{"key":"your_api_key","value":"your_api_key"},{"key":"host","value":"example.engageli.com"},{"key":"sandbox","value":"example"},{"key":"jwt","value":"from_token_endpoint"}]}