LTI vs REST API

Jump to solution
rwmcknight
Community Member

Just getting started looking at resources for adding a tool to help my classes function a little more smoothly.  (The main idea that I'm looking at is setting up a help queue so that I can help students who have a (digital) hand raised.  I want to make sure that I am being fair to my in-person students as well as my remote students, so setting up an online tool seemed to be the most fair.  I will probably still use it when we are all back in person too, but the split is my catalyst.)

Anyway, I'm seeing resources for LTI and for direct Canvas API integration.  Can somebody give me some insights as to what are the benefits and drawbacks of both?

Labels (3)
0 Likes
1 Solution
matthew_buckett
Community Contributor

LTI 1.3 is a cross platform standard to integrate external tools into a LMS/VLE platform. It allows the platform to securely tell the tool who is accessing the tool, what context (course) they are in and other information. There are then a few standard APIs the tool can use for things like passing grades back and listing other people in the course.

The Canvas API is a fully featured API that allows you to perform almost all operations you can through the Canvas interface programatically, but it is specific to the Canvas product and any solution for Canvas won't work on another VLE/LMS.

Depending on what you want to do you may use one or both of these technologies. For example we have a simple LTI 1.3 tools that allows teachers to export a list of course members formatted to import into other services that doesn't use the Canvas API, just the additional LTI 1.3 APIs.

Screenshot 2021-02-03 at 07.24.02.png

But then we also have a calendar import tool that allows users to import CSV files into the Canvas Calendar which uses LTI to get details of who the user is and the course, but then uses OAuth2 and the Canvas API to perform the import of the events into the Calendar.

Screenshot 2021-02-03 at 07.26.05.png

We then have some integrations that just use the Canvas API to do things like provisioning users, but I wouldn't really call them full tools as the as they don't have a UI.

View solution in original post