You can think of a User (like you'd see on the People tab) as a shell to do things on the website. This allows you to give that User an elevated role (like Admin or Owner), and allows for some additional features like archiving. A User is also a Learner if and only if they have taken training (launched a course via a registration). A Learner is simply someone who has taken training, but this doesn't mean they're a User on the website (and therefore may not be visible on the People tab).
Historically, the way in which people use SCORM Cloud has been segmented into two fairly distinct groups: API customers and website customers. In fact, we've gone as far as discouraging people from attempting to use both without a healthy dose of caution. Typically consumers of our API do so with express intent of building their own tooling around the functionality that our API offers.
When registrations are created via the API, if the optional email parameter is provided, there are two options:
- It matches a User in your current Application: we will attach that userId to the registration that is created
- It doesn't match a User in your current Application: we create a User in your Application and attach its id to the new registration.
This means that each registration has a learnerId (which is in effect the most important identifier on a registration), and optionally a userId. This has the effect of allowing a User to have a group of registrations belonging to it that have different learnerIds. You can think of this as employees in a department having their manager as a contact on their training records.
There is no ability to modify anything about Users through the API, in the same way that there is no way to modify information regarding Realms. Originally, this was by design as Users and Realms were meant to be "management portal" concepts to add some lightweight functionality to the website to allow providing Users higher roles in order to allow them to perform further actions.
If you have any questions, please email us at email@example.com.