---
title: "Tables: performance and completion"
description: "Lists the Reporting API tables that hold performance and completion data for learners across content in Mindtickle, with their update frequency and download links."
contentType: "reference"
url: "https://developer.mindtickle.com/docs/reporting/tables-performance-and-completion/"
---

## Prerequisites

1. [FAQ](/docs/reporting/faq/#how-do-i-enable-reporting-api-access-for-a-user): Your email address must be enabled for Reporting API access.

These tables provide performance and completion data for learners across content in Mindtickle. Sample links request up to 10 results. Full-data links omit that sample limit but remain subject to [data limits and pagination requirements](/docs/reporting/best-practices/#data-limits). For the attributes in each table, see the [Reporting API metadata sheet](https://docs.google.com/spreadsheets/d/1mghEtkASz0OO9YUE2lJjjMfnZ4ilsGrmyFXqNpkM-Qo/edit#gid=0).

## Module level: generic

| Table name | Update frequency | Description | Downloads |
| --- | --- | --- | --- |
| `LearnerModulePerformances` | Hourly | Contains each learner's performance and engagement details for all modules they have been invited to, such as series ID, module ID, user ID, invitation date, start and end date, completion percentage, and score. Granularity: `UserId x ModuleId x SeriesId`. | [Sample data](https://admin.mindtickle.com/Odata.svc/LearnerModulePerformances?$format=csv&$top=10), [full data](https://admin.mindtickle.com/Odata.svc/LearnerModulePerformances?%24format=csv) |
| `LearnerModulePerformancesIncremental` | Hourly | Contains all the metrics available in `LearnerModulePerformances`, plus additional fields including `LearnerState` and `LastUpdatedTimestamp`. Check the timestamp field name in your table metadata before building incremental queries. See [Notes](#notes). Granularity: `UserId x ModuleId x SeriesId`. | [Build a date-filtered sample query](#incremental-sample-queries) |
| `ContentTypeMeta` | Hourly | Contains additional metadata about the content added to modules, such as content type, file size, question types, titles, options, and tags. Granularity: `ModuleId x LearningObjectId x OptionNo`. | [Sample data](https://admin.mindtickle.com/Odata.svc/ContentTypeMeta?$format=csv&$top=10), [full data](https://admin.mindtickle.com/Odata.svc/ContentTypeMeta?%24format=csv) |

## Module level: specific modules

| Table name | Update frequency | Description | Downloads |
| --- | --- | --- | --- |
| `CoachingSessions` | Every 6 hours | Contains information for each session. For each coaching session you get a `ModuleId`, the session number, the name and email address of the reviewer, and the time at which the session was reviewed and scheduled. Granularity: `UserId x ModuleId x SessionNo`. | [Sample data](https://admin.mindtickle.com/Odata.svc/CoachingSessions?$format=csv&$top=10), [full data](https://admin.mindtickle.com/Odata.svc/CoachingSessions?%24format=csv) |
| `Missions` | Every 6 hours | Contains information for each reattempt that a learner takes for a mission. Granularity: `UserId x ModuleId x ReattemptNo x ReviewerId`. | [Sample data](https://admin.mindtickle.com/Odata.svc/Missions?$format=csv&$top=10), [full data](https://admin.mindtickle.com/Odata.svc/Missions?%24format=csv) |
| `AIRoleplays` | Every 6 hours | Contains information for each reattempt that a learner takes for an AI Roleplay. Fields match the `Missions` table. Granularity: `UserId x ModuleId x ReattemptNo x ReviewerId`. | [Sample data](https://admin.mindtickle.com/Odata.svc/AIRoleplays?$format=csv&$top=10), [full data](https://admin.mindtickle.com/Odata.svc/AIRoleplays?%24format=csv) |
| `CompetencyAssessment` \* | Every 6 hours | Contains information for each module such as learner and manager or reviewer names, and records of completed assessments. Granularity: `UserId x ModuleId x SessionNo`. | [Sample data](https://admin.mindtickle.com/Odata.svc/CompetencyAssessment?$format=csv&$top=10), [full data](https://admin.mindtickle.com/Odata.svc/CompetencyAssessment?%24format=csv) |

## Content item level

| Table name | Update frequency | Description | Downloads |
| --- | --- | --- | --- |
| `CoachingSessionsParameters` \*\* | Every 6 hours | Contains information for evaluation parameters within each session for a learner. Granularity: `ModuleId x UserId x ReviewerId x SessionNo x SectionId x ParameterId`. | [Sample data](https://admin.mindtickle.com/Odata.svc/CoachingSessionsParameters?$format=csv&$top=10), [full data](https://admin.mindtickle.com/Odata.svc/CoachingSessionsParameters?%24format=csv) |
| `MissionParameters` \*\* | Every 6 hours | Contains information for evaluation parameters within a mission for each learner. Granularity: `UserId x ModuleId x ReattemptNo x ParamId x ReviewerId`. | [Sample data](https://admin.mindtickle.com/Odata.svc/MissionParameters?$format=csv&$top=10), [full data](https://admin.mindtickle.com/Odata.svc/MissionParameters?%24format=csv) |
| `AIRoleplayParameters` \*\* | Every 6 hours | Contains information for evaluation parameters within an AI Roleplay for each learner. Fields match the `MissionParameters` table. Granularity: `UserId x ModuleId x ReattemptNo x ParamId x ReviewerId`. | [Sample data](https://admin.mindtickle.com/Odata.svc/AIRoleplayParameters?$format=csv&$top=10), [full data](https://admin.mindtickle.com/Odata.svc/AIRoleplayParameters?%24format=csv) |
| `MissionAIInsights` | Every 6 hours | Contains mission AI insights data for each learner. Granularity: `UserId x ModuleId x ReattemptNo`. | [Sample data](https://admin.mindtickle.com/Odata.svc/MissionAIInsights?$format=csv&$top=10), [full data](https://admin.mindtickle.com/Odata.svc/MissionAIInsights?%24format=csv) |
| `MissionSubmissions` | Every 6 hours | Contains granular submission data for email and task evaluation missions, including completion status, signed media URLs, and reviewer details for all users, active and deactivated. Granularity: `SeriesId x ModuleId x UserId x AttemptNo x ReviewerId`. | [Sample data](https://admin.mindtickle.com/Odata.svc/MissionSubmissions?$format=csv&$top=10), [full data](https://admin.mindtickle.com/Odata.svc/MissionSubmissions?%24format=csv) |
| `CompetencyAssessmentParameters` \*\* | Every 6 hours | Contains data for each parameter of the assessments completed by the learner and the manager or reviewer, such as score, feedback, and rating. Granularity: `UserId x ModuleId x Parameter x SessionNo`. | [Sample data](https://admin.mindtickle.com/Odata.svc/CompetencyAssessmentParameters?$format=csv&$top=10), [full data](https://admin.mindtickle.com/Odata.svc/CompetencyAssessmentParameters?%24format=csv) |
| `CourseObjects` \*\* | Every 6 hours | Contains learners' details for all learning content, questions, and feedback in a course that they have attempted. Granularity: `UserId x ModuleId x LearningObjectId`. | [Sample data](https://admin.mindtickle.com/Odata.svc/CourseObjects?$format=csv&$top=10), [full data](https://admin.mindtickle.com/Odata.svc/CourseObjects?%24format=csv) |
| `CourseObjectsIncremental` \*\* | Every 6 hours | Contains all the metrics available in `CourseObjects`, plus additional fields including `IsActive` and `LastUpdatedTimestamp`. Granularity: `UserId x ModuleId x LearningObjectId x Date`. | [Build a date-filtered sample query](#incremental-sample-queries) |
| `QuickUpdateObjects` \*\* | Every 6 hours | Contains learners' details for all learning content, questions, and feedback in a quick update that they have attempted. Granularity: `UserId x ModuleId x LearningObjectId`. | [Sample data](https://admin.mindtickle.com/Odata.svc/QuickUpdateObjects?$format=csv&$top=10), [full data](https://admin.mindtickle.com/Odata.svc/QuickUpdateObjects?%24format=csv) |
| `QuickUpdateObjectsIncremental` \*\* | Every 6 hours | Contains all the metrics available in `QuickUpdateObjects` with additional timestamp columns. Granularity: `UserId x ModuleId x LearningObjectId x Date`. | [Build a date-filtered sample query](#incremental-sample-queries) |
| `ScormDetailed` \*\* | Every 6 hours | Contains question attempt data for each learner and for each question in the SCORM. Granularity: `UserId x SeriesId x ModuleId x LearningObjectId x QuestionId`. | [Sample data](https://admin.mindtickle.com/Odata.svc/ScormDetailed?$format=csv&$top=10), [full data](https://admin.mindtickle.com/Odata.svc/ScormDetailed?%24format=csv) |
| `ScormQuestionOverview` \*\* | Every 6 hours | Contains an overview of each question that shows which questions learners are doing well on and which questions they are struggling with. Granularity: `ModuleId x SeriesId x LearningObjectId x Question x QuestionType`. | [Sample data](https://admin.mindtickle.com/Odata.svc/ScormQuestionOverview?$format=csv&$top=10), [full data](https://admin.mindtickle.com/Odata.svc/ScormQuestionOverview?%24format=csv) |
| `ScormLearnerOverview` \*\* | Every 6 hours | Contains an overview of each learner that shows which learners are doing well and which are struggling, and on which questions. Granularity: `UserId x ModuleId x SeriesId x LearningObjectId x Question x QuestionType`. | [Sample data](https://admin.mindtickle.com/Odata.svc/ScormLearnerOverview?$format=csv&$top=10), [full data](https://admin.mindtickle.com/Odata.svc/ScormLearnerOverview?%24format=csv) |
| `AssessmentObjects` \*\* | Every 6 hours | Contains learner details for all questions in the assessment they have attempted. Granularity: `UserId x ModuleId x LearningObjectId`. | [Sample data](https://admin.mindtickle.com/Odata.svc/AssessmentObjects?$format=csv&$top=10), [full data](https://admin.mindtickle.com/Odata.svc/AssessmentObjects?%24format=csv) |
| `AssessmentObjectsIncremental` \*\* | Every 6 hours | Contains all the metrics available in `AssessmentObjects` with additional timestamp columns. Granularity: `UserId x ModuleId x LearningObjectId x Date`. | [Build a date-filtered sample query](#incremental-sample-queries) |
| `ChecklistObjects` \*\* | Every 6 hours | Contains a learner's details for all tasks in the checklist that they have completed. Granularity: `UserId x ModuleId x TaskId`. | [Sample data](https://admin.mindtickle.com/Odata.svc/ChecklistObjects?$format=csv&$top=10), [full data](https://admin.mindtickle.com/Odata.svc/ChecklistObjects?%24format=csv) |
| `ILTObjects` \*\* | Every 6 hours | Contains a learner's details for instructor-led training (ILT) events and sessions. Granularity: `UserId x ModuleId x SessionId`. | [Sample data](https://admin.mindtickle.com/Odata.svc/ILTObjects?$format=csv&$top=10), [full data](https://admin.mindtickle.com/Odata.svc/ILTObjects?%24format=csv) |
| `ILTEventObjects` \*\* | Every 6 hours | Contains the mapping of ILT module, event, and learner activity details for a specific ILT event. Granularity: `UserId x ModuleId x EventId`. | [Sample data](https://admin.mindtickle.com/Odata.svc/ILTEventObjects?$format=csv&$top=10), [full data](https://admin.mindtickle.com/Odata.svc/ILTEventObjects?%24format=csv) |
| `ILTEvents` \*\* | Every 6 hours | Contains the mapping of ILT events within the ILT module. Granularity: `ModuleId x EventId`. | [Sample data](https://admin.mindtickle.com/Odata.svc/ILTEvents?$format=csv&$top=10), [full data](https://admin.mindtickle.com/Odata.svc/ILTEvents?%24format=csv) |
| `ILTSessions` \*\* | Every 6 hours | Contains metrics for ILT sessions. Granularity: `ModuleId x SessionId`. | [Sample data](https://admin.mindtickle.com/Odata.svc/ILTSessions?$format=csv&$top=10), [full data](https://admin.mindtickle.com/Odata.svc/ILTSessions?%24format=csv) |
| `QuestObjects` \*\* | Every 6 hours | Contains granular data of learners for all questions in a quest. Granularity: `UserId x ModuleId x LearningObjectId`. | [Sample data](https://admin.mindtickle.com/Odata.svc/QuestObjects?$format=csv&$top=10), [full data](https://admin.mindtickle.com/Odata.svc/QuestObjects?%24format=csv) |

## Module level: engagement

| Table name | Update frequency | Description | Downloads |
| --- | --- | --- | --- |
| `LearnerModuleTimeSpent` \* | Every 24 hours | Provides engagement metrics on how much time learners spend with the content in learning modules. Granularity: `UserId x ModuleId x SeriesId`. | [Sample data](https://admin.mindtickle.com/Odata.svc/LearnerModuleTimeSpent?$format=csv&$top=10), [full data](https://admin.mindtickle.com/Odata.svc/LearnerModuleTimeSpent?%24format=csv) |
| `LearnerModuleTimeSpentDayWise` \* | Every 24 hours | Provides engagement metrics on how much time learners spend with the content in learning modules, broken down to a daily basis. Granularity: `UserId x ModuleId x SeriesId x Date`. | [Sample data](https://admin.mindtickle.com/Odata.svc/LearnerModuleTimeSpentDayWise?$format=csv&$top=10), [full data](https://admin.mindtickle.com/Odata.svc/LearnerModuleTimeSpentDayWise?%24format=csv) |

## Notes

- **Asterisk (\*):** For an update frequency marked with an asterisk, it may take up to 24 hours for data updates to appear.
- **Double asterisk (\*\*):** Tables marked with a double asterisk are not enabled by default. Contact [Mindtickle Support](mailto:support@mindtickle.com) to enable a particular table for your learning site. The rest of the tables are enabled by default.
- **Download links:** Sample links request up to 10 results. Full-data links remain subject to the table's data limits; use [pagination](/docs/reporting/pagination/) for larger exports.
- **Timestamps:** For fields with a timestamp (date and time) across the Reporting API tables, the value is in the GMT time zone.
- **Service root URL:** The Reporting API has two [service root URLs](/docs/reporting/use-odata/#url-components) to query and extract data. The download links on this page reference the default URL. Ensure that you are using the correct, applicable URL.
- **Series completion rate:** Calculate it from `LearnerModulePerformances` as (modules completed by a learner in the series) / (modules assigned to the learner in the series) x 100. Modules completed by a learner in the series are the records with `HasCompleted` = `True`. Count all assigned-module records in the denominator, including both `HasCompleted` = `True` and `HasCompleted` = `False`. If the learner has no assigned modules, the completion rate is undefined; avoid dividing by zero.
- **`LearnerModulePerformancesIncremental`:** The date filter must be applied and it must not be greater than 30 days. To start using this table, ensure that you have the initial data dump. Contact [Mindtickle Support](mailto:support@mindtickle.com) for the data dump. Check your table metadata for the full column list and timestamp field name before implementing incremental extraction. The [incremental query examples](/docs/reporting/best-practices/#learnermoduleperformancesincremental) use `LastUpdatedTime`; do not substitute `LastUpdatedTimestamp` without checking the metadata.
- **`CourseObjectsIncremental`, `QuickUpdateObjectsIncremental`, and `AssessmentObjectsIncremental`:** The date filter must be applied, with a maximum of 30 days. The initial data dump is required.
- **`ILTSessions`:** The table does not include data for deleted sessions.
- **AI Roleplay migration (September to October 2026):** Two-way video roleplay, under the new name AI Roleplay, is moving into its own standalone module. Migration runs in three phases from September 6, 2026, over about 6 weeks. Before your account migrates, nothing changes: video roleplay keeps both one-way and two-way subtypes, and two-way roleplay continues to report in the `Missions` and `MissionParameters` tables. After your account migrates, video roleplay is one-way only, and two-way roleplay becomes the AI Roleplay module and reports through the `AIRoleplays` and `AIRoleplayParameters` tables instead. Those two tables exist only if your account has migrated, so an account that has not migrated will not have them. `AIRoleplayParameters` also requires separate enablement, as indicated by its double asterisk. After migration, mission types are voice-over slideshow, video roleplay (one-way only), email and task evaluation, and screen capture.

## Incremental sample queries

Incremental tables require a date filter even when you request only 10 rows. Replace `TABLE_NAME` with the incremental table name and `START_DATE` with a date in YYYY-MM-DD format within the last 30 days. Use the service root URL for your region.

```text
https://admin.mindtickle.com/Odata.svc/TABLE_NAME?$format=csv&$top=10&$filter=Date ge 'START_DATE'
```

These tables require an initial data dump before incremental extraction. Contact [Mindtickle Support](mailto:support@mindtickle.com) for that dump. See [Pagination](/docs/reporting/pagination/) for larger exports.

## Related

- [Use OData](/docs/reporting/use-odata/): How to build the query URL for these tables.
- [Best practices](/docs/reporting/best-practices/): Sample queries and data limits for these tables.
- [Tables: object metadata](/docs/reporting/tables-object-metadata/): Metadata for the users, series, and modules these tables reference.
