Introduction to Docebo APIs

Find out more about the platform APIs and the API browser

Ultimo Aggiornamento

23 Dicembre 2020

Modulo Docebo

API

Tempo di Lettura

4 min

Livello Utente

Introduction

At Docebo, we believe integrating your learning platform with other third party systems is key to the success of your learning programs for increased business performance. The documents that you find in the API & Developer Info section of Docebo’s Knowledge Base are intended to provide you with all of the information you may need to get started with Docebo APIs. As processes around APIs are added or modified, Docebo will update this documentation to reflect the most current information.

Current Version

The default version of the currently exposed API is version 1 (v1). However, in the future there may be specific microservices that already expose later versions (v2, v3 ,..). The version of the API you intend to use must be specified within the endpoint URL.

For example:

GET /learn/v1/location

API References & Documentation

Detailed documentation of all of Docebo’s publicly available APIs is available within your Docebo platform. The documentation is constantly updated with the most up-to-date API version.

The access link to the documentation is as follows: https://<yoursubdomain.docebosaas.com>/api-browser/

The available microservices are listed in the SERVICES combobox. When you select a new microservice, the documentation for that specific service is automatically loaded. In the TOKEN field, you can directly load a pre-generated OAuth2 access token, or you can proceed to authentication using the tools exposed by the UI of the documentation itself.

It is important to note that, in some rare cases, dynamically generated attributes in JSON data cannot be properly rendered in the user interface of the reference documentation. This could prevent you from testing the API directly from the documentation itself. In this case we suggest you to use a dedicated tool (f.e. Postman).

API Client Libraries

At this time, Docebo does not provide any client library for Docebo APIs. You need to set up you own package to start coding against Docebo APIs.

API Call Limitations

To maintain optimum performance and to ensure APIs are available to all customers, Docebo’s APIs are limited to 1,000 API calls per hour from each IP address.

Backward-Compatible Changes

Consider the changes listed below as backward-compatible. We invite you to structure your code to be able to support any such changes to the APIs. This type of change normally happens without any notification to customers. They may include:

  • Adding new endpoints
  • Adding new optional parameters to existing API endpoints
  • Adding new properties to API responses
  • Changing the order of properties in API responses
  • Any update in API documentation

Non Backward-Compatible Changes Policy

Docebo makes every effort to keep API changes backward-compatible, but it’s not always possible. In these cases, we inform consumers of the update through our Product Updates page. The effective updates occur after a reasonable timeframe, and the deprecation period duration can vary due to technical and usage considerations. In any case, the time interval is a minimum of one month from the original communication on the Product Updates page to the effective update.

The deprecation period rule does not apply in case there are critical security vulnerabilities. In these cases, we apply a fix immediately and communication may appear on the Product Updates page during or shortly after the fix.

API Changelog

Docebo informs customers of new additions or changes to Docebo APIs through our general Product Updates page. Once you see communication related to APIs on this page, it’s always best to then refer to the official API documentation (https://<yoursubdomain.docebosaas.com>/api-browser/) for a complete understanding of the changes that occurred.

API Browser and Additional Fields

The additional fields used in the platform for the management of users, courses, and enrollment are managed by Superadmins as dynamic values, and cannot be documented in the API browser documentation, as they change from platform to platform. For the same reason, it is not possible to test additional fields from the API browser.

As an example, if you want to filter courses according to a course additional field value where xx is the additional field ID (such as field_1, field_2, etc), the string to use would be something like:

https://yourdomain.docebosaas.com/learn/v1/enrollments?field_6=3

The ID to use in your query instead of xx will either be an integer (e.g. for dropdown additional fields), or a string (for text additional field), or an array, or a date (for date additional field). Here follow some examples:

  • date: ‘field_12’: {‘from’: ‘2018-06-26′,’to’: ‘2018-06-30’},
  • textfield: ‘field_6’: ‘abc’ OR ‘field_6’: [‘abc’, ‘def’], dropdown: ‘field_8’: 3.
  • for iframe additiona fields, extend field_xx and to field_xx_yy where yy is the field from the Json configuration, and use a this syntax ‘$^speakers^speaker’. The value will either be a string (for text additional field) or an array or a date (for date additional field). Examples:
    • date. ‘field_12$^datefield’: {‘from’: ‘2018-06-26′,’to’: ‘2018-06-30’},
    • textfield. ‘field6$^textfield’: ‘abc’ OR ‘field6$^textfield’: [‘abc’, ‘def’].