SCORM Cloud has a few core concepts that are helpful to understand when building an integration against it.
Realms are the billing accounts of SCORM Cloud. Each realm either has a billing plan that determines its usage limits and monthly cost, or it is linked to another realm that has a billing plan. The API does not have any operations that work at the realm level. (There is no API to create or delete realms, for example.)
Applications are logically-separate containers within realms. The SCORM Cloud API operates within the context of an application: API credentials are an application ID (app ID for short) and a secret key.
Courses (or packages) are the unit of standardized learning content: a SCORM, AICC, cmi5, or Tin Can package. These are stored on a per-application basis.
Registrations are the logical association of a learner with a course. When an integrating system “assigns” a course to a learner, it will often create a registration in SCORM Cloud. Since courses are stored on a per-application basis, so too are registrations.
The relationship between these objects is shown in this graph:
Note that learners are not a distinct object in SCORM Cloud; there is neither an API to manage learners nor a learner repository in SCORM Cloud itself that tracks different learners. SCORM Cloud only knows about learners through the registration API, which includes the learner ID, first name, and last name.
User accounts do exist in SCORM Cloud, but these are strictly accounts used to access the management UI at cloud.scorm.com. There is no public API to manage them.
To demonstrate the above concepts: When a user signs up for a SCORM Cloud account at cloud.scorm.com, the system creates a default realm for them. By default, new realms are created with two applications in them. One application (named “SCORM Cloud”) is used internally by the website, and the other application (named “Initial Application for …“) is left empty. No courses or registrations are in a new account by default.
The user might select “Add Content” on the website and import a SCORM package. This package (course) will be added to the SCORM Cloud application. The user can then launch the package in the testing sandbox (the course info page) – this will create a no-charge sandbox registration within the SCORM Cloud application, then launch that registration.