Brightspace includes all the APIs and tools that developers use to create valuable, integrated solutions for their customers. If you are new to integrating with D2L’s products, then you can use the documentation on this site to understand the state-of-the-world for extensibility at D2L.
We’ve organized Brightspace’s developer platform into four general sets of materials:
Brightspace SDK. Provides access to the D2L Brightspace APIs, client libraries and tools, samples and walkthroughs.
LTI and Remote Plugin Service. Provides two ways to build a user interaction extension point to a third-party service on top of the Learning Tools Interoperability® standard defined by 1EdTech (both legacy LTI® and LTI Advantage).
Community Resources. Developers have access to the Developer Community of Practice that houses a set of resources including support forums, a developer blog, code samples, and the available developer support paths.
Known Issues/Fixed Issues List. The known issues and fixed issues lists for the developer platform are available in the Brightspace Community’s Documentation section. For known issues, you can find release specific information within the Cumulative Known Issues List document and for the fixed issues, within the Release Notes document.
All our documentation is open and we are working to provide clear tools and programs. We host all our available open software in our Brightspace repository on GitHub.
Technology features¶
Web 2.0 integrated and decoupled. We’ve based our architecture upon the practices of Web 2.0 and cloud services that permit richly integrated apps, easy configuration, and operational independence. All access to our system is supported through HTTP and HTTPS calls.
Oauth 2.0. Our support for OAuth2 Authorization Code Grant workflows ensures that we can transparently support all customer authentication scenarios involving your applications. Also, by ensuring that all API routes into an LMS occur within the acting context of a particular user login, service administrators can be confident that activating your application is a safe and constrained step to take.
REST/JSON standards. As a result of using RESTful APIs and JSON data structures, we provide a broad and well-supported technology base for our platform. You will find many off-the-shelf tools you can use to help simplify your work. Additionally, we provide open-source library wrappers for a number of languages with an emphasis on prioritizing the more sophisticated authentication steps of your application’s interaction with an LMS.
Extensibility Areas. Our continually expanding suite of APIs provide access to a variety of technical functionality:
Area |
Notes |
---|---|
Org and structural |
Retrieve and update organizational structure, course lists, user information, and more |
Content |
View and create content components and resources for a course |
Assignments and grades |
Facilitate assignment and assessment-related features |
Social |
Access to ePortfolio Collections, Artifacts, and activities of electronic portfolios |
Current release changes¶
Our Brightspace ILP in continuous delivery provides the following features and changes since the release of August 2023.
Awards Service. Version 20.23.9 of the Awards Service includes these changes:
We’ve added a new query parameter (useIssueDateToCalcExpiry) for version 1.1 and forward of the action to
issue an award
to control whether to use the issued award’s issue date or the action’s execution date to calculate the issued award’s expiry date.
Learning Environment. Version 20.23.9 of the Learning Environment includes these changes:
We’ve added a new action to
delete a dropbox folder
.We have removed support for the ISBN/Book Management attributes and actions as they no longer have a supporting product feature in the back-end service.
We’ve added an IsSynchronous property to the
QuizReadData
andQuizData
JSON structures, which indicates if a quiz is synchronous or asynchronous.We’ve added an AttemptIsSynchronous property to the
QuizAttemptData
JSON structure, which indicates if a quiz attempt was taken synchronously or asynchronously.
Previous changes. You can find details about previous platform releases on the history topic page.
API deprecation and obsolescence¶
With this release, the versions of our product component API contracts introduced with the following specific product components become (or remain) deprecated. While you can still call the routes in these contracts on the Learning Suites that have historically supported them, you should plan to migrate to the new API contracts available on your back-end service with due priority.
Code |
Oldest fully supported API contract |
Deprecated API contracts or services |
Obsolete API contracts or services |
|
---|---|---|---|---|
Learning Platform |
lp |
1.35 |
1.31 to 1.34 |
1.30 and older |
Learning Environment |
le |
1.61 |
1.51 to 1.60 |
1.50 and older |
Learning Repository |
lr |
1.3 |
1.2 and older |
|
ePortfolio |
ep |
2.5 |
2.4 and older |
|
Awards Service |
bas |
1.1 |
1.0 |
|
Brightspace For Parents |
bfp |
1.0 |
Warning
API deprecation and obsolescence. We are serving notice that as of the Brightspace 20.24.1 release (projected for January 2024), the API contracts introduced with Learning Suites v20.22 will be deprecated and the API contracts introduced with the Learning Suite v20.21 (and earlier) will become obsolete.
Note that the Awards Service (bas) API version 1.1 will also become deprecated as of the Brightspace 20.24.1 release.
End Of Life for ISBN APIs. We are serving notice that in this September release (20.23.9), we have removed the small collection of ISBN/Book Management attributes and actions that are no longer used by clients and will no longer have a supporting product feature in the back-end service.
Deprecation of legacy authentication workflow. As of Brightspace 20.23.1 release (January 2023) we have deprecated support for the legacy ID-Key authentication system. We encourage clients using this legacy authentication system to move to using OAuth2 with due priority.
Versions and migration¶
All API routes to an LMS component are versioned, and include a version negotiation process. This process allows your applications to gracefully adapt to the product components that a customer has active. Additionally, it lets D2L maintain overlapping API versions in a particular product installation, giving your application’s development a way to transition to new features along with your customers, gradually.
The following table shows the association between various product versions and the Brightspace APIs and services they offer. Each table column shows, for a major LMS platform release version:
The earliest and latest supported API contract versions provided either by an individual product component along with that product component’s release version (first four rows), or by the overall Learning Suite release version (ext APIs).
Where a product component introduces a new API contract with a minor platform release version, this additional support gets noted (for example, LE added the 1.61 API contract as of LMS v20.22.2).
Suite 20.23 |
Suite 20.22 |
Suite 20.21 (legacy) |
|
---|---|---|---|
Learning Platform (lp) |
20.23.7+: 1.31* to 1.34*, 1.35 to 1.44
|
20.22.11+: 1.31* to 1.34*, 1.35 to 1.42
|
20.21.12: 1.31* to 1.34*
|
Learning Environment (le) |
20.23.9+: 1.51* to 1.60*, 1.61 to 1.73
|
20.22.11: 1.51* to 1.60*, 1.61 to 1.66
|
20.21.12: 1.51* to 1.60*
|
Learning Repository (LR) |
20.23.1+: 1.3 |
20.22.1-12: 1.3 |
20.21.1-12: 1.3 |
ePortfolio (ep) |
20.23.1+: 2.5 |
20.22.1-12: 2.5 |
20.21.1-12: 2.5 |
Awards Service (bas) |
20.23.7+: 1.1 to 1.2
|
20.22.1-12: 1.1 |
20.21.1-12: 1.1 |
Brightspace For Parents (bfp) |
20.23.1+: 1.0 |
20.22.1-12: 1.0 |
20.21.1-12: 1.0 |
Extensibility (ext) |
20.23.1+: 1.3 |
20.22.1-12: 1.3 |
20.21.1-12: 1.3 |
Note
Marked with an asterisk (‘*’); as of Suite 20.23.1’s release (January 2023), the API contracts introduced with Learning Suite 20.21 have become deprecated. You should plan to move off these routes with all due priority.
Marked with a caret (‘^’); as of Suite 20.23.1’s release (January 2023), the API contracts introduced with all versions of the Learning Suite prior to 20.21 have become obsolete: they may or may not still be present on your back-end service, and will not receive any support by D2L. You should move off the routes in these contracts immediately and adopt the versions of these routes in newer, supported contracts.
Extensibility APIs tie to the overall Learning Suite release version.
LTI support¶
As a result of building our Remote Plugin Service on top of 1EdTech’s LTI standard, we provide third-parties with a way to integrate their services with the Learning Service’s user experience in a standardized way incorporating robust, tool-to-tool trust.
Brightspace supports several versions of LTI:
Prior to Suite 20.19.9’s release, Brightspace supported LTI 1.0 and LTI 1.1.1.
With the release of Suite 20.19.9, Brightspace added support for LTI 1.1.2.
With the release of Suite 20.19.10, Brightspace added support for LTI Advantage Complete (LTI 1.3 core, Assignment & Grade Services v2, Deep Linking v2, and Names & Roles Provisioning Service v2).
With the release of Suite 20.21.4, Brightspace added support for the LTI Dynamic Registration specification.
Support¶
We provide support for Brightspace extensibility through a number of support paths, depending upon the nature of your issue or question.