The xAPI is both a learning-technology specification and a suite of web-service APIs that support a simple object-based model for describing, recording, and accessing one’s experience or performance within a formal or informal learning activity. The specification is a definitive document authored specifically for individuals and organizations implementing the technology with the intent of developing tools, systems, and services that are independent of, but interoperable with, each other.
The specification outlines how learning experiences and learner activities can be tracked (or recorded) between a LRS and a client, typically called an “Activity Provider.” The specification was developed with learning experiences in mind, but many other kinds of activities could be tracked using xAPI. The scope of the specification is limited to the types of data exchanged and the supported communication requests and responses. The xAPI specification also defines some optional security methods allowing for the trusted exchange of information between trusted sources.
The goals of the xAPI specification are:
- To maximize interoperability of systems that create, gather, store, access, and retrieve data about learning experiences.
- To provide a guide to those who want to build applications that conform to and implement the specification.
- To provide criteria against which conformance to the specification can be tested.
ADL Initiative is the current governance organization and facilitator in the development of the xAPI. However, the xAPI is truly a community-driven specification with contributors participating from around the world. To join one or more of the working groups, visit the overview page.
The xAPI is free and licensed under Apache, Version 2.0. Users of xAPI must be in compliance with the License. See the License for the specific language governing permissions and limitations under the License. A copy is available at http://www.apache.org/licenses/LICENSE-2.0.
To read the latest version of the xAPI spec, access the link below on GitHub: Technical Specification