Degreed provides an Experience API (xAPI) that conforms to the xAPI standard, a technical specification that aims to facilitate the documentation and communication of learning experiences. It specifies a structure to describe learning experiences and defines how these descriptions can be exchanged electronically.

xAPI’s use of a shared format for both the receiving and sending of data makes xAPI an ideal tool for sharing learning between multiple systems. The official xAPI specification describes how to form xAPI statements and how Degreed’s xAPI generally works.

xAPI produces statements from events that happened on Degreed. The xAPI provides historical event data, rather than the current status of an event. For example, the xAPI produces statements about when a user followed or unfollowed a user, or when a user joined or left a group, and so on. Each statement contains at least three pieces of data, an actor, verb, and object. The actor identifies the person making the action, the verb is the activity being done, and the object identifies the object upon which the activity is being done.

Degreed records the events listed in Available Statements for GET Operations to Retrieve Degreed Events. These events are available for six months from their occurrence date. The availability of event data can be deferred; therefore, it is a best practice to request data using the until or since filters to retrieve the statements based on the timestamp attribute.


Avoid Skipping Events

If you are using the since parameter, we recommend that you add a 15 minute delay to avoid the possibility of skipping events.

You are paginating through events using the "next" key. Once you reach real-time data there is no "next" key available. Within the same second, you retrieve the timestamp of the last record returned and use it as the since value.

If not all events have been fully stored in the Degreed datastore during that second, some events might be missed. Due to internal processing that can occasionally take up to 15 minutes to synchronize, it's recommended that a 15 minute delay is added when using the since parameter.


Authentication with the xAPI works the same as authentication with Degreed’s standard RESTful API. See Authentication for more information.

xAPI Read Scopes

If xAPI read scopes are granted, an xAPI GET request returns all statements for the organization associated with the token. It does not filter by any associated providerId.

Rate Limiting

Rate limiting with the xAPI works the same as rate limiting with Degreed’s standard RESTful API. See Rate Limiting for more information.

Making an xAPI Call

Make xAPI calls in the same way that you make RESTful API calls. The base URL you use to make the request depends on the environment (betatest or production) and data center (US, EU, or CA) you are using. You must include your bearer access token in the Authorization header in the API calls. See Submit an HTTP Request for more information.

Only two (2) verbs are used:

  • GET to read xAPI statements, which requires the scope xapi:read or xapi:write.
  • POST to send xAPI statements, which requires the scope xapi:write.