The Legacy API will officially be deprecated in 2024. If your Administrative Team is currently using endpoints built on the legacy API, please follow the steps outlined in this article to migrate to the new Tovuti API.
For additional information, please review the Create an API Token and Getting Started with the Tovuti API articles.
The new Tovuti API is released and is not backward compatible with the Legacy API. Furthermore, the Legacy API is no longer supported with new features or non-critical bug fixes. While the Legacy API continues to function in order to continue using Tovuti’s API, customers must rebuild existing Legacy API integrations with the new Tovuti API. All Legacy API users will be notified of a deprecation date when a date is determined.
This article outlines the following concepts:
API Keys
API Keys are created from the Admin Profile page. Review this Help Center article for more information and a step-by-step overview.
Legacy Endpoints
The following is a breakdown of all the Legacy Endpoints and the corresponding endpoint from the new Tovuti API. Endpoint actions are described as Create = POST, Read = GET, Update = PATCH, and Delete = DELETE
LMS Item |
Method |
Legacy Endpoint URL |
New API Endpoint URL |
Notable New API Changes |
Single User |
POST |
/users/create |
/user |
|
Single User |
GET, PATCH, or DELETE |
/users/id |
/users/id |
|
Multiple Users |
GET |
/users |
/users |
More searchable parameters |
User Quiz Results |
GET |
/users/id/quizresults |
/users/quizResults |
More searchable parameters |
User Checklist Progress |
GET |
/users/id/checklist_progress |
/users/checklistProgress |
More searchable parameters |
User Course Progress |
GET |
/users/id/course_progress |
/users/courseProgress |
More searchable parameters |
User Course Enrollment |
POST or PATCH |
/users/id/courses/id |
/users or /users/id |
|
User Awards |
GET |
/users/awards |
/users/awards |
Also available in the GET /awards endpoint |
Single User Group |
GET, PATCH or DELETE |
/users/groups/id |
/userGroup/id |
|
Single User Group |
POST |
/users/groups |
/userGroups |
|
Multiple User Groups |
GET |
/users/groups |
/userGroups |
|
Single User Team |
POST |
/teams |
/team |
|
Single User Team |
PATCH or DELETE |
/teams (pass id in body) |
/teams/id |
|
Single User Team |
GET |
/teams/id |
/team/id |
|
Multiple User Teams |
GET |
/teams |
/teams |
More searchable parameters |
Add User Groups to a User Team |
POST or PATCH |
/teams/add_user_groups/id |
/teams/id or /teams |
Legacy duplicate endpoint |
Remove User Groups from a User Team |
POST or PATCH |
/teams/remove_user_groups/id |
/teams/id or /teams |
Legacy duplicate endpoint |
Add Users to a User Team |
POST or PATCH |
/teams/add_users/id |
/teams/id or /teams |
Legacy duplicate endpoint |
Remove Users from a User Team |
POST or PATCH |
/teams/remove_users/id |
/teams/id or /teams |
Legacy duplicate endpoint |
Team Lead Permissions |
POST or PATCH |
/teams/edit_team_lead_permissions/id |
/teams/id or /teams |
Legacy duplicate endpoint |
Single Subscription |
GET |
/subscriptions/id |
/subscription/id |
More searchable parameters |
Single Subscription |
POST |
/subscriptions |
/subscription |
|
Single Subscription |
PATCH |
/subscriptions/id |
/subscription/id |
|
Multiple Subscriptions |
GET |
/subscriptions |
/subscriptions |
Returns more data |
Multiple Subscriptions |
DELETE |
/subscriptions (pass id in body) |
/subscription/id |
|
Add User Groups to a Subscription |
PATCH |
/subscriptions/add_user_groups/id |
/subscription/id |
Legacy duplicate endpoint |
Remove User Groups from a Subscription |
PATCH |
/subscritpions/remove_user_groups/id |
/subscription/id |
Legacy duplicate endpoint |
Reports |
POST |
/reports/id/run |
n/a |
Deprecated functionality |
Reports |
GET |
/reports/list |
n/a |
Deprecated functionality |
Quiz Results |
GET |
/users/id/quizresults |
/quiz/id |
Returns more data |
Virtual Meeting |
POST |
/meetings |
/meeting |
|
Virtual Meeting |
GET |
/meetings |
/meetings |
More searchable parameters |
Virtual Meetings |
PATCH or DELETE |
/meetings/id |
/meeting/id |
|
Certificate Templates |
POST or GET |
/certificatetemplates |
n/a |
Deprecated functionality |
Certificate Templates |
PATCH or DELETE |
/certificatetemplates/id |
n/a |
Deprecated functionality |
Single Event |
POST |
/events |
/event |
|
Single Event |
PATCH or DELETE |
/events |
/event/id |
|
Single Event |
GET |
/events |
/event/id |
|
Multiple Events |
GET |
/events |
/events |
More searchable parameters |
Multiple Events |
PATCH or DELETE |
/events |
n/a |
Deprecated functionality |
Single Course |
GET |
/courses/id |
/courses/id |
More searchable parameters |
Multiple Courses |
GET |
/courses |
/courses |
More searchable parameters |
Course Registrations |
GET |
/courses/registrants |
/courses |
More searchable parameters |
Single Course Category |
POST |
/courses/categories |
/courseCategory |
|
Single Course Category |
PATCH |
/courses/categories/id |
/courseCategory/id |
|
Single Course Categories |
GET |
/courses/categories/id |
/courseCategory/id |
|
Multiple Course Categories |
GET |
/courses/categories |
/courseCategory |
|
Checklists |
POST |
/checklists |
/checklist |
|
Awards |
GET |
/awards |
/awards |
More searchable parameters |
Awards |
DELETE |
/awards |
/award/id |
|
Award (Badge) |
POST |
/awards/badges |
/award |
|
Award (Certificate) |
POST |
/awards/certificates |
/award |
|
Award (Milestone) |
POST |
/awards/milestones |
/award |
|
Award (Certificate) |
PATCH |
/awards/certificates |
/award/id |
|
Course Assignment |
POST |
/assignments |
/assignment |
|
Course Assignment |
PATCH |
/assignments/id |
/assignment/id |
Breaking Changes
The new API is incompatible with Legacy API in the following ways:
New GET Responses
A GET endpoint is a read function that retrieves information. For example, if a developer wants to pull all Tovuti User information, they would utilize the /users GET endpoint.
While both the new and legacy APIs utilize GET endpoints, the new API returns more data in different formats. Please refer to the schema documentation at api.tovuti.io for details on each endpoint's data structure.
Base URL
Tovuti’s New API utilizes a new Base URL of https://api.tovuti.io. An instances base Domain is encoded in the API Token and is no longer included in the Base URL.
All API endpoints connect to the Base URL. For example, utilizing the /user endpoint becomes https://api.tovuti.io/user.
Pagination
All GET endpoints that may return more than one result use pagination. The default page size is 50. Use the `page` and `pageSize` integers to return and process the correct data.
Rate Limiting
The new API has a default rate limit of 60 per minute.