Get Course Settings via API

Jump to solution
brian_t_anders
Community Contributor

I feel really silly right now for either (1) not being able to find the correct API call  (2) not knowing that such a call doesn't exist or (3) finding the parameters I'm looking for using the UI.

I would like to automate the creation of my upcoming courses. I need to gather the settings of my previous semester courses as the creation of new courses using the API is calling for many additional parameters than what the UI asks for. All of my previously created courses were created manually and I would like to pull the settings of the previous semester courses via the API (or otherwise), and use those settings for creating the new courses.

The problem is I cannot find the settings of the old courses using the API. Some of the parameters I would like to find are:

-course[is_public]

-course[self_enrollment]

-offer

What do I need to do to get all of the appropriate fields for course creation via API from an already-created course? Could my ability to see course settings be limited based on my admin access?

0 Likes
1 Solution

Hi  @brian_t_anders ,

That's a slightly different set of options than the original question, and there are a couple of things going on here.

The first is a category of "settings" that don't exist in the parent course, because they're options for the course creation process itself, not settings on the created course. Those are things not prefixed with "course[]". That's "offer," "enroll_me", and "enable_sis_reactivation." Those are questions for you, not things that can be copied: do you want to publish the course now, or leave it unpublished (offer)? Do you want to be enrolled in the course(enroll_me)? Do you want to check to see if there is an existing, deleted course with the same sis_id (possibly with existing content and enrollments) and reactivate it? Or do you want to create a new course? Translation: did a faculty member hit "delete" by accident and you're trying to bail them out through the API? (enable_sis_reactivation)

The second are things that are probably disabled at the account level. If you're not seeing the wiki stuff, it's almost certainly because you've disabled Course Content add/edit/delete for the student role and course settings can't override it. Most places do. Ditto open/self enrollment. 

The third is is things that are shown somewhere else. Forum settings are accessible through the course settings endpoint (GET /api/v1/courses/:course_id/settings). The grading standard--*if* it is set--can be found there, too. Why there is that handful of setting tied to the other API, I can't say.

The syllabus_body has to be requested with the "include[]=syllabus_body" option to the Get a Single Course endpoint 50581462 mentioned above, probably because it can be quite large.

View solution in original post