Import an xAPI Course
xAPI (also called Tin Can API) is a modern e-learning standard that tracks a broader range of learning experiences than SCORM. SkillStream LMS includes a built-in Learning Record Store (LRS) that receives and stores xAPI statements from imported content.
What is xAPI?#
xAPI content sends "statements" to the LRS in the format: actor → verb → object (e.g., "Jane completed Module 3"). Unlike SCORM, xAPI can track offline activity, mobile learning, simulations, and branching scenarios with detailed granularity.
Before You Import#
- Export your content as a
.zipfile from your authoring tool (Articulate Storyline 360, Adobe Captivate, Lectora, etc.) using the xAPI/Tin Can export option. - The zip must contain a
tincan.xml(orcmi5.xmlfor cmi5 content) at the root level. - Maximum upload size: 500 MB.
Step 1: Start the Import#
- Go to Admin → Course Management → Import Course.
- Select xAPI / Tin Can as the content type.
- Click Choose file and select your
.zip. - Click Upload.
SkillStream validates the package and reads the activity list from tincan.xml.
Step 2: Configure the Import#
| Setting | Description |
|---|---|
| Title | Pre-filled from tincan.xml; edit as needed |
| Description | Shown in the course library |
| Cover image | Thumbnail for the course card |
| Completion statement verb | The xAPI verb that triggers completion (default: http://adlnet.gov/expapi/verbs/completed) |
| Passing verb | The verb that triggers a pass result (default: http://adlnet.gov/expapi/verbs/passed) |
| Mastery score | Minimum score percentage for a pass, if the content sends score statements |
Common completion verbs:
| Verb | IRI |
|---|---|
| completed | http://adlnet.gov/expapi/verbs/completed |
| passed | http://adlnet.gov/expapi/verbs/passed |
| mastered | http://adlnet.gov/expapi/verbs/mastered |
| satisfied | https://w3id.org/xapi/adl/verbs/satisfied |
Check your authoring tool's documentation to confirm which verb your content sends on completion.
Step 3: Publish#
- Click Import course to create the course in draft mode.
- Click Preview to open the content in the xAPI player and verify it runs correctly.
- Confirm that completing the content sends a statement visible in the preview console.
- Click Publish when ready.
View xAPI Statements#
Go to Admin → Courses → [Course] → xAPI Statements to see a live feed of all statements sent by enrolled learners. Each row shows the actor, verb, object, and timestamp.
This view is useful for debugging — if a learner claims they completed the course but SkillStream shows no completion, check whether the expected completion verb appears in the statements log.
Troubleshooting#
Error: "No tincan.xml or cmi5.xml found" Re-export from your authoring tool using the xAPI/Tin Can export option and ensure the manifest is at the root of the zip.
Course plays but never marks complete Open the xAPI statements log for that learner and check which verbs are being sent. The completion verb in your import settings may not match what the content sends. Update the completion statement verb to match.
Content launches but shows a blank screen This usually indicates a cross-origin (CORS) issue with an external resource the content tries to load. Check your authoring tool's export settings to ensure all assets are bundled locally, not loading from an external URL.
Scores are not recording
Verify your content sends a result.score.scaled or result.score.raw value with the completion statement. Some authoring tools require a result slide or scoring object to be configured explicitly.
Was this article helpful?
Still need help?
Our support team is ready to assist with anything not covered here.