Archive or restore a course – Archives or restores a course. Archiving prevents the course from being added to new paths, hides it from search results, and keeps statistics intact.
Edit an eLearning standard course – Updates specific fields of an existing eLearning standard course (SCORM, AICC, xAPI, etc.). Fields not included in the request remain unchanged.
Modified
Globalization support for external courses – External courses now support translated versions across the following API v2 routes:
Upsert external courses – The input payload now supports an optional translations array, allowing import of translated course fields and translation-specific launch URLs.
Import integration statistics – The input payload now accepts an optional lang indicating the language in which the learner took the course.
Retrieve an external course – The response now includes a translations array containing available translated versions.
List all tags in a course – The source field now usesnative for tags manually added via the platform or API and integration for tags synced from external content providers during content sync.
Import integration statistics – Imports up to 10,000 integration activity records per request, including progress, score, result, time spent, and activity timestamps.
Delete libraries – Deletes up to 10,000 libraries by externalId.
Per-second API rate limiting across all routes, returning 429 Too Many Requests when exceeded. See Rate limiting errors for details.
Modified
Upsert libraries – Added an optional status field in the input array to define the library's status (published or draft, default is published).
Upsert jobs – Added an optional parentExternalId field in the input array to specify the parent job’s external ID.
Edit a user — Allows unsetting either the email or username, as long as the user retains at least one valid identifier. Attempting to remove both results in a 400 error with code userShouldHaveAtLeastOneValidIdentifier.
Remove users from groups – Aligns bulk removal of learner roles from groups with the single-route Remove a user's role: Learners are now removed from public subgroups only, and the cascade stops at the first private subgroup encountered. (Previously, bulk removal for learners affected all subgroups, including private ones.)