Before I attempt to help further, I would like to note that I am, most definitely, not a software engineer. I'm just a normal Canvas admin. But maybe someone else can chime in if I butcher this! :smileygrin:
"Manage SIS data" is an account level role and not a course level role. I believe you would need an administrator token to accomplish your task. I'm not 100% sure on this though.
If you are building a course creation tool for a teachers, you could leave out the part about sis_course_id and do that as a separate call using an administrator token. Maybe something like this:
- POST to create the course without sis_course_id using the teacher's role.
- Store the returned "id" field into a variable.
- PUT the sis_course_id into the course using an administrator token and the course id variable that was returned in Step 1.
I'm probably missing a much more elegant solution than this, but I'll let someone smarter than me weigh in on that.