Single Sign-On (SSO)

Brightspace allows developers to authenticate users into their third-party edtech products. Users have to sign in with their Brightspace credentials. This process is called single sign-on (SSO).

A product 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 product’s database. While many products match users based on their email addresses listed in Brightspace, there are several reasons why developers should choose a different identifier. Note that the authentication process will never expose the user's Brightspace password to the product.

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

Content Integration

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

For example, a teacher can log into a product with their Brightspace credentials and assign a lesson from the product. Then the developer can remake actions 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 products 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 the product, developers won't have to spend time developing a product gradebook or other methods to export grades.


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

What Else To 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 developers work with multiple institutions that run different versions of Brightspace. If this happens, developers will have to make sure that API calls are valid for each instance.

Large schools and universities may run different versions of Brightspace on in-house servers. Others may use a cloud service, like Brightspace Cloud. An API or LT-centric product that works for one district's Brightspace environment might appear or work differently in another's.

How to Start 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 an account is registered, developers can use the Manage Extensibility tool to register products (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!