The Instructure Community will enter a read-only state on November 22, 2025 as we prepare to migrate to our new Community platform in early December. Read our blog post for more info about this change.
Found this content helpful? Log in or sign up to leave a like!
When we began our migration to Canvas we chose to make the user SIS ID's a value that has significance at our University but is not guaranteed to be unique. We would like to modify our process to use a different and unique value for the user SIS ID. Before we change the process we need to clean up the data we have by switching the SIS ID.
I know a user's SIS ID can be modified through the UI, but I haven't been able to find the equivalent in the Canvas API. Can a user's SIS ID be modified with an API call?
Are there any ramifications to modifying a user's SIS ID?
Solved! Go to Solution.
the format is as follows
/api/vi/accounts/<account_id>/logins/<user_id>
-H "Authorization: Bearer <token>"
-X PUT
-d "login[sis_user_id]=<new_value>"
Hi Rebecca,
You can update the user SIS ID Field using this api call here: Logins - Canvas LMS REST API Documentation
It's the login[sis_user_id] value you're looking to modify.
Hope this helps!
How am I to format the query string?
When I use the following it results in an error
/api/v1/accounts/<account_id>/logins/<user_id>?sis_user_idi=<new_value>
It does not return a json response object. Instead it returns an html document.
the format is as follows
/api/vi/accounts/<account_id>/logins/<user_id>
-H "Authorization: Bearer <token>"
-X PUT
-d "login[sis_user_id]=<new_value>"
Community helpTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign inTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign in