Blanchard Exchange API


The Blanchard Exchange API is here to help you integrate Blanchard Exchange with your web site, CRM system, LMS or any other system that you may be utilizing.  Note that this API is also referred to as the "Learnifier API", since Blanchard Exchange is built on top of the Learnifier platform.

 An Important Note Related to API Usage

Usage of the API assumes that all email communications will be handled by your system. Also note that materials must still be purchased ahead of deployments in order to assign users to courses/materials (also known as "credits"). 

It is also important to understand that there are certain features that can only be used through the Blanchard Exchange User Interface that are not currently available through the API. See below for a quick summary on current API capabilities, along with features that are not directly available through the API, but instead, only available through the user interface:


  • Create new projects
  • Add users using unique records such as email address or external ID
  • Enroll users in projects
  • Remove users from projects (assuming users are eligible)
  • Retrieve participant (user enrolled in project) info, such as activation date, last login date, total number of assginments, number of completed assignments, and user access link
  • Retrieve a temporary single sign-on link for each participant
  • Setting live event details (dates/times/locations) for projects using courses that include live event information (also includes setting deadlines for assignments).*
  • Moving learners between projects
  • Sending emails from Blanchard Exchange
  • Customizing course designs/templates
  • Tracking specific product completions**

*Live event details can be set by editing the project's details through the UI.  Alternatively, custom courses can be created that do not include live events (note that users may then need to access 2 or more projects depending on when the assignments/materials need to be accessed).

**A numeric total listing the number of assignments that have been completed by each user is accessible through the API.  However, this data is only a total, and does not show which specific assignments have been completed.


 Understanding Blanchard Exchange Hierarchy

If you have not worked with Blanchard Exchange, previously, the following diagram provides a breakdown of the different interfaces and provides some background on the different endpoints available in the API.

 Getting Started

In order to utilize the API, you will need an API key (see "API Authentication" below).  Separately, it is recommended to work with the API through our Blanchard Exchange sandbox, prior to implementing the API in your production account.

To request an API key and access to a sandbox environment for testing purposes, please submit a request to our Technical Services team.  Be sure to include your company name in the request and that you are requesting an API key & sandbox account.

Both your sandbox account and production account will include two courses for testing purposes.  One course will include a live training event, while the other course will not include a live training event (see API limitations above under "An Important Note Related to API Usage").

Also, if your organization has not used Blanchard Exchange, previously, please ensure that your organization meets the technical requirements found here.


The API is a RESTful API, with predictable resource-oriented URLs. The API uses standard HTTP verbs like GET, POST, PUT and DELETE. You can use any standard HTTP client to talk to the API.

All IDs are strings
All unique identifiers in the API are case sensitive strings and consist of alphanumeric characters.

All timestamps are UTC
Timestamps returned by the API are in the UTC timezone and in ISO8601 format.

All requests must be over HTTPS
Requests to the API must be made using HTTPS. Please remember to have your client validate SSL certificates.

All data must be encoded as UTF-8
Please encode all data using UTF-8. We will always return UTF-8 encoded responses.

All data must be valid JSON
We expect all data to be valid JSON, and will return HTTP error 400 Bad Request otherwise.

Always set the required headers
As we only support JSON data, the API expects the Content-Type header to be set to application/json.

API Authentication

This is the authentication procedure for Learnifier REST API. The system is based on a pair of keys called: key and secret. The “key” one will be (clearly) exchanged among the systems, while the “secret” will be used to create the concatenation parameter. The call will be executed as described, but in its header must be added the X-Authorization parameter as follows:

X-Authorization: Learnifier <code>
The code value is simply the “key” and “secret” concatenated with a colon (‘:’) in between. This is an example of the pseudo-code generation in PHP:

$code = $key . ‘:’ $secret);

additional header row for post call:
‘X-Authorization: Learnifier ‘ . $code


Production API Endpoint:
Sandbox API Endpoint:

Orgunit Identifier: Log into the Corporate Portal interface - the Orgunit ID will be listed at the end of the URL. Example: ".../home/{Orgunit}" (note that Sandbox accounts will typically have a different identifier compared to Production accounts).

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request