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?
Solved! Go to Solution.
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.
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?
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.
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.