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. Some institutions merely need to automatically sync terms, courses and users with their SIS, while others want to build rich, deeply integrating learning experiences both inside and outside of LearningStudio. For more ideas of what's possible, check out the showcase. This primer will help you get started.
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.
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 even deeplinking), outbound SSO to additional tools or third parties, and RESTful APIs for retrieving or updating almost any information from inside 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 LearningStudio 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 firstname.lastname@example.org 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.
We have new code libraries to make development with our SOAP SIS APIs faster and simpler, especially when it comes to dealing with authentication. All new developers are encouraged to use these libraries, they really do make life easier. The list of available libraries can be found here - LearningStudio Code Libraries
If you use Banner or CampusView (CVUE) as your SIS, your software vendor has an adapter that connects your system and LearningStudio. More details, including capability, price, and availability, are available from your SIS vendor.
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 (or teacher) to the home item in a Course, or even deep-link into a particular tool or content item. The older SSO option also allows for launching the student to the Personal Student Home (PSH or Dashboard), though this feature is diminishing as more schools leverage their own portals.
Clients have several types of SSO-driven solutions:
- Managing the credential and launching the dashboard requires minimal time and investment, but may not be an ideal user experience.
- Create a portal that uses the LearningStudio Course APIs (see below) to list a student's courses, and then use SSO to send the student directly to that course. This bypasses the dashboard.
- Leverage even more LearningStudio APIs in a portal to show students recent activity, and use deep-linking SSO to send the student directly to the part of the course highlighted in their activity feed.
Outbound SSO and Third Party Integrations
We can also configure outbound SSO to your systems or to third party EdTech providers. This creates a more seamless experience for teachers and learners inside a course; the SSO launch can be a pop-up window or shown inside the content frame of LearningStudio. All the relevant contextual information is sent with the launch, such as user or course IDs and names. You can use the LearningStudio Course APIs to get additional information.
We support two approaches, the LTI industry standard, and an older proprietary SSO custom for LearningStudio. If there is a choice, we encourage you to ask for LTI integrations. Note that at this time, this platform does not support LTI Grade Exchange, but we do have APIs that allow for grades to be sent back into LearningStudio.
Because most SSO configurations are done with third party providers, you can learn more about the options in the Third Party Integrations Getting Started Guide. If you are working with an EdTech provider, you can give them that link to ensure they are capable of integrating with LearningStudio.
- Inbound SSO Options (Current and Legacy Approaches)
- Outbound SSO (LTI and Legacy Proprietary)
- Integrating SSO Links into LearningStudio
Our most robust set of APIs are those for getting and updating course information. Almost every aspect of a LearningStudio course can be accessed via these REST-based APIs. Typically, third parties will use these APIs to augment their user experience with contextual course information, such as course roster detail, or to send grades back to LearningStudio.
- Social APIs - retrieving & updating
- Course Info and Enrollments (Roster) - retrieving only
- Content Structure and Course Content - retrieving only
- Course Schedule - retrieving only
- Dropbox (assignment submission) - retrieving structure & creating documents
- Exams - supports taking exams outside LearningStudio (i.e. in a mobile app)
- Grades - retrieving & creating
- Threads - retrieving & creating
- Activity Feed - retrieving only
- Announcements - retrieving & creating (role restricted)
- Document Sharing - retrieving & creating
- Tracking - creating only
- User Information - retrieving only
We have new code libraries to make development with our RESTful Course APIs faster and simpler, especially when it comes to dealing with authentication. All new developers are encouraged to use these libraries, they really do make life easier. The list of available libraries can be found here - LearningStudio Code Libraries
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 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. Some APIs do not permit OAuth 1 connections.
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.
- The LearningStudio Course APIs
- Code Libraries and Hello World for Course APIs
- Third-Party Attendance Tracking API
RESTful APIs are ideal for retrieving information from a course or writing some data back to it. When applications need to occasionally check in on the state of a course, or know when something happens in a course to which it needs to respond, this would normally necessitate frequent polling of the APIs. This is an inefficient use of resources (for both you and Pearson), so we encourage developers to leverage Eventing.
In Eventing, you can create a listener where we will send a POST request with a payload of information about an event in LearningStudio. The payload will contain enough information for you to either use as is or leverage additional API calls to get more information. Events are triggered when:
- A grade is entered or updated for a student
- A student completes an exam
- Thread posts are created or deleted
- Announcements are created, deleted, or read
- Dropbox items are created or deleted
- The Activity Tracking API is used
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. Whatever you build here will usually work seamlessly on your primary LearningStudio instance, and you will see the same performance and behavior in sandbox as you will in production.
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.
- If you need to create an SSO connection from LearningStudio to your app, request a new SSO Integration. Once complete, we'll email you a LearningStudio-specific URL you can use in your sandbox courses. Here's how to do that
- Access My Apps (and Create a New One)
- New SSO Integration Request
- Integrating SSO Links in LearningStudio
- Set up and review Postman Collections
- Review Common Integration Use Cases
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 your Strategic Customer Operations (Client Services) consultant.