canvas courses command and canvas course subcommand group cover everything from listing your enrolled courses to pulling a full aggregated snapshot of a course’s content. All output is printed as pretty-printed JSON to stdout.
canvas courses
List your enrolled Canvas courses.
--all to include every active enrollment.
Include all active enrollments instead of favorites only.
Filter courses by name or course code. Case-insensitive substring match.
Maximum number of courses to return.
canvas course overview
Fetch course-level metadata and teacher information for a single course.
Canvas course ID.
canvas course syllabus
Fetch syllabus metadata and optionally the full syllabus HTML body.
Canvas course ID.
Include the syllabus HTML body in the response. Use
--no-body to skip it.Maximum number of characters to include from the syllabus body.
canvas course context
Return an aggregated snapshot of a course — upcoming assignments, recent announcements, and modules — in a single call. Useful for a quick orientation before diving into a specific area.
Canvas course ID.
Include the syllabus body in the snapshot. Off by default to keep output compact.
Maximum number of upcoming assignments to include.
Maximum number of announcements to include.
Maximum number of modules to include.
Maximum number of items per module.
canvas course pages
List wiki pages in a course.
Canvas course ID.
Filter by page title or URL slug. Case-insensitive substring match.
When set, return only published pages. Omit the flag to include both published and unpublished pages.
Maximum number of pages to return.
canvas course page
Fetch a single wiki page by URL slug or page ID.
Canvas course ID.
Page URL slug (e.g.
syllabus) or numeric page ID.Treat the second argument strictly as a numeric page ID rather than a URL slug.
canvas course page only works for wiki pages (URLs containing /pages/). For assignment submission preview routes, use canvas url instead.canvas course tabs
List the left-sidebar navigation tabs for a course.
Canvas course ID.
Maximum number of tabs to return.
canvas course tab
Fetch a single navigation tab and optionally resolve its destination URL.
Canvas course ID.
Tab identifier, such as
home, modules, or syllabus.Resolve the tab’s destination URL and fetch its content. Use
--no-target to skip the resolution step.canvas course people
List users enrolled in a course.
Canvas course ID.
Filter by name or email address. Case-insensitive substring match.
Enrollment type filter (e.g.
student, teacher, ta). Repeat the flag to include multiple roles.Include email addresses in the response.
Maximum number of people to return.
canvas course modules
List modules in a course, optionally including their items.
Canvas course ID.
Filter by module name. Case-insensitive substring match.
Include items within each module.
Include Canvas content details for module items. Requires
--items.Maximum number of modules to return.
Maximum number of items per module.
canvas course grades
Fetch a grade summary with assignment-group breakdown for a student.
Canvas course ID.
Canvas student ID. Defaults to
self (the authenticated user). Accessing another student’s grades requires instructor-level permissions in Canvas.canvas course submissions
List submission records for a student in a course.
Canvas course ID.
Canvas student ID. Defaults to
self.Assignment ID filter. Repeat the flag to filter by multiple assignments.
Submission include values passed to the Canvas API. Repeat as needed.
Keep Canvas grouped submission shells in the response.
Submission workflow state filter (e.g.
submitted, graded, pending_review).ISO datetime lower bound for submission time.
ISO datetime lower bound for grading time.
Maximum number of submissions to return.
