Course

class canvasapi.course.Course(requester, attributes)
Parameters:
  • requester (canvasapi.requester.Requester) – The requester to pass HTTP requests through.

  • attributes (dict) – The JSON object to build this object with.

add_grading_standards(title, grading_scheme_entry, **kwargs)

Create a new grading standard for the course.

Calls:

POST /api/v1/courses/:course_id/grading_standards

Parameters:
  • title (str) – The title for the Grading Standard

  • grading_scheme (list of dict) – A list of dictionaries containing keys for “name” and “value”

Return type:

canvasapi.grading_standards.GradingStandard

column_data_bulk_update(column_data, **kwargs)

Set the content of custom columns.

Calls:

PUT /api/v1/courses/:course_id/custom_gradebook_column_data

Parameters:

column_data (list) – Content to put into the column

Return type:

canvasapi.progress.Progress

conclude(**kwargs)

Mark this course as concluded.

Calls:

DELETE /api/v1/courses/:id

Returns:

True if the course was concluded, False otherwise.

Return type:

bool

create_assignment(assignment, **kwargs)

Create a new assignment for this course.

Note: The assignment is created in the active state.

Calls:

POST /api/v1/courses/:course_id/assignments

Parameters:

assignment (dict) – The attributes of the assignment

Return type:

canvasapi.assignment.Assignment

create_assignment_group(**kwargs)

Create a new assignment group for this course.

Calls:

POST /api/v1/courses/:course_id/assignment_groups

Return type:

canvasapi.assignment.AssignmentGroup

create_assignment_overrides(assignment_overrides, **kwargs)

Create the specified overrides for each assignment.

Calls:

POST /api/v1/courses/:course_id/assignments/overrides

Parameters:

assignment_overrides (list) – Attributes for the new assignment overrides.

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.assignment.AssignmentOverride

create_content_migration(migration_type, **kwargs)

Create a content migration.

Calls:

POST /api/v1/courses/:course_id/content_migrations

Parameters:

migration_type (str or canvasapi.content_migration.Migrator) – The migrator type to use in this migration

Return type:

canvasapi.content_migration.ContentMigration

create_course_section(**kwargs)

Create a new section for this course.

Calls:

POST /api/v1/courses/:course_id/sections

Return type:

canvasapi.course.Section

create_custom_column(column, **kwargs)

Create a custom gradebook column.

Calls:

POST /api/v1/courses/:course_id/custom_gradebook_columns

Parameters:

column (dict) – A dictionary representing the Custom Gradebook Column to create

Return type:

canvasapi.custom_gradebook_columns.CustomGradebookColumn

create_discussion_topic(attachment=None, **kwargs)

Creates a new discussion topic for the course or group.

Calls:

POST /api/v1/courses/:course_id/discussion_topics

Parameters:

attachment (file or str) – (Optional) A file handler or path of the file to import.

Return type:

canvasapi.discussion_topic.DiscussionTopic

create_epub_export(**kwargs)

Create an ePub export for a course.

Calls:

POST /api/v1/courses/:course_id/epub_exports/:id

Return type:

canvasapi.course_epub_export.CourseEpubExport

create_external_feed(url, **kwargs)

Create a new external feed for the course.

Calls:

POST /api/v1/courses/:course_id/external_feeds

Parameters:

url (str) – The url of the external rss or atom feed

Return type:

canvasapi.external_feed.ExternalFeed

create_external_tool(**kwargs)

Create an external tool in the current course.

Calls:

POST /api/v1/courses/:course_id/external_tools

Parameters:

name (str) – The name of the tool

Return type:

canvasapi.external_tool.ExternalTool

create_folder(name, **kwargs)

Creates a folder in this course.

Calls:

POST /api/v1/courses/:course_id/folders

Parameters:

name (str) – The name of the folder.

Return type:

canvasapi.folder.Folder

create_group_category(name, **kwargs)

Create a group category.

Calls:

POST /api/v1/courses/:course_id/group_categories

Parameters:

name (str) – Name of the category.

Return type:

canvasapi.group.GroupCategory

create_late_policy(**kwargs)

Create a late policy. If the course already has a late policy, a bad_request is returned since there can only be one late policy per course.

Calls:

POST /api/v1/courses/:id/late_policy

Return type:

canvasapi.course.LatePolicy

Create a new LTI resource link.

Calls:

POST /api/v1/courses/:course_id/lti_resource_links

Parameters:
  • url (str) – The launch URL for the resource link.

  • title (str, optional) – The title of the resource link.

  • custom (dict, optional) – Custom parameters to send to the tool.

Return type:

canvasapi.lti_resource_link.LTIResourceLink

create_module(module, **kwargs)

Create a new module.

Calls:

POST /api/v1/courses/:course_id/modules

Parameters:

module (dict) – The attributes for the module.

Returns:

The created module.

Return type:

canvasapi.module.Module

create_new_quiz(**kwargs)

Create a new quiz for the course.

Calls:

POST /api/quiz/v1/courses/:course_id/quizzes

Returns:

The newly-created New Quiz object

Return type:

canvasapi.new_quiz.NewQuiz

create_page(wiki_page, **kwargs)

Create a new wiki page.

Calls:

POST /api/v1/courses/:course_id/pages

Parameters:

wiki_page (dict) – The title for the page.

Returns:

The created page.

Return type:

canvasapi.page.Page

create_quiz(quiz, **kwargs)

Create a new quiz in this course.

Calls:

POST /api/v1/courses/:course_id/quizzes

Parameters:

quiz (dict) – The attributes for the quiz.

Return type:

canvasapi.quiz.Quiz

create_rubric(**kwargs)

Create a new rubric.

Calls:

POST /api/v1/courses/:course_id/rubrics

Returns:

Returns a dictionary with rubric and rubric association.

Return type:

dict

create_rubric_association(**kwargs)

Create a new RubricAssociation.

Calls:

POST /api/v1/courses/:course_id/rubric_associations

Returns:

Returns a RubricAssociation.

Return type:

canvasapi.rubric.RubricAssociation

delete(**kwargs)

Permanently delete this course.

Calls:

DELETE /api/v1/courses/:id

Returns:

True if the course was deleted, False otherwise.

Return type:

bool

delete_external_feed(feed, **kwargs)

Deletes the external feed.

Calls:

DELETE /api/v1/courses/:course_id/external_feeds/:external_feed_id

Parameters:

feed (canvasapi.external_feed.ExternalFeed or int) – The object or ID of the feed to be deleted.

Return type:

canvasapi.external_feed.ExternalFeed

edit_front_page(**kwargs)

Update the title or contents of the front page.

Calls:

PUT /api/v1/courses/:course_id/front_page

Return type:

canvasapi.course.Course

edit_late_policy(**kwargs)

Patch a late policy. No body is returned upon success.

Calls:

PATCH /api/v1/courses/:id/late_policy

Returns:

True if Late Policy was updated successfully. False otherwise.

Return type:

bool

enroll_user(user, enrollment_type=None, **kwargs)

Create a new user enrollment for a course or a section.

Calls:

POST /api/v1/courses/:course_id/enrollments

Parameters:
  • user (canvasapi.user.User or int) – The object or ID of the user to enroll in this course.

  • enrollment_type (str, optional) – The type of enrollment.

Return type:

canvasapi.enrollment.Enrollment

export_content(export_type, **kwargs)

Begin a content export job for a course.

Calls:

POST /api/v1/courses/:course_id/content_exports

Parameters:

export_type (str) – The type of content to export.

Return type:

canvasapi.content_export.ContentExport

Get all outcome links for context - BETA

Calls:

GET /api/v1/courses/:course_id/outcome_group_links

Returns:

Paginated List of OutcomesLinks in the context.

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.outcome.OutcomeLink

get_assignment(assignment, **kwargs)

Return the assignment with the given ID.

Calls:

GET /api/v1/courses/:course_id/assignments/:id

Parameters:

assignment (canvasapi.assignment.Assignment or int) – The object or ID of the assignment to retrieve.

Return type:

canvasapi.assignment.Assignment

get_assignment_group(assignment_group, **kwargs)

Retrieve specified assignment group for the specified course.

Calls:

GET /api/v1/courses/:course_id/assignment_groups/:assignment_group_id

Parameters:

assignment_group (canvasapi.assignment.AssignmentGroup or int) – object or ID of assignment group.

Return type:

canvasapi.assignment.AssignmentGroup

get_assignment_groups(**kwargs)

List assignment groups for the specified course.

Calls:

GET /api/v1/courses/:course_id/assignment_groups

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.assignment.AssignmentGroup

get_assignment_overrides(assignment_overrides, **kwargs)
List the specified overrides in this course, providing they target

sections/groups/students visible to the current user.

Calls:

GET /api/v1/courses/:course_id/assignments/overrides

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.assignment.AssignmentOverride

get_assignments(**kwargs)

List all of the assignments in this course.

Calls:

GET /api/v1/courses/:course_id/assignments

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.assignment.Assignment

get_assignments_for_group(assignment_group, **kwargs)

Returns a paginated list of assignments for the given assignment group

Calls:

GET /api/v1/courses/:course_id/assignment_groups/:assignment_group_id/assignments

Parameters:

assignment_group – The object or id of the assignment group

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.assignment.Assignment

get_blueprint(template='default', **kwargs)

Return the blueprint of a given ID.

Calls:

GET /api/v1/courses/:course_id/blueprint_templates/:template_id

Parameters:

template (int or canvasapi.blueprint.BlueprintTemplate) – The object or ID of the blueprint template to get.

Return type:

canvasapi.blueprint.BlueprintTemplate

get_collaborations(**kwargs)

Return a list of collaborations for a given course ID.

Calls:

GET /api/v1/courses/:course_id/collaborations

Return type:

canvasapi.collaboration.Collaboration

get_content_export(content_export, **kwargs)

Return information about a single content export.

Calls:

GET /api/v1/courses/:course_id/content_exports/:id

Parameters:

content_export (int or canvasapi.content_export.ContentExport) – The object or ID of the content export to show.

Return type:

canvasapi.content_export.ContentExport

get_content_exports(**kwargs)

Return a paginated list of the past and pending content export jobs for a course.

Calls:

GET /api/v1/courses/:course_id/content_exports

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.content_export.ContentExport

get_content_migration(content_migration, **kwargs)

Retrive a content migration by its ID

Calls:

GET /api/v1/courses/:course_id/content_migrations/:id

Parameters:

content_migration (int, str or canvasapi.content_migration.ContentMigration) – The object or ID of the content migration to retrieve.

Return type:

canvasapi.content_migration.ContentMigration

get_content_migrations(**kwargs)

List content migrations that the current account can view or manage.

Calls:

GET /api/v1/courses/:course_id/content_migrations/

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.content_migration.ContentMigration

get_course_level_assignment_data(**kwargs)

Return a list of assignments for the course sorted by due date

Calls:

GET /api/v1/courses/:course_id/analytics/assignments

Return type:

dict

get_course_level_participation_data(**kwargs)

Return page view hits and participation numbers grouped by day through the course’s history

Calls:

GET /api/v1/courses/:course_id/analytics/activity

Return type:

dict

get_course_level_student_summary_data(**kwargs)

Return a summary of per-user access information for all students in a course

Calls:

GET /api/v1/courses/:course_id/analytics/student_summaries

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.course.CourseStudentSummary

get_custom_columns(**kwargs)

List of all the custom gradebook columns for a course.

Calls:

GET /api/v1/courses/:course_id/custom_gradebook_columns

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.custom_gradebook_columns.CustomGradebookColumn

get_discussion_topic(topic, **kwargs)

Return data on an individual discussion topic.

Calls:

GET /api/v1/courses/:course_id/discussion_topics/:topic_id

Parameters:

topic (canvasapi.discussion_topic.DiscussionTopic or int) – The object or ID of the discussion topic.

Return type:

canvasapi.discussion_topic.DiscussionTopic

get_discussion_topics(**kwargs)

Returns the paginated list of discussion topics for this course or group.

Calls:

GET /api/v1/courses/:course_id/discussion_topics

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.discussion_topic.DiscussionTopic

get_enabled_features(**kwargs)

Lists all enabled features in a course.

Calls:

GET /api/v1/courses/:course_id/features/enabled

Return type:

list of str

get_enrollments(**kwargs)

List all of the enrollments in this course.

Calls:

GET /api/v1/courses/:course_id/enrollments

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.enrollment.Enrollment

get_epub_export(epub, **kwargs)

Get information about a single epub export.

Calls:

GET /api/v1/courses/:course_id/epub_exports/:id

Parameters:

epub (int or canvasapi.course_epub_export.CourseEpubExport) – Object or ID of ePub Export

Return type:

canvasapi.course_epub_export.CourseEpubExport

get_external_feeds(**kwargs)

Returns the list of External Feeds this course.

Calls:

GET /api/v1/courses/:course_id/external_feeds

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.external_feed.ExternalFeed

get_external_tool(tool, **kwargs)
Calls:

GET /api/v1/courses/:course_id/external_tools/:external_tool_id

Parameters:

tool (canvasapi.external_tool.ExternalTool or int) – The object or ID of the tool to retrieve.

Return type:

canvasapi.external_tool.ExternalTool

get_external_tools(**kwargs)
Calls:

GET /api/v1/courses/:course_id/external_tools

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.external_tool.ExternalTool

get_feature_flag(feature, **kwargs)

Return the feature flag that applies to given course.

Calls:

GET /api/v1/courses/:course_id/features/flags/:feature

Parameters:

feature (canvasapi.feature.Feature or str) – The feature object or name of the feature to retrieve.

Return type:

canvasapi.feature.FeatureFlag

get_features(**kwargs)

Lists all features of a course.

Calls:

GET /api/v1/courses/:course_id/features

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.feature.Feature

get_file(file, **kwargs)

Return the standard attachment json object for a file.

Calls:

GET /api/v1/courses/:course_id/files/:id

Parameters:

file (canvasapi.file.File or int) – The object or ID of the file to retrieve.

Return type:

canvasapi.file.File

get_file_quota(**kwargs)

Returns the total and used storage quota for the course.

Calls:

GET /api/v1/courses/:course_id/files/quota

Return type:

dict

get_files(**kwargs)

Returns the paginated list of files for the course.

Calls:

GET /api/v1/courses/:course_id/files

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.file.File

get_folder(folder, **kwargs)

Returns the details for a course folder

Calls:

GET /api/v1/courses/:course_id/folders/:id

Parameters:

folder (canvasapi.folder.Folder or int) – The object or ID of the folder to retrieve.

Return type:

canvasapi.folder.Folder

get_folders(**kwargs)

Returns the paginated list of all folders for the given course. This will be returned as a flat list containing all subfolders as well.

Calls:

GET /api/v1/courses/:course_id/folders

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.folder.Folder

get_full_discussion_topic(topic, **kwargs)

Return a cached structure of the discussion topic.

Calls:

GET /api/v1/courses/:course_id/discussion_topics/:topic_id/view

Parameters:

topic (canvasapi.discussion_topic.DiscussionTopic or int) – The object or ID of the discussion topic.

Return type:

dict

get_grade_change_events(**kwargs)

Returns the grade change events for the course.

Calls:

GET /api/v1/audit/grade_change/courses/:course_id

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.grade_change_log.GradeChangeEvent

get_gradebook_history_dates(**kwargs)

Returns a map of dates to grader/assignment groups

Calls:

GET /api/v1/courses/:course_id/gradebook_history/days

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.grading_history.Day

get_gradebook_history_details(date, **kwargs)

Returns the graders who worked on this day, along with the assignments they worked on. More details can be obtained by selecting a grader and assignment and calling the ‘submissions’ api endpoint for a given date.

Calls:

GET /api/v1/courses/:course_id/gradebook_history/:date

Parameters:

date (int) – The date for which you would like to see detailed information.

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.gradebook_history.Grader

get_grading_period(grading_period, **kwargs)

Return a single grading period for the associated course and id.

Calls:

GET /api/v1/courses/:course_id/grading_periods/:id

Parameters:

grading_period_id (int) – The ID of the rubric.

Return type:

canvasapi.grading_period.GradingPeriod

get_grading_periods(**kwargs)

Return a list of grading periods for the associated course.

Calls:

GET /api/v1/courses/:course_id/grading_periods

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.grading_period.GradingPeriod

get_grading_standards(**kwargs)

Get a PaginatedList of the grading standards available for the course

Calls:

GET /api/v1/courses/:course_id/grading_standards

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.grading_standards.GradingStandard

get_group_categories(**kwargs)

List group categories for a context.

Calls:

GET /api/v1/courses/:course_id/group_categories

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.group.GroupCategory

get_groups(**kwargs)

Return list of active groups for the specified course.

Calls:

GET /api/v1/courses/:course_id/groups

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.course.Course

get_late_policy(**kwargs)

Returns the late policy for a course.

Calls:

GET /api/v1/courses/:id/late_policy

Return type:

canvasapi.course.LatePolicy

get_licenses(**kwargs)

Returns a paginated list of the licenses that can be applied to the files under the course scope

Calls:

GET /api/v1/course/:course_id/content_licenses

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.license.License

Return details about the specified resource link.

Calls:

GET /api/v1/courses/:course_id/lti_resource_links/:id

Parameters:

lti_resource_link (canvasapi.lti_resource_link.LTIResourceLink or int) – The object or ID of the LTI resource link.

Return type:

canvasapi.lti_resource_link.LTIResourceLink

Returns all LTI resource links for this course as a PaginatedList.

Calls:

GET /api/v1/courses/:course_id/lti_resource_links

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.lti_resource_link.LTIResourceLink

get_migration_systems(**kwargs)

Return a list of migration systems.

Calls:

GET /api/v1/courses/:course_id/content_migrations/migrators

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.content_migration.Migrator

get_module(module, **kwargs)

Retrieve a single module by ID.

Calls:

GET /api/v1/courses/:course_id/modules/:id

Parameters:

module (canvasapi.module.Module or int) – The object or ID of the module to retrieve.

Return type:

canvasapi.module.Module

get_modules(**kwargs)

Return a list of modules in this course.

Calls:

GET /api/v1/courses/:course_id/modules

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.module.Module

get_multiple_submissions(**kwargs)

List submissions for multiple assignments. Get all existing submissions for a given set of students and assignments.

Calls:

GET /api/v1/courses/:course_id/students/submissions

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.submission.Submission

get_new_quiz(assignment, **kwargs)

Get details about a single new quiz.

Calls:

GET /api/quiz/v1/courses/:course_id/quizzes/:assignment_id

Parameters:

assignment (canvasapi.assignment.Assignment or canvasapi.new_quiz.NewQuiz or int) – The id of the assignment associated with the quiz.

Returns:

A New Quiz object.

Return type:

canvasapi.new_quiz.NewQuiz

get_new_quizzes(**kwargs)

Get a list of new quizzes in this course.

Calls:

GET /api/quiz/v1/courses/:course_id/quizzes

Returns:

A paginated list of New Quiz objects.

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.new_quiz.NewQuiz

get_outcome_group(group, **kwargs)

Returns the details of the Outcome Group with the given id.

Calls:

GET /api/v1/courses/:course_id/outcome_groups/:id

Parameters:

group (canvasapi.outcome.OutcomeGroup or int) – The outcome group object or ID to return.

Returns:

An outcome group object.

Return type:

canvasapi.outcome.OutcomeGroup

get_outcome_groups_in_context(**kwargs)

Get all outcome groups for context - BETA

Calls:

GET /api/v1/courses/:course_id/outcome_groups

Returns:

Paginated List of OutcomesGroups in the context.

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.outcome.OutcomeGroups

get_outcome_import_status(outcome_import, **kwargs)

Get the status of an already created Outcome import. Pass ‘latest’ for the outcome import id for the latest import.

Calls:

GET /api/v1/courses/:course_id/outcome_imports/:id

Parameters:

outcome_import (canvasapi.outcome_import.OutcomeImport, int, or string: “latest”) – The outcome import object or ID to get the status of.

Return type:

canvasapi.outcome_import.OutcomeImport

get_outcome_result_rollups(**kwargs)

Get all outcome result rollups for context - BETA

Calls:

GET /api/v1/courses/:course_id/outcome_rollups

Returns:

List of outcome result rollups in the context.

Return type:

dict

get_outcome_results(**kwargs)

Get all outcome results for context - BETA

Calls:

GET /api/v1/courses/:course_id/outcome_results

Returns:

canvasapi.paginated_list.PaginatedList of canvasapi.outcome.OutcomeResult

get_page(url, **kwargs)

Retrieve the contents of a wiki page.

Calls:

GET /api/v1/courses/:course_id/pages/:url

Parameters:

url (str) – The url for the page.

Returns:

The specified page.

Return type:

canvasapi.page.Page

get_pages(**kwargs)

List the wiki pages associated with a course.

Calls:

GET /api/v1/courses/:course_id/pages

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.page.Page

get_quiz(quiz, **kwargs)

Return the quiz with the given id.

Calls:

GET /api/v1/courses/:course_id/quizzes/:id

Parameters:

quiz (canvasapi.quiz.Quiz or int) – The object or ID of the quiz to retrieve.

Return type:

canvasapi.quiz.Quiz

get_quiz_overrides(**kwargs)

Retrieve the actual due-at, unlock-at, and available-at dates for quizzes based on the assignment overrides active for the current API user.

Calls:

GET /api/v1/courses/:course_id/quizzes/assignment_overrides

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.quiz.QuizAssignmentOverrideSet

get_quizzes(**kwargs)

Return a list of quizzes belonging to this course.

Calls:

GET /api/v1/courses/:course_id/quizzes

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.quiz.Quiz

get_recent_students(**kwargs)

Return a list of students in the course ordered by how recently they have logged in.

Calls:

GET /api/v1/courses/:course_id/recent_students

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.user.User

get_root_outcome_group(**kwargs)

Redirect to root outcome group for context

Calls:

GET /api/v1/courses/:course_id/root_outcome_group

Returns:

The OutcomeGroup of the context.

Return type:

canvasapi.outcome.OutcomeGroup

get_rubric(rubric_id, **kwargs)

Get a single rubric, based on rubric id.

Calls:

GET /api/v1/courses/:course_id/rubrics/:id

Parameters:

rubric_id (int) – The ID of the rubric.

Return type:

canvasapi.rubric.Rubric

get_rubrics(**kwargs)

Get the paginated list of active rubrics for the current course.

Calls:

GET /api/v1/courses/:course_id/rubrics

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.rubric.Rubric

get_section(section, **kwargs)

Retrieve a section.

Calls:

GET /api/v1/courses/:course_id/sections/:id

Parameters:

section (canvasapi.section.Section or int) – The object or ID of the section to retrieve.

Return type:

canvasapi.section.Section

get_sections(**kwargs)

List all sections in a course.

Calls:

GET /api/v1/courses/:course_id/sections

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.section.Section

get_settings(**kwargs)

Returns this course’s settings.

Calls:

GET /api/v1/courses/:course_id/settings

Return type:

dict

get_single_grading_standard(grading_standard_id, **kwargs)

Get a single grading standard from the course.

Calls:

GET /api/v1/courses/:course_id/grading_standards/:grading_standard_id

Parameters:

grading_standard_id (int) – The grading standard id

Return type:

canvasapi.grading_standards.GradingStandard

get_submission_history(date, grader_id, assignment_id, **kwargs)

Gives a nested list of submission versions.

Calls:

GET /api/v1/courses/:course_id/gradebook_history/:date/graders /:grader_id/assignments/:assignment_id/submissions

Parameters:
  • date – The date for which you would like to see submissions

  • grader_id (int) – The ID of the grader for which you want to see submissions.

  • assignment_id (int) – The ID of the assignment for which you want to see submissions

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.gradebook_history.SubmissionHistory

get_tabs(**kwargs)

List available tabs for a course. Returns a list of navigation tabs available in the current context.

Calls:

GET /api/v1/courses/:course_id/tabs

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.tab.Tab

get_todo_items(**kwargs)

Returns the current user’s course-specific todo items.

Calls:

GET /api/v1/courses/:course_id/todo

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.todo.Todo

get_uncollated_submissions(**kwargs)

Gives a paginated, uncollated list of submission versions for all matching submissions in the context. This SubmissionVersion objects will not include the new_grade or previous_grade keys, only the grade; same for graded_at and grader.

Calls:

GET /api/v1/courses/:course_id/gradebook_history/feed

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.gradebook_history.SubmissionVersion

get_user(user, user_id_type=None, **kwargs)

Retrieve a user by their ID. user_id_type denotes which endpoint to try as there are several different ids that can pull the same user record from Canvas.

Calls:

GET /api/v1/courses/:course_id/users/:id

Parameters:
  • user (canvasapi.user.User or int) – The object or ID of the user to retrieve.

  • user_id_type (str) – The type of the ID to search for.

Return type:

canvasapi.user.User

get_user_in_a_course_level_assignment_data(user, **kwargs)

Return a list of assignments for the course sorted by due date

Calls:

GET /api/v1/courses/:course_id/analytics/users/:student_id/assignments

Parameters:

user (canvasapi.user.User or int) – The object or ID of the related user

Return type:

dict

get_user_in_a_course_level_messaging_data(user, **kwargs)

Return messaging hits grouped by day through the entire history of the course

Calls:

GET /api/v1/courses/:course_id/analytics/users/:student_id/communication

Parameters:

user (canvasapi.user.User or int) – The object or ID of the related user

Return type:

dict

get_user_in_a_course_level_participation_data(user, **kwargs)

Return page view hits grouped by hour and participation details through course’s history

Calls:

GET /api/v1/courses/:course_id/analytics/users/:student_id/activity

Parameters:

user (canvasapi.user.User or int) – The object or ID of the related user

Return type:

dict

get_users(**kwargs)

List all users in a course.

Calls:

GET /api/v1/courses/:course_id/search_users

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.user.User

import_outcome(attachment, **kwargs)

Import outcome into canvas.

Calls:

POST /api/v1/courses/:course_id/outcome_imports

Parameters:

attachment (file or str) – A file handler or path of the file to import.

Return type:

canvasapi.outcome_import.OutcomeImport

list_blueprint_subscriptions(**kwargs)

Return a list of blueprint subscriptions for the given course.

Calls:

GET /api/v1/courses/:course_id/blueprint_subscriptions

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.blueprint.BlueprintSubscription

preview_html(html, **kwargs)

Preview HTML content processed for this course.

Calls:

POST /api/v1/courses/:course_id/preview_html

Parameters:

html (str) – The HTML code to preview.

Return type:

str

query_audit_by_course(**kwargs)

Lists course change events for a specific course.

Calls:

GET /api/v1/audit/course/courses/:course_id

Return type:

list of canvasapi.course_event.CourseEvent

remove_usage_rights(**kwargs)

Removes the usage rights for specified files that are under the current course scope

Calls:

DELETE /api/v1/courses/:course_id/usage_rights

Return type:

dict

reorder_pinned_topics(order, **kwargs)

Puts the pinned discussion topics in the specified order. All pinned topics should be included.

Calls:

POST /api/v1/courses/:course_id/discussion_topics/reorder

Parameters:

order (string or iterable sequence of values) – The ids of the pinned discussion topics in the desired order. e.g. [104, 102, 103], (104, 102, 103), or “104,102,103”

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.discussion_topic.DiscussionTopic

reset(**kwargs)

Delete the current course and create a new equivalent course with no content, but all sections and users moved over.

Calls:

POST /api/v1/courses/:course_id/reset_content

Return type:

canvasapi.course.Course

resolve_path(full_path=None, **kwargs)

Returns the paginated list of all of the folders in the given path starting at the course root folder. Returns root folder if called with no arguments.

Calls:

GET /api/v1/courses/:course_id/folders/by_path/*full_path

Parameters:

full_path (string) – Full path to resolve, relative to course root.

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.folder.Folder

set_new_quizzes_accommodations(accommodations, **kwargs)

Apply accommodations to New Quizzes at the course level for students enrolled in this course.

Calls:

POST /api/quiz/v1/courses/:course_id/accommodations

Parameters:

accommodations (list of dict) – A list of dictionaries containing accommodation details for each user. Each dictionary must contain user_id and can optionally include extra_time, apply_to_in_progress_quiz_sessions, and/or reduce_choices_enabled.

Returns:

AccommodationResponse object containing the status of the accommodation request.

Return type:

canvasapi.new_quiz.AccommodationResponse

set_quiz_extensions(quiz_extensions, **kwargs)

Set extensions for student all quiz submissions in a course.

Calls:

POST /api/v1/courses/:course_id/quizzes/:quiz_id/extensions

Parameters:

quiz_extensions (list) – List of dictionaries representing extensions.

Return type:

list of canvasapi.quiz.QuizExtension

Example Usage:

>>> course.set_quiz_extensions([
...     {
...         'user_id': 1,
...         'extra_time': 60,
...         'extra_attempts': 1
...     },
...     {
...         'user_id': 2,
...         'extra_attempts': 3
...     },
...     {
...         'user_id': 3,
...         'extra_time': 20
...     }
... ])
set_usage_rights(**kwargs)

Changes the usage rights for specified files that are under the current course scope

Calls:

PUT /api/v1/courses/:course_id/usage_rights

Return type:

canvasapi.usage_rights.UsageRights

show_front_page(**kwargs)

Retrieve the content of the front page.

Calls:

GET /api/v1/courses/:course_id/front_page

Return type:

canvasapi.course.Course

smartsearch(q, **kwargs)

AI-powered course content search.

Calls:

GET /api/v1/courses/:course_id/smartsearch

Parameters:
  • q (str) – The search query string.

  • kwargs (dict) – Optional query parameters (e.g., filter, per_page).

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.searchresult.SearchResult

submissions_bulk_update(**kwargs)

Update the grading and comments on multiple student’s assignment submissions in an asynchronous job.

Calls:

POST /api/v1/courses/:course_id/submissions/update_grades

Return type:

canvasapi.progress.Progress

update(**kwargs)

Update this course.

Calls:

PUT /api/v1/courses/:id

Returns:

True if the course was updated, False otherwise.

Return type:

bool

update_assignment_overrides(assignment_overrides, **kwargs)

Update a list of specified overrides for each assignment.

Note: All current overridden values must be supplied if they are to be retained.

Calls:

PUT /api/v1/courses/:course_id/assignments/overrides

Parameters:

assignment_overrides (list) – Attributes for the updated assignment overrides.

Return type:

canvasapi.paginated_list.PaginatedList of canvasapi.assignment.AssignmentOverride

update_settings(**kwargs)

Update a course’s settings.

Calls:

PUT /api/v1/courses/:course_id/settings

Return type:

dict

upload(file: PathLike | str | IOBase | FileIO, **kwargs)

Upload a file to this course.

Calls:

POST /api/v1/courses/:course_id/files

Parameters:

file (file or str) – The file or path of the file to upload.

Returns:

True if the file uploaded successfully, False otherwise, and the JSON response from the API.

Return type:

tuple

CourseNickname

class canvasapi.course.CourseNickname(requester, attributes)
Parameters:
  • requester (canvasapi.requester.Requester) – The requester to pass HTTP requests through.

  • attributes (dict) – The JSON object to build this object with.

remove(**kwargs)

Remove the nickname for the given course. Subsequent course API calls will return the actual name for the course.

Calls:

DELETE /api/v1/users/self/course_nicknames/:course_id

Return type:

canvasapi.course.CourseNickname

CourseStudentSummary

class canvasapi.course.CourseStudentSummary(requester, attributes)
Parameters:
  • requester (canvasapi.requester.Requester) – The requester to pass HTTP requests through.

  • attributes (dict) – The JSON object to build this object with.

LatePolicy

class canvasapi.course.LatePolicy(requester, attributes)
Parameters:
  • requester (canvasapi.requester.Requester) – The requester to pass HTTP requests through.

  • attributes (dict) – The JSON object to build this object with.