Using External IDs (SIS Ids?) to interact with the System/API

Jump to solution
ameriwether
Community Member

Hi all,  sorry if I am asking such a basic question however I have need struggling to find a definitive answer.  We are integration our Student and Course management system (Salesforce) with Canvas and want to use our own unique ID (UID) that we generate as the key identifier between systems.  So for example to add a NEW user we would want to first see if they exist already by checking if there is a user with the UID and if not create them Passing UID as a parameter (guessing to SIS_User_ID).   This same scenario goes for terms, courses, sections.. etc.   Is this doable (my integration guys are not sure)?   What API/query would we use for this BASIC use case?  Thank you  for your HELP ahead of time!

0 Likes
1 Solution
DecoyLex
Community Participant

Hi @ameriwether,

You can use SIS IDs wherever Canvas would accept an ID by prepending it with sis_{thing}_id:. For example, to get a course with the SIS ID of "2242-BIOL-101-01-1234," you would use the following URL: https://yourschool.instructure.com/courses/sis_course_id:2242-BIOL-101-01-1234. It's also the same with users: https://yourschool.instructure.com/users/sis_user_id:whatever-my-user-ids-look-like.  

Likewise, if you're using integration ids, you can use sis_integration_id in place of sis_user/course_id.

More information is available in the documentation for Object IDs, SIS IDs, and special IDs.

I hope this helps!

View solution in original post