xAPI (Experience API) is an e-learning data and specification interface standard to collect and share data about a learner’s experience, within the context of a wide range of learning activities including online and offline.
Please note: the xAPI integration is available with the Enterprise Plan only.
Table of contents
Statements
Through the xAPI integration with a third-party system like an LMS/LXP/LRS, Udemy Business sends activities corresponding to a learner’s progress and completion of a course. Learn more about the xAPI statements Udemy Business sends.
Integration configuration
Configuring Udemy Business to post xAPI statements to a supported LMS/LXP can be done from the administration user interface in Udemy Business once the related configuration is done on the LMS/LXP first. Below are the steps to be followed*
*Please note that step 1 and 2 need to be done on the LMS/LXP side.
Step 1: Register Udemy Business as an API application in your LMS/LXP and generate client credentials
This step is done within your LMS/LXP. Check the administration module in your LMS/LXP to configure an xAPI integration. You should have an option to register a client application and generate a client id and client secret for the API application.
When generating the client credentials, ensure that the scope of access is set to xapi:write. (Note: Without this scope, the xAPI statements sent from Udemy Business to the LMS/LXP will fail.)
Discuss with your LMS/LXP administrator to perform this step.
Step 2: Procure the OAuth token endpoint and xAPI statement endpoint from your LMS/LXP
This step is done within your LMS/LXP. Your LMS/LXP instance should have a URL for the OAuth token endpoint and the xAPI statement endpoint.
The OAuth token endpoint is what Udemy Business will call to generate auth tokens by providing the client id and client secret generated in step 1. Using the generated token, Udemy Business will then POST the xAPI statements to the statement endpoint.
Example:
Token endpoint URL: https://udemy.lms.com/v3/oauth2/access-token
xAPI statement endpoint URL: https://udemy.lms.com/v3/xapi/statements
Please note: make sure that the endpoint URLs are accurate. Check with your LMS/LXP to get the correct endpoint URLs for your instance.
Step 3: Configure xAPI integration in Udemy Business
1. Navigate to Manage → Settings → LMS/LXP integrations
2. For LMS/LXP partners not included, please select “Other”, provide the LMS/LXP integration with a name and select “Save.”
Note: The below setup page is common for enabling API keys to access the Udemy Business REST APIs (course and reporting APIs), and also to setup xAPI. Even if your LMS/LXP is listed in the drop-down, there may not be support to configure xAPI Integration for it yet.
3. Once you select your LMS and select Save, proceed to the screen below. The first section provides you the API keys to access the standard Udemy Business REST APIs (course and reporting API).
4. Select Edit integration in the top right-hand corner & toggle xAPI configuration to On. The section highlighted below corresponds to the xAPI configurations. Provide the OAuth token URL, client id, client secret and the xAPI statement URL.
5. Once the details have been provided, click Test Credentials to check that the Udemy Business instance is able to reach the token URL. Click Save to store your configurations successfully. Note: This test only verifies that Udemy Business is able to successfully access the token endpoint.
6. Now your xAPI integration with your LMS/LXP is set up and ready for use.
7. Learner progress and completions should now flow to the LMS/LXP automatically in near real-time.
Configuration - special cases
The steps described above should be followed ONLY when your LMS/LXP
- supports both progressed and completed events and
- accepts the mbox (email) as the actor’s identifier.
If the xAPI configuration is displayed on the Udemy Business admin page against your selected LMS, then any custom changes (example: your LMS/LXP supporting only completion events or requiring an actor identifier that is different from mbox - email) would already be taken care of by the Udemy Business implementation. However, if your LMS shows on the list but has no xAPI configuration section, or if you have a custom LMS that is NOT on this list and has special requirements around the actor identifier and/or the verbs, please contact Udemy Business Support to provide those requirements.
Benefits of xAPI
Udemy Business already supports REST APIs for reporting purposes (user activity, user course activity and user progress APIs). These APIs include both granular transaction data (at a lecture level) and aggregated summary data (at a course level). Because of these differing levels of aggregation, these APIs have lag times that can range from 8 to 14 hours for new data to be made available. However, xAPI statements are near real-time with minimal lag, but they provide less information.
Below is a table that summarizes the key differences between the standard reporting REST API and the xAPI event stream.
Criteria |
xAPI |
Reporting REST APIs |
Latency |
Provides near real-time publishing of completion events. Low latency. |
Involves a lag of ~8 hrs before completion events are made available. |
Standard |
Follows an industry standard for capturing & reporting a learner's experience in a learning environment. |
Does not follow a standard data model, thus may require customizations to port the data to different systems. |
Interoperability |
The standard data model helps systems to interact with each other easily & build a 360 degree view of the learner's experience from multiple places. |
Interaction between multiple systems would require data translations and mapping between the participating systems. |
Resource Consumption |
Udemy Business PUSHes the events to the 3rd party system, thereby these systems don't have to PULL. from Udemy Business. This results in lesser resource consumption and scalability issues. |
Requires 3rd party systems to PULL data from Udemy. When requests and payloads increase it can lead to timeout issues. |
Future-proofing |
Rapidly developing industry standard. Allows us to expand to a wide range of learner experience events (in the future) - e.g., tracking granular progress within a content, interactions, search, review etc. |
Limited to completion, progress events at a lecture and course level currently, though extending it is possible. However, this may require relatively more work as there are no standards in place. |