Skip to main content
U.S. flag

An official website of the United States government

Anticipating the xAPI Version 2.0 Standard

August 06, 2020

The Experience Application Programming Interface (xAPI) is a learning technology specification that enables data encoding, transport, and exchange across a wide variety of activities, experiences, and devices. In other words, xAPI lets software applications capture and share (big) data on human performance, along with associated context information (i.e., “experience” data). xAPI defines a consistent data format (syntactic interoperability) and vocabulary (semantic interoperability) for individual and group performance. This allows those data to move across a diverse range of technical and organizational boundaries. Combined with learning analytics, xAPI promises to revolutionize the way education and training are conducted, managed, and measured.

DoD Instruction 1322.26 includes guidance for DoD distributed learning, including the use of xAPI as the primary method for encoding and exchanging interoperable learner-performance data. Now the larger professional community is following suit by formally adopting the xAPI specification as an enforceable technical standard under the auspices of the Institute of Electrical and Electronics Engineers (IEEE) Learning Technology Standards Committee (LTSC). The IEEE is the world’s largest technical professional organization, managing over 1300 active technical standards, including globally critical standards for devices to function on the Internet.

The IEEE LTSC plans to standardize an updated version of the xAPI specification, dubbed version 2.0. It clarifies the language in the prior specification (from version 1.0.3, released in 2016), for instance, removing verbiage that was not requirements-based. It also adds clarifying details in the form of a best-practices guide, which will be linked to the eventual standard as a living document that can grow and change with advances in learning science and technologies.

xAPI version 2.0 also includes better ways to define relationships between the “actor” of an xAPI statement and the activity. The new version of xAPI introduces “contextAgents” and “contextGroups” which allow direct establishment of context to both individuals and teams. These new variables allow more complete ideas to be conveyed using Statements such as “Andy is in the role of cybersecurity officer during the training session” and “Chris is on the red team during the training session.”

Other changes in version 2.0 include standardizing timestamps across all statements (reducing the potential for clock and timing errors), explicitly forbidding extra properties, allowing Learning Record Stores (LRSs) to reject Statements for malicious intent or poor design, providing clarity in the use of timestamps and version headers, and removing parts of the standard that could become outdated soon (security/O-auth). These changes allow organizations to adjust environments as necessary to support xAPI without having to wait for xAPI security procedures to “catch up” whenever a security patch is needed.

The xAPI 2.0 structure also more clearly defines the role of LRSs, which essentially are data servers with storage and retrieval rules, and Learning Record Providers. The previous version of the specification performed well in describing the purpose of xAPI with Statements, but it didn’t adequately structure the data for adoption by content providers, those providing a system (LRS or Learning Management System (LMS)), or other data providers. The new structure allows easier diffusion of xAPI into the marketplace.

A community of xAPI stakeholders and technical experts has been involved in this xAPI 2.0 update process as part of an IEEE LTSC Working Group. To ensure these changes were well received, the Working Group surveyed organizations with xAPI conformant LRSs to identify any concerns they may have. Respondents indicated that, although the changes may require revisions to their software, the benefits of the changes outweighed the adjustments they might have to implement.

Having reached consensus on the xAPI changes, the Working Group voted unanimously to adopt xAPI version 2.0 at its June 2020 meeting. Following this, the IEEE LTSC will begin a formal balloting process for the standard, which can take 3-9 months to complete.

The process begins with a staff-level IEEE review, requiring the Working Group chairs to resolve any issues that would result in a “no” vote. A balloting group is then created, ideally representing a balanced mix of stakeholders from industry, government and academia. This group can raise other issues of concern and hold their individual votes until their issues are resolved. At least 75% of the members who choose to vote must vote “yes.” If it does not pass, the ballot may re-circulate with the same group, or the entire process may begin again. Upon passing the balloting process, IEEE presents the results at a quarterly meeting where standards are formally published and released to IEEE’s website.

Maturing xAPI from a specification to a formally governed standard will accelerate its adoption and ensure its longevity. While the standardization effort advances, the ADL Initiative continues to pursue related xAPI research that will also contribute to the standard’s widespread use, including development of an xAPI Profile Server and associated xAPI Profiles, most notably for cmi5 and the Total Learning Architecture Master Object Model (MOM).

For more information on xAPI and its standardization process, contact the ADL Initiative at xapi@adlnet.gov.

Related Project