cmi5 Verbs: An In-Depth Look

There are nine xAPI verbs used in cmi5.  Three of these are required for every Assignable Unit (AU) session.  Some are required to give the student credit and allow “move on” to the next AU.  In this article we’ll take an in-depth look at the cmi5 verbs.


This is the fourth in my series of articles on cmi5. In “The next generation SCORM: cmi5“, I provided an overview of the cmi5 specification.  In “cmi5: An overview of the Process Flow” I provided a high level overview of the cmi5 process flow from beginning to end.  Then I covered the cmi5 Course Package.

“Required” cmi5 Verbs

Every time an AU is “launched” from an LMS in cmi5, it is called a “session”.  Each session will have a unique sessionId assigned by the LMS. During a single session, there are three required verbs that must be sent to the xAPI Learning Record Store (LRS).

  1. Launched
    A “Launched” statement is used to indicate that the LMS has launched the AU. It should be used in combination with the “Initialized” statement sent by the AU in a reasonable period of time to determine whether the AU was successfully launched.  Note that this statement is made by the LMS, not the AU.
  2. Initialized
    A “Initialized” statement is made by the AU to indicate that it has been fully started and is ready for student interaction.  It must follow the “Launched” statement created by the LMS within a reasonable period of time.
  3. Terminated
    The AU must record a statement containing the “Terminated” verb as the last statement recorded by the AU in a session.

Sequence of Required Verbs

It is important to send your verbs in the correct order.  You should not, for example, send any statements after “Terminated” for a given session.

“Move On” cmi5 Verbs

If you want your student to receive “credit” in the LMS for the AU, you must pay attention to the moveOn element of the State API.  This determines what verbs you need to send in order to give the student “credit”.  The moveOn element can have the following values:

  • Passed
    If the moveOn value is “Passed”, then you must send a statement using the Passed verb to meet the moveOn criteria.
  • Completed
    If the moveOn value is “Completed”, then you must send a statement using the Completed verb to meet the moveOn criteria.
  • CompletedAndPassed
    In this case the LMS must receive two statements; one with the cmi5 verb “Completed” and one with the cmi5 verb “Passed”.  The AU is considered satisfied only when both statements have been received.  The order of the two statements is not important.
  • CompletedOrPassed
    If the moveOn value is “CompletedOrPassed”, you can send either a Completed verb or a Passed verb (or both) to satisfy the moveOn criteria.
  • Not Applicable
    In this case, no moveOn criteria is required.  Please note that in this case simply registering for the course meets the moveOn criteria.

Sequence of “Move On” Verbs

You may not duplicate “cmi5 defined” statements in a session:

  1. You may not send more than one “Passed” statement.
  2. You may not send a “Failed” statement after sending a “Passed” statement.
  3. To meet the moveOn criteria of “CompletedAndPassed”, it is allowed to send a “Completed” statement in one session, then a “Passed” statement in another session.

Other Verbs

Here are the remaining cmi5 verbs:

  • Failed
    The AU records a “Failed” statement when the learner has attempted and failed the judged activity in the AU.
  • Abandoned
    The LMS uses the the “Terminated” statement to determine that the AU session has ended. In the absence of a “Terminated” statement the LMS will make the determination if an AU abnormally terminated a session by monitoring new statement or state API calls made for the same learner/course registration for a different AU.  When abnormal termination is detected, the LMS writes an “Abandoned” statement.
  • Waived
    A “Waived” statement is used by the LMS to indicate that the AU may be skipped by the Learner.  The LMS makes this determination based on the course structure in cmi5.
  • Satisfied
    The LMS writes a “Satisfied” statement when the learner has met the “move on” criteria for all AU’s in a block or all AU’s in a course.


So there you have it, the 9 cmi5 verbs.  Remember, if you want to track more data about a student’s activity in an AU, you can.  cmi5 will ignore any statements that do not contain cmi5 verbs, but they will be stored in the Learning Record Store.  For more information on cmi5, be sure and check out our blog’s xAPI and cmi5 category.

Art Werkenthin
Art Werkenthin is president of RISC, Inc. and has over 30 years' experience working with LMS systems in the Oil & Gas, Retail, Finance and other industries. Mr. Werkenthin holds a B.S. in Electrical Engineering and an M.B.A. in Information Systems Management from the University of Texas. Mr. Werkenthin is a member of the ADL cmi5 committee and frequently presents on cmi5 and xAPI. Follow him on Twitter @AWerkenthin for xAPI and cmi5 updates, as well as blog post announcements.