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.
Does anyone know if we are safe to change the subaccount the course resides in, if the course is in a live active term with students? Someone forgot to put the course in the correct subaccount and I don't want to risk breaking all the students with any work they did if changing the subaccount will mess things up.
Solved! Go to Solution.
Yes, you should be able to change the sub-account for a course without any issue from a Canvas perspective. I recently reworked our sub-account framework and moved whole sub-accounts worth of courses without a problem.
If you want to gain confidence in the process, I recommend that you take the action in your Test or Beta environment first, and then masquerade as teacher and/or student (if you have that permission) in the course to see if anything is impacted.
If the course happens to be using an LTI Tool that is only applied to the original sub-account, then that might be one possible impact to check/consider.
Hi 82711010bc61080b507960f9af47f13a496158f1cf91ab1f83b37b2a63af3fe2 - If memory serves from the last time I had to do this, it does not make any difference at all on that account. You might want to check, however, if there were any outcomes created that are embedded in that course that were done at the sub-account level, since then that connection would break.
To play it 100% safe, though, I would try it first on your Beta server. (https://community.canvaslms.com/docs/DOC-10802-4214717429 ) I say Beta rather than Test, because that would have been refreshed the most recently...just this past weekend, so hopefully some student submissions would be in there.
Along with what Ken mentioned concerning Outcomes possibly breaking, there could also be LTI changes or permissions changes, if the subaccounts have different LTIs installed or permissions for the course-level roles. In general though, you should be fine.
Yes, you should be able to change the sub-account for a course without any issue from a Canvas perspective. I recently reworked our sub-account framework and moved whole sub-accounts worth of courses without a problem.
If you want to gain confidence in the process, I recommend that you take the action in your Test or Beta environment first, and then masquerade as teacher and/or student (if you have that permission) in the course to see if anything is impacted.
If the course happens to be using an LTI Tool that is only applied to the original sub-account, then that might be one possible impact to check/consider.
Thank you Todd. We attempted to do this in Beta where it was the closest data to what is in production (the term just started a week ago, so Test didn't have the set up). However, there's an issue with Beta and something is broken with that code base and some of our customization, so that didn't work. This is the reason I thought I'd try the community, else I'll have to try to set up the live scenario in test and that's going to take some time. ![]()
There will be a new reset of the test and Beta sites this saturday. So on Monday you should hav fresh data to test on ![]()
Yes, I just saw the emails this morning!!! Thanks Lars!
Todd, how did you move your courses into different sub accounts? Via CSV import or ?
Hi @wojcika , In my scenario I was moving full sub-accounts that already had the courses provisioned into them, so the courses moved with them. I first made sure that all sub-accounts had a SIS ID, and added them manually in the GUI if they didn't have one. I then ran the provisioning report for accounts, and for the sub-accounts I wanted to move, I removed the canvas_parent_id and updated the parent_account_id in the file. I did these in batches since I had so many I was restructuring. I would then SIS Import the file into Test to identify any issues I might have in the file, address them if necessary, and then SIS Import the file into Production. The more course shells were in the sub-account(s) being moved, the longer the process would take (multiple hours in some cases that had thousands of course shells).
If I were to just be moving courses between existing sub-accounts, then it might depend how many. If it was a few courses I'd probably do it manually in the interface by changing the sub-account in the course Settings, but if it were a whole set of courses then yes I would probably use the CSV SIS Import method. You could run a provisioning report from a particular sub-account for Courses CSV, then update the canvas_account_id and account_id fields to the new sub-account, and use the SIS Import feature to move them. I always recommend running it in Test first, even if you've done the process many times before.
Hope this helps! Let me know if I didn't quite answer your question.
Todd
Hello,
Super helpful and thank you for explaining your process. Which CSV Data Format did you use from this page?
https://canvas.instructure.com/doc/api/file.sis_csv.htm
Thank you again,
Annie
Hi @wojcika ,
It looks like that link lost the "l" off the end, so here is an updated link for those who may be finding this thread later: SIS Import Format Documentation - Canvas LMS REST API Documentation
You'll be using the accounts.csv data format that is listed on that page.
If you use the provisioning report as an export to work from and modify, you'll have all of the following field headers:
| canvas_account_id | account_id | canvas_parent_id | parent_account_id | name | status | created_by_sis |
But as the documentation notes the only *required* fields for an accounts.csv import file are:
account_id
parent_account_id
name
status
The next info you didn't ask for, but it crossed my mind and I felt like sharing...
I highly recommend establishing a naming standard for account_id, so that it makes some sense to you either where it lives in the structure or what it contains. For myself I chose to hold subject codes as their own account_ids (ex: MAT = Mathematics), since they contain the majority of the actual course shells, and assuming that some day they move within the structure. The structural/organizational sub-accounts may not change as much (or maybe they will!) so I used a naming convention that included more details about the nesting since the parent_account_id only gives you one level up (ex: CAES_DHS_HE = College of Ag & Environmental Science, Division of Human Science, Department of Human Ecology).
And our decision around when to provide a sub-account layer were primarily. 1) If there might be the need or desire to provide a sub-account administrator at that level. 2) If there might be a need to report on Outcomes, share rubrics, etc. at that level 3) If there might be the need to install a purchased LTI tool for just a subset of course shells.
Hi 82711010bc61080b507960f9af47f13a496158f1cf91ab1f83b37b2a63af3fe2 - If memory serves from the last time I had to do this, it does not make any difference at all on that account. You might want to check, however, if there were any outcomes created that are embedded in that course that were done at the sub-account level, since then that connection would break.
To play it 100% safe, though, I would try it first on your Beta server. (https://community.canvaslms.com/docs/DOC-10802-4214717429 ) I say Beta rather than Test, because that would have been refreshed the most recently...just this past weekend, so hopefully some student submissions would be in there.
Thanks Ken - I just had posted reply to Todd on the Beta test. We did try that. I may just need to quickly try to set up the scenario in Test and try it there but not sure I'd be able to set up all the things the live students actually had done nor all the last minute changes done to the course on production a few days ago. ![]()
Along with what Ken mentioned concerning Outcomes possibly breaking, there could also be LTI changes or permissions changes, if the subaccounts have different LTIs installed or permissions for the course-level roles. In general though, you should be fine.
Thank you Anthony! Thankfully all of our LTI's are done at the root and not sub accounts levels.
I can tell you that I have actually done it in a live environment and it was fine. It does change access permissions depending on who has access to the subaccount (the reason we had to change it in the first place!).
Thanks Karla - when you say it changes the access permissions, can you explain? Are you meaning any non student or non Teacher course roles (or account roles) that may have been set at that sub-account level?
Exactly. So if I change from one department (say, Nursing) to another (General Ed) then the administrator that normally sees things in the Nursing sub-account but not General Ed doesn't see the class anymore. However, it doesn't disrupt the class itself.
Awesome, thank you!
We’ve done this a few times as well with no problems. Didn’t seem to impact the students or the teacher at all in our cases.
Thanks Kona - Do you recall if you had Outcomes set or any LTI's or 'permissions for the course-level roles' set at the subaccount levels where you moved it from? Just making sure if in the future I do have any of these that we reset/fix them after the move to a different subaccount, since others mentioned these are the areas that might or did break for them. We didn't have any of those so when I changed the sub-account we were good to go.
We had one LTI that seemed to move over with the course, no problem. As for permissions, we didn't change any permissions when they got moved, so I'm not sure about that.
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
This discussion post is outdated and has been archived. Please use the Community question forums and official documentation for the most current and accurate information.