SCORM Cloud: The 4
categories of content
distribution 🌀
About Rustici Software
Learning technology experts since
2002
We help connect content and platforms
across the eLearning ecosystem,
leveraging our expertise in SCORM, xAPI,
cmi5, LTI and AICC.
About us
Nick Carver
- SCORM Cloud software developer
- Avid Survivor fan
Nolan McDonald
- SCORM Cloud support engineer
- Enjoys bad jokes and video game
binges
Main distribution methods
Target audience: Learners
1. Public invitations
2. Private invitations
3. Registration launch links
4. Customized registration launch links
Target audience: Other learning platforms
5. Dispatch
June 8, 2025 - Paducah, TX wind and hail
Public invitations
Who are they for?
● When you do not know who your learners will
be in advance.
● Public forums, e.g. Slack, Teams, social media,
blog posts.
How do I use public invitations?
Available through the UI and the API. Provide the
course ID and generate a URL.
April 29, 2025 - Benjamin, TX large hail
Public invitations
When are registrations created?
● Learners are asked for their name and email
address.
● Learner submits information and then the
registration is created.
How do I send the public invitation to my
learners?
You are responsible for posting the public
invitation link on the public forum.
April 29, 2025 - Seymour, TX, sunset after softball size
hail, hurricane force winds and tornado warning
Demo
June 8, 2025 - near Palo Duro Canyon
Private invitations
Who are they for?
Specific learner list of who will be taking a course
(e.g. all employees or a department training).
How do I get a private invitation?
Available in both the UI and the API. Provide the
course ID and learner emails, each learner gets
an email containing a unique URL
June 8, 2025 - Birth of a supercell in west TX
Private invitations
When are registrations created?
● Creating a private invitation starts an
asynchronous job.
● The job creates a registration for each
learner in the list.
How do I send the private invitation to my
learners?
The job sends an email to the learners on the list
with their personal launch link. May 6, 2024 - West central OK high risk day
Demo
June 8, 2025 - near Palo Duro Canyon
Dispatches
Who are they for?
● Users wanting to share courses with an LMS.
● Different from other content distribution
methods.
● Instead of providing a learner access to the
course, you are allowing your clients to
distribute your course to their learners.
What is a dispatch?
A SCORM 1.2 package. It’s a bridge allowing
external systems to access your content.
June 8, 2025 - Supercell near Claude, TX
Dispatches
What problem does a dispatch solve?
● Centralized control.
○ No maintaining separate content versions for
each client.
○ Maintain access control of your content
○ Protect your intellectual property.
● Meet learners where they are.
● Compatibility layer for environments with
limited elearning standard support
June 8, 2025 - Supercell near Claude, TX
Dispatches
How do I create a dispatch?
Available in both the UI and the API. Provide a
course ID (the content you want to share) and a
destination (who the content will be shared with).
The result is a package that contains a pointer
back to your course.
June 8, 2025 - Supercell near Palo Duro Canyon
Demo/diagram
Registration launch links
Who are they for?
Learning platforms
How do I create one?
Through the SCORM Cloud API:
1. Create a registration.
2. Build the launch link for the registration.
May 6, 2024 - West central OK high risk day
How do I create a registration?
curl --location 'https://cloud.scorm.com/api/v2/registrations' 
--header 'Content-Type: application/json' 
--header 'Authorization: Basic ***' 
--data '{
"learner": {
"id": "{your_learner_id}"
},
"registrationId": "{your_registration_id}",
"courseId": "{your_course_id}"
}'
Registration launch links
When do I create a registration?
When you’re ready to enroll a learner in a course. Typically when they sign-up or
purchase access.
Registration launch links
When do I create a launch link?
When it is time for the learner to launch the content.
How do I create a launch link?
curl --location
'https://cloud.scorm.com/api/v2/registrations/{your_registration_id}/launchLink' 
--header 'Content-Type: application/json' 
--header 'Authorization: Basic ***' 
--data '{
"redirectOnExitUrl": "message"
}'
Demo
May 18, 2025 - Arnett, OK EF-3
Custom registration launch links
What can I control when I create a registration? - Learner data
{
"learner": {
"id": "{your_learner_id}",
"email": "james.spann@rusticisoftware.com",
"firstName": "James",
"lastName": "Spann"
},
…
}
Custom registration launch links
What can I control when I create a registration? - Learner data
Custom registration launch links
What can I control when I create a registration? - Postbacks
{
…
"postBack": {
"url": "https://example.com/postBackEndpoint"
}
}
Custom registration launch links
What can I control when I create a
registration? - Postbacks
Custom registration launch links
A note on Postback settings
Application
- Url: https://foo.com/postBackEndpoint
Course
- Url: https://bar.com/postBackEndpoint
Registration
- Url: https://example.com/postBackEndpoint Applied
Custom registration launch links
A note on Postback settings
Application
- Url: https://foo.com/postBackEndpoint
Course
- Url: https://bar.com/postBackEndpoint
Registration
- Url: none
Applied
Custom registration launch links
A note on Postback settings
Application
- Url: https://foo.com/postBackEndpoint
Course
- Url: none
Registration
- Url: none
Applied
Custom registration launch links
Url: https://foo.com/postBackEndpoint
Application
Url: https://bar.com/postBackEndpoint
Course: 1 Url: none
Course: 2
Url: none
Reg: 1
Url: none
Reg: 2 Url: https://example.com/postBackEndpoint
Reg: 3
Url: none
Reg: 4
Custom registration launch links
URL Applied
Url: https://foo.com/postBackEndpoint
Application
Url: https://bar.com/postBackEndpoint
Course: 1 Url: none
Course: 2
Url: none
Reg: 1
Url: none
Reg: 2 Url: https://example.com/postBackEndpoint
Reg: 3
Url: none
Reg: 4
Custom registration launch links
URL Applied
Url: https://foo.com/postBackEndpoint
Application
Url: https://bar.com/postBackEndpoint
Course: 1 Url: none
Course: 2
Url: none
Reg: 1
Url: none
Reg: 2 Url: https://example.com/postBackEndpoint
Reg: 3
Url: none
Reg: 4
Custom registration launch links
URL Applied
Url: https://foo.com/postBackEndpoint
Application
Url: https://bar.com/postBackEndpoint
Course: 1 Url: none
Course: 2
Url: none
Reg: 1
Url: none
Reg: 2 Url: https://example.com/postBackEndpoint
Reg: 3
Url: none
Reg: 4
Custom registration launch links
URL Applied
Url: https://foo.com/postBackEndpoint
Application
Url: https://bar.com/postBackEndpoint
Course: 1 Url: none
Course: 2
Url: none
Reg: 1
Url: none
Reg: 2 Url: https://example.com/postBackEndpoint
Reg: 3
Url: none
Reg: 4
How do I create a custom registration?
curl --location 'https://cloud.scorm.com/api/v2/registrations' 
--header 'Content-Type: application/json' 
--header 'Authorization: Basic ***' 
--data '{
"learner": {
"id": "{your_learner_id}",
"email": "james.spann@rusticisoftware.com",
"firstName": "James",
"lastName": "Spann"
},
"registrationId": "{your_registration_id}",
"courseId": "{your_course_id}",
"postBack": {
"url": "https://example.com/postBackEndpoint"
}
}'
Registration launch links
Registration launch links
What can I control when I create a launch link? - Redirect on exit URL
{
"redirectOnExitUrl": "https://example.com/landing"
}
Send learners to your landing page when they exit their content
Registration launch links
What can I control when I create a launch link? - Player CSS
{
"redirectOnExitUrl": "https://example.com/landing",
"cssUrl": "https://example.com/SCORM_player.css",
}
Customize the appearance of the player
Registration launch links
What can I control when I create a launch link? - Player CSS
Default
Custom CSS Applied
Registration launch links
What can I control when I create a launch link? - Link expiry time
{
"redirectOnExitUrl": "https://example.com/landing",
"cssUrl": "https://example.com/cloud_player.css",
"Expiry": 60
}
Set the expiration time on the launch link
Registration launch links
What can I control when I create a launch link? - Additional values
{
"redirectOnExitUrl": "https://example.com/landing",
"cssUrl": "https://example.com/SCORM_player.css",
"Expiry": 60,
"additionalValues": [
{
"item": "some_item_key",
"value": "some_item_value"
}
]
}
Pass values to your course
on launch
Registration launch links
What can I control when I create a launch link? - Additional values
{
…
"additionalValues": [
{
"item": "storm_type",
"value": "blizzard"
}
]
}
Registration launch links
What can I control when I create a launch link? - Additional values
{
…
"additionalValues": [
{
"item": "storm_type",
"value": "hurricane"
}
]
}
Demo
May 18, 2025 - Arnett, OK EF-3
Choosing the right fit for you
Public invitations: Open training, webinars or public forums.
Private invitations: Targeted training with known learner lists.
Dispatches: Distributing content to external LMSs or multiple client systems.
Basic registration launch links: Building your own learning platform or course
catalog.
Custom registration launch links: Making your learning platform or course
catalog more sophisticated
Have questions?
Ask us anything!
Email us: info@rusticisoftware.com
Learn more: rusticisoftware.com | scorm.com | xapi.com
Sept. 24, 2024 - Rainbow at a therapeutic equestrian
center in Franklin, TN

SCORM Cloud: The 5 categories of content distribution

  • 1.
    SCORM Cloud: The4 categories of content distribution 🌀
  • 2.
    About Rustici Software Learningtechnology experts since 2002 We help connect content and platforms across the eLearning ecosystem, leveraging our expertise in SCORM, xAPI, cmi5, LTI and AICC.
  • 3.
    About us Nick Carver -SCORM Cloud software developer - Avid Survivor fan Nolan McDonald - SCORM Cloud support engineer - Enjoys bad jokes and video game binges
  • 4.
    Main distribution methods Targetaudience: Learners 1. Public invitations 2. Private invitations 3. Registration launch links 4. Customized registration launch links Target audience: Other learning platforms 5. Dispatch June 8, 2025 - Paducah, TX wind and hail
  • 5.
    Public invitations Who arethey for? ● When you do not know who your learners will be in advance. ● Public forums, e.g. Slack, Teams, social media, blog posts. How do I use public invitations? Available through the UI and the API. Provide the course ID and generate a URL. April 29, 2025 - Benjamin, TX large hail
  • 6.
    Public invitations When areregistrations created? ● Learners are asked for their name and email address. ● Learner submits information and then the registration is created. How do I send the public invitation to my learners? You are responsible for posting the public invitation link on the public forum. April 29, 2025 - Seymour, TX, sunset after softball size hail, hurricane force winds and tornado warning
  • 7.
    Demo June 8, 2025- near Palo Duro Canyon
  • 8.
    Private invitations Who arethey for? Specific learner list of who will be taking a course (e.g. all employees or a department training). How do I get a private invitation? Available in both the UI and the API. Provide the course ID and learner emails, each learner gets an email containing a unique URL June 8, 2025 - Birth of a supercell in west TX
  • 9.
    Private invitations When areregistrations created? ● Creating a private invitation starts an asynchronous job. ● The job creates a registration for each learner in the list. How do I send the private invitation to my learners? The job sends an email to the learners on the list with their personal launch link. May 6, 2024 - West central OK high risk day
  • 10.
    Demo June 8, 2025- near Palo Duro Canyon
  • 11.
    Dispatches Who are theyfor? ● Users wanting to share courses with an LMS. ● Different from other content distribution methods. ● Instead of providing a learner access to the course, you are allowing your clients to distribute your course to their learners. What is a dispatch? A SCORM 1.2 package. It’s a bridge allowing external systems to access your content. June 8, 2025 - Supercell near Claude, TX
  • 12.
    Dispatches What problem doesa dispatch solve? ● Centralized control. ○ No maintaining separate content versions for each client. ○ Maintain access control of your content ○ Protect your intellectual property. ● Meet learners where they are. ● Compatibility layer for environments with limited elearning standard support June 8, 2025 - Supercell near Claude, TX
  • 13.
    Dispatches How do Icreate a dispatch? Available in both the UI and the API. Provide a course ID (the content you want to share) and a destination (who the content will be shared with). The result is a package that contains a pointer back to your course. June 8, 2025 - Supercell near Palo Duro Canyon
  • 14.
  • 15.
    Registration launch links Whoare they for? Learning platforms How do I create one? Through the SCORM Cloud API: 1. Create a registration. 2. Build the launch link for the registration. May 6, 2024 - West central OK high risk day
  • 16.
    How do Icreate a registration? curl --location 'https://cloud.scorm.com/api/v2/registrations' --header 'Content-Type: application/json' --header 'Authorization: Basic ***' --data '{ "learner": { "id": "{your_learner_id}" }, "registrationId": "{your_registration_id}", "courseId": "{your_course_id}" }' Registration launch links When do I create a registration? When you’re ready to enroll a learner in a course. Typically when they sign-up or purchase access.
  • 17.
    Registration launch links Whendo I create a launch link? When it is time for the learner to launch the content. How do I create a launch link? curl --location 'https://cloud.scorm.com/api/v2/registrations/{your_registration_id}/launchLink' --header 'Content-Type: application/json' --header 'Authorization: Basic ***' --data '{ "redirectOnExitUrl": "message" }'
  • 18.
    Demo May 18, 2025- Arnett, OK EF-3
  • 19.
    Custom registration launchlinks What can I control when I create a registration? - Learner data { "learner": { "id": "{your_learner_id}", "email": "james.spann@rusticisoftware.com", "firstName": "James", "lastName": "Spann" }, … }
  • 20.
    Custom registration launchlinks What can I control when I create a registration? - Learner data
  • 21.
    Custom registration launchlinks What can I control when I create a registration? - Postbacks { … "postBack": { "url": "https://example.com/postBackEndpoint" } }
  • 22.
    Custom registration launchlinks What can I control when I create a registration? - Postbacks
  • 23.
    Custom registration launchlinks A note on Postback settings Application - Url: https://foo.com/postBackEndpoint Course - Url: https://bar.com/postBackEndpoint Registration - Url: https://example.com/postBackEndpoint Applied
  • 24.
    Custom registration launchlinks A note on Postback settings Application - Url: https://foo.com/postBackEndpoint Course - Url: https://bar.com/postBackEndpoint Registration - Url: none Applied
  • 25.
    Custom registration launchlinks A note on Postback settings Application - Url: https://foo.com/postBackEndpoint Course - Url: none Registration - Url: none Applied
  • 26.
    Custom registration launchlinks Url: https://foo.com/postBackEndpoint Application Url: https://bar.com/postBackEndpoint Course: 1 Url: none Course: 2 Url: none Reg: 1 Url: none Reg: 2 Url: https://example.com/postBackEndpoint Reg: 3 Url: none Reg: 4
  • 27.
    Custom registration launchlinks URL Applied Url: https://foo.com/postBackEndpoint Application Url: https://bar.com/postBackEndpoint Course: 1 Url: none Course: 2 Url: none Reg: 1 Url: none Reg: 2 Url: https://example.com/postBackEndpoint Reg: 3 Url: none Reg: 4
  • 28.
    Custom registration launchlinks URL Applied Url: https://foo.com/postBackEndpoint Application Url: https://bar.com/postBackEndpoint Course: 1 Url: none Course: 2 Url: none Reg: 1 Url: none Reg: 2 Url: https://example.com/postBackEndpoint Reg: 3 Url: none Reg: 4
  • 29.
    Custom registration launchlinks URL Applied Url: https://foo.com/postBackEndpoint Application Url: https://bar.com/postBackEndpoint Course: 1 Url: none Course: 2 Url: none Reg: 1 Url: none Reg: 2 Url: https://example.com/postBackEndpoint Reg: 3 Url: none Reg: 4
  • 30.
    Custom registration launchlinks URL Applied Url: https://foo.com/postBackEndpoint Application Url: https://bar.com/postBackEndpoint Course: 1 Url: none Course: 2 Url: none Reg: 1 Url: none Reg: 2 Url: https://example.com/postBackEndpoint Reg: 3 Url: none Reg: 4
  • 31.
    How do Icreate a custom registration? curl --location 'https://cloud.scorm.com/api/v2/registrations' --header 'Content-Type: application/json' --header 'Authorization: Basic ***' --data '{ "learner": { "id": "{your_learner_id}", "email": "james.spann@rusticisoftware.com", "firstName": "James", "lastName": "Spann" }, "registrationId": "{your_registration_id}", "courseId": "{your_course_id}", "postBack": { "url": "https://example.com/postBackEndpoint" } }' Registration launch links
  • 32.
    Registration launch links Whatcan I control when I create a launch link? - Redirect on exit URL { "redirectOnExitUrl": "https://example.com/landing" } Send learners to your landing page when they exit their content
  • 33.
    Registration launch links Whatcan I control when I create a launch link? - Player CSS { "redirectOnExitUrl": "https://example.com/landing", "cssUrl": "https://example.com/SCORM_player.css", } Customize the appearance of the player
  • 34.
    Registration launch links Whatcan I control when I create a launch link? - Player CSS Default Custom CSS Applied
  • 35.
    Registration launch links Whatcan I control when I create a launch link? - Link expiry time { "redirectOnExitUrl": "https://example.com/landing", "cssUrl": "https://example.com/cloud_player.css", "Expiry": 60 } Set the expiration time on the launch link
  • 36.
    Registration launch links Whatcan I control when I create a launch link? - Additional values { "redirectOnExitUrl": "https://example.com/landing", "cssUrl": "https://example.com/SCORM_player.css", "Expiry": 60, "additionalValues": [ { "item": "some_item_key", "value": "some_item_value" } ] } Pass values to your course on launch
  • 37.
    Registration launch links Whatcan I control when I create a launch link? - Additional values { … "additionalValues": [ { "item": "storm_type", "value": "blizzard" } ] }
  • 38.
    Registration launch links Whatcan I control when I create a launch link? - Additional values { … "additionalValues": [ { "item": "storm_type", "value": "hurricane" } ] }
  • 39.
    Demo May 18, 2025- Arnett, OK EF-3
  • 40.
    Choosing the rightfit for you Public invitations: Open training, webinars or public forums. Private invitations: Targeted training with known learner lists. Dispatches: Distributing content to external LMSs or multiple client systems. Basic registration launch links: Building your own learning platform or course catalog. Custom registration launch links: Making your learning platform or course catalog more sophisticated
  • 41.
    Have questions? Ask usanything! Email us: info@rusticisoftware.com Learn more: rusticisoftware.com | scorm.com | xapi.com Sept. 24, 2024 - Rainbow at a therapeutic equestrian center in Franklin, TN