An xAPI statement is the fundamental data unit of the xAPI standard: a JSON document that describes a single learning event in a structured, machine-readable way. The required fields are actor (who — an Agent identified by email, openID, or account), verb (what — an IRI pointing to a defined vocabulary entry, such as the ADL vocabulary's "experienced" or "completed"), and object (on what — typically an Activity with its own IRI and metadata). Optional but commonly used fields include result (score, success, completion, duration, and free-form extensions), context (the LRS registration, instructor, parent activity, and arbitrary extensions), timestamp, and stored. The statement is immutable once accepted by an LRS: you cannot update it, only void it and send a replacement. For video learning, a single playback session generates multiple statements — played at position 0, paused at position 47, seeked to position 30, completed at position 180 — and together they reconstruct the learner's viewing behaviour. The design choice of using IRIs for verbs and activities means that any team can define their own vocabulary. Shared community profiles like the xAPI Video Profile exist precisely to prevent fragmentation and ensure that statements from different platforms remain interoperable in the LRS.


The handbook · 7 volumes
Fora Soft Video Engineering Handbook
An xAPI statement records one learning event as actor, verb, and object, and a video player can produce thousands of them per learner. The seven volumes cover the full video stack; for statement-level video tracking start with Volume 3 on players and QoE monitoring, then Volume 2 on transport, with real-time AI in Volume 7. Written by Nikolay Sapunov, CEO at Fora Soft.
Are your xAPI statements from video too noisy to report on?
We will review your statement design and send a cleaner event model that keeps reports useful and LRS costs down. 250+ video products shipped since 2005.