xAPI Pipes

xAPI statement pipes provide the means to automatically transfer statements from one LRS to another. Applications include:

  • forwarding for users who wish to have their statements stored in their own Personal Data Lockers (PDLs)
  • replicating production data in a sandbox LRS
  • pulling data in from a remote LRS

In order to use statement pipes, set xAPIStatementPipeEnabled to true in your Engine settings file, and then create a pipe using the xapi/statementPipes resource on the API.

Here is an example of the JSON object that you would send:

    "source": {
        "url": "http://example.com/RusticiEngine/lrs/tenant-name/statements",
        "userName": "lrs_user",
        "password": "lrs_user_password"
    "target": {
        "url": "http://example.net/RusticiEngine/lrs/other-tenant",
        "userName": "cloud_username",
        "password": "cloud_password"

The source.url must point to the statements resource, but the target.url must point to the base /lrs endpoint (with any extra endpoint information). If you are piping statements out of a particular tenant in Engine, then make sure to specify the name of that tenant in the source.url property, like in the example above. To pipe statements from an external source into Engine's LRS, then the target.url should be pointing to Engine and specify the tenant name, like it is in the example. In both cases, the tenant name is optional; if you do not specify a tenant, then all of the statements will be inserted into the default tenant's LRS.

results matching ""

    No results matching ""