What is cmi5?
cmi5 is an xAPI profile that defines how an LMS launches an xAPI course, authenticates it, and records sessions, completion and pass or fail. It combines the detailed tracking of xAPI with the predictable LMS launch that SCORM provided.
Last updated:
Why cmi5 exists
xAPI records learning in detail, but on its own it doesn't say how an LMS should launch a course, pass it the learner's details or give it access to a Learning Record Store. cmi5 sets those rules, so a cmi5 course works in any LMS that supports cmi5, the way a SCORM course works in any SCORM LMS.
How a cmi5 launch works
Import
The LMS imports the package and reads its cmi5.xml file: the course's units and when each counts as done.
Launch
The LMS opens the course with the LRS address, the learner, a registration and a one-time fetch URL.
Authenticate
The course calls the fetch URL once for an access token, so no LRS credentials are in the link.
Track
The course sends initialized, its own statements as the learner works, then completed, passed or failed.
Finish
The course sends terminated, and the LMS checks whether the move-on criteria are met.
cmi5 defined statements
cmi5 fixes the meaning of nine verbs, and who may send each.
| Verb | Meaning | Sent by |
|---|---|---|
launched | The LMS launched the course | LMS |
initialized | The course started a session | Course |
completed | The learner finished the course content | Course |
passed | The learner met the mastery score | Course |
failed | The learner didn't meet the mastery score | Course |
terminated | The course ended the session | Course |
abandoned | The session ended without the course terminating it | LMS |
waived | The LMS excused the learner from the course | LMS |
satisfied | The learner met the course's move-on criteria | LMS |
Move-on criteria tell the LMS when a unit counts as done: Passed, Completed, CompletedAndPassed, CompletedOrPassed or NotApplicable.
cmi5, xAPI and SCORM
| Question | SCORM | xAPI | cmi5 |
|---|---|---|---|
| Standard LMS launch | Yes | No | Yes |
| Where data is stored | Inside the LMS | A Learning Record Store | A Learning Record Store |
| Detailed tracking | Limited | Yes | Yes |
More detail: xAPI vs SCORM. Ready to build? Use a cmi5 authoring tool.
Frequently asked questions
Is cmi5 the same as xAPI?
No. cmi5 is an xAPI profile: a set of rules on top of xAPI for launching and tracking courses from an LMS. Every cmi5 course sends xAPI statements, but not every xAPI course follows cmi5.
Does cmi5 need a Learning Record Store?
Yes. The LMS gives the course the address of a Learning Record Store when it launches it. The LRS may be built into the LMS or connected to it.
Can a cmi5 course track more than completion?
Yes. As well as the cmi5 defined statements, a cmi5 course can send other xAPI statements during a session, such as answers, scenario decisions and video interactions.
Is cmi5 a replacement for SCORM?
cmi5 was designed as the next step from SCORM: it keeps a predictable LMS launch and adds xAPI's detailed, portable tracking. Your LMS needs to support cmi5 to use it.
How do I create a cmi5 course?
Use an authoring tool that exports cmi5 packages. In xAPI Course Builder, publish a version of your course, export it as a cmi5 package and upload it to your LMS.
Related pages
Build your first AI‑generated course today
Start with the material you already have. Turn it into an interactive course, then export it as xAPI or cmi5 for your LMS.
