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

  1. Import

    The LMS imports the package and reads its cmi5.xml file: the course's units and when each counts as done.

  2. Launch

    The LMS opens the course with the LRS address, the learner, a registration and a one-time fetch URL.

  3. Authenticate

    The course calls the fetch URL once for an access token, so no LRS credentials are in the link.

  4. Track

    The course sends initialized, its own statements as the learner works, then completed, passed or failed.

  5. 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.

VerbMeaningSent by
launchedThe LMS launched the courseLMS
initializedThe course started a sessionCourse
completedThe learner finished the course contentCourse
passedThe learner met the mastery scoreCourse
failedThe learner didn't meet the mastery scoreCourse
terminatedThe course ended the sessionCourse
abandonedThe session ended without the course terminating itLMS
waivedThe LMS excused the learner from the courseLMS
satisfiedThe learner met the course's move-on criteriaLMS

Move-on criteria tell the LMS when a unit counts as done: Passed, Completed, CompletedAndPassed, CompletedOrPassed or NotApplicable.

cmi5, xAPI and SCORM

QuestionSCORMxAPIcmi5
Standard LMS launchYesNoYes
Where data is storedInside the LMSA Learning Record StoreA Learning Record Store
Detailed trackingLimitedYesYes

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.