canvas.courses.update-course-settings ​
Can update the following course settings:
Update course settings
Overview ​
| Property | Value |
|---|---|
| Workflow type | Atomic |
| Library | App-canvas |
| Version | 1.0 |
Input Schema ​
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
base_url | string | Yes | — | Canvas API root, e.g. https://<host>/api |
api_token | string | No | — | Bearer token; omit to use the workflow's token env var |
course_id | string | Yes | — | ID |
allow_final_grade_override | boolean | No | — | Let student final grades for a grading period or the total grades for the course be overridden |
allow_student_discussion_topics | boolean | No | — | Let students create discussion topics |
allow_student_forum_attachments | boolean | No | — | Let students attach files to discussions |
allow_student_discussion_editing | boolean | No | — | Let students edit or delete their own discussion replies |
allow_student_organized_groups | boolean | No | — | Let students organize their own groups |
allow_student_discussion_reporting | boolean | No | — | Let students report offensive discussion content |
allow_student_anonymous_discussion_topics | boolean | No | — | Let students create anonymous discussion topics |
filter_speed_grader_by_student_group | boolean | No | — | Filter SpeedGrader to only the selected student group |
hide_final_grades | boolean | No | — | Hide totals in student grades summary |
hide_distribution_graphs | boolean | No | — | Hide grade distribution graphs from students |
hide_sections_on_course_users_page | boolean | No | — | Disallow students from viewing students in sections they do not belong to |
lock_all_announcements | boolean | No | — | Disable comments on announcements |
usage_rights_required | boolean | No | — | Copyright and license information must be provided for files before they are published. |
restrict_student_past_view | boolean | No | — | Restrict students from viewing courses after end date |
restrict_student_future_view | boolean | No | — | Restrict students from viewing courses before start date |
show_announcements_on_home_page | boolean | No | — | 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_limit | integer | No | — | Limit the number of announcements on the home page if enabled via show_announcements_on_home_page |
syllabus_course_summary | boolean | No | — | Show the course summary (list of assignments and calendar events) on the syllabus page. Default is true. |
default_due_time | string | No | — | 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_release | boolean | No | — | Enable or disable individual learning paths for students based on assessment |
Output Schema ​
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
base_url | string | Yes | — | Canvas API root, e.g. https://<host>/api |
api_token | string | No | — | Bearer token; omit to use the workflow's token env var |
course_id | string | Yes | — | ID |
allow_final_grade_override | boolean | No | — | Let student final grades for a grading period or the total grades for the course be overridden |
allow_student_discussion_topics | boolean | No | — | Let students create discussion topics |
allow_student_forum_attachments | boolean | No | — | Let students attach files to discussions |
allow_student_discussion_editing | boolean | No | — | Let students edit or delete their own discussion replies |
allow_student_organized_groups | boolean | No | — | Let students organize their own groups |
allow_student_discussion_reporting | boolean | No | — | Let students report offensive discussion content |
allow_student_anonymous_discussion_topics | boolean | No | — | Let students create anonymous discussion topics |
filter_speed_grader_by_student_group | boolean | No | — | Filter SpeedGrader to only the selected student group |
hide_final_grades | boolean | No | — | Hide totals in student grades summary |
hide_distribution_graphs | boolean | No | — | Hide grade distribution graphs from students |
hide_sections_on_course_users_page | boolean | No | — | Disallow students from viewing students in sections they do not belong to |
lock_all_announcements | boolean | No | — | Disable comments on announcements |
usage_rights_required | boolean | No | — | Copyright and license information must be provided for files before they are published. |
restrict_student_past_view | boolean | No | — | Restrict students from viewing courses after end date |
restrict_student_future_view | boolean | No | — | Restrict students from viewing courses before start date |
show_announcements_on_home_page | boolean | No | — | 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_limit | integer | No | — | Limit the number of announcements on the home page if enabled via show_announcements_on_home_page |
syllabus_course_summary | boolean | No | — | Show the course summary (list of assignments and calendar events) on the syllabus page. Default is true. |
default_due_time | string | No | — | 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_release | boolean | No | — | Enable or disable individual learning paths for students based on assessment |
status_code | integer | No | — | HTTP status code of the completed call |
response | json | No | — | Parsed JSON response body |
failure_reason | string | No | — | — |
failure_type | string | No | — | — |
failed_at | string | No | — | — |
failed_step | string | No | — | — |
failed_layer | string | No | — | — |
failed_at_state | string | No | — | — |
error | string | No | — | — |
error_type | string | No | — | — |
States ​
| State | Initial | Terminal | Success | Auto-advance | Description |
|---|---|---|---|---|---|
pending | Yes | No | — | execute | Waiting to call PUT /v1/courses/{course_id}/settings |
completed | No | Yes | Yes | — | HTTP call succeeded |
failed | No | Yes | No | — | HTTP call failed |
State Diagram ​
Transitions ​
| From | Action | To | Description |
|---|---|---|---|
pending | execute | completed | Perform PUT /v1/courses/{course_id}/settings |
* (any state) | fail | failed | Record 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"
}
}