Introduction
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:
CURRENT API CAPABILITIES | NOT CURRENTLY AVAILABLE THROUGH API | NOTES |
---|---|---|
|
|
*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.
Also, if your organization has not used Blanchard Exchange, previously, please ensure that your organization meets the technical requirements found here.
REST API
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 using HTTP Basic authentication. The authentication is based on a pair of keys called: key and secret. Another term for key is username and the alternative term for secret is password.
The “key” will be (clearly) exchanged between the systems, while the “secret” will be used to create the concatenated parameter. The call will be executed as described, and the Authorization parameter must be added to its header as follows:
Authorization: Basic <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:
$code = $key . ‘:’ $secret);
request.sendHeaderLine( ‘Authorization: Basic ‘ + base64($code) )
additional header row for post call:Authorization: Basic . $code
API ENDPOINTS
Production API Endpoint: https://www.blanchardexchange.com/api/v1/
Sandbox API Endpoint: https://sandbox.blanchardexchange.com/api/v1/
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).