Skip to content
Proud to collaborate with Microsoft for Startups

Canvas ​

WorkflowTypeDescription
canvas.courses.copy-course-contentAtomicDEPRECATED: Please use the {api:ContentMigrationsController#create Content Migrations API} Copies content from one course into another. The default is to copy all course content. You can control specific types to copy by using either the 'except' option or the 'only' option. The response is the same as the course copy status endpoint
canvas.courses.course-activity-streamAtomicReturns the current user's course-specific activity stream, paginated. For full documentation, see the API documentation for the user activity stream, in the user api.
canvas.courses.course-activity-stream-summaryAtomicReturns a summary of the current user's course-specific activity stream. For full documentation, see the API documentation for the user activity stream summary, in the user api.
canvas.courses.course-todo-itemsAtomicReturns the current user's course-specific todo items. For full documentation, see the API documentation for the user todo items, in the user api.
canvas.courses.create-new-courseAtomicCreate a new course
canvas.courses.delete-conclude-courseAtomicDelete or conclude an existing course
canvas.courses.get-bulk-user-progressAtomicReturns progress information for all users enrolled in the given course. You must be a user who has permission to view all grades in the course (such as a teacher or administrator).
canvas.courses.get-course-copy-statusAtomicDEPRECATED: Please use the {api:ContentMigrationsController#create Content Migrations API} Retrieve the status of a course copy
canvas.courses.get-course-settingsAtomicReturns some of a course's settings.
canvas.courses.get-effective-due-datesAtomicFor each assignment in the course, returns each assigned student's ID and their corresponding due date along with some grading period data. Returns a collection with keys representing assignment IDs and values as a collection containing keys representing student IDs and values representing the student's effective due_at, the grading_period_id of which the due_at falls in, and whether or not the grading period is closed (in_closed_grading_period) The list of assignment IDs for which effective student due dates are requested. If not provided, all assignments in the course will be used.
canvas.courses.get-single-course-accountsAtomicReturn information on a single course. Accepts the same include[] parameters as the list action plus:
canvas.courses.get-single-course-coursesAtomicReturn information on a single course. Accepts the same include[] parameters as the list action plus:
canvas.courses.get-single-userAtomicReturn information on a single user. Accepts the same include[] parameters as the :users: action, and returns a single user with the same fields as that action.
canvas.courses.get-user-progressAtomicReturn progress information for the user and course You can supply +self+ as the user_id to query your own progress in a course. To query another user's progress, you must be a teacher in the course, an administrator, or a linked observer of the user.
canvas.courses.list-courses-for-userAtomicReturns a paginated list of active courses for this user. To view the course list for a user other than yourself, you must be either an observer of that user or an administrator.
canvas.courses.list-recently-logged-in-studentsAtomicReturns the paginated list of users in this course, ordered by how recently they have logged in. The records include the 'last_login' field which contains a timestamp of the last time that user logged into canvas. The querying user must have the 'View usage reports' permission.
canvas.courses.list-studentsAtomicReturns the paginated list of students enrolled in this course. DEPRECATED: Please use the {api:CoursesController#users course users} endpoint and pass "student" as the enrollment_type.
canvas.courses.list-users-in-course-search-usersAtomicReturns the paginated list of users in this course. And optionally the user's enrollments in the course.
canvas.courses.list-users-in-course-usersAtomicReturns the paginated list of users in this course. And optionally the user's enrollments in the course.
canvas.courses.list-your-coursesAtomicReturns the paginated list of active courses for the current user.
canvas.courses.permissionsAtomicReturns permission information for the calling user in the given course. See also the {api:AccountsController#permissions Account} and {api:GroupsController#permissions Group} counterparts.
canvas.courses.preview-processed-htmlAtomicPreview html content processed for this course
canvas.courses.remove-quiz-migration-alertAtomicRemove alert about the limitations of quiz migrations that is displayed to a user in a course you must be logged in to use this endpoint
canvas.courses.reset-courseAtomicDeletes the current course, and creates a new equivalent course with no content, but all sections and users moved over.
canvas.courses.restore-course-syllabus-versionAtomicRestore a course's syllabus body to a previously saved version. No other course content is affected. Requires the syllabus_versioning feature flag to be enabled on the account, and the caller must have permission to manage course content.
canvas.courses.return-test-student-for-courseAtomicReturns information for a test student in this course. Creates a test student if one does not already exist for the course. The caller must have permission to access the course's student view.
canvas.courses.search-for-content-share-usersAtomicReturns a paginated list of users you can share content with. Requires the content share feature and the user must have the manage content permission for the course.
canvas.courses.update-courseAtomicUpdate an existing course. Arguments are the same as Courses#create, with a few exceptions (enroll_me). If a user has content management rights, but not full course editing rights, the only attribute editable through this endpoint will be "syllabus_body" If an account has set prevent_course_availability_editing_by_teachers, a teacher cannot change +course[start_at]+, +course[conclude_at]+, or +course[restrict_enrollments_to_course_dates]+ here.
canvas.courses.update-course-settingsAtomicCan update the following course settings:
canvas.courses.update-coursesAtomicUpdate multiple courses in an account. Operates asynchronously; use the {api:ProgressController#show progress endpoint} to query the status of an operation.
canvas.courses.upload-fileAtomicUpload a file to the course. This API endpoint is the first step in uploading a file to a course. See the {file:file.file_uploads.html File Upload Documentation} for details on the file upload workflow. Only those with the "Manage Files" permission on a course can upload files to the course. By default, this is Teachers, TAs and Designers.