References: The xAPI Statement Model — Actor, Verb, Object, Result, and Context¶
-
JSON - Wikipedia - Reference for the data format every xAPI statement is built in, including type rules, escaping, and the conventions xAPI inherits. Essential background for reading and constructing statement payloads.
-
Internationalized Resource Identifier - Wikipedia - Explains the IRI / IRI-reference syntax used for verb IDs, activity IDs, and extension keys. Clarifies why xAPI identifiers look URL-shaped but aren't required to resolve.
-
ISO 8601 - Wikipedia - The timestamp format xAPI mandates for the
timestampandstoredfields, including timezone offsets and fractional seconds. Critical for getting "when did this happen" right. -
RESTful Web APIs - Leonard Richardson, Mike Amundsen, Sam Ruby - O'Reilly Media - Foundational treatment of resource-oriented design, hypermedia, and JSON-based APIs that grounds the choices xAPI's statement endpoints inherit.
-
Designing Data-Intensive Applications - Martin Kleppmann - O'Reilly Media - Chapter on event sourcing and immutable append-only logs explains exactly why xAPI statements are designed to be immutable once stored.
-
xAPI Spec Part Two — Experience API - ADL Initiative - The authoritative section on statement structure, required and optional properties, data types, and equivalence rules. The reference this chapter is teaching readers how to read.
-
xAPI Statements 101 - Rustici Software - Walks through actor / verb / object construction with annotated JSON examples and common-mistake warnings. Pairs perfectly with this chapter's field-by-field tour.
-
TinCanJS Library - Rustici Software - The most-used JavaScript helper for constructing and validating xAPI statements; reading its source clarifies what the spec means in practice.
-
ADL xAPI Lab - ADL Initiative - A live web tool that lets you build, send, and inspect xAPI statements against a hosted LRS sandbox. Hands-on companion to this chapter's worked examples.
-
JSON Schema - JSON Schema Organization - The validation language used by community-maintained xAPI statement schemas; useful for adding statement validation in CI before statements ever reach an LRS.