Skip navigation
All Places > Blackboard Developer Community > Blackboard Learn Developers > Blog > 2019 > March

I'm writing this as we've had a few questions from developers come in who have never written a Web Application in their life. I hope this helps.


First, get up to speed on developing web applications. A Google search for 'web application in <your favorite language>' is a good start. Here's an example result that I found Quickstart: use Visual Studio to create a Python web app - Visual Studio | Microsoft Docs - Side comment - Visual Studio Code is one of the nicest tools I've seen come out of Microsoft.


Next, when you start coding your Web Application to integrate with Blackboard Learn, we recommend use of our REST APIs plus LTI. Use LTI as the starting point for the user of the Learn instance. Why? You get information about the user and any course context from the LTI launch parameters. Then, if necessary the LTI Tool Provider that you write can make additional REST API calls back into the Blackboard Learn instance that made the launch. You can also, for some cases just write a REST application that a user connects to Learn via Three-Legged OAuth and then makes REST calls on behalf of that user. Note that everything, your server/Tool Provider & Learn running in production will/should be using HTTPS via the standard port 443. See the following list of resources for getting started.


Here are several resources for developing REST Applications for Blackboard Learn:

We offer weekly technical office hours everyone is welcome to attend, free of charge: (Link to join is on the upper right of the page.) LTI is an industry standard. Below are links to several resources:


I hope this helps you get started! Below is a high-level architecture diagram as an example. It's not meant to be all-inclusive, but does show one type of relationship between the User, the Blackboard Learn System, and your Application.



Space Matters

Posted by mkauffman Mar 20, 2019

If you're having problems getting Let's Encrypt to work with your AMI, space matters.


Only this works - notice the space on either side of the :

ssldomain : <FQDN>

sslemail : <email address>


Not -

ssldomain: <FQDN>

sslemail: <email address>


Not -


sslemail:<email address>



I just had a couple of great questions come in. After discussing with product management, here are the answers as of the date of this blog post. (Can you guess?)


Question: I want to move courses from one Bb instance to another, programmatically.  Assuming I have course exports from the source instance, is there an API to create courses in the target instance?

Answer: No


Question: Is there an API call to export an IMS Common Cartridge from a course.

Answer: No


More detail: Exporting and importing Common Cartridge data via REST APIs are not currently on the 2019 roadmap.


If you have a need for the above, head on over to and rally your fellow developers around these. We may say "no", but not "never"*.


*Statements regarding our product development initiatives, including new products and future product upgrades, updates or enhancements represent our current intentions, but may be modified, delayed or abandoned without prior notice and there is no assurance that such offering, upgrades, updates or functionality will become available unless and until they have been made generally available to our customers.