MyLabs Plus products leverage LearningStudio for course and user management. The LearningStudio APIs allow you to build a more effective and engaging learning environment for your students. They were developed to allow our clients to more seamlessly integrate their SIS systems, as well as build new experiences or integrations on top of LearningStudio.
At a minimum, you can use APIs to sync users and automate course deployment and enrollment, simplifying MyLabs administration. But you can also leverage the APIs to retrieve and display information elsewhere. The most common example is pulling grades into a school's primary grade repository or LMS.
LearningStudio is one of Pearson's largest Learning Management Systems (LMS). It is a fully-hosted Software as a Service platform, offering scalability and deep analytics, a variety of learning tools, and a robust API suite for extending the platform in new and imaginative ways. As a multitenant, Software-as-a-Service offering, Pearson hosts the platform on our servers on your behalf. With few exceptions, all clients are on the same version of LearningStudio all the time.
MyLabs Plus uses LearningStudio as the container for course and user management and accessing the MyLabs content and activities. While not all APIs are useful for MyLabs Plus customers, you can still use them to more deeply integrate MyLabs Plus into your digital learning toolkit.
The platform offers a number of integration options, including SOAP-based APIs for creating courses and users, inbound Single Sign On from your portal or system into LearningStudio or a specific course, and RESTful APIs for retrieving or updating some information from a course. All of these features are documented in our developer community, the Pearson Developers Network.
The Pearson Developers Network is the source for all documentation related to the LearningStudio API ecosystem. This guide is a summary of that information tailored for MyLabs Plus clients, with links to relevant pages on the PDN portal. When you have a general question about the APIs, their capability or behavior, or asking about how to do something with them, please use the Developer Community.
You can also email email@example.com to reach the Support Engineering team. We are happy to help with particularly tricky use cases or instances where information shouldn’t be posted to the open community.
We have additional services that may help jumpstart your project or help you be more successful.
With a Support Partnership, you have access to a subject matter expert who knows our technology inside and out, can help vet your plans, and connect you with the resources you need. We also have a number of Workshops that are tailored to your audience, technical skill, and project goals. Or, if you have a really big idea and need more help making it a reality, the Innovation Program is a highly collaborative and creative partnership.
Every client is an isolated tenant on the LearningStudio platform. We call each tenant a campus and each campus’ data is only accessible using a unique set of API keys. A campus can have any number of nodes, which are logical groupings of users and courses.
Terms are time-based containers for courses, setting the start and end dates for courses. Courses have a start and end date, and so there may be many copies of the same course across multiple terms.
Each node is identified by a client sort string which looks like:
strata.humanities. When integrating your SIS with LearningStudio, you will need the client sort string where a course is to be created.
Courses are identified by an integer Course ID. They can also be identified by any number of Call Numbers, which is the client’s catalog identifiers for the course. You use these identifiers in Course APIs.
Users are identified by an integer User ID. They can also be identified by a single Login ID, which is the client’s identifier for them and/or the method by which the user signs into LearningStudio. You use these identifiers in Course APIs.
LearningStudio can integrate with your SIS to drastically simplify or automate term and course creation and user enrollment. There are two approaches.
Batch files are comma-separated value (CSV) files or XML files that contain all the changes to make to LearningStudio; these files are uploaded to a secure FTP server, where they are pitched up and processed. Each new course or user enrollment is a line in the CSV file (or an element in the XML file). They are particularly helpful when making mass changes (e.g., at term start), or infrequent changes; this approach is also quite flexible regardless of what SIS you use. The downsides are that it can take up to 24 hours to process the files, you cannot change user login IDs, and you cannot create terms.
The SIS APIs are SOAP-based services that allow you to more deeply connect LearningStudio with your SIS. These APIs are nearly synchronous, so the changes are reflected quickly. When you need to keep LearningStudio and your SIS more exactly synchronized, or if you need to make more frequent, individual changes, use these APIs. The downside is that SOAP is more difficult to use (though we are happy to answer questions) and these require custom programming, but generally the SIS APIs create a better integration.
When integrating LearningStudio into your learning ecosystem, you have two choices for how your users will access their courses. The default option is allowing them to sign in directly to LearningStudio - in which case you need to keep their passwords up to date through SIS Integrations (or allow them to self-manage their password). The other option is to manage usernames and passwords yourself, and using Single Sign On to seamlessly send them to their courses.
As part of the SSO transfer, you can send the student to the LearningStudio dashboard (Personal Student Home) or directly to a particular course.
The Course APIs allow you to access information from LearningStudio such as grades, roster, or a user's list of currently enrolled courses. The availability or usefulness of certain APIs will vary depending on which MyLabs Plus product you're using, however the most common ones for MyLabs Plus customers are listed below.
- Course Roster (by Role type)
- Course Content Structure*
- Course Content Items*
- User Information
*These APIs may not be useful for all MyLabs Plus courses
One of the most common reasons for using these APIs is to automatically retrieve grades for transfer to your primary LMS or grade repository. MyLabs Plus does not use LearningStudio's gradebook, but your course can be configured to sync grades between the MyLabs gradebook and LearningStudio's, allowing you to retrieve the grade information. The Strategic Customer Operations (Client Services) team can help you with setting that transfer up. Note that some courses may not have this option available.
We support two methods of authentication: OAuth 1.0a and OAuth 2. Both methods control access to the APIs (and client data) through an Application ID, Token Key Moniker, and Secret. The Application ID will identify your application across any and all campuses you integrate with, but the Token Key Moniker and Secret are unique for every campus.
OAuth 1 is our "system-to-system" method, typically used when you don’t need the context of a particular user; it is the approach most useful for MyLabs Plus clients. It also gives you administrative access to many course functions, and nothing is restricted based on schedule or user access rights. With this mode, every request is signed individually. This is an ideal approach when writing grades back to the LMS.
OAuth 2 is our "user impersonation" method, more common when acting on behalf of a user, such as thread posts or mobile applications. Your requests are authorized through the use of a user token, and the data you have access to is restricted to that user’s access rights.
Both methods rely on the use of the CMAC-AES hashing algorithm. While this is a rare algorithm, our support team is well-versed in its use and can usually help get you started with sample code or helpful libraries.
To develop against LearningStudio APIs, you will be given access to sandbox courses and data within the LearningStudio Sandbox Campus, a developer-friendly instance of LearningStudio. It provides a basic campus user interface (UI) with standard features provided by LearningStudio. You can familiarize yourself with the LearningStudio features to give you ideas about what to implement for your project. Also, you can use the APIs to make requests to LearningStudio and then see the results in the UI.
As part of your sandbox, you will be provided multiple user IDs and passwords you can use to experiment with the different experiences for the various user role types. Though it's called Sandbox, this campus is a full production instance of LearningStudio. However, the Sandbox Campus is a standard LearningStudio deployment; at this time we don't have sandbox MyLabs Plus courses available, but the APIs will work the same across both standard and MyLabs Plus deployments.
You can begin developing on the Sandbox Campus anytime:
- Create an account here on the PDN and then click "Build Now" from the homepage.
- Create an App and request access to LearningStudio APIs. Ignore the key displayed on the website.
- Within 5 minutes you will receive an email with your Application ID and sandbox courses and users.
Getting Your Campus Keys
When you want to access the data of your campus, or deploy your app to production, you will need to request the campus keys for your campus(es). Contact the Strategic Customer Operations (Client Services) team.