Submissions
API for accessing and updating submissions for an assignment. The submission id in these URLs is the id of the student in the course, there is no separate submission id exposed in these APIs.
All submission actions can be performed with either the course id, or the course section id. SIS ids can be used, prefixed by "sis_course_id:" or "sis_section_id:" as described in the API documentation on SIS IDs.
A MediaComment object looks like:
A SubmissionComment object looks like:
A Submission object looks like:
POST /api/v1/courses/:course_id/assignments/:assignment_id/submissions
POST /api/v1/courses/:course_id/assignments/:assignment_id/submissions
Scope: url:POST|/api/v1/courses/:course_id/assignments/:assignment_id/submissions
POST /api/v1/sections/:section_id/assignments/:assignment_id/submissions
POST /api/v1/sections/:section_id/assignments/:assignment_id/submissions
Scope: url:POST|/api/v1/sections/:section_id/assignments/:assignment_id/submissions
Make a submission for an assignment. You must be enrolled as a student in the course/section to do this.
All online turn-in submission types are supported in this API. However, there are a few things that are not yet supported:
Files can be submitted based on a file ID of a user or group file or through the file upload API. However, there is no API yet for listing the user and group files.
Media comments can be submitted, however, there is no API yet for creating a media comment to submit.
Integration with Google Docs is not yet supported.
Request Parameters:
comment[text_comment]
string
Include a textual comment with the submission.
submission[group_comment]
boolean
Whether or not this comment should be sent to the entire group (defaults to false). Ignored if this is not a group assignment or if no text_comment is provided.
submission[submission_type]
Required string
The type of submission being made. The assignment submission_types must include this submission type as an allowed option, or the submission will be rejected with a 400 error.
The submission_type given determines which of the following parameters is used. For instance, to submit a URL, submission [submission_type] must be set to “online_url”, otherwise the submission [url] parameter will be ignored.
“basic_lti_launch” requires the assignment submission_type “online” or “external_tool”
Allowed values: online_text_entry
, online_url
, online_upload
, media_recording
, basic_lti_launch
, student_annotation
submission[body]
string
Submit the assignment as an HTML document snippet. Note this HTML snippet will be sanitized using the same ruleset as a submission made from the Canvas web UI. The sanitized HTML will be returned in the response as the submission body. Requires a submission_type of “online_text_entry”.
submission[url]
string
Submit the assignment as a URL. The URL scheme must be “http” or “https”, no “ftp” or other URL schemes are allowed. If no scheme is given (e.g. “www.example.com”) then “http” will be assumed. Requires a submission_type of “online_url” or “basic_lti_launch”.
submission[file_ids][]
integer
Submit the assignment as a set of one or more previously uploaded files residing in the submitting user’s files section (or the group’s files section, for group assignments).
To upload a new file to submit, see the submissions Upload a file API.
Requires a submission_type of “online_upload”.
submission[media_comment_id]
string
The media comment id to submit. Media comment ids can be submitted via this API, however, note that there is not yet an API to generate or list existing media comments, so this functionality is currently of limited use.
Requires a submission_type of “media_recording”.
submission[media_comment_type]
string
The type of media comment being submitted.
Allowed values: audio
, video
submission[user_id]
integer
Submit on behalf of the given user. Requires grading permission.
submission[annotatable_attachment_id]
integer
The Attachment ID of the document being annotated. This should match the annotatable_attachment_id on the assignment.
Requires a submission_type of “student_annotation”.
submission[submitted_at]
DateTime
Choose the time the submission is listed as submitted at. Requires grading permission.
SubmissionsApiController#index
GET /api/v1/courses/:course_id/assignments/:assignment_id/submissions
GET /api/v1/courses/:course_id/assignments/:assignment_id/submissions
Scope: url:GET|/api/v1/courses/:course_id/assignments/:assignment_id/submissions
GET /api/v1/sections/:section_id/assignments/:assignment_id/submissions
GET /api/v1/sections/:section_id/assignments/:assignment_id/submissions
Scope: url:GET|/api/v1/sections/:section_id/assignments/:assignment_id/submissions
A paginated list of all existing submissions for an assignment.
Request Parameters:
include[]
string
Associations to include with the group. “group” will add group_id and group_name.
Allowed values: submission_history
, submission_comments
, submission_html_comments
, rubric_assessment
, assignment
, visibility
, course
, user
, group
, read_status
, student_entered_score
grouped
boolean
If this argument is true, the response will be grouped by student groups.
API response field:
assignment_id
The unique identifier for the assignment.
user_id
The id of the user who submitted the assignment.
grader_id
The id of the user who graded the submission. This will be null for submissions that haven’t been graded yet. It will be a positive number if a real user has graded the submission and a negative number if the submission was graded by a process (e.g. Quiz autograder and autograding LTI tools). Specifically autograded quizzes set grader_id to the negative of the quiz id. Submissions autograded by LTI tools set grader_id to the negative of the tool id.
canvadoc_document_id
The id for the canvadoc document associated with this submission, if it was a file upload.
submitted_at
The timestamp when the assignment was submitted, if an actual submission has been made.
score
The raw score for the assignment submission.
attempt
If multiple submissions have been made, this is the attempt number.
body
The content of the submission, if it was submitted directly in a text field.
grade
The grade for the submission, translated into the assignment grading scheme (so a letter grade, for example).
grade_matches_current_submission
A boolean flag which is false if the student has re-submitted since the submission was last graded.
preview_url
Link to the URL in canvas where the submission can be previewed. This will require the user to log in.
redo_request
If the submission was reassigned
url
If the submission was made as a URL.
late
Whether the submission was made after the applicable due date.
assignment_visible
Whether this assignment is visible to the user who submitted the assignment.
workflow_state
The current status of the submission. Possible values: “submitted”, “unsubmitted”, “graded”, “pending_review”
Returns a list of Submission objects.
SubmissionsApiController#for_students
GET /api/v1/courses/:course_id/students/submissions
GET /api/v1/courses/:course_id/students/submissions
Scope: url:GET|/api/v1/courses/:course_id/students/submissions
GET /api/v1/sections/:section_id/students/submissions
GET /api/v1/sections/:section_id/students/submissions
Scope: url:GET|/api/v1/sections/:section_id/students/submissions
A paginated list of all existing submissions for a given set of students and assignments.
Request Parameters:
student_ids[]
string
List of student ids to return submissions for. If this argument is omitted, return submissions for the calling user. Students may only list their own submissions. Observers may only list those of associated students. The special id “all” will return submissions for all students in the course/section as appropriate.
assignment_ids[]
string
List of assignments to return submissions for. If none are given, submissions for all assignments are returned.
grouped
boolean
If this argument is present, the response will be grouped by student, rather than a flat array of submissions.
post_to_sis
boolean
If this argument is set to true, the response will only include submissions for assignments that have the post_to_sis flag set to true and user enrollments that were added through sis.
submitted_since
DateTime
If this argument is set, the response will only include submissions that were submitted after the specified date_time. This will exclude submissions that do not have a submitted_at which will exclude unsubmitted submissions. The value must be formatted as ISO 8601 YYYY-MM-DDTHH:MM:SSZ.
graded_since
DateTime
If this argument is set, the response will only include submissions that were graded after the specified date_time. This will exclude submissions that have not been graded. The value must be formatted as ISO 8601 YYYY-MM-DDTHH:MM:SSZ.
grading_period_id
integer
The id of the grading period in which submissions are being requested (Requires grading periods to exist on the account)
workflow_state
string
The current status of the submission
Allowed values: submitted
, unsubmitted
, graded
, pending_review
enrollment_state
string
The current state of the enrollments. If omitted will include all enrollments that are not deleted.
Allowed values: active
, concluded
state_based_on_date
boolean
If omitted it is set to true. When set to false it will ignore the effective state of the student enrollments and use the workflow_state for the enrollments. The argument is ignored unless enrollment_state argument is also passed.
order
string
The order submissions will be returned in. Defaults to “id”. Doesn’t affect results for “grouped” mode.
Allowed values: id
, graded_at
order_direction
string
Determines whether ordered results are returned in ascending or descending order. Defaults to “ascending”. Doesn’t affect results for “grouped” mode.
Allowed values: ascending
, descending
include[]
string
Associations to include with the group. ‘total_scoresrequires the
groupedargument.</p> Allowed values:
submission_history,
submission_comments,
submission_html_comments,
rubric_assessment,
assignment,
total_scores,
visibility,
course,
user,
sub_assignment_submissions,
student_entered_score`
Example Response:
GET /api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id
GET /api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id
Scope: url:GET|/api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id
GET /api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id
GET /api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id
Scope: url:GET|/api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id
Get a single submission, based on user id.
Request Parameters:
include[]
string
Associations to include with the group.
Allowed values: submission_history
, submission_comments
, submission_html_comments
, rubric_assessment
, full_rubric_assessment
, visibility
, course
, user
, read_status
, student_entered_score
SubmissionsApiController#show_anonymous
GET /api/v1/courses/:course_id/assignments/:assignment_id/anonymous_submissions/:anonymous_id
GET /api/v1/courses/:course_id/assignments/:assignment_id/anonymous_submissions/:anonymous_id
Scope: url:GET|/api/v1/courses/:course_id/assignments/:assignment_id/anonymous_submissions/:anonymous_id
GET /api/v1/sections/:section_id/assignments/:assignment_id/anonymous_submissions/:anonymous_id
GET /api/v1/sections/:section_id/assignments/:assignment_id/anonymous_submissions/:anonymous_id
Scope: url:GET|/api/v1/sections/:section_id/assignments/:assignment_id/anonymous_submissions/:anonymous_id
Get a single submission, based on the submission’s anonymous id.
Request Parameters:
include[]
string
Associations to include with the group.
Allowed values: submission_history
, submission_comments
, rubric_assessment
, full_rubric_assessment
, visibility
, course
, user
, read_status
SubmissionsApiController#create_file
POST /api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/files
POST /api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/files
Scope: url:POST|/api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/files
POST /api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id/files
POST /api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id/files
Scope: url:POST|/api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id/files
Upload a file to a submission.
This API endpoint is the first step in uploading a file to a submission as a student. See the File Upload Documentation for details on the file upload workflow.
The final step of the file upload workflow will return the attachment data, including the new file id. The caller can then POST to submit the online_upload
assignment with these file ids.
SubmissionsApiController#update
PUT /api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id
PUT /api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id
Scope: url:PUT|/api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id
PUT /api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id
PUT /api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id
Scope: url:PUT|/api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id
Comment on and/or update the grading for a student’s assignment submission. If any submission or rubric_assessment arguments are provided, the user must have permission to manage grades in the appropriate context (course or section).
Request Parameters:
comment[text_comment]
string
Add a textual comment to the submission.
comment[attempt]
integer
The attempt number (starts at 1) to associate the comment with.
comment[group_comment]
boolean
Whether or not this comment should be sent to the entire group (defaults to false). Ignored if this is not a group assignment or if no text_comment is provided.
comment[media_comment_id]
string
Add an audio/video comment to the submission. Media comments can be added via this API, however, note that there is not yet an API to generate or list existing media comments, so this functionality is currently of limited use.
comment[media_comment_type]
string
The type of media comment being added.
Allowed values: audio
, video
comment[file_ids][]
integer
Attach files to this comment that were previously uploaded using the Submission Comment API’s files action
include[visibility]
string
Whether this assignment is visible to the owner of the submission
prefer_points_over_scheme
boolean
Treat posted_grade as points if the value matches a grading scheme value
submission[posted_grade]
string
Assign a score to the submission, updating both the “score” and “grade” fields on the submission record. This parameter can be passed in a few different formats:
points
A floating point or integral value, such as “13.5”. The grade
percentage
A floating point value appended with a percent sign, such as
letter grade
A letter grade, following the assignment’s defined letter
“pass/complete/fail/incomplete”
A string value of “pass” or “complete”
Note that assignments with grading_type of “pass_fail” can only be assigned a score of 0 or assignment.points_possible, nothing inbetween. If a posted_grade in the “points” or “percentage” format is sent, the grade will only be accepted if the grade equals one of those two values.
submission[excuse]
boolean
Sets the “excused” status of an assignment.
submission[late_policy_status]
string
Sets the late policy status to either “late”, “missing”, “extended”, “none”, or null.
submission[sticker]
string
Sets the sticker for the submission.
Allowed values: apple
, basketball
, bell
, book
, bookbag
, briefcase
, bus
, calendar
, chem
, design
, pencil
, beaker
, paintbrush
, computer
, column
, pen
, tablet
, telescope
, calculator
, paperclip
, composite_notebook
, scissors
, ruler
, clock
, globe
, grad
, gym
, mail
, microscope
, mouse
, music
, notebook
, page
, panda1
, panda2
, panda3
, panda4
, panda5
, panda6
, panda7
, panda8
, panda9
, presentation
, science
, science2
, star
, tag
, tape
, target
, trophy
submission[seconds_late_override]
integer
Sets the seconds late if late policy status is “late”
rubric_assessment
RubricAssessment
Assign a rubric assessment to this assignment submission. The sub-parameters here depend on the rubric for the assignment. The general format is, for each row in the rubric:
The points awarded for this row.
The rating id for the row.
Comments to add for this row.
For example, if the assignment rubric is (in JSON format):
Then a possible set of values for rubric_assessment would be:
SubmissionsApiController#update_anonymous
PUT /api/v1/courses/:course_id/assignments/:assignment_id/anonymous_submissions/:anonymous_id
PUT /api/v1/courses/:course_id/assignments/:assignment_id/anonymous_submissions/:anonymous_id
Scope: url:PUT|/api/v1/courses/:course_id/assignments/:assignment_id/anonymous_submissions/:anonymous_id
PUT /api/v1/sections/:section_id/assignments/:assignment_id/anonymous_submissions/:anonymous_id
PUT /api/v1/sections/:section_id/assignments/:assignment_id/anonymous_submissions/:anonymous_id
Scope: url:PUT|/api/v1/sections/:section_id/assignments/:assignment_id/anonymous_submissions/:anonymous_id
Comment on and/or update the grading for a student’s assignment submission, fetching the submission by anonymous id (instead of user id). If any submission or rubric_assessment arguments are provided, the user must have permission to manage grades in the appropriate context (course or section).
Request Parameters:
comment[text_comment]
string
Add a textual comment to the submission.
comment[group_comment]
boolean
Whether or not this comment should be sent to the entire group (defaults to false). Ignored if this is not a group assignment or if no text_comment is provided.
comment[media_comment_id]
string
Add an audio/video comment to the submission. Media comments can be added via this API, however, note that there is not yet an API to generate or list existing media comments, so this functionality is currently of limited use.
comment[media_comment_type]
string
The type of media comment being added.
Allowed values: audio
, video
comment[file_ids][]
integer
Attach files to this comment that were previously uploaded using the Submission Comment API’s files action
include[visibility]
string
Whether this assignment is visible to the owner of the submission
submission[posted_grade]
string
Assign a score to the submission, updating both the “score” and “grade” fields on the submission record. This parameter can be passed in a few different formats:
points
A floating point or integral value, such as “13.5”. The grade
percentage
A floating point value appended with a percent sign, such as
letter grade
A letter grade, following the assignment’s defined letter
“pass/complete/fail/incomplete”
A string value of “pass” or “complete”
Note that assignments with grading_type of “pass_fail” can only be assigned a score of 0 or assignment.points_possible, nothing inbetween. If a posted_grade in the “points” or “percentage” format is sent, the grade will only be accepted if the grade equals one of those two values.
submission[excuse]
boolean
Sets the “excused” status of an assignment.
submission[late_policy_status]
string
Sets the late policy status to either “late”, “missing”, “extended”, “none”, or null.
submission[seconds_late_override]
integer
Sets the seconds late if late policy status is “late”
rubric_assessment
RubricAssessment
Assign a rubric assessment to this assignment submission. The sub-parameters here depend on the rubric for the assignment. The general format is, for each row in the rubric:
The points awarded for this row.
The rating id for the row.
Comments to add for this row.
For example, if the assignment rubric is (in JSON format):
Then a possible set of values for rubric_assessment would be:
SubmissionsApiController#gradeable_students
GET /api/v1/courses/:course_id/assignments/:assignment_id/gradeable_students
GET /api/v1/courses/:course_id/assignments/:assignment_id/gradeable_students
Scope: url:GET|/api/v1/courses/:course_id/assignments/:assignment_id/gradeable_students
A paginated list of students eligible to submit the assignment. The caller must have permission to view grades.
If anonymous grading is enabled for the current assignment and the allow_new_anonymous_id parameter is passed, the returned data will not include any values identifying the student, but will instead include an assignment-specific anonymous ID for each student.
Section-limited instructors will only see students in their own sections.
Returns a list of UserDisplay objects.
SubmissionsApiController#multiple_gradeable_students
GET /api/v1/courses/:course_id/assignments/gradeable_students
GET /api/v1/courses/:course_id/assignments/gradeable_students
Scope: url:GET|/api/v1/courses/:course_id/assignments/gradeable_students
A paginated list of students eligible to submit a list of assignments. The caller must have permission to view grades for the requested course.
Section-limited instructors will only see students in their own sections.
Request Parameters:
assignment_ids[]
string
Assignments being requested
Example Response:
SubmissionsApiController#bulk_update
POST /api/v1/courses/:course_id/submissions/update_grades
POST /api/v1/courses/:course_id/submissions/update_grades
Scope: url:POST|/api/v1/courses/:course_id/submissions/update_grades
POST /api/v1/courses/:course_id/assignments/:assignment_id/submissions/update_grades
POST /api/v1/courses/:course_id/assignments/:assignment_id/submissions/update_grades
Scope: url:POST|/api/v1/courses/:course_id/assignments/:assignment_id/submissions/update_grades
POST /api/v1/sections/:section_id/submissions/update_grades
POST /api/v1/sections/:section_id/submissions/update_grades
Scope: url:POST|/api/v1/sections/:section_id/submissions/update_grades
POST /api/v1/sections/:section_id/assignments/:assignment_id/submissions/update_grades
POST /api/v1/sections/:section_id/assignments/:assignment_id/submissions/update_grades
Scope: url:POST|/api/v1/sections/:section_id/assignments/:assignment_id/submissions/update_grades
Update the grading and comments on multiple student’s assignment submissions in an asynchronous job.
The user must have permission to manage grades in the appropriate context (course or section).
Request Parameters:
grade_data[<student_id>][posted_grade]
string
See documentation for the posted_grade argument in the Submissions Update documentation
grade_data[<student_id>][excuse]
boolean
See documentation for the excuse argument in the Submissions Update documentation
grade_data[<student_id>][rubric_assessment]
RubricAssessment
See documentation for the rubric_assessment argument in the Submissions Update documentation
grade_data[<student_id>][text_comment]
string
no description
grade_data[<student_id>][group_comment]
boolean
no description
grade_data[<student_id>][media_comment_id]
string
no description
grade_data[<student_id>][media_comment_type]
string
no description
Allowed values: audio
, video
grade_data[<student_id>][file_ids][]
integer
See documentation for the comment[] arguments in the Submissions Update documentation
grade_data[<assignment_id>][<student_id>]
integer
Specifies which assignment to grade. This argument is not necessary when using the assignment-specific endpoints.
Example Request:
Returns a Progress object.
SubmissionsApiController#mark_submission_read
PUT /api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/read
PUT /api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/read
Scope: url:PUT|/api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/read
PUT /api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id/read
PUT /api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id/read
Scope: url:PUT|/api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id/read
No request fields are necessary.
On success, the response will be 204 No Content with an empty body.
Example Request:
SubmissionsApiController#mark_submission_unread
DELETE /api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/read
DELETE /api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/read
Scope: url:DELETE|/api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/read
DELETE /api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id/read
DELETE /api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id/read
Scope: url:DELETE|/api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id/read
No request fields are necessary.
On success, the response will be 204 No Content with an empty body.
Example Request:
SubmissionsApiController#mark_bulk_submissions_as_read
PUT /api/v1/courses/:course_id/submissions/bulk_mark_read
PUT /api/v1/courses/:course_id/submissions/bulk_mark_read
Scope: url:PUT|/api/v1/courses/:course_id/submissions/bulk_mark_read
PUT /api/v1/sections/:section_id/submissions/bulk_mark_read
PUT /api/v1/sections/:section_id/submissions/bulk_mark_read
Scope: url:PUT|/api/v1/sections/:section_id/submissions/bulk_mark_read
Accepts a string array of submission ids. Loops through and marks each submission as read
On success, the response will be 204 No Content with an empty body.
Request Parameters:
submissionIds[]
string
no description
Example Request:
SubmissionsApiController#mark_submission_item_read
PUT /api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/read/:item
PUT /api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/read/:item
Scope: url:PUT|/api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/read/:item
PUT /api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id/read/:item
PUT /api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id/read/:item
Scope: url:PUT|/api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id/read/:item
No request fields are necessary.
A submission item can be “grade”, “comment” or “rubric”
On success, the response will be 204 No Content with an empty body.
Example Request:
SubmissionsApiController#submissions_clear_unread
PUT /api/v1/courses/:course_id/submissions/:user_id/clear_unread
PUT /api/v1/courses/:course_id/submissions/:user_id/clear_unread
Scope: url:PUT|/api/v1/courses/:course_id/submissions/:user_id/clear_unread
PUT /api/v1/sections/:section_id/submissions/:user_id/clear_unread
PUT /api/v1/sections/:section_id/submissions/:user_id/clear_unread
Scope: url:PUT|/api/v1/sections/:section_id/submissions/:user_id/clear_unread
Site-admin-only endpoint.
No request fields are necessary.
On success, the response will be 204 No Content with an empty body.
Example Request:
SubmissionsApiController#rubric_assessments_read_state
GET /api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/rubric_comments/read
GET /api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/rubric_comments/read
Scope: url:GET|/api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/rubric_comments/read
GET /api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/rubric_assessments/read
GET /api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/rubric_assessments/read
Scope: url:GET|/api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/rubric_assessments/read
GET /api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id/rubric_comments/read
GET /api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id/rubric_comments/read
Scope: url:GET|/api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id/rubric_comments/read
GET /api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id/rubric_assessments/read
GET /api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id/rubric_assessments/read
Scope: url:GET|/api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id/rubric_assessments/read
Return whether new rubric comments/grading made on a submission have been seen by the student being assessed.
Example Request:
Example Response:
SubmissionsApiController#mark_rubric_assessments_read
PUT /api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/rubric_comments/read
PUT /api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/rubric_comments/read
Scope: url:PUT|/api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/rubric_comments/read
PUT /api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/rubric_assessments/read
PUT /api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/rubric_assessments/read
Scope: url:PUT|/api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/rubric_assessments/read
PUT /api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id/rubric_comments/read
PUT /api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id/rubric_comments/read
Scope: url:PUT|/api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id/rubric_comments/read
PUT /api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id/rubric_assessments/read
PUT /api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id/rubric_assessments/read
Scope: url:PUT|/api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id/rubric_assessments/read
Indicate that rubric comments/grading made on a submission have been read by the student being assessed. Only the student who owns the submission can use this endpoint.
NOTE: Rubric assessments will be marked as read automatically when they are viewed in Canvas web.
Example Request:
Example Response:
SubmissionsApiController#document_annotations_read_state
GET /api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/document_annotations/read
GET /api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/document_annotations/read
Scope: url:GET|/api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/document_annotations/read
GET /api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id/document_annotations/read
GET /api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id/document_annotations/read
Scope: url:GET|/api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id/document_annotations/read
Return whether annotations made on a submitted document have been read by the student
Example Request:
Example Response:
SubmissionsApiController#mark_document_annotations_read
PUT /api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/document_annotations/read
PUT /api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/document_annotations/read
Scope: url:PUT|/api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/document_annotations/read
PUT /api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id/document_annotations/read
PUT /api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id/document_annotations/read
Scope: url:PUT|/api/v1/sections/:section_id/assignments/:assignment_id/submissions/:user_id/document_annotations/read
Indicate that annotations made on a submitted document have been read by the student. Only the student who owns the submission can use this endpoint.
NOTE: Document annotations will be marked as read automatically when they are viewed in Canvas web.
Example Request:
Example Response:
SubmissionsApiController#submission_summary
GET /api/v1/courses/:course_id/assignments/:assignment_id/submission_summary
GET /api/v1/courses/:course_id/assignments/:assignment_id/submission_summary
Scope: url:GET|/api/v1/courses/:course_id/assignments/:assignment_id/submission_summary
GET /api/v1/sections/:section_id/assignments/:assignment_id/submission_summary
GET /api/v1/sections/:section_id/assignments/:assignment_id/submission_summary
Scope: url:GET|/api/v1/sections/:section_id/assignments/:assignment_id/submission_summary
Returns the number of submissions for the given assignment based on gradeable students that fall into three categories: graded, ungraded, not submitted.
Request Parameters:
grouped
boolean
If this argument is true, the response will take into account student groups.
Example Response:
This documentation is generated directly from the Canvas LMS source code, available on Github.
Last updated