Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


This is a companion specification to the core xAPI Specification that addresses the structure and supporting services for xAPI Profiles.

A profile is the human and/or machine-readable documentation of application-specific concepts, statement patterns, extensions, and statement templates used when implementing xAPI in a particular context. In a nutshell, a profile documents the vocabulary concepts, extensions, statement templates, and patterns that are required for xAPI to be implemented consistently for a specific use case. A profile empowers designers and developers to establish a controlled, domain-specific vocabulary and determine what data should be captured/stored and reported on. In other words, a profile really is the blueprint for a successful, semantically interoperable xAPI implementation.

This Github repository contains the xAPI Profiles Specification. xAPI is a learning technologies interoperability specification that describes communication about learner activity and experiences between technologies. The xAPI Profiles Specification stands as a companion to xAPI, and is divided into three documents:

Specification versions

The current version of the specification is 1.0.

Authored Profiles

ADL maintains a public repository of authored xAPI profiles based on this specification and processes provided by ADL's vocabulary and profile index,

What to do if the spec is unclear

If when implementing the specification you find something is unclear or unhelpful, you can help to improve the xAPI Profiles specification by raising an issue here. When raising an issue, please give as much detail as you can in regards to:

  • Which part/parts of the specification you are reading.
  • Your understanding of what these parts mean.
  • The product and feature you are implementing xAPI Profiles in; what's the use case you are trying to achieve? What user stories are you trying to support?
  • How you would like the specification to be improved? Suggest some specific new wording if you like!

You'll need to sign up for a GitHub account if you do not already have one in order to raise and comment on issues.

You can discuss any issues before or after raising them on the xAPI Profiles Google Group

How you can contribute

You'll need to sign up for a GitHub account if you do not already have one in order to contribute to the specification.