Schools, more than ever, are looking for products that can integrate with their learning management system. Depending on the needs of the school, this integration may be as simple as being able to sign into an app with LMS credentials or as advanced as allowing the app to pass grades back to the gradebook in the LMS.

Brightspace by D2L is a popular LMS in the US and Canada. Many of your clients may be using Brightspace and it's important for you to know how Brightspace integration works. Apps can integrate with Brightspace either through the Brightspace API or through the LTI® specification.

In this article, we'll focus specifically on integration through the Brightspace API and discuss what your app can do with the API.

Single Sign-On (SSO)

Brightspace allows developers to authenticate users into their third-party apps by having the user sign in with their Brightspace credentials. This process is called SSO - or single sign-on.

An app can either create an account for a new user who signs in with their Brightspace credentials or match the user with an existing account stored in the app's database. While many apps match users based on their email address listed in Brightspace, there are several reasons why you should choose a different identifier. Note that the authentication process will never expose the user's Brightspace password to the app.

Once a user is authenticated, the app can start to communicate with the user's Brightspace environment. This is where the API comes in.

Content Integration

Through the API, apps that authenticate a user through Brightspace can make requests back to authenticated users' Brightspace environment. This means that your app can generate resources that appear for the user in Brightspace. Content integration lets your app talk to Brightspace while maintaining the user's experience in the app.

For example, a teacher can log into your app with their Brightspace credentials and assign a lesson from your app. Your app then acts as the teacher and sends the necessary information to Brightspace to generate the lesson and post it to the teacher's specified course.

The Brightspace API allows apps to read, create, or modify a variety of resources in the user's Brightspace environment, including:

  • Quizzes
  • Assessments
  • Surveys
  • Enrollments
  • Courses

Click here for a full list of resources that can be accessed by the Brightspace API.

Grade Passback

In addition to updating resources, the Brightspace API can also let your app send and update scores in the user's gradebook. This reduces the amount of time teachers have to usually spend to get grades from an external source into their gradebooks.

This benefits the developer, as well. By relying on the API to sync grades between Brightspace gradebooks and your app, you won't have to spend time developing your own gradebook or other methods to export grades.


The Brightspace API can be used to retrieve a lists of users, their courses, and their enrollments. This is helpful if you want to be able to create accounts for users before they login. In addition, rostering through the API lets you gather lists of enrollments in real time, reflecting changes when students leave or join courses during the school year.

What Else You Should Know About the Brightspace API

It's important to keep in mind that there are several versions of Brightspace API. Some of these versions overlap and some are only supported in certain versions of Brightspace. This can create issues if you are working with multiple clients who are all running different versions of Brightspace, as you have to make sure that your API calls are valid for each instance.

Note that large schools and universities may be running different versions of Brightspace on their own in-house servers. Others may use a cloud service, like Brightspace Cloud. An API or LTI app that works for one district's Brightspace environment might appear or work differently in another's.

How to Get Started Using the Brightspace API

D2L (the company behind Brightspace) requires edtech developers who are interested in implementing a Brightspace integration to register for a Brightspace developer account. Once your account is registered, you can use the Manage Extensibility tool to register your app (which is required to create any Brightspace application) and to retrieve OAuth 2.0 credentials (which are required to implement SSO). Developers can use SDK packages that are provided by D2L to create development environments for testing.

Read More on Brightspace

Here are other articles we’ve written on Brightspace to help you on your journey:

If you're looking for a partner who can help guide you through developing LMS integrations (like these), then let’s introduce ourselves. We’re Edlink!