Back to Blog

xAPI Course Creator: How to Build Tin Can Courses Without Coding

xAPI is a powerful e-learning standard, but building a working Tin Can course without writing JSON by hand is not obvious. This guide explains what xAPI is, what infrastructure you need, and how authoring tools handle the technical complexity for you.

Nico SchrieverNico Schriever•May 23, 2026
Topics:E-LearningTechnologyAutomationBest Practices

The xAPI specification is one of those standards that looks intimidating until you understand what it is actually doing. A lot of learning professionals hear "Tin Can," see references to JSON statements and REST APIs, and assume it is a developer topic. It is not — but you do need the right authoring tool and the right understanding of the infrastructure.

This guide explains what xAPI statements look like, what a Learning Record Store is, and how to produce a working xAPI course package without writing any code.

What an xAPI Statement Actually Is

The xAPI specification, published in 2013, represents learning as statements. Every statement has three required parts: an actor, a verb, and an object. The canonical example looks like this:

"Nico completed the Workplace Safety module."

In JSON, that becomes:

{
  "actor": { "name": "Nico", "mbox": "mailto:nico@example.com" },
  "verb": { "id": "http://adlnet.gov/expapi/verbs/completed" },
  "object": { "id": "https://skillsail.com/courses/workplace-safety" }
}

Statements can include additional context: a score, a duration, a result, a platform, extensions for custom data. But the core model is always actor-verb-object. As iSpring's xAPI vs. SCORM guide explains, this simplicity is what makes xAPI so flexible: any learning event — watching a video, passing a quiz, completing a simulation — can be expressed as a statement.

What changes compared to SCORM is where those statements go. SCORM communicates via JavaScript in the browser with the LMS. xAPI sends HTTP requests to a Learning Record Store.

The Learning Record Store: Required Infrastructure

A Learning Record Store (LRS) is a database built specifically to receive, store, and serve xAPI statements. It is separate from the LMS, and it is required for xAPI to work.

As described in the xAPI.com LRS guide, an LRS must support a standardized REST API so that any xAPI-compliant course can send statements to it without custom integration. Some LMS platforms include a built-in LRS — Docebo is one example, and their xAPI upload documentation shows how xAPI content is uploaded and configured to point to their built-in store. Other organisations run standalone LRS products alongside their LMS.

If your LMS does not have a built-in LRS, you have two options: add a standalone LRS product to your stack, or use an LMS that includes one.

Why xAPI Matters: Use Cases that SCORM Cannot Handle

SCORM requires a browser and an active LMS session. xAPI does not.

Offline mobile training. A mobile training app can queue xAPI statements locally and sync them to the LRS when connectivity is restored. This is critical for field workers, retail staff, or anyone in environments without reliable internet access.

Simulation and scenario tracking. Complex simulations generate many events — branching decisions, time-on-task, error rates. xAPI can capture all of these as individual statements, providing much richer analytics than a single SCORM score.

Beyond-LMS learning. Informal learning — watching a video on an external platform, completing a task in the workflow — can be captured with xAPI statements as long as the activity reports to the LRS.

Blended learning programs. In-person attendance, coaching sessions, and on-the-job assessments can all be recorded as xAPI statements, building a complete picture of a learner's development that a SCORM-only LMS cannot provide.

Authoring Tools That Export xAPI

The practical question is how to produce an xAPI package without writing JSON manually. Several authoring tools handle this for you.

iSpring Suite exports xAPI from its standard publish dialog. The course produces xAPI statements for launch, interactions, completion, and score, and requires you to configure the LRS endpoint in the published output. As noted in iSpring's xAPI documentation, this is a Windows-only desktop workflow.

Articulate Storyline 360 supports xAPI publishing with configurable statement granularity — you can choose which events trigger statements.

Skillsail exports xAPI packages directly from its cloud-based authoring environment. The same module that exports SCORM 1.2 also exports xAPI, and the LRS endpoint is configured at export time. For multilingual courses, each language variant is exported as a separate xAPI package.

When to Choose xAPI Over SCORM or cmi5

The decision is driven by infrastructure and use case:

Choose xAPI when:

  • You have an LRS or your LMS includes one.
  • You need to track learning outside the LMS — mobile apps, external platforms, or in-person events.
  • Your use case involves complex simulations or blended learning that generates rich event data.
  • You are building a learning analytics infrastructure that will consolidate data from multiple sources.

Stay with SCORM when:

  • Your LMS does not have an LRS and you cannot add one.
  • Your use case is a standard online course with completion and score — xAPI is more infrastructure for the same result.

Consider cmi5 instead when:

  • You want xAPI's data richness but need the LMS to control the launch, authentication, and move-on logic — cmi5 defines all of that on top of xAPI.

What a Practical xAPI Workflow Looks Like

A straightforward xAPI course deployment:

  1. Author the course in a tool that exports xAPI — Skillsail, iSpring, or Storyline.
  2. Configure the LRS endpoint during export. The xAPI package needs to know where to send statements at runtime.
  3. Upload the xAPI package to your LMS or host it on a web server. The LMS launches the course URL; the course then communicates directly with the LRS.
  4. Review statements in the LRS for analytics. Statement data can be visualised in the LRS's built-in dashboard or exported to a BI tool.

The key step that trips up new xAPI implementers is step 2: the LRS endpoint. Unlike SCORM, which finds the LMS automatically via browser injection, xAPI needs to know where the LRS is before the course is published.

Where Skillsail Fits

Skillsail's export pipeline covers all four major formats — SCORM 1.2, SCORM 2004, xAPI, and cmi5 — from the same authored module. For teams that need xAPI without a complex authoring environment, this means: upload a source document, generate the course, configure the LRS endpoint, and export. No JSON, no custom code, no PowerPoint plugin required.

For multilingual xAPI deployments — a scenario SCORM handles clumsily — Skillsail generates a separate xAPI package per language, each sending statements in the learner's language context.

xAPI is not more complicated than SCORM to consume once you understand the infrastructure requirement. The authoring part is identical; only the delivery plumbing changes.

AI Course Builder

Ready to create?

Ask Skillsail to create a

Related Articles

How to Convert a PDF to a SCORM Course (Without Manual Re-Authoring)

Converting a PDF into a SCORM course sounds simple but requires more than wrapping slides around pages. This guide covers three conversion approaches — from basic embedding to AI-powered extraction — and explains which SCORM format to choose.

Convert PowerPoint to SCORM: 3 Approaches and When to Use Each

Converting a PowerPoint presentation to SCORM is faster than starting from a PDF, but the right approach depends on your LMS, team setup, and whether you need quizzes and multilingual output. Here are the three main paths and when each makes sense.

Employee Onboarding Course Builder: From Handbook to Interactive Module

Most employee handbooks are ignored because they are too long, too static, and not available in the right language. This guide explains how to turn a handbook into a structured, interactive onboarding course that works across distributed, multilingual teams.

Back to Blog
SkillsailSkillsail
  • Enterprise
  • Pricing
Log inStart for Free

AI Course Builder

Ready to create?

Ask Skillsail to create a

Platform

  • Features
  • Templates
  • Pricing
  • Enterprise

Use Cases

  • Employee Onboarding Training
  • PowerPoint to eLearning
  • View all solutions
  • Automotive
  • Healthcare
  • Retail
  • View all industries

Resources

  • Documentation
  • FAQ
  • SCORM Validator
  • SCORM Player
  • Changelog
  • Blog

Topics

  • E-Learning
  • Best Practices
  • Artificial Intelligence
  • Multilingual
  • Localization
  • Training
  • View all posts

Company

  • About
  • Book a meeting
  • Contact
  • Support
  • Climate Commitment

Legal

  • Privacy Policy
  • Subprocessors
  • Data Processing Agreement
  • Terms and Conditions
  • Credits and Usage
  • Imprint

Integrations

  • ChatGPT
  • Claude
  • Add to Claude opens in a new tab
  • Slack
  • Telegram
  • View all integrations

© 2026 Skillsail GmbH, All rights reserved

  • LinkedIn
  • X
  • YouTube