IEEE Standard for Learning Technology— JavaScript Object Notation (JSON) Data Model Format and Representational State Transfer (RESTful) Web Service for Learner Experience Data Tracking and Access

Front Matter

Developed by the

Learning Technology Standards Committee of the IEEE Computer Society

Abstract: This standard is a collaborative effort to improve and standardize the 1.0.3 version Experience Application Programming Interface (xAPI) specification. This Standard describes a JavaScript Object Notation (JSON) data model format and a Representational State Transfer (RESTful) Web Service Application Programming Interface (API) for communication between Activities experienced by an individual, group, or other entity and a Learning Record Store (LRS). The LRS is a system that exposes the RESTful Web Service API for the purpose of tracking and accessing experiential data, especially in learning and human performance.

Introduction

This introduction is not part of IEEE Std 9274.1.1, IEEE Standard for Learning Technology— JavaScript Object Notation (JSON) Data Model Format and Representational State Transfer (RESTful) Web Service for Learner Experience Data Tracking and Access

Today's learning ecosystems, digital applications, content, and web-based tools take advantage of large amounts of learning data to provide learning analytics to improve curricula, to apply artificial intelligence for the purpose of making recommendations, to visualize data in ways that leverage advances in both data logistics and human-centered computing, and many other emerging use cases. Due to a lack of standardized technologies for these use cases, the vendors creating these platforms are forced to create proprietary solutions. The result is a locked-in environment where a single vendor may levy undue control over all parts of a learning ecosystem -- to the detriment of learning objectives.

In response to this modernization, an Open-Source collaborative effort resulted in the creation of the Experience API (xAPI). This Standard is a collaborative effort involving that same community, partnered with the IEEE to improve upon and standardize version 1.0.3 of the xAPI. Artifacts and the latest versions of this specification can be found at opensource.ieee.org/xapi/xapi-base-standard-documentation.

This Standard describes a JavaScript Object Notation (JSON) data model format and a Representational State Transfer (RESTful) Web Service Application Programming Interface (API) for communication between Activities experienced by an individual, group, or other entity and a Learning Record Store (LRS). The LRS is a system that exposes the RESTful Web Service API for the purpose of tracking and accessing experiential data, especially in learning and human performance.

Contents

9274.1.1 xAPI Base Standard Overview * 1. Overview * 1.1. Scope * 1.2. Purpose * 1.3. Word Usage * 2. Normative References * 3. Definitions, Acronyms, and Abbreviations * 3.1. Definitions * 3.2. Acronyms and Abbreviations

9274.1.1 xAPI Base Standard LRSs * 4. Learning Record Stores (LRSs) * 4.1. LRS Communication * 4.1.1. Headers * 4.1.2. Encoding * 4.1.3. Content Types * 4.1.4. Concurrency * 4.1.5. Error Codes * 4.1.6. Resources * 4.1.6.1. Statement Resource * 4.1.6.2. State Resource * 4.1.6.3. Agents Resource * 4.1.6.4. Activities Resource * 4.1.6.5. Agent Profile Resource * 4.1.6.6. Activity Profile Resource * 4.1.6.7. About Resource * 4.1.7. Versioning * 4.1.8. Authentication * 4.1.9. Security * 4.2. LRS Data Requirements * 4.2.1. Table Guidelines * 4.2.2. Statement * 4.2.2.1. Actor * 4.2.2.2. Verb * 4.2.2.3. Object * 4.2.2.4. Result * 4.2.2.5. Context * 4.2.2.6. Attachments * 4.2.3. Metadata * 4.2.4. LRS Processing of Data * 4.2.4.1. LRS Rejection Cases * 4.2.4.2. Specific Statement Data Requirements for an LRS * 4.2.4.3. Data Response Recommendations * 4.2.5. Statement Voiding * 4.2.6. Statement Signing * 4.2.7. Additional Requirements for Data Types

9274.1.1 xAPI Base Standard Content * 5. Content - Learning Record Providers (LRPs) and Learning Record Consumers (LRCs) * 5.1 LRP and LRC Communication * 5.1.1. Headers * 5.1.2. Encoding * 5.1.3. Content Types * 5.1.4. Concurrency * 5.1.5. Error Codes * 5.1.6. LRS Resources * 5.1.6.1. Statement Resource * 5.1.6.2. State Resource * 5.1.6.3. Agents Resource * 5.1.6.4. Activities Resource * 5.1.6.5. Agent Profile Resource * 5.1.6.6. Activity Profile Resource * 5.1.6.7. About Resource * 5.1.7. Versioning * 5.1.8. Authentication * 5.1.9. Security * 5.2. LRP Data Requirements * 5.2.1. Table Guidelines * 5.2.2. Statement * 5.2.2.1. Actor * 5.2.2.2. Verb * 5.2.2.3. Object * 5.2.2.4. Result * 5.2.2.5. Context * 5.2.2.6. Attachments * 5.2.3. Metadata * 5.2.3.1. Learning Record Provider Requirements * 5.2.4. LRP Processing of Data * 5.2.4.1. LRP Statement Best Practices * 5.2.5. Statement Voiding * 5.2.6. Statement Signing * 5.2.7. Additional Requirements for Data Types