API catalog
Find an operation and its arguments, then call canvas_read.
Your agent can browse the same catalog with canvas_discover.
Tool guide.
94 of 94 operations
All operations are shown. Use your browser’s Find command to search this page.
No operations match. Try a broader resource name.
Courses 5
user_coursesCourses for a visible user.GET
GET /api/v1/users/{user_id}/courses
Path parameters: user_id
Query parameters: include[], enrollment_state, enrollment_type, state[]
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "user_courses",
"path": {
"user_id": "self"
}
}coursesList accessible courses, including concluded courses when requested.GET
GET /api/v1/courses
Path parameters: None
Query parameters: include[], enrollment_type, enrollment_state, state[], enrollment_role, enrollment_role_id
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "courses"
}courseCourse detail and syllabus (include[]=syllabus_body).GET
GET /api/v1/courses/{course_id}
Path parameters: course_id
Query parameters: include[]
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "course",
"path": {
"course_id": "101"
}
}course_settingsRead course settings when permitted.GET
GET /api/v1/courses/{course_id}/settings
Path parameters: course_id
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "course_settings",
"path": {
"course_id": "101"
}
}course_tabsVisible navigation tabs.GET
GET /api/v1/courses/{course_id}/tabs
Path parameters: course_id
Query parameters: include[]
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "course_tabs",
"path": {
"course_id": "101"
}
}Assignments & feedback 23
assignmentsList assignments with instructions and dates; filter assignment_ids[] for one assignment.GET
GET /api/v1/courses/{course_id}/assignments
Path parameters: course_id
Query parameters: include[], search_term, bucket, assignment_ids[], order_by, needs_grading_count, include_integration_data
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "assignments",
"path": {
"course_id": "101"
}
}assignment_groupsAssignment groups and grading weights.GET
GET /api/v1/courses/{course_id}/assignment_groups
Path parameters: course_id
Query parameters: include[], assignment_ids[], exclude_assignment_submission_types[]
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "assignment_groups",
"path": {
"course_id": "101"
}
}assignment_groupAssignment group detail.GET
GET /api/v1/courses/{course_id}/assignment_groups/{group_id}
Path parameters: course_id, group_id
Query parameters: include[]
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "assignment_group",
"path": {
"course_id": "101",
"group_id": "1"
}
}assignment_overridesVisible differentiated assignment due dates.GET
GET /api/v1/courses/{course_id}/assignments/{assignment_id}/overrides
Path parameters: course_id, assignment_id
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "assignment_overrides",
"path": {
"course_id": "101",
"assignment_id": "1"
}
}assignment_overrideA visible assignment override.GET
GET /api/v1/courses/{course_id}/assignments/{assignment_id}/overrides/{override_id}
Path parameters: course_id, assignment_id, override_id
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "assignment_override",
"path": {
"course_id": "101",
"assignment_id": "1",
"override_id": "1"
}
}submissionSubmission detail including feedback, history and rubric; use self as user_id.GET
GET /api/v1/courses/{course_id}/assignments/{assignment_id}/submissions/{user_id}
Path parameters: course_id, assignment_id, user_id
Query parameters: include[]
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "submission",
"path": {
"course_id": "101",
"assignment_id": "1",
"user_id": "self"
}
}submissionsVisible assignment submissions (teacher permissions may be required).GET
GET /api/v1/courses/{course_id}/assignments/{assignment_id}/submissions
Path parameters: course_id, assignment_id
Query parameters: include[], grouped
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "submissions",
"path": {
"course_id": "101",
"assignment_id": "1"
}
}student_submissionsBatch submissions across assignments; students can request self.GET
GET /api/v1/courses/{course_id}/students/submissions
Path parameters: course_id
Query parameters: student_ids[], assignment_ids[], grouped, include[], submitted_since, graded_since, workflow_state, enrollment_state, state
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "student_submissions",
"path": {
"course_id": "101"
}
}section_submissionSubmission detail including feedback, history and rubric; use self as user_id.GET
GET /api/v1/sections/{section_id}/assignments/{assignment_id}/submissions/{user_id}
Path parameters: section_id, assignment_id, user_id
Query parameters: include[]
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "section_submission",
"path": {
"section_id": "1",
"assignment_id": "1",
"user_id": "self"
}
}section_submissionsVisible assignment submissions (teacher permissions may be required).GET
GET /api/v1/sections/{section_id}/assignments/{assignment_id}/submissions
Path parameters: section_id, assignment_id
Query parameters: include[], grouped
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "section_submissions",
"path": {
"section_id": "1",
"assignment_id": "1"
}
}section_student_submissionsBatch submissions across assignments; students can request self.GET
GET /api/v1/sections/{section_id}/students/submissions
Path parameters: section_id
Query parameters: student_ids[], assignment_ids[], grouped, include[], submitted_since, graded_since, workflow_state, enrollment_state, state
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "section_student_submissions",
"path": {
"section_id": "1"
}
}submission_summaryCounts of graded, ungraded and unsubmitted work.GET
GET /api/v1/courses/{course_id}/assignments/{assignment_id}/submission_summary
Path parameters: course_id, assignment_id
Query parameters: grouped, include_deactivated
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "submission_summary",
"path": {
"course_id": "101",
"assignment_id": "1"
}
}rubric_read_stateRead rubric read-state without marking it read.GET
GET /api/v1/courses/{course_id}/assignments/{assignment_id}/submissions/{user_id}/rubric_assessments/read
Path parameters: course_id, assignment_id, user_id
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "rubric_read_state",
"path": {
"course_id": "101",
"assignment_id": "1",
"user_id": "self"
}
}annotation_read_stateRead document annotation state without viewing the annotation UI.GET
GET /api/v1/courses/{course_id}/assignments/{assignment_id}/submissions/{user_id}/document_annotations/read
Path parameters: course_id, assignment_id, user_id
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "annotation_read_state",
"path": {
"course_id": "101",
"assignment_id": "1",
"user_id": "self"
}
}rubricsVisible course rubrics.GET
GET /api/v1/courses/{course_id}/rubrics
Path parameters: course_id
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "rubrics",
"path": {
"course_id": "101"
}
}rubricRubric criteria and permitted assessments.GET
GET /api/v1/courses/{course_id}/rubrics/{rubric_id}
Path parameters: course_id, rubric_id
Query parameters: include, style
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "rubric",
"path": {
"course_id": "101",
"rubric_id": "1"
}
}grading_standardsVisible course grading standards.GET
GET /api/v1/courses/{course_id}/grading_standards
Path parameters: course_id
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "grading_standards",
"path": {
"course_id": "101"
}
}grading_standardGrading scale detail.GET
GET /api/v1/courses/{course_id}/grading_standards/{standard_id}
Path parameters: course_id, standard_id
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "grading_standard",
"path": {
"course_id": "101",
"standard_id": "1"
}
}outcome_groupsCourse learning outcome groups.GET
GET /api/v1/courses/{course_id}/outcome_groups
Path parameters: course_id
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "outcome_groups",
"path": {
"course_id": "101"
}
}outcome_groupLearning outcome group detail.GET
GET /api/v1/courses/{course_id}/outcome_groups/{group_id}
Path parameters: course_id, group_id
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "outcome_group",
"path": {
"course_id": "101",
"group_id": "1"
}
}outcomesLinked learning outcomes.GET
GET /api/v1/courses/{course_id}/outcome_groups/{group_id}/outcomes
Path parameters: course_id, group_id
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "outcomes",
"path": {
"course_id": "101",
"group_id": "1"
}
}outcomeLearning outcome criteria.GET
GET /api/v1/outcomes/{outcome_id}
Path parameters: outcome_id
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "outcome",
"path": {
"outcome_id": "1"
}
}my_missingMissing submissions for the current user.GET
GET /api/v1/users/self/missing_submissions
Path parameters: None
Query parameters: observed_user_id, include[], filter[], course_ids[]
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "my_missing"
}Course content 23
modulesObserve module progress; reads may refresh derived server state. Inline items may be incomplete; use module_items.GET
GET /api/v1/courses/{course_id}/modules
Path parameters: course_id
Query parameters: include[], search_term, student_id
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "modules",
"path": {
"course_id": "101"
}
}moduleObserve module structure/progress; reads may refresh derived server state.GET
GET /api/v1/courses/{course_id}/modules/{module_id}
Path parameters: course_id, module_id
Query parameters: include[], student_id
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "module",
"path": {
"course_id": "101",
"module_id": "1"
}
}module_itemsObserve module items/progress; reads may refresh derived server state. Select an item by id in the returned list.GET
GET /api/v1/courses/{course_id}/modules/{module_id}/items
Path parameters: course_id, module_id
Query parameters: include[], search_term, student_id
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "module_items",
"path": {
"course_id": "101",
"module_id": "1"
}
}module_overridesVisible module assignment overrides.GET
GET /api/v1/courses/{course_id}/modules/{module_id}/assignment_overrides
Path parameters: course_id, module_id
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "module_overrides",
"path": {
"course_id": "101",
"module_id": "1"
}
}pagesList visible pages; include[]=body requests bodies on supported Canvas versions. Requires the Pages tab to be enabled.GET
GET /api/v1/courses/{course_id}/pages
Path parameters: course_id
Query parameters: sort, order, search_term, published, include[]
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "pages",
"path": {
"course_id": "101"
}
}page_revisionsList page revision metadata where permissions allow; revision bodies are excluded.GET
GET /api/v1/courses/{course_id}/pages/{page_url}/revisions
Path parameters: course_id, page_url
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "page_revisions",
"path": {
"course_id": "101",
"page_url": "reading-notes"
}
}discussionsDiscussion topics or announcements.GET
GET /api/v1/courses/{course_id}/discussion_topics
Path parameters: course_id
Query parameters: include[], order_by, scope, only_announcements, filter_by, search_term, exclude_context_module_locked_topics
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "discussions",
"path": {
"course_id": "101"
}
}discussionA discussion topic's initial post and metadata.GET
GET /api/v1/courses/{course_id}/discussion_topics/{topic_id}
Path parameters: course_id, topic_id
Query parameters: include[]
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "discussion",
"path": {
"course_id": "101",
"topic_id": "1"
}
}discussion_viewDiscussion tree and read-state, subject to initial-post rules.GET
GET /api/v1/courses/{course_id}/discussion_topics/{topic_id}/view
Path parameters: course_id, topic_id
Query parameters: include_new_entries
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "discussion_view",
"path": {
"course_id": "101",
"topic_id": "1"
}
}discussion_entriesPaginated top-level discussion entries.GET
GET /api/v1/courses/{course_id}/discussion_topics/{topic_id}/entries
Path parameters: course_id, topic_id
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "discussion_entries",
"path": {
"course_id": "101",
"topic_id": "1"
}
}discussion_repliesReplies to a visible discussion entry.GET
GET /api/v1/courses/{course_id}/discussion_topics/{topic_id}/entries/{entry_id}/replies
Path parameters: course_id, topic_id, entry_id
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "discussion_replies",
"path": {
"course_id": "101",
"topic_id": "1",
"entry_id": "1"
}
}discussion_entry_listFetch selected visible discussion entries.GET
GET /api/v1/courses/{course_id}/discussion_topics/{topic_id}/entry_list
Path parameters: course_id, topic_id
Query parameters: ids[]
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "discussion_entry_list",
"path": {
"course_id": "101",
"topic_id": "1"
}
}group_pagesList visible pages; include[]=body requests bodies on supported Canvas versions. Requires the Pages tab to be enabled.GET
GET /api/v1/groups/{group_id}/pages
Path parameters: group_id
Query parameters: sort, order, search_term, published, include[]
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "group_pages",
"path": {
"group_id": "1"
}
}group_page_revisionsList page revision metadata where permissions allow; revision bodies are excluded.GET
GET /api/v1/groups/{group_id}/pages/{page_url}/revisions
Path parameters: group_id, page_url
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "group_page_revisions",
"path": {
"group_id": "1",
"page_url": "reading-notes"
}
}group_discussionsDiscussion topics or announcements.GET
GET /api/v1/groups/{group_id}/discussion_topics
Path parameters: group_id
Query parameters: include[], order_by, scope, only_announcements, filter_by, search_term, exclude_context_module_locked_topics
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "group_discussions",
"path": {
"group_id": "1"
}
}group_discussionA discussion topic's initial post and metadata.GET
GET /api/v1/groups/{group_id}/discussion_topics/{topic_id}
Path parameters: group_id, topic_id
Query parameters: include[]
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "group_discussion",
"path": {
"group_id": "1",
"topic_id": "1"
}
}group_discussion_viewDiscussion tree and read-state, subject to initial-post rules.GET
GET /api/v1/groups/{group_id}/discussion_topics/{topic_id}/view
Path parameters: group_id, topic_id
Query parameters: include_new_entries
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "group_discussion_view",
"path": {
"group_id": "1",
"topic_id": "1"
}
}group_discussion_entriesPaginated top-level discussion entries.GET
GET /api/v1/groups/{group_id}/discussion_topics/{topic_id}/entries
Path parameters: group_id, topic_id
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "group_discussion_entries",
"path": {
"group_id": "1",
"topic_id": "1"
}
}group_discussion_repliesReplies to a visible discussion entry.GET
GET /api/v1/groups/{group_id}/discussion_topics/{topic_id}/entries/{entry_id}/replies
Path parameters: group_id, topic_id, entry_id
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "group_discussion_replies",
"path": {
"group_id": "1",
"topic_id": "1",
"entry_id": "1"
}
}group_discussion_entry_listFetch selected visible discussion entries.GET
GET /api/v1/groups/{group_id}/discussion_topics/{topic_id}/entry_list
Path parameters: group_id, topic_id
Query parameters: ids[]
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "group_discussion_entry_list",
"path": {
"group_id": "1",
"topic_id": "1"
}
}announcementsAnnouncements across selected courses or groups.GET
GET /api/v1/announcements
Path parameters: None
Query parameters: context_codes[], start_date, end_date, active_only, latest_only
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "announcements"
}quizzesClassic quiz metadata; never starts or takes a quiz.GET
GET /api/v1/courses/{course_id}/quizzes
Path parameters: course_id
Query parameters: search_term
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "quizzes",
"path": {
"course_id": "101"
}
}quizClassic quiz instructions and settings visible to the caller.GET
GET /api/v1/courses/{course_id}/quizzes/{quiz_id}
Path parameters: course_id, quiz_id
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "quiz",
"path": {
"course_id": "101",
"quiz_id": "1"
}
}Files & folders 13
course_filesList accessible files and attachment metadata.GET
GET /api/v1/courses/{course_id}/files
Path parameters: course_id
Query parameters: content_types[], exclude_content_types[], search_term, include[], only[], sort, order
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "course_files",
"path": {
"course_id": "101"
}
}course_foldersList child folders.GET
GET /api/v1/courses/{course_id}/folders
Path parameters: course_id
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "course_folders",
"path": {
"course_id": "101"
}
}group_filesList accessible files and attachment metadata.GET
GET /api/v1/groups/{group_id}/files
Path parameters: group_id
Query parameters: content_types[], exclude_content_types[], search_term, include[], only[], sort, order
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "group_files",
"path": {
"group_id": "1"
}
}group_foldersList child folders.GET
GET /api/v1/groups/{group_id}/folders
Path parameters: group_id
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "group_folders",
"path": {
"group_id": "1"
}
}user_filesList accessible files and attachment metadata.GET
GET /api/v1/users/{user_id}/files
Path parameters: user_id
Query parameters: content_types[], exclude_content_types[], search_term, include[], only[], sort, order
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "user_files",
"path": {
"user_id": "self"
}
}user_foldersList child folders.GET
GET /api/v1/users/{user_id}/folders
Path parameters: user_id
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "user_folders",
"path": {
"user_id": "self"
}
}folder_filesList accessible files and attachment metadata.GET
GET /api/v1/folders/{folder_id}/files
Path parameters: folder_id
Query parameters: content_types[], exclude_content_types[], search_term, include[], only[], sort, order
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "folder_files",
"path": {
"folder_id": "1"
}
}folder_foldersList child folders.GET
GET /api/v1/folders/{folder_id}/folders
Path parameters: folder_id
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "folder_folders",
"path": {
"folder_id": "1"
}
}file_metadataFile metadata; use file tool for bounded download.GET
GET /api/v1/files/{file_id}
Path parameters: file_id
Query parameters: include[]
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "file_metadata",
"path": {
"file_id": "1"
}
}file_download_urlRead a permitted storage URL; content tool accepts audited S3 REST URLs only.GET
GET /api/v1/files/{file_id}/public_url
Path parameters: file_id
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "file_download_url",
"path": {
"file_id": "1"
}
}folderFolder metadata and permissions.GET
GET /api/v1/folders/{folder_id}
Path parameters: folder_id
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "folder",
"path": {
"folder_id": "1"
}
}filesList accessible files and attachment metadata.GET
GET /api/v1/courses/{course_id}/files
Path parameters: course_id
Query parameters: content_types[], exclude_content_types[], search_term, include[], only[], sort, order
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "files",
"path": {
"course_id": "101"
}
}fileFile metadata; use file tool for bounded download.GET
GET /api/v1/files/{file_id}
Path parameters: file_id
Query parameters: include[]
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "file",
"path": {
"file_id": "1"
}
}Calendar & planning 14
calendarCalendar events or assignment deadlines; explicit contexts required for course calendars, max ten.GET
GET /api/v1/calendar_events
Path parameters: None
Query parameters: type, start_date, end_date, undated, all_events, context_codes[], excludes[], important_dates, blackouts
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "calendar"
}user_calendarVisible user's calendar events.GET
GET /api/v1/users/{user_id}/calendar_events
Path parameters: user_id
Query parameters: type, start_date, end_date, undated, all_events, context_codes[], excludes[], important_dates, blackouts
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "user_calendar",
"path": {
"user_id": "self"
}
}calendar_eventSingle calendar event or assignment event.GET
GET /api/v1/calendar_events/{event_id}
Path parameters: event_id
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "calendar_event",
"path": {
"event_id": "1"
}
}plannerStudent agenda with dates, submissions and planner overrides.GET
GET /api/v1/planner/items
Path parameters: None
Query parameters: start_date, end_date, context_codes[], filter, include[]
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "planner"
}planner_notesOwn planner notes without creating or changing them.GET
GET /api/v1/planner_notes
Path parameters: None
Query parameters: start_date, end_date, course_id
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "planner_notes"
}planner_noteRead an existing planner note.GET
GET /api/v1/planner_notes/{note_id}
Path parameters: note_id
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "planner_note",
"path": {
"note_id": "1"
}
}planner_overridesOwn planner completion and dismissal settings.GET
GET /api/v1/planner/overrides
Path parameters: None
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "planner_overrides"
}planner_overrideRead a planner override.GET
GET /api/v1/planner/overrides/{override_id}
Path parameters: override_id
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "planner_override",
"path": {
"override_id": "1"
}
}my_todoCurrent user's to-do items.GET
GET /api/v1/users/self/todo
Path parameters: None
Query parameters: include[]
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "my_todo"
}my_activityOwn activity stream, without dismissing items.GET
GET /api/v1/users/self/activity_stream
Path parameters: None
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "my_activity"
}my_activity_summaryOwn activity counts.GET
GET /api/v1/users/self/activity_stream/summary
Path parameters: None
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "my_activity_summary"
}course_activityVisible course activity stream.GET
GET /api/v1/courses/{course_id}/activity_stream
Path parameters: course_id
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "course_activity",
"path": {
"course_id": "101"
}
}planner_itemsStudent agenda with dates, submissions and planner overrides.GET
GET /api/v1/planner/items
Path parameters: None
Query parameters: start_date, end_date, context_codes[], filter, include[]
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "planner_items"
}calendar_eventsCalendar events or assignment deadlines; explicit contexts required for course calendars, max ten.GET
GET /api/v1/calendar_events
Path parameters: None
Query parameters: type, start_date, end_date, undated, all_events, context_codes[], excludes[], important_dates, blackouts
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "calendar_events"
}People & groups 13
profileCurrent user's profile and Canvas identity.GET
GET /api/v1/users/self/profile
Path parameters: None
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "profile"
}userRead a user visible to your account.GET
GET /api/v1/users/{user_id}
Path parameters: user_id
Query parameters: include[]
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "user",
"path": {
"user_id": "self"
}
}course_usersVisible course roster; permissions apply.GET
GET /api/v1/courses/{course_id}/users
Path parameters: course_id
Query parameters: search_term, enrollment_type[], enrollment_role[], enrollment_role_id[], include[], user_ids[], enrollment_state[]
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "course_users",
"path": {
"course_id": "101"
}
}course_userVisible course user detail.GET
GET /api/v1/courses/{course_id}/users/{user_id}
Path parameters: course_id, user_id
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "course_user",
"path": {
"course_id": "101",
"user_id": "self"
}
}enrollmentsCourse enrollments and visible grades.GET
GET /api/v1/courses/{course_id}/enrollments
Path parameters: course_id
Query parameters: type[], role[], role_id[], state[], include[], user_id
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "enrollments",
"path": {
"course_id": "101"
}
}my_enrollmentsOwn enrollments and available course grades.GET
GET /api/v1/users/self/enrollments
Path parameters: None
Query parameters: type[], role[], role_id[], state[], include[]
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "my_enrollments"
}sectionsVisible sections of a course.GET
GET /api/v1/courses/{course_id}/sections
Path parameters: course_id
Query parameters: include[]
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "sections",
"path": {
"course_id": "101"
}
}sectionVisible section detail.GET
GET /api/v1/sections/{section_id}
Path parameters: section_id
Query parameters: include[]
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "section",
"path": {
"section_id": "1"
}
}my_groupsOwn group memberships.GET
GET /api/v1/users/self/groups
Path parameters: None
Query parameters: context_type, include[]
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "my_groups"
}course_groupsVisible course groups.GET
GET /api/v1/courses/{course_id}/groups
Path parameters: course_id
Query parameters: only_own_groups, include[]
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "course_groups",
"path": {
"course_id": "101"
}
}groupGroup detail.GET
GET /api/v1/groups/{group_id}
Path parameters: group_id
Query parameters: include[]
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "group",
"path": {
"group_id": "1"
}
}group_usersVisible group roster.GET
GET /api/v1/groups/{group_id}/users
Path parameters: group_id
Query parameters: search_term, include[], exclude_inactive
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "group_users",
"path": {
"group_id": "1"
}
}group_membershipsVisible group memberships.GET
GET /api/v1/groups/{group_id}/memberships
Path parameters: group_id
Query parameters: filter_states[]
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "group_memberships",
"path": {
"group_id": "1"
}
}Messages 3
conversationsOwn inbox list, including archived via scope.GET
GET /api/v1/conversations
Path parameters: None
Query parameters: scope, filter[], filter_mode, interleave_submissions
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "conversations"
}conversationConversation body; always disables automatic marking as read.GET
GET /api/v1/conversations/{conversation_id}
Path parameters: conversation_id
Query parameters: scope, filter[], filter_mode, auto_mark_as_read
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "conversation",
"path": {
"conversation_id": "1"
}
}unread_countOwn unread conversation count.GET
GET /api/v1/conversations/unread_count
Path parameters: None
Query parameters: No operation-specific parameters
Common pagination: page, per_page, bookmark, cursor.
Permissions and token scopes still apply. Canvas endpoint documentation
{
"operation": "unread_count"
}