Skip to content

“Unable to acquire LMS API”: what it means and how to fix it

Updated 16 October 2026

Quick fix

The course couldn't find its connection to the LMS, so nothing the learner does is being recorded. Where you see the message tells you what to do:

  • On your own computer or in a preview: this is expected, because there is no LMS there. Nothing is broken. What to do instead.
  • In your LMS, for every learner: the package is the problem. Republish for an LMS (not the web) and pick the SCORM version in the publish settings. Steps for Storyline, Rise and Captivate.
  • In your LMS, only for some learners: look at how those learners open the course. What to check.
  • You're a learner taking the course: press Cancel, close the course and start it again from your LMS. If it keeps happening, tell your LMS admin.

Not sure which? Drop the zip into Alder (free, nothing is uploaded). It tells you if the package is the cause and shows whether the course connects.

On your own computer or in a preview: expected

Opening the launch file of an LMS publish (in Storyline, index_lms.html) from your computer, or from a plain web server, runs the course with no LMS around it. The course looks for the LMS, finds nothing, and shows the message. That says nothing about how it will behave in your LMS.

To see whether the course really tracks, play it somewhere that acts as an LMS. Alder's test player does that in your browser, and SCORM Cloud does it online. See how to test a SCORM package without an LMS.

In your LMS, for every learner: fix the package

When everyone sees it, the package is almost always one of three things: a web publish uploaded instead of an LMS publish, a manifest that names a different SCORM version from the course's own code, or a window setting that doesn't suit your LMS. All three are fixed where you publish.

  1. Publish for an LMS, not the web

    In Storyline, publish with Publish → LMS / LRS, not Web. In Rise, use Publish → LMS. In Captivate, open Quiz → Quiz Preferences → Reporting and tick “Enable reporting for this project” (in the new Captivate, Preferences → Quizzing → Reporting, then turn on “Enable Reporting”). Upload the zip the tool makes, unchanged.

  2. Pick the SCORM version in the tool, not in the manifest

    Choose the version your LMS expects where you publish: in Storyline, the “Report to an LMS” drop-down on the LMS tab of Publish → LMS / LRS → Reporting and Tracking (and “Edition:” for SCORM 2004); in Rise, the “LMS” drop-down; in Captivate, “Standard” in the reporting preferences. Don't change the version in imsmanifest.xml (the file that tells the LMS how to launch the course) by hand: the course's code has to match it.

  3. Match the Storyline window setting to your LMS

    In Storyline, open Home → Player → Other. Under Browser Settings, “Launch player in new window (creates launch page)” should be off if your LMS already opens courses in their own window, and on for SAP SuccessFactors. If you don't know which your LMS does, ask your LMS admin.

Check the new zip before you upload it (free)

Re-uploading to the LMS just to see if a fix worked is slow. Check the zip in Alder first: it is read in your browser, and nothing is uploaded.

  1. Drop the zip into Alder

    Open Alder and drop the zip. Alder looks for a web publish (STRUCT-002), a Storyline package that launches story.html (TOOL-008), and a manifest whose SCORM version doesn't match the course's code (MANIFEST-012). Each one is a problem card with the fix. Or go straight to the checks for a course that isn't reporting.

  2. Launch it in the test player

    Click “Launch the course”. Alder plays the part of the LMS and offers the connection the manifest asks for, as an LMS would. Open the technical log: one of the first rows should say “The course started its session with the LMS.”

    Alder's call log: the course page index.html loaded, then LMSInitialize returned true, shown as 'The course started its session with the LMS', then a check for errors found none.
    A course that found the connection: Alder's SCORM 1.2 probe package, after its first calls.
  3. Press “I’m done”

    If the course never connected, Alder says so under “What we found” (RUNTIME-001), with what to check next.

    Alder's Must fix card: the course never connects to the LMS, so nothing is recorded. How to fix it: check that you uploaded the LMS (SCORM 1.2) version, not a web publish, and that the launch file loads the course's SCORM code.
    The same probe launched and closed without a single call.

It connects in Alder but not in your LMS

Then the package is probably fine, and the cause is how the LMS opens it. Two things to check with your LMS admin:

  • The window setting. Articulate's troubleshooting article says that if the LMS already opens courses in a separate window, “Launch player in new window” must be off. SAP SuccessFactors is the reported opposite: SAP documents that content opened inline can fail to communicate, and course authors on E-Learning Heroes report that Storyline courses there need the setting on. In Alder, choose SAP SuccessFactors under “Uploading to”: its free note (LMS-001) flags a Storyline course published without the setting.
  • A different web address for courses. Browsers don't let a page read a window that belongs to another address, so the course's search for the LMS stops there. If your LMS, or a separate content server, serves courses from a different address than the LMS page, ask your LMS admin how its course windows are set up.

In your LMS, only for some learners

If most learners are fine, the package connects, so republishing won't help. Look at how the learners who see the message open the course:

  • They opened it outside the LMS. A course linked straight from an intranet page, or run from a copy on someone's computer, has no LMS around it, and shows this message. Ask learners to start the course from its page in the LMS every time.
  • Something on their side blocks the course's web address. When other learners don't get the error, Rustici (the company behind SCORM Cloud) points to a security setting on the learner's computer or network. Their IT team can allow the address the courses are served from.
  • Phones, tablets and LMS apps. Course authors report the message when launching on mobile phones, and in an LMS app inside Microsoft Teams. Neither has a confirmed cause, so if it only happens on a phone or in an app, try the same learner on a desktop browser to narrow it down.

If you're a learner: press Cancel (OK only opens a debug window), close the course and start it again from your LMS. If the message comes back, send your LMS admin a screenshot and say which device and browser you used.

What the message means

An LMS that plays a SCORM course puts a connection object on its own page. SCORM calls it the API (application programming interface): the set of calls a course uses to talk to the LMS. A SCORM 1.2 course looks for an object named API; a SCORM 2004 course looks for API_1484_11.

When the course starts, its SCORM code searches the windows around it: each parent window in turn, then the window that opened it. If the search finds nothing, many courses show this message and keep playing. The learner can click through to the end, but no completion, score or bookmark ever reaches the LMS. On SCORM Cloud, a launch that never connects leaves the completion “unknown” and the time at zero.

How a course finds the LMS connectionThe LMS page offers a connection object: API for SCORM 1.2, API_1484_11 for SCORM 2004. The course's SCORM code looks up through its parent windows, then the window that opened it. The search fails when the course looks for the other version's name, when its window can't reach the LMS page, or when there is no LMS at all. Then the course shows Unable to acquire LMS API and nothing is recorded.THE LMS PAGEOffers the connection:API (SCORM 1.2)API_1484_11 (SCORM 2004)Looks up for itTHE COURSEIts SCORM code checks eachparent window, then thewindow that opened it.THE SEARCH FAILS WHENIt looks for the other versionIts window can't reach the LMSThere is no LMS at all“Unable to acquire LMS API”
The course finds the LMS by looking up through the windows around it, and the search can fail in three places.

That is why the fixes above work: a version mismatch makes the course search for the wrong name, and a window that can't reach the LMS page cuts the search short.

Still not working?