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. This article provides information on API calls that have been deprecated or have had features changed or removed since January 2023. As processes around APIs are added or modified, Docebo will update this documentation to reflect the most current information.
Please note: This article does not include API calls that have been introduced or released.
List of deprecated and changed API calls
2025
November 2025
The following endpoint has been removed:
PUT/learn/v1/sub_record/{record_id}/renew
October 2025
The following endpoints have been removed:
GET ecommerce/v1/ecommerce/settingsPOST ecommerce/v1/ecommerce/settingsPUT ecommerce/v1/ecommerce/settings/code
September 2025
The following endpoints have been removed:
GET /loki/share/v1/assets/{asset_id}GET /loki/share/v1/playlists/{playlist_id}/searchPUT ecommerce/v1/transaction/batch
July 2025
Removal of notifications endpoints
With the transition to the new notification service, the following endpoints have been removed:
GET /notifications/v1/notification/notificationsGET /notifications/v1/notification/listPATCH /notifications/v1/notification/readGET /notifications/v1/notifications_logPUT manage/v1/enrollment_rules/{enrollment_rule_id}/notificationsDELETE manage/v1/enrollment_rules/{enrollment_rule_id}/notificationsGET manage/v1/enrollment_rules/{enrollment_rule_id}/notifications
For the following endpoints, the notification_ids property has been changed to an array of strings :
GET /manage/v1/enrollment_rules/{enrollment_rule_id}GET /manage/v1/enrollment_rulesPOST learn/v1/enrollments
February 2025
GET /manage/v1/user/{user_id}-
Changed
- The returned Country value now returns the country ID regardless of whether the user referenced by {user ID} is in pending users, or already approved. (Previously the country name was returned for pending users, and the country ID only for confirmed users.)
- Theprovisioned_user_fieldsarray in the response now returns the list of provisioned fields as akey : valueset, wherekeyis the platform field name (string) andvalueis alwaystrue(Boolean).
2024
December 2024
-
POST/manage/v1/user/POST/manage/v1/user/batchPUT/manage/v1/user/{id}PUT/manage/v1/user/mass_edit -
Changed - The values that can be passed to set a Yes/No user additional field are now:
YES ← 1, “1“, true, “true“, "yes", "on"
NO ← 2, “2“, false, “false“, "no", "off"
None ← 0, “0”, null, “”, and all other values not specified for YES or NOThis implies some breaking changes, for example if with
POST/manage/v1/user/batchyou previously relied upon 0, "0", null, or “” (empty string) to set NO.
-
POST /learn/v1/lp/compact_listGET /learn/v1/course/compact_list - Removed
-
PUT /manage/v1/cookie_policy/policies/{id}GET /manage/v1/cookie_policy/policies/{id}PUT /manage/v1/cookie_policy/{id}GET /manage/v1/cookie_policy/{id} - Removed
September 2024
PATCH /learningplan/v1/learningplans/{learning_plan_id}/enrollments/{user_id}POST /learningplan/v1/learningplans/{learning_plan_id}/enrollments/bulkPATCH /learningplan/v1/learningplans/{learning_plan_id}/enrollments/bulk-
Changed - It is now possible to set a custom enrollment date for learners in learning plans thanks to the optional parameter
enrolment_atand to propagate the date to the courses composing the learning plans using thepropagate_atparameter. The new parameters are tracked by the Audit trail.
-
GET /learn/v1/catalog_content/internal/{catalog_id}GET /learn/v1/catalog_content/internalGET /learn/v1/catalog_content/internal/general -
Changed - the endpoint now returns a 400 error in the following cases:
1. When normal users attempt to enroll other users (self-enrollment only is allowed).
2. When managers attempt to enroll users who are different from themselves, users they do not manage, or users with invalid IDs.
POST learn/v1/enrollments-
Changed- The
user_is_not_enrolledparameter must have a boolean value and no longer accepts arrays.
-
GET /learn/v1/catalog_content/internal/{catalog_id}GET /learn/v1/catalog_content/internalGET /learn/v1/catalog_content/internal/general -
Changed - the endpoint now returns a 400 error in the following cases:
1. When normal users attempt to enroll other users (self-enrollment only is allowed).
2. When managers attempt to enroll users who are different from themselves, users they do not manage, or users with invalid IDs.
August 2024
-
GET /pages/v1/pagesGET /pages/v1/pages/{id} -
Changed - The
last_edit_byfield has been removed from the response, for security reasons.
-
POST /manage/v1/user/batchPUT /manage/v1/user/{id} -
Changed - The response body now includes the
UUIDparameter.
July 2024
GET ecommerce/v1/transaction/{id}/cancel- Removed
June 2024
PUT /learn/v1/courses/{id}- Removed
April 2024
learn/v1/catalog- Removed
February 2024
GET manage/v1/user/{user_id}-
Changed - The response no longer includes a
countryparameter among the user fields. The country can still be obtained by setting it up as an additional field. GET /manage/v1/user/search- Changed - The country names set as user additional fields returned are now localized according to the language of the user using the API call.
GET /manage/v1/user- Changed - The country names set as user additional fields returned are now localized according to the language of the user using the API call.
January 2024
GET ecommerce/v1/transaction-
Changed - The
date_fromanddate_toinput parameters now only accept dates with the following format:UTC YYYY-MM-DD HH:MM:SS GET /manage/v1/group/{id_group}- Removed
PUT /manage/v1/group/{id}- Removed
DELETE /manage/v1/group/{id_group}/members/{id_user}- Removed
GET /manage/v1/group/{id_group}/members- Removed
GET /manage/v1/group- Removed
GET /manage/v1/group/importer_fields- Removed
DELETE /manage/v1/group/{id}- Removed
POST /manage/v1/group- Removed
POST /manage/v1/group/members/batch- Removed
DELETE /manage/v1/group/members/batch- Removed
POST /manage/v1/group/batch- Removed
POST /manage/v1/group/{id_group}/members- Removed
GET /manage/v1/group/- Removed
GET /manage/v1/group/{id_group}/members/all- Removed
POST /audiences/v1/audience/recalculator/batch- Removed - Removed for security reasons
GET manage/v1/user/{user_id}-
Changed - The response now includes a new
last_updateparameter, indicating the date and time when this user was last modified. GET /manage/v1/multidomain-
Changed - Access restricted to Superadmin usage only, returned payload has no visibility over the root branch, the returned
domain_urlvalue has the trailinglms/removed GET /learn/v1/catalog_content/internal-
Changed - The
catalogsIdsand themobileparameters are no longer available GET /learn/v1/catalog_content/internal/preview-
Changed - The
catalogsIdsand themobileparameters are no longer available GET /learn/v1/catalog_content/public/preview-
Changed - The
catalogsIdsand themobileparameters are no longer available GET /learn/v1/catalog_content/public-
Changed - The
catalogsIdsand themobileparameters are no longer available GET /learn/v1/catalog_content/internal/calendar-
Changed - The
catalogsIdsand themobileparameters are no longer available GET /learn/v1/catalog_content/public/calendar-
Changed - The
catalogsIdsand themobileparameters are no longer available
2023
December 2023
GET learn/v1/courses/{id}/by_category-
Changed - The
disable_catalog_filterparameter is no longer available; the returned courses will always be subject to the caller’s visibility. When the ID on an unpublished course is passed, the call will return a403error instead of a success message POST /share/v1/admin/channels/channel_id/duplicate-
Changed - A new boolean parameter called
copy_visibilityis available to manage the porting of the visibility settings of the source channel for the duplicated channel. If thecopy_visibilityparameter is set tofalse, the visibility will be set to “All groups and branches” by default. In addition, the duplicated channel will have the same content and the same experts as the source channel only if theassign_same_contentand theassign_same_expertsparameters are set to true.
November 2023
GET /learn/v1/instructor/getInstructorData-
Changed - The values passed for the parameters
course_id,user_idandsession_idare now strictly validated, accepting only integer values. The status1003error message (Cannot find course with the passed ID) is removed GET /manage/v1/managers/candidates- Changed - it is no longer possible to use this API call unless the Automatic Notification for Team Members and the Auto Suggestion in Automatic Notification options are selected in the platform’s advanced settings for teams and managers. This is a security fix, implemented to ensure greater confidentiality of data.
October 2023
/api/webapp/connect- Removed
/api/webapp/forgot_password- Removed
/api/webapp/language- Removed
/api/webapp/logout- Removed
/api/webapp/get_app_version- Removed
/api/webapp/check_version- Removed
/api/webapp/google_auth- Removed
/api/webapp/data- Removed
/api/webapp/get_user_info- Removed
/api/webapp/course- Removed
/api/webapp/get_courses_by_lp_id- Removed
/api/webapp/can_enter_course- Removed
/api/webapp/get_learning_object- Removed
/api/webapp/play- Removed
/api/webapp/skip_walktrough- Removed
/api/webapp/asset_tags- Removed
/api/webapp/asset_channels- Removed
/api/webapp/get_upload- Removed
/api/webapp/new_upload- Removed
/api/webapp/update_upload- Removed
/api/webapp/asset_thumb- Removed
/api/webapp/delete_asset- Removed
/api/webapp/get_assets- Removed
/api/webapp/get_video_urls- Removed
/api/webapp/track_user_lo_status- Removed
/api/webapp/lo_download_status- Removed
/api/webapp/materials_size_data- Removed
/api/webapp/getOfflineMetadata- Removed
/api/webapp/trackMaterial- Removed
/api/webapp/sco_track_sync- Removed
/api/webapp/get_lo_by_course_id- Removed
/api/webapp/new_password- Removed
GET /learn/v1/catalog_content/internal-
Changed - The
catalog_idsparameter is now accepted as an alternative to thecatalogIdsparameter GET /learn/v1/catalog_content/internal/preview-
Changed - The
catalog_idsparameter is now accepted as an alternative to thecatalogIdsparameter GET /learn/v1/catalog_content/public/preview-
Changed - The
catalog_idsparameter is now accepted as an alternative to thecatalogIdsparameter GET /learn/v1/catalog_content/public-
Changed - The
catalog_idsparameter is now accepted as an alternative to thecatalogIdsparameter GET /learn/v1/catalog_content/internal/calendar-
Changed - The
catalog_idsparameter is now accepted as an alternative to thecatalogIdsparameter GET /learn/v1/catalog_content/public/calendar-
Changed - The
catalog_idsparameter is now accepted as an alternative to thecatalogIdsparameter
August 2023
GET /learn/v1/external_training-
Changed - The
filtersparameter has been removed for security reasons GET /learn/v1/forum/getForumData-
Changed - The
current_session_idparameter has been removed
September 2024
GET learn/v1/courses/{course_id}-
Changed - when used for an ILT session including at least one onsite event, the API now returns the value
nullinstead ofundefinedfor thewebinar_tool attribute GET /learn/v1/courses/{course_id}/by_category-
Changed - the
statusparameter is no longer available and the API response only includes the courses inPublishedstatus
July 2023
POST /skill/v1/skillgroup-
Changed - The
typeparameter has been deprecated PUT /learn/v1/courses/switch_sessions-
Changed - The endpoint now returns a
400error when trying to switch a session to a fully-booked session of a course with a disabled waiting list.
June 2023
PUT /share/v1/gamification/assigned_badge/{uuid}/social_image- Removed
POST /learn/v1/lo/tincan-
Removed - Replaced by
POST /learn/v1/lo/batch
April 2023
POST /course/v1/instructors/add-
Changed - This endpoint now offers the possibility to replace the instructors already assigned thanks to the new
replaceparameter. The default value for the new parameter isfalse. GET /learn/v1/lp/lp_id-
Changed - The response now includes the
codeparameter indicating the codes of the courses included in the learning plan. POST /ecommerce/v1/cart/checkout- Removed
March 2023
GET /course/v1/courses/importer_fields- Removed
February 2023
GET /learn/v1/instructor/getInstructorData-
Changed - The value of the
useridproperty is now returned without the leading slash. This means that “/username” is returned as “username”.
January 2023
GET /learningplan/v1/learningplans/enrollments-
Changed - If the user's enrollment status is Suspended in all of the courses of the learning plan they enrolled in, the returned enrollment status will be
Not Started,In ProgressorCompleted(depending on the enrollment status) instead ofnull. GET /learn/v1/enrollments-
Changed - If the user's enrollment status is Suspended in all of the courses of the learning plan they enrolled in, the returned enrollment status will be
Not Started,In ProgressorCompleted(depending on the enrollment status) instead ofnull. GET /report/v1/privacy_policy/users/{id}/version/{version_id}- Changed - The returned information from the API call, when called with an invalid user or version ID, now returns a 404 Not Found response along with an error message stating which ID is invalid.