SCORM has been the go-to standard for packaging and tracking eLearning content for over two decades. But it was built for a different era, one where training happened inside a browser window, on a single device, with a persistent connection to the LMS. The cmi5 specification picks up where SCORM leaves off, combining the flexibility of xAPI with the structured launch and tracking rules that LMS platforms and training teams actually need.
If you’ve been researching how cmi5 works, what it defines, and why it matters for LMS interoperability, you’re in the right place. cmi5 isn’t a replacement for xAPI, it’s a defined profile that sits on top of it, giving both the LMS and the content a shared set of rules to follow. That distinction matters, and it’s one we’ll break down thoroughly. At Atrixware, we build Axis LMS to support the standards that keep training programs future-ready, so understanding where cmi5 fits is something we care about deeply.
This article covers what the cmi5 specification defines, how it works alongside xAPI, its core components and rules, and how it compares to older standards like SCORM. Whether you’re evaluating content standards for a new training initiative or considering a migration path, you’ll walk away with a clear, practical understanding of cmi5 and its role in modern eLearning.
Why the cmi5 specification exists
SCORM was built for an era when online training lived entirely inside an LMS and a persistent browser connection was a given. As training expanded to include mobile learning, simulations, and offline experiences, SCORM’s limitations became hard to ignore. It couldn’t track learning that happened outside the LMS, it struggled with modern delivery formats, and it required content to stay connected to the platform through a JavaScript API at all times.
SCORM’s architecture assumed all learning happened inside a browser window connected to an LMS. The modern training landscape has outgrown that assumption.
The gap between xAPI and a usable standard
xAPI addressed SCORM’s core limitations by decoupling content delivery from data tracking and allowing any system to send learning data to a Learning Record Store (LRS). But xAPI alone doesn’t define how an LMS should launch content, what statement verbs to use for key events, or when a course counts as complete. Two xAPI-enabled systems can still be entirely incompatible without a shared ruleset.
By establishing a defined profile on top of xAPI, the cmi5 specification gives both the LMS and the content a shared set of rules to follow. It specifies launch parameters, required statement verbs, and completion logic, so that interoperability becomes predictable rather than something each vendor implements differently.
The organizations behind cmi5
The Aviation Industry CBT Committee (AICC) originally created cmi5, and the Advanced Distributed Learning (ADL) Initiative now maintains it alongside xAPI. This is the same group that oversees the broader xAPI ecosystem, which means cmi5 benefits from coordinated, ongoing development rather than being an abandoned or orphaned standard.
For organizations building training infrastructure that needs to work across multiple vendors and platforms, that institutional continuity matters. You can adopt cmi5 knowing an active standards body backs it and that compliant tools are widely available.
How cmi5 works with an LMS and xAPI
When a learner launches a course, the cmi5 specification defines the exact process the LMS uses to hand off control to the content. The LMS generates a launch URL with specific parameters, including a fetch URL the content uses to retrieve an authorization token. That token lets the content communicate directly with the LRS to send and receive xAPI statements, without routing everything through the LMS itself.

This separation means the content and the LRS communicate directly, freeing the LMS from acting as a middleware layer for every interaction.
How the LRS fits into the process
Your LMS doesn’t have to be the final destination for xAPI data under cmi5. The Learning Record Store (LRS) can sit separately from the LMS, and the content sends statements to it directly using the credentials provided at launch. The LMS still controls the launch sequence and reads completion status, but the xAPI data layer operates independently.
This structure matters when your organization needs to consolidate data from multiple content sources or run more than one LMS while maintaining a single, centralized record of all learning activity across your training programs.
Core components of cmi5
The cmi5 specification is built from a small set of required components that every compliant system must support. Understanding each one helps you see exactly how cmi5 achieves the consistent, predictable interoperability that xAPI alone can’t guarantee.
The course structure file
Every cmi5 course package includes an XML-based course structure file that describes the content to the LMS before launch. This file defines the assignable units (AUs), which are the individual launchable pieces of content within the course, along with how they’re organized into blocks and objectives. The LMS reads this file to understand what’s in the package and how to present it to the learner.
Defined verbs and session rules
cmi5 requires content to use a specific set of xAPI verbs for key events: initialized, completed, passed, failed, abandoned, waived, and terminated. Each verb maps to a precise moment in the learning session, so there’s no ambiguity about what the data means.
Requiring a fixed verb set is what makes cmi5 reporting consistent across different content authors and LMS platforms.
Session rules also specify that each assignable unit must send a terminated statement when the learner exits, giving the LMS a reliable signal that the session has ended cleanly.
cmi5 statement rules and reporting data
The cmi5 specification enforces strict rules on how xAPI statements are structured and when they must be sent. Every statement must include a valid registration identifier that ties it back to a specific learner session, preventing data from being attributed to the wrong attempt or the wrong course.
What cmi5 requires in every statement
Beyond the required verbs, cmi5 mandates that statements include specific context extensions such as the session ID, the assignable unit’s launch mode, and the LMS ID. These fields aren’t optional, and a non-compliant statement will cause the LMS to reject or ignore the data entirely.

Consistent context fields are what allow your LMS to accurately match incoming statements to the correct learner, course, and session, without ambiguity.
Your reporting data becomes far more reliable as a result because every statement carries the same metadata regardless of which content authoring tool produced it. This uniformity lets your LMS aggregate completion rates, pass/fail outcomes, and duration data without custom parsing logic or manual cleanup on the back end. For training administrators, that means less time troubleshooting data inconsistencies and more confidence in the numbers your reports actually show.
How cmi5 compares to SCORM and xAPI
SCORM, xAPI, and cmi5 each solve a different problem. SCORM packages and tracks content inside an LMS using a browser-based JavaScript API, but it can’t track anything that happens outside that browser window. xAPI removes that constraint and lets any system send learning data anywhere, but it provides no rules for launch, completion, or required statement structure. The cmi5 specification sits between these two by combining xAPI’s data flexibility with SCORM-like rules that make LMS interoperability reliable and predictable for your training programs.
cmi5 gives you the freedom of xAPI with the structure SCORM always required but couldn’t deliver.
Where each standard falls short on its own
When you evaluate these standards side by side, the gaps become clear. SCORM’s reliance on a persistent browser connection makes it unsuitable for mobile, offline, or simulation-based learning. xAPI solves the tracking problem but leaves critical decisions, like what verbs to use and how to signal completion, entirely up to the implementer. That freedom creates fragmentation across tools and vendors. cmi5 closes that gap by mandating a specific launch sequence, a fixed verb set, and required statement fields, giving your LMS and content a common language without sacrificing the underlying power of xAPI.

What to do next
The cmi5 specification gives your training programs a reliable framework that combines xAPI’s tracking power with the structured rules LMS platforms need to deliver consistent, reportable learning experiences. Understanding the standard is one step, but implementing it effectively depends heavily on the platform you run your training on.
Axis LMS supports modern content standards so your team can deliver, track, and manage training without working around platform limitations. Every component of cmi5, from the course structure file to the required statement verbs, needs an LMS that handles the launch sequence and reporting correctly. Choosing the right platform from the start saves you significant time during content migration and ongoing administration overhead.
Before you commit to a solution, take the LMS readiness quiz to identify where your organization stands and what features to prioritize in your evaluation. It takes only a few minutes and gives you a clear starting point.