Statements HTTP Interface

Statements hold all of the xAPI records that have been inserted into the database via the xAPI Statements HTTP interface.

It is accessible through the following HTTP interfaces:

Whilst statements can be inserted via the Models HTTP interface, this is not recommended as it bypasses all validation, reference and void checking, leading to invalid xAPI records.

Statements can be deleted by the REST API. See Statement Deletion API for more information.

Optional metadata can be added to a statement via the Metadata API. We automatically add metadata in cases such as for question statements (typically coming from Adapt), which makes reporting on assessments much easier than previously possible.


Name Type Description
_id Mongo ID The id of the role (autogenerated)
stored Mongo Date When this statement was created (autogenerated)
timestamp Mongo Date When this statement’s activity occured (autogenerated)
organisation Mongo ID The organisation this statement belongs in (autogenerated)
lrs_id Mongo ID The store this statement belongs in (autogenerated)
client Mongo ID The client that inserted this statement (autogenerated)
person Person Information about the person associated to the actor in this statement
voided Boolean Has the statement been voided
hash String A unique hash of the statement used for conflict checks on insert (autogenerated)
statement Statement The statement object as constructed and validated by the xAPI service
metadata Metadata The metadata related to the statement
refs Array [Statement References]  


Name Type Description
_id Mongo ID The id of the person (autogenerated)
name String The name of the person - this is auto populated for quick reference to avoid lookups (autogenerated)


Please refer to the Statement Properties in the xAPI specification for a full list of possible entries

Statement References

This contains an array of any statements that are referenced as part of this statement structure.

Example GET data

    "_id" : "111aaa1111a111111aa11111",
    "hasGeneratedId" : false,
    "organisation" : "111aaa1111a111111aa11111",
    "lrs_id" : "111aaa1111a111111aa11111",
    "client" : "111aaa1111a111111aa11111",
    "person" : {
        _id: "111aaa1111a111111aa11111",
        name: "Joe Bloggs"
    "voided" : false,
    "timestamp" : "2017-09-08T09:41:58.136Z",
    "stored" : "2017-09-08T09:41:58.136Z",
    "hash" : "05db245f890c4e5f9513658435ddd5e16c579df1",
    "refs" : [ ],
    "statement" : {
        "actor" : {
                "objectType" : "Agent",
                "name" : "xAPI mbox",
                "mbox" : ""
        "verb" : {
                "id" : "",
                "display" : {
                        "en-GB" : "attended",
                        "en-US" : "attended"
        "object" : {
                "objectType" : "Activity",
                "id" : ""
        "id" : "3c5f9182-81ba-4e4c-9aa4-93a6b57a61ee",
        "timestamp" : "2017-09-08T09:41:58.136Z",
        "stored" : "2017-09-08T09:41:58.136Z",
        "authority" : {
                "mbox" : "",
                "name" : "New Client",
                "objectType" : "Agent"
        "version" : "1.0.0"