Skip to main content

Understanding an xAPI Statement

Understanding how the Experience API (xAPI sometimes known as Tin-Can API) is structured is the first hurdle to knowing just how flexible and powerful the xAPI can be.

When you look at the structure of an xAPI statement, there are three main sections that will get you started:

Actor : Verb : Object

The ACTOR part is WHO did it. Who was the person that actually engaged and had the experience. This is usually defined by an email address, as these are generally unique. This can also be a GROUP, but only one or the other.

The VERB is the HOW or the action that took place during the learning experience. Verbs are usually predefined. I say usually as you can create your own Verbs, although you should stick with what’s be defined. xAPI is still very much an evolving technology and VERBS are one area that should remain centralised. A VERB object will contain the name and an ID. This ID is a URL and will contain the definition of the VERB. This is critical as a word can have more than one meaning. Take the verb RUN for example. Was the experience based on a command that was RUN from a command line? Did the user RUN to a destination? These are two words that spell the same but have different meanings. It’s critical that the link (or ID) of the verb point to the correct definition. Think of it as meta-data for the verb.

Finally, the OBJECT. This is WHAT happened in the experience and this can be pretty lengthy and equally as complex. This is where you can capture the most amount of data. You’ll see what I mean in the example below.

With all this said, the learning curve to discovering more about xAPI and the flexibility it has can be a lengthy and sometimes confusing process. There are plenty of resources out there (have a look at this video to get started) that step you through each facet of the xAPI Statement. I thought I’d put my spin on a resource in a way that helped me understand the structure and hope that it helps you in your journey of xAPI discovery.

Below is an example of an xAPI Statement. Simply click on any of highlighted areas to find out more information and a link to the spec.