Skip to content
Proud to collaborate with Microsoft for Startups

canvas.courses.update-course-settings ​

Can update the following course settings:

Update course settings

Overview ​

PropertyValue
Workflow typeAtomic
LibraryApp-canvas
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
base_urlstringYes—Canvas API root, e.g. https://<host>/api
api_tokenstringNo—Bearer token; omit to use the workflow's token env var
course_idstringYes—ID
allow_final_grade_overridebooleanNo—Let student final grades for a grading period or the total grades for the course be overridden
allow_student_discussion_topicsbooleanNo—Let students create discussion topics
allow_student_forum_attachmentsbooleanNo—Let students attach files to discussions
allow_student_discussion_editingbooleanNo—Let students edit or delete their own discussion replies
allow_student_organized_groupsbooleanNo—Let students organize their own groups
allow_student_discussion_reportingbooleanNo—Let students report offensive discussion content
allow_student_anonymous_discussion_topicsbooleanNo—Let students create anonymous discussion topics
filter_speed_grader_by_student_groupbooleanNo—Filter SpeedGrader to only the selected student group
hide_final_gradesbooleanNo—Hide totals in student grades summary
hide_distribution_graphsbooleanNo—Hide grade distribution graphs from students
hide_sections_on_course_users_pagebooleanNo—Disallow students from viewing students in sections they do not belong to
lock_all_announcementsbooleanNo—Disable comments on announcements
usage_rights_requiredbooleanNo—Copyright and license information must be provided for files before they are published.
restrict_student_past_viewbooleanNo—Restrict students from viewing courses after end date
restrict_student_future_viewbooleanNo—Restrict students from viewing courses before start date
show_announcements_on_home_pagebooleanNo—Show the most recent announcements on the Course home page (if a Wiki, defaults to five announcements, configurable via home_page_announcement_limit). Canvas for Elementary subjects ignore this setting.
home_page_announcement_limitintegerNo—Limit the number of announcements on the home page if enabled via show_announcements_on_home_page
syllabus_course_summarybooleanNo—Show the course summary (list of assignments and calendar events) on the syllabus page. Default is true.
default_due_timestringNo—Set the default due time for assignments. This is the time that will be pre-selected in the Canvas user interface when setting a due date for an assignment. It does not change when any existing assignment is due. It should be given in 24-hour HH:MM:SS format. The default is "23:59:59". Use "inherit" to inherit the account setting.
conditional_releasebooleanNo—Enable or disable individual learning paths for students based on assessment

Output Schema ​

FieldTypeRequiredDefaultDescription
base_urlstringYes—Canvas API root, e.g. https://<host>/api
api_tokenstringNo—Bearer token; omit to use the workflow's token env var
course_idstringYes—ID
allow_final_grade_overridebooleanNo—Let student final grades for a grading period or the total grades for the course be overridden
allow_student_discussion_topicsbooleanNo—Let students create discussion topics
allow_student_forum_attachmentsbooleanNo—Let students attach files to discussions
allow_student_discussion_editingbooleanNo—Let students edit or delete their own discussion replies
allow_student_organized_groupsbooleanNo—Let students organize their own groups
allow_student_discussion_reportingbooleanNo—Let students report offensive discussion content
allow_student_anonymous_discussion_topicsbooleanNo—Let students create anonymous discussion topics
filter_speed_grader_by_student_groupbooleanNo—Filter SpeedGrader to only the selected student group
hide_final_gradesbooleanNo—Hide totals in student grades summary
hide_distribution_graphsbooleanNo—Hide grade distribution graphs from students
hide_sections_on_course_users_pagebooleanNo—Disallow students from viewing students in sections they do not belong to
lock_all_announcementsbooleanNo—Disable comments on announcements
usage_rights_requiredbooleanNo—Copyright and license information must be provided for files before they are published.
restrict_student_past_viewbooleanNo—Restrict students from viewing courses after end date
restrict_student_future_viewbooleanNo—Restrict students from viewing courses before start date
show_announcements_on_home_pagebooleanNo—Show the most recent announcements on the Course home page (if a Wiki, defaults to five announcements, configurable via home_page_announcement_limit). Canvas for Elementary subjects ignore this setting.
home_page_announcement_limitintegerNo—Limit the number of announcements on the home page if enabled via show_announcements_on_home_page
syllabus_course_summarybooleanNo—Show the course summary (list of assignments and calendar events) on the syllabus page. Default is true.
default_due_timestringNo—Set the default due time for assignments. This is the time that will be pre-selected in the Canvas user interface when setting a due date for an assignment. It does not change when any existing assignment is due. It should be given in 24-hour HH:MM:SS format. The default is "23:59:59". Use "inherit" to inherit the account setting.
conditional_releasebooleanNo—Enable or disable individual learning paths for students based on assessment
status_codeintegerNo—HTTP status code of the completed call
responsejsonNo—Parsed JSON response body
failure_reasonstringNo——
failure_typestringNo——
failed_atstringNo——
failed_stepstringNo——
failed_layerstringNo——
failed_at_statestringNo——
errorstringNo——
error_typestringNo——

States ​

StateInitialTerminalSuccessAuto-advanceDescription
pendingYesNo—executeWaiting to call PUT /v1/courses/{course_id}/settings
completedNoYesYes—HTTP call succeeded
failedNoYesNo—HTTP call failed

State Diagram ​

Transitions ​

FromActionToDescription
pendingexecutecompletedPerform PUT /v1/courses/{course_id}/settings
* (any state)failfailedRecord the failure reason

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "canvas.courses.update-course-settings",
  "initial_data": {
    "base_url": "value",
    "course_id": "value"
  }
}