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!
Has anyone had any success changing the course ID that appears in the URL to a different course ID? One of our Catalog courses got reset and now the catalog listing is broken. We could create a new listing and course, but we had 30 students already enrolled in the current listing, however, since the course reset also changes the course ID number to a new value, the existing listing in Canvas is now tied to a course URL that no longer exists.
Instructure Support said we could change it using an API PUT call, but I have tried a number of variations on the below PUT call they sent over and none of them have been successful in changing the ID. Using Postman, I have successfully changed the course name using PUT calls, but the ID seems to either not be editable or requires some additional command.
https://**********.test.instructure.com/api/v1/courses/3968?course[id]=9781
Any ideas?
Thanks!
Solved! Go to Solution.
@mvogt1 ,
Also, just to clarify: you need to use the Catalog API and hit the endpoint for the catalog course, not the Canvas API endpoint for the canvas course:
https://<your-catalog-url>/api/v1/courses/<catalog_course_id>?course[canvas_course_id]=9781
You're not changing the url of the Canvas course, you're pointing Catalog at the course you want. If you now have two courses with enrollments that you need to combine, you can crosslist to bring the enrollments from the new/wrong course into the old/correct course...or vice versa...
Hi Mike,
I haven't updated a listing with the Canvas course ID, but if I understand your post correctly, I'm thinking that the following may be the values you would want to update (to link a different Canvas course to the catalog course).
course[path] Path to the listing. Used in URLs
course[canvas_course_id] Id of the related canvas course
@mvogt1 ,
Also, just to clarify: you need to use the Catalog API and hit the endpoint for the catalog course, not the Canvas API endpoint for the canvas course:
https://<your-catalog-url>/api/v1/courses/<catalog_course_id>?course[canvas_course_id]=9781
You're not changing the url of the Canvas course, you're pointing Catalog at the course you want. If you now have two courses with enrollments that you need to combine, you can crosslist to bring the enrollments from the new/wrong course into the old/correct course...or vice versa...
Thank you! This solves our problem. The directions from Instructure Support were not clear on that point. Thank you for providing this clarification!
I don't think you can change the id back to the old one. Seems an odd suggestion.
The reason is that the old one is still there with the original id. Its just in a deleted state. So you cannot use its id on another course.
To see the old one, make an API call to put something like the following, or just put in your browser:
.../api/v1/accounts/1/courses?state[]=deleted&search_term=9781
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