Skip to content

xAPI Java

Immutable xAPI model and Spring-based LRS client for Java, actively released

Active Last commit Checked · 24 Aug 2026

The facts

Licence
Apache-2.0 — OSI approved
Deployment
Embedded in your own application
Platforms
Library
Vendor
BerryCloud
Headquarters
United Kingdom

Standards support

Every line says where the claim came from. We do not test conformance ourselves and we issue no badge of our own.

Standards support for xAPI Java, with the source of each claim and the date it was last confirmed.
Standard Supported Provenance Checked Note
SCORM 1.2 Not stated
SCORM 2004 Not stated
xAPI Yes editor-checked · 24 Aug 2026— source, opens in a new tab`XapiClient` sets `X-Experience-API-Version` to 1.0.3 as a default header. The model carries the specification's validation rules, which can be relaxed individually for non-conformant activity providers.
cmi5 Not stated
AICC Not stated
LTI Not stated
Claimed
— the vendor states it. We have not confirmed it.
Checked
— an editor confirmed it on the date shown.
Verified
— an official registry lists it, and we link to the entry.

Editor's notes

A Java library in two parts: a model of the xAPI data types with the specification's validation rules built in, and a client for sending statements and documents to a learning record store. Both use a fluent builder interface and immutable objects, and the client is a Spring WebClient wrapper with auto-configuration, so in a Spring Boot service the endpoint and credentials become three properties in application.yml.

It suits back-end systems that generate learning records — an LMS, an assessment engine, a simulation that reports outcomes — and it suits them well, because validation happens at the model boundary rather than being discovered when an LRS rejects a batch. The escape hatch matters too: real-world activity providers break the rules constantly, and individual validation constraints can be switched off, with the README stating plainly that doing so violates the specification.

Two things to check before adopting. Java 25 for the current line is aggressive, and the 1.x fallback for Java 17 will not receive the same attention. And the Spring dependency is not incidental — outside Spring you are using the model and writing your own transport.

Maintenance looks genuinely healthy for a project this size: commits within the last week, v2.0.2 released in May 2026, one open issue, and CodeQL and SonarCloud gates on the pipeline. Nineteen stars understate it; this is a small vendor's working library, not a weekend project.

Listed on scorm-tools.com

Maintainers and vendors are welcome to show the listing badge in a README or on a product page. It is free, it does not require a claim, and there is nothing to buy.

Get the embed code