The Content API allows clients to search, export and get launch links for licensed courses.
Getting Started
To get started you will need to contact your BizLibrary Client Success Manager. The BizLibrary team will configure and provide the two items that you will need to interact with the API. Technical Support will request a contact name and email address for the API Key issued.
Technical Support will give you:
- Billing ID
- API Key
* You have more than one Billing ID given to you as content licensing requires.
API Endpoint/URL
https://content-api.bizlibrary.com/latest/
Technical Documentation
The technical documentation is located at: https://content-api.bizlibrary.com/latest/about/index.html#/
References:
https://wiki.apache.org/solr/CommonQueryParameters
The documentation is publicly available. It contains a way that you can try the Content API without writing any code once you have your Billing ID and API Key.
Base Data Format
The Content API uses the JSONAPI (http://jsonapi.org/) format. Common JSONAPI implementations are available (http://jsonapi.org/implementations/).
Security & Throttling
Controlling Access
Security to the Content API requires you to supply your API Key as the “x-api-key” header value.
API Rotation
We rotate API Keys based on internal security policies and needs. Our Technical Support team will notify you 15 days in advance of a required key rotation.
Service Limits
BizLibrary monitors and limits requests per day, throttles request rates per second, and allows a
burst rate requests at a higher level. If you run into errors due to throttling, please contact our
Technical Support team (support@bizlibrary.com) for assistance.
Content Lifecycle Events
› Production Date (production_date) – when the content was created by the producer
› Release Date (release_date) – when the content was released by BizLibrary
› Archival Date (archived_date) – when the content was archived* or scheduled for archival
› Synchronization Date (sync_date) – when the content was last updated
› All dates are in Unix epoch milliseconds.
*Content with an archive date in the past can no longer be launched.
Information Functions
All information functions are publicly available and do not require API Keys or Billing IDs.
Field Testing
- GET /about/fields – returns the available fields for sorting, returning, searching, and faceting in search queries
- GET /about/fields/return – returns all course attributes currently available that may be returned
- GET /about/fields/search – returns all course attributes currently available that may be searched
- GET /about/fields/facet – returns all course attributes currently available that are faceted
Data Functions
All Methods
- billing_id is part of the URL as supplied by Technical Support
- The header “x-api-key” should be included on all requests
- All QueryString values should be URL encoded
Content Listing
GET - /{billing_id}/courses
| PARAMETER | DATA TYPE/FORMAT | DATA DESCRIPTION |
|
filterQuery |
string |
This parameter can be used to specify a query that can be used to restrict the super set of documents that can be returned, without influencing score. It can be very useful for speeding up complex queries since the queries specified with fq are cached independently from the main query. Caching means the same filter is used again for a later query (i.e. there's a cache hit). |
| cursor | string | Pointer to next result set in pagination. Pass in ‘initial’ for first result set. Mutually exclusive with ‘start’. |
|
expr |
string |
Defines one or more numeric expressions that can be used to sort results or specify search or filter criteria. You can also specify expressions as return fields. |
| facet | string | A facet groups search results by field values and returns counts for each group to support data analysis and filtering. |
| start | int | Used in pagination. Specifies the offset of the first search hit to return. The default is 0. |
| size | int | Number of records to return in result. Mutually exclusive with ‘cursor’. |
| query | string | Search expression |
| return | string | Comma delimited list of attributes to return, default all. |
| sort | string | Sorting |
Examples
| SCENARIO | QUERYSTRING |
|
List all content in the Business Skills Topic. topic0 = “Business Skills” |
filterQuery=(and%20topic0%3A%20%27Business%20Skills%27) |
| Newest single course | size=1&sort=created%20desc |
| Top 10 Popular courses | size=10&sort=popularity%20desc |
Retrieve Top 10 Most Popular courses for “New Manager” that is “Mobile Friendly” |
filterQuery=(and%20technology%3A%27Mobile%20Friendly %27)&size=10&query=new%20manager&sort=popularity%20desc |
Get 10 most recently updated courses since 2021-04-01 |
Size=10&sort=sync_date%20desc&filterQuery=(and%20sync_ date:%5B1617235200000,%7D) |
| Show up to 100 courses targeted for archive after 2021-07-01 | Size=100&filterQuery=(and%20archived_date:%5B162509760 0000,%7D) |
Show up to 100 courses targeted for archive between 2021-07-01 and 2021-09-01 |
Size=100&filterQuery=(and%20archived_date:%5B162509760 0000,1630454400000%5D) |
Single Content Details
GET /{billing_id}/courses/{code}
- Returns a single course by course code
- All attributes for the course are returned
Poster Images
GET /{billing_id}/courses/{code}/poster
- Returns the poster image for a course by course code
- Images are returned as base64 strings (with a 16:9 ratio)
GET /{billing_id}/courses/{code}/poster/url/{width}
- Images can also be returned as a URL format allowing customization of the image width within the 16:9 aspect ratio
Launch Links
GET /{billing_id}/courses/{code}/launch_link/{standard}
- Returns formatted launch links for courses by standards supported
- Valid values: AICC, SCORM12, SCORM2004, and CMI5
Export
POST /{billing_id}/courses/export
- Raw JSON Body Post
- Content-Type application/json.api+json adheres to JSONAPI format requirements
Example AICC Export for Business Skills Content
{
"filterQuery": "(and topic0:'Business Skills')", "query": "-nomatch",
"standard": "AICC",
"recipients": "example@bizlibrary.com", "packaging_options": "all_items", "single_content_file": "true", "zip_each_course": "true"
}
| PARAMETER | DESCRIPTION | |
| filterQuery |
|
Same filterQuery format as search |
| standard | SCORM_12, SCORM_2004, XAPI, or CMI5. | No default value. Must indicate. |
|
recipients |
|
Comma delimited list of email address that will receive notification and download link for course export. Expect delivery under 5-10 minutes. |
| packaging_option | all_items, all_content, topic0, or content_type | Any course attribute name that will group content. Any identifiable non-attribute name will group the content into a single file. Default: ‘all_items’ – single grouping |
| single_content_file | The value can be either true or false. | Used in pagination. Start index. 0 is the default. |
| zip each course | The value can be either true or false. | Search expression. Default: true |