Display endpoints for API v2 scopes – In the 360Learning platform admin panel, admins configuring API v2 credentials can now hover over a permission to see all associated endpoints, improving clarity when granting permissions.
Modified
Create an invited user – Now supports a new query parameter, sendInvitationEmail, to suppress the invitation email. If sendInvitationEmail is not provided or is true, the invitation email is sent to the new user. Set it to false to suppress the invitation email only; other emails are not affected.
Webhook subscription status – Webhook subscriptions now have a status field: active or inactive. Active subscriptions receive events normally; inactive subscriptions stop receiving events. Status can be updated manually via the Edit a webhook subscription endpoint or the admin panel, or automatically if all delivery attempts fail for 5 consecutive days.
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.)