Brightspace includes all the APIs and tools that developers use to create valuable, integrated solutions for their customers. If you have used D2LWS APIs in the past, or 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 three general sets of materials:
Brightspace SDK. Provides access to the D2L Brightspace APIs, client libraries and tools, samples and walkthroughs.
Remote Plugin Service. Provides a user interaction extension point to a third-party service built on the IMS LTI (v1.0 and v1.1) standard.
Community Resources. Developers have access to the Developer Community of Practice (Dev CoP) which houses a set of resources including support forums, a developer blog, code samples, and the available developer support paths.
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.
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.
ID-key Auth. Our three-legged authentication system 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.
IMS LTI standards. As a result of building our Remote Plugin Service on top of the IMS 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. Additionally, the Remote Plugin Service automates the configuration of the integration for deployment to a variety of Learning Environment extension points (content, org unit homepages) and makes it easy for LTI Tool Providers to provide LTI-defined functionality and extend that functionality using the Brightspace APIs in concert.
Extensibility Areas. Our continually expanding suite of APIs provide access to a variety of technical functionality:
|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|
Our Brightspace ILP in continuous delivery provides the following features and changes as of February 2017.
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||Deprecated API contracts or services||Obsolete API contracts or services|
|Learning Platform||lp||1.5 to 1.8||1.4 and older|
|Learning Environment||le||1.5 to 1.11||1.4 and older|
|Learning Repository||lr||1.1 and older|
|ePortfolio||ep||2.4 and older|
|D2L Web Services (SOAP)||d2lws||all versions|
We are serving notice that as of the Learning Suite 10.7.0 release (in April 2017), the API contracts introduced with the Learing Suites v10.4 and v10.5 will be deprecated and the API contracts introduced with the Learning Suite v10.3.0 (and earlier) will be obsolete.
Learning Environment. Version 10.6.11 of the Learning Environment includes these improvements:
- Clients using OAuth2 authentication must have the content:toc:read scope associated with their token when accessing Table of contents routes
Version 10.6.10 of the Learning Environment includes these improvements:
- Added base64 query parameter to let callers signal when they provide
base64 file-type content topic data.
Previous changes. You can find details about previous platform releases on the history topic page.
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.14 API contract as of LMS v10.6.3).
The version of support provided by an included service (Remote Plugin service, LTI support).
|Suite 10.7||Suite 10.6 (legacy)||Suite 10.5 (legacy)||Suite 10.4 (legacy)|
|Learning Platform (lp)||10.7.0+: 1.5* to 1.8*, 1.9 to 1.16||10.6.7+: 1.5* to 1.8*, 1.9 to 1.15
10.6.6: 1.5* to 1.8*, 1.9 to 1.14
10.6.5: 1.5* to 1.8*, 1.9 to 1.13
10.6.4: 1.5* to 1.8*, 1.9 to 1.10
10.6.3: 1.5* to 1.8*, 1.9 to 1.10
10.6.2: 1.5* to 1.8*, 1.9 to 1.10
10.6.1: 1.5* to 1.8*, 1.9
10.6.0: 1.5* to 1.8*
|10.5.5+: 1.5* to 1.8*
10.5.4: 1.5* to 1.7*
10.5.3: 1.5* to 1.6*
|Learning Environment (le)||10.7.0+: 1.5* to 1.11*, 1.12 to 1.24||10.6.11+: 1.5* to 1.11*, 1.12 to 1.23
10.6.10+: 1.5* to 1.11*, 1.12 to 1.22
10.6.9+: 1.5* to 1.11*, 1.12 to 1.21
10.6.8: 1.5* to 1.11*, 1.12 to 1.20
10.6.7: 1.5* to 1.11*, 1.12 to 1.19
10.6.6: 1.5* to 1.11*, 1.12 to 1.18
10.6.5: 1.5* to 1.11*, 1.12 to 1.15
10.6.4: 1.5* to 1.11*, 1.12 to 1.14
10.6.3: 1.5* to 1.11*, 1.12 to 1.14
10.6.0-2: 1.5* to 1.11*, 1.12
|10.5.7+: 1.5* to 1.11*
10.5.6: 1.5* to 1.10*
10.5.5: 1.5* to 1.9*
10.5.4: 1.5* to 1.8*
10.5.3: 1.5* to 1.7*
10.5.2: 1.5* t0 1.6*
|Learning Repository (LR)||10.7.0+: 1.2||10.6.0+: 1.2||10.5.0+: 1.2||10.4.8+: 1.2|
|ePortfolio (ep)||10.7.0+: 2.5||10.6.0+: 2.5||10.5.0+: 2.5||10.4.0+: 2.5|
|Extensibility (ext)||10.7.0+: 1.3||10.6.0+: 1.3||10.5.0+: 1.3||10.4.0+: 1.3|
|Remote Plugins (rp)||10.7.0+: RP service v1.5||10.6.0+: RP service v1.5||10.5.0+: RP service v1.4||10.4.0+: RP service v1.4|
|LTI support (lti)||10.7.0+: LTI v1.0 & v1.1.1||10.6.0+: LTI v1.0 & v1.1.1||10.5.0+: LTI v1.0 & v1.1.1||10.4.0+: LTI v1.0 & v1.1.1|
The Learning Environment product component released API contracts v1.16 through v1.18 with Brightspace release v10.6.6.
The Learning Platform product component released API contracts v1.11 through v1.13 with Brightspace release v10.6.5.
The Learning Environment product component released both API contracts v1.13 and v1.14 with Brightspace release v10.6.3.
The subsequent release after Suite 10.5.6 is 10.6.0.
Marked with an asterisk (*); as of Suite 10.7.0’s release (April 2017), the API contracts introduced with Learning Suite 10.5 and older have become deprecated. You should plan to move off these routes with all due priority.
As of Suite 10.7.0’s release (April 2017), the API contracts introduced with all versions of the Learning Suite prior to 10.4.10 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.
Extensibility APIs tie to the overall Learning Suite release version.
Remote Plugins tie to the overall Learning Suite release version. Remote Plugin course-builder and widget types were added before the rp product component appeared in a
version block, prior to Learning Suite v10.1.0.
Remote Plugin support indicates the Remote Plugin service version supported by the Learning Suite (that is, the types of Remote Plugin builds supported, and so forth).
LTI support indicates the LTI standard version supported by the Learning Suite
Tools and community. We intend to provide an expanding list of tools to assist you in developing and managing your relationship with D2L; for example, using our Keytool service you can easily register your application and retrieve the necessary Application ID and Key values you will need to authenticate with an installed LMS.
Additionally, we provide a Developer Community of Practice that supports you in a number of different ways depending on your needs.
Distributing applications with the Partner Program. Our relaunched partner program provides access to all the tools you need for success in deploying and commercializing your application or service, including levels that offer support, training, and partner business plans. For more information on partner benefits, check out our Partner Program home page.