SCORM is the packaging standard that makes a course play and report inside an LMS. xAPI is a data specification that records detailed learning activity to a Learning Record Store, inside or outside an LMS. Most client projects still ship SCORM; choose xAPI when you need analytics the LMS cannot capture, and cmi5 when you want both.
By Sweta C, Director of Instructional Design ·
The standards question usually arrives late in a project, right when someone uploads a finished course and the LMS rejects it, or plays it and never marks it complete. It is cheaper to answer at scoping. This guide covers what SCORM 1.2 and SCORM 2004 actually record, what xAPI and a Learning Record Store add, where cmi5 fits, and how the platform your client already licenses usually settles the argument for you.
SCORM (Shareable Content Object Reference Model) is a packaging and runtime standard. It defines how a zip file describes itself to an LMS through a manifest, and how the running course reports data back through a JavaScript API. Two versions matter in practice.
SCORM 1.2, published in 2001, records a single lesson status (passed, completed, failed, incomplete, browsed, not attempted), one score, session time, and a bookmark. Its suspend data field, the string a course uses to remember where a learner stopped, is capped at 4,096 characters. That cap sounds academic until a long branching course silently loses its resume state.
SCORM 2004, released across four editions between 2004 and 2009, splits status into two separate fields, completion status and success status, so a learner can finish a module and still fail it. It raises the suspend data limit to 64,000 characters in 4th Edition, reports richer interaction detail (which answers a learner chose, not just the final score), and adds sequencing and navigation rules for multi-module courses.
Sequencing deserves a caveat. The specification is complex, mainstream authoring tools like Articulate Storyline and Adobe Captivate generate little of it, and LMS implementations are uneven. Most SCORM 2004 courses in the wild use the better data model and ignore sequencing entirely, which is usually the right call. If a build genuinely needs sequencing behavior, it needs packaging and cross-LMS testing by people who have debugged it before, because this is exactly where courses launch fine but refuse to complete.
xAPI (the Experience API, originally Tin Can) is not a packaging format. It is a data specification: activity is recorded as statements in an actor, verb, object pattern. "Priya completed Safety Module 3." "Marcus practiced the objection-handling simulation." Statements travel over HTTP to a Learning Record Store, an LRS, which stores and exposes them for reporting. In 2023 the specification was formalized as IEEE 9274.1.1, commonly called xAPI 2.0.
Because statements can come from anything that can make a web request, xAPI tracks what SCORM structurally cannot: activity outside the LMS and outside the browser. Simulations, mobile apps, VR sessions, second-by-second video engagement, instructor-led sessions, even performance signals from real work systems can land in the same LRS and be analyzed together.
What xAPI does not define is launch. There is no universal rule for how an LMS starts an xAPI course, authenticates the learner, or decides what complete means. Platforms fill that gap differently, which is why "we support xAPI" on a vendor page needs verification against your actual use case. When the goal is analytics across a platform move or a multi-system stack, that is LMS implementation work as much as course development.
Yes, that is exactly what it was designed to be. cmi5 is an xAPI profile that adds back the rules xAPI leaves undefined: a course structure file, a defined launch and authentication handshake with the LMS, and a fixed set of required statement verbs so every cmi5 course reports launch, initialization, completion, and pass or fail the same way. You get SCORM-style manageability with xAPI-grade data, and the statements live in an LRS instead of being locked in LMS tables.
The catch is adoption. cmi5 moved onto the IEEE standards track alongside xAPI 2.0, and the major authoring tools can publish to it, but LMS support in 2026 is still the exception rather than the rule. Moodle needs a plugin, and several enterprise platforms have no direct cmi5 upload path at all. We treat it as a verify-then-commit option: run a small cmi5 package through the actual tenant before promising it in a proposal. That verification pass is a standard step in how we scope and QA course builds.
In most projects the standards decision is not philosophical. It is dictated by whatever platform the client already licenses, and support varies more than vendor marketing suggests. The failure mode is always the same: a course that behaves perfectly in SCORM Cloud and misbehaves in production. As of 2026, here is how the platforms we most often deliver into tend to behave:
| Platform | Safe default | Watch for |
|---|---|---|
| Workday Learning | SCORM 1.2 or 2004; AICC accepted | Platform-specific completion quirks. Keep completion logic inside the module and test in a sandbox tenant. |
| Cornerstone | SCORM 1.2 or 2004 | Score and completion mapping shift with tenant configuration. Pilot in stage before a wide rollout. |
| Docebo | SCORM 1.2/2004 or native xAPI | Plays xAPI content natively. cmi5 packages are not a straightforward upload as of 2026; verify per tenant. |
| Moodle | SCORM 1.2 | SCORM 2004 sequencing support is incomplete in core Moodle. xAPI and cmi5 arrive via plugins. |
| LearnWorlds | SCORM 1.2 or 2004 (3rd/4th Ed.) | Also accepts plain HTML5 packages. Confirm what each course type is expected to report before authoring. |
| Unknown or mixed | SCORM 1.2 | The lowest common denominator exists for a reason: it runs almost everywhere. |
The pattern: when the destination platform is certain and modern, use SCORM 2004 or xAPI deliberately. When it is uncertain, SCORM 1.2 remains the portable choice. Platform verification is the first step of our LMS implementation and migration work, because the honest answer occasionally surprises the client's own admin team.
Standards changes usually happen during a platform move, and that is where tracking data gets hurt. The traps we see most often:
Every one of these is avoidable with a content and tracking inventory before anything gets republished. Absorbing that unglamorous work quietly, under your brand, is what a white-label delivery partner is for.
Frequently. The mature pattern in 2026 is not either-or: SCORM (or cmi5) handles the LMS of record while xAPI feeds the analytics layer. The LMS keeps clean completion and compliance records. The LRS receives detailed statements about what learners actually did: which scenario branches they chose, where they rewatched the video, how they performed in practice. Compliance reporting and learning analytics have different owners asking different questions, and it is reasonable for them to draw on different data stores.
The advice we give partners is short. Default to SCORM for delivery. Add xAPI when a client asks a question the LMS report cannot answer. Adopt cmi5 the day the target platform supports it properly. The standard should follow the measurement question, never the other way around.
Related reading: how to migrate an LMS without losing completion records and migrating to LearnWorlds.
We'll send you our white-label partner evaluation checklist: the 30+ checks we'd run on any eLearning vendor before handing them client work, including us.
Book a 20-minute call. Bring the course and the target LMS; we'll tell you which standard we would package it to and why, whether or not we build it.
Book Your 20-Min Discovery Call →Most partnerships launch within 1–2 weeks · NDAs standard · 100% white-label