Built by Metorial, the integration platform for agentic AI.
List quizzes in a course. Returns quiz details including title, type, time limit, question count, and point totals. Supports classic Canvas quizzes.
List calendar events across courses, groups, and users. Filter by date range, context codes, and event type. Returns events and optionally assignments with due dates.
Grade a student's submission or add a comment. Set a grade, excuse the assignment, and/or leave feedback. Use posted_grade format like "95%", "A-", "pass", or a raw point value.
Create, update, or delete a course module. Modules organize course content into sequential learning paths. Can also add items (assignments, pages, files, URLs, etc.) to existing modules.
List all modules in a course. Modules organize content into sequential learning paths. Optionally include module items (assignments, pages, files, etc.) within each module.
Send a Canvas message (conversation) to one or more recipients. Messages can be scoped to a course context. Supports group conversations and bulk messaging.
List assignments in a course. Filter by search term, bucket (past, overdue, upcoming, etc.), and sort order. Returns assignment details including due dates, points, submission types, and workflow state.
Retrieve courses accessible to the authenticated user. Can filter by enrollment type, enrollment state, and search term. Returns course details including name, code, term, and workflow state.
Create, update, or delete a wiki page in a course. Pages support HTML content and can be set as the course front page. Pages are identified by their URL slug (not a numeric ID).
List all enrollments in a course. Includes enrollment type, state, user info, and optionally grades. Can filter by role type and enrollment state.
Retrieve detailed information about a single course by its ID. Includes course settings, syllabus body, term info, and total students when requested.
Create, update, or delete a calendar event. Events can be associated with courses, groups, or individual users via context codes (e.g., "course_123", "user_456").
List conversations (messages) for the authenticated user. Filter by scope (inbox, unread, archived, starred, sent). Returns conversation metadata and the most recent message.
List course wiki pages and their URL slugs. Use a slug with get_page to read its content or manage_page to update it.
List assignment groups with their IDs, names, grading weights, positions, and rules. Use a group ID when creating or moving an assignment.
Read a conversation including message bodies and participants, while leaving its read state unchanged.
List every item in a course module, including linked content IDs, page slugs, URLs, positions, and completion requirements.
List discussion topics or announcements in a course, including topic IDs, bodies, publication state, and grading metadata.
Read a course wiki page, including its HTML body, publication state, URL, and editing metadata.
Read the complete metadata and body of a discussion topic or announcement. Topic IDs are available from list_discussions.
Create, update, or delete an assignment in a course. Configure submission types, due dates, points, grading type, and more. Supports online upload, text entry, URL, media recording, and external tool submission types.
List accounts in which the authenticated user can create courses. Use the returned account ID with manage_course. Canvas can return an empty list when course creation is unavailable.
Read complete assignment details, optionally including the current user submission and assignment date overrides.
Create, update, or delete a discussion topic in a course. Supports threaded discussions, graded discussions, and announcements. Configure pinning, locking, and publish state.
Prepare an authenticated Canvas file download. Returns complete original file metadata, including the provider download URL.
List users enrolled in a course. Filter by enrollment type and search by name or ID. Returns user details including name, email, and enrollment information.
List all submissions for an assignment in a course. Returns submission details including grade, score, workflow state, and submission timestamp. Optionally include user details and comments.
Create, update, or delete a course. For creating, provide an accountId and course details. For updating, provide a courseId and the fields to change. For deleting/concluding, specify the action.
Get the authenticated Canvas user profile, including the real user ID, name, and available contact information.
Enroll a user in a course or remove an enrollment. Supports various roles (student, teacher, TA, observer, designer) and enrollment states. Can also conclude, deactivate, or delete existing enrollments.
Get complete classic Canvas quiz details, including settings, dates, question count, and attempt limits. Does not retrieve New Quizzes.
Retrieve course-level analytics data. Choose between activity data (page views and participation over time), assignment statistics (min/max/median scores), or student summaries (per-student page views and participation).
List files in a course. Search by name, filter by content type, and sort by various fields. Returns file metadata including name, size, content type, and download URL.