content_migrations API - Holding Users Accountable

sjthomas
Community Explorer

The Short of It: Basically I want to show when a teacher (or any user) has imported on top of their course, and what exactly they imported.

The Long of It: My institution uses the API to import "dev course" data into child sections. Teachers are provided their course content, and only permitted (through contracts/requirements) to modify their content slightly. We leave import functionality turned on for teacher roles.

As I'm sure every admin here faces, we have situations where users want to use the selective import feature of Canvas (to import a specific page, announcement, etc...), but they occasionally choose to copy an entire course over their live section.

I seek to build a tool that will allow me or my team to insert a Canvas Course ID, and an entire history of content migrations enumerates.

Here's where I'm at so far:

 

GET
https://INST.instructure.com/api/v1/courses/COURSEID/content_migrations?access_token=ACCESSTOKENADMIN
// This will paginate all content migrations that have happened for the specified course.
// From there, we can pull all the migration ID's from the list - as well as any other pertinent info - like User's CanvasID and datetime

 

 

In the following step, I seek to drill down inside each migration to find out exactly what was migrated. My thought was to use the selective_data piece; but fell short with only enumerating what could have been selected - not what was actually selected.

 

GET
https://INST.instructure.com/api/v1/courses/COURSEID/content_migrations/MIGID/selective_data?access_token=ACCESSTOKENADMIN
// Only returns a list of what could be imported, not what was imported.

 


So my question to the community, or a Canvas rep - is there an API call that I am just not finding in the documentation that can drill down into a specific import to find out what was migrated?

Thanks!

~Justin

0 Likes