Community

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
cesbrandt
Community Champion

API: GET lti_apps

Jump to solution

Alright, while I was working on a way to identify the origin of an external tool configuration that is linked into a course, I stumbled across an API access point that gives me exactly what I was looking for, but I can't find any documentation on it.

It can be called like:

GET /api/v1/courses/:course_id/lti_apps

GET /api/v1/accounts/:account_id/lti_apps

I've confirmed they work, providing output like:

[

{

   "app_type":"ContextExternalTool",

   "app_id":1,

   "name":"BLTI Example",

   "description":"This is for cool things",

   "installed_locally":false,

   "enabled":true,

   "tool_configuration":null,

   "context":"Account",

   "context_id":1,

   "reregistration_url":null,

   "has_update":null

}

]

Is anyone familiar with this? If so, do you know where I can find the documentation for it?

Labels (1)
Tags (2)
1 Solution

Accepted Solutions
cesbrandt
Community Champion

Alright, so with a bunch of searching through the Canvas Source, and research to ensure I was understanding the Ruby correctly, I've been unable to identify any request parameters; nor a PUT, POST, or DELETE variation.

Basically, it seems to be little more than an informational access point. However, I did find where I had stumbled across it: the App Center. It uses this API access point to GET the list of available External Tools available to the access location.

So, though the access point is undocumented (I've confirmed this with multiple sources) its use within the live system dissuades my concerns that it was unintended for use and that it might be removed at some future point without warning, though I can't speak for the actual intent of the developers with regards to it.

View solution in original post

3 Replies
garth
Community Champion

You may want to look at this:

External Tools - Canvas LMS REST API Documentation

There is an api call to "List external tools".

I am not exactly sure what you are after, does this help?

cesbrandt
Community Champion

That was where I was originally checking, the problem is that I would have to manually trace the external tool from the assignment/module->course->parent account->parent account->account with tool configuration.

So, for a tool configured three accounts up, that's a minimum of 5 cURLs to identify where the tool was actually configured, 6 if I don't actually know the external tool ID and have to do an additional cURL to look it up before starting to trace it back.

I don't remember where I came across the access point I'm asking about, but it provides the exact information that I'm looking to get with, at most, 3 cURLs: assignment/module->(tool ID lookup)->course lti_apps.

My concern is that I can't locate any documentation on it. Sure, it works, but for all I know it's not an access point that was supposed to be usable and could be dropped at any time. I was hoping another developer might have more information about it that would help me determine if it's safe to use it or not.

cesbrandt
Community Champion

Alright, so with a bunch of searching through the Canvas Source, and research to ensure I was understanding the Ruby correctly, I've been unable to identify any request parameters; nor a PUT, POST, or DELETE variation.

Basically, it seems to be little more than an informational access point. However, I did find where I had stumbled across it: the App Center. It uses this API access point to GET the list of available External Tools available to the access location.

So, though the access point is undocumented (I've confirmed this with multiple sources) its use within the live system dissuades my concerns that it was unintended for use and that it might be removed at some future point without warning, though I can't speak for the actual intent of the developers with regards to it.