V2 Migration Guide

Upgrading from V1 to V2

If you’re starting to consider upgrading your application’s integration with SCORM Cloud to use our REST api, this document will be your guide.

The V2 api in many ways is a stark departure from the v1 api. Many of these changes are obvious any easy to digest (moving from XML to JSON for instance). However, close attention should be paid.

One of the goals we had in the release of our V2 api was aligning the semantics and functionality of the core of our api with Rustici Engine’s api. For that reason there are some smaller changes that may be less than obvious. For instance: setting defaults may have changed for some things. Postbacks come to mind initially, but keep an eye out in this document for others.

Versions and Instances

You’ll notice that versions of courses and instances of registrations now can be accessed individually. One important thing to note here is that whenever you get a course or registration and don’t specify an instance, the most recent instance or version is returned.


  • The default authType has changed to httpbasic
  • The default resultsFormat has changed to activity
  • The POSTed payload will now be in JSON, unless otherwise specified
  • While postback settings can still be configured in the call to createRegistration, you won’t see them as part of the detail in getRegistration. Instead, you’ll read/update all settings for a registration via getRegistrationConfiguration and setRegistrationConfiguration respectively. In those calls they’ll also have different property names than they do when set via createRegistration. Here’s the mapping:

    • url -> ApiRollupRegistrationPostBackUrl
    • authType -> ApiRollupRegistrationAuthType
    • userName -> ApiRollupRegistrationAuthUser
    • password -> ApiRollupRegistrationAuthPassword
    • resultsFormat -> ApiRollupRegistrationFormat
    • legacy -> ApiRollupRegistrationIsJson
  • Because of the new configuration system, postback settings can now be configured at several different levels of the application. Meaning if all of your registrations will post to the same url, you can set this once at a lower level (course, dispatch, or application) and have that apply to all of the registrations within.

Api Services

This list of differences is by no means exhaustive. It simply points out some tricker transitions, or changes to the most commonly used method names.

Application Service

  • “Secret Keys” are now referred to as “Credentials”

Course Service

  • importCourseAsync is now createUploadAndImportCourseJob
  • getAsyncImportResult is now getImportJobStatus
  • preview links are now obtain via the api with buildCoursePreviewLaunchLink, and now have configurable expiry
  • getAttributes and updateAttributes are now the various CourseConfiguration endpoints
  • Player settings can now be set at multiple different levels (registration, dispatch, application).
  • Added the ability to import a course provided a url where the course is available
  • xApi statements for registrations can now be obtained

Invitation Service

  • Public and private invitations now each have their own resources
  • You can now further query for information about registrations against a course, including a registration summary optionally

Registration Service

Additional notes: