Building Blocks and REST APIs

Many Blackboard administrators are familiar with Building Blocks. Building Blocks are the original method for creating extensions for Blackboard Learn. In 2014, Blackboard released public access to a suite of REST APIs for accessing Blackboard Learn.

The Building Blocks Architecture

The Building Blocks approach consists in:

  1. creating a web application,
  2. packaging it as a .war or .zip file, and
  3. deploying it to your Blackboard Learn server along with a manifest.

The chief advantage of a Building Block is that it lives on the Blackboard Learn server so there is no need for an IP connection or network traffic. The chief disadvantage of a Building Block is that it lives on the Blackboard Learn server is more tightly coupled with it. Changes to one are more likely to conflict with or break the other.


Why REST APIs?

Using REST APIs allows a developer to create applications that are only loosely coupled to the Blackboard Learn server. They can live anywhere. They let the server serve information without risking possible interference with the server.


Security with REST APIs

REST APIs can operate under a variety of security models. Blackboard REST API authorization uses the industry standard OAuth 2.0. It enables making requests based on privileges defined by the Blackboard Learn administrator. Additionally, applications can use a three-legged variation of the protocol. This approach authenticates applications as specific Blackboard Learn users without sharing users' credentials. Users log in to allow the application to act on their behalf. The application then gains only the level of access enjoyed by that user.


What can you do with REST APIs?

Developers can use Blackboard's REST APIs to create, read, update, or delete a many data objects. All access is subject to the permissions of the user used to authorize the request. REST-based applications can access, for example:

  • announcements
  • courses
  • content
  • attachments
  • assignments
  • grades

For a complete list of REST endpoints available to developers, see the Learn API documentation.


Register a REST Integration in Blackboard Learn

Blackboard Learn supports the integration of external applications built using Blackboard Learn REST APIs. Before you can use an integration with Blackboard Learn, an administrator must register it with Blackboard Learn.

Before you begin to register the application, you must obtain an application ID. The developer may provide the ID directly to the administrator or bundle it with the support documentation for the application.

System Admin > Building BlocksREST API Integrations

  1. On the REST API Integrations page, select Create Integration.
  2. In the Application ID space, enter the application ID proved by the integration's developers.
  3. Select Browse next to Learn User. Search through the list of Blackboard Learn users to find the user that the integration should act as. Typically, an integration acts as Administrator or some other user created for integration management. Ideally, the user has only the permissions that the integration needs to function properly.
  4. For third-party integration, set End User Access to Yes. End users will sign in with their own Blackboard Learn ID to use the integration. Each user's access is then limited to his or her own permissions. If you set End User Access to No, the integration always has access as if it were the Blackboard Learn user indicated on the form.
  5. Submit to save your settings for the integration.