What is cmi5?
cmi5 is an e-learning standard, built on xAPI (Experience API), that defines how a learning management system (LMS) imports, launches and tracks online courses. It keeps the LMS course model of SCORM but records learner data as xAPI statements in a learning record store (LRS).
Example
A software company’s L&D team publishes product courses for customers and partners. The courses live on the company’s own content servers so the product team can update them, but every learner enrolls and is tracked through the LMS. With SCORM, that setup needed workarounds, because SCORM content expects to run on the same domain as the LMS.
The team switches new courses to cmi5. Each course is imported as a small XML file that points to where the content is hosted. When a learner clicks launch, the LMS sends the course the address of its learning record store and a link to fetch a login token. The course reports statements such as initialized, passed and terminated, the LMS marks the learner complete, and the team can still see every answer in the learning record store.
How it works
cmi5 is an xAPI profile: a set of extra rules on top of xAPI for one specific job, running courses from an LMS. xAPI alone leaves launch, login and completion rules up to each vendor. cmi5 makes them standard, so a cmi5 course behaves the same way in any conformant LMS.
Course structure
A cmi5 course is described in an XML file called cmi5.xml. It lists the course, any blocks that group content, and the assignable units (AUs). An AU is the smallest piece of content the LMS launches and tracks, such as a single module or video lesson. The file can be imported on its own, with the AUs hosted elsewhere on the web, or zipped together with the content files.
Launch
When a learner starts an AU, the LMS opens it with a launch URL that carries what the content needs: the LRS address, the learner’s identity, a registration ID and a link to fetch an authorization token. Because everything travels in the URL, the content does not have to sit inside an LMS frame. It can run on a different domain from the LMS or open in its own window.
Defined statements
cmi5 fixes the meaning of a short list of xAPI verbs so every LMS reads them the same way:
- Sent by the content: initialized, completed, passed, failed and terminated.
- Sent by the LMS: launched, satisfied, waived and abandoned.
The content can send any other xAPI statements too, such as answers to individual questions or choices made in a scenario. Those details go to the LRS, while the LMS uses the defined statements to set the learner’s status.
moveOn and mastery score
Each AU has a moveOn setting that tells the LMS when the learner has met the requirement: Passed, Completed, CompletedAndPassed, CompletedOrPassed or NotApplicable. An AU can also carry a mastery score, the pass mark the content uses to decide between passed and failed. When all the AUs in a block or course are satisfied, the LMS marks that block or course as satisfied.
cmi5 vs SCORM and xAPI
- SCORM runs content in an LMS browser window and talks to the LMS through a JavaScript API. Data is limited to the fields the standard defines and is stored in the LMS.
- xAPI records any learning activity as statements in an LRS, from any source, but does not define how an LMS launches or tracks a course.
- cmi5 uses xAPI for the data and adds the LMS rules: course import, launch, authentication and completion.
cmi5 is often described as the successor to SCORM for LMS-based courses. In practice, fewer LMSs and authoring tools support it than support SCORM, so check both before you commit.
When to use cmi5
cmi5 is worth choosing when:
- Your content needs to be hosted outside the LMS, for example on your own content server.
- You want detailed xAPI data, such as question-level answers, while keeping LMS enrollment and completion reporting.
- You already record simulations or other activity with xAPI and want courses to report to the same LRS.
Stay with SCORM when your LMS or authoring tool does not support cmi5, or when completion and a score are all you need.
Why it matters for L&D teams
- LMS tracking with richer data. Completion and pass or fail land in the LMS as usual, while question-level detail goes to the learning record store.
- Content can live anywhere. Courses can be hosted on a separate server and still be launched and tracked by the LMS.
- Consistent results across systems. Because the meaning of completed, passed and failed is fixed, a cmi5 course reports the same way in any conformant LMS.
- A gradual move from SCORM. An LMS that supports both standards lets teams switch course by course instead of replacing their whole catalog.
How Colossyan helps
Colossyan exports SCORM, not cmi5: Colossyan Video creates SCORM 1.2 or SCORM 2004 packages, and Colossyan Learn exports whole courses as SCORM 1.2. LMSs that support cmi5 generally import SCORM too, so teams moving toward cmi5 can keep Colossyan videos and courses in the same catalog. Completion fires when the learner starts or finishes, and interactive videos and Learn courses can report a score against a pass mark.
See SCORM export in Colossyan

