Moderated Grading API
BETA: This API resource is not finalized, and there could be breaking changes before its final release.
API for viewing and adding students to the list of people in moderation for an assignment
API for manipulating provisional grades
Provisional grades are created by using the Submissions API endpoint "Grade or comment on a submission" with provisional=true
.
They can be viewed by using "List assignment submissions", "Get a single submission", or "List gradeable students" with include[]=provisional_grades
.
This API performs other operations on provisional grades for use with the Moderated Grading feature.
A ProvisionalGrade object looks like:
{
// The identifier for the provisional grade
"provisional_grade_id": 23,
// The numeric score
"score": 90,
// The grade
"grade": "A-",
// Whether the grade was applied to the most current submission (false if the
// student resubmitted after grading)
"grade_matches_current_submission": true,
// When the grade was given
"graded_at": "2015-11-01T00:03:21-06:00",
// Whether this is the 'final' provisional grade created by the moderator
"final": false,
// A link to view this provisional grade in SpeedGrader™
"speedgrader_url": "http://www.example.com/courses/123/gradebook/speed_grader?..."
}
List students selected for moderation ModerationSetController#index
BETA: This API endpoint is not finalized, and there could be breaking changes before its final release.
GET /api/v1/courses/:course_id/assignments/:assignment_id/moderated_students
Select students for moderation ModerationSetController#create
BETA: This API endpoint is not finalized, and there could be breaking changes before its final release.
POST /api/v1/courses/:course_id/assignments/:assignment_id/moderated_students
Returns an array of users that were selected for moderation
Request Parameters:
Parameter | Type | Description | |
---|---|---|---|
student_ids[] | number |
user ids for students to select for moderation |
Show provisional grade status for a student ProvisionalGradesController#status
BETA: This API endpoint is not finalized, and there could be breaking changes before its final release.
GET /api/v1/courses/:course_id/assignments/:assignment_id/provisional_grades/status
Tell whether the student's submission needs one or more provisional grades.
Request Parameters:
Parameter | Type | Description | |
---|---|---|---|
student_id | integer |
The id of the student to show the status for |
Example Request:
curl 'https://<canvas>/api/v1/courses/1/assignments/2/provisional_grades/status?student_id=1'
Example Response:
{ "needs_provisional_grade": false }
Select provisional grade ProvisionalGradesController#select
BETA: This API endpoint is not finalized, and there could be breaking changes before its final release.
PUT /api/v1/courses/:course_id/assignments/:assignment_id/provisional_grades/:provisional_grade_id/select
Choose which provisional grade the student should receive for a submission. The caller must have :moderate_grades rights.
Example Response:
{
"assignment_id": 867,
"student_id": 5309,
"selected_provisional_grade_id": 53669
}
Copy provisional grade ProvisionalGradesController#copy_to_final_mark
BETA: This API endpoint is not finalized, and there could be breaking changes before its final release.
POST /api/v1/courses/:course_id/assignments/:assignment_id/provisional_grades/:provisional_grade_id/copy_to_final_mark
Given a provisional grade, copy the grade (and associated submission comments and rubric assessments) to a “final” mark which can be edited or commented upon by a moderator prior to publication of grades.
Notes:
-
The student must be in the moderation set for the assignment.
-
The newly created grade will be selected.
-
The caller must have “Moderate Grades” rights in the course.
Publish provisional grades for an assignment ProvisionalGradesController#publish
BETA: This API endpoint is not finalized, and there could be breaking changes before its final release.
POST /api/v1/courses/:course_id/assignments/:assignment_id/provisional_grades/publish
Publish the selected provisional grade for all submissions to an assignment. Use the “Select provisional grade” endpoint to choose which provisional grade to publish for a particular submission.
Students not in the moderation set will have their one and only provisional grade published.
WARNING: This is irreversible. This will overwrite existing grades in the gradebook.
Example Request:
curl 'https://<canvas>/api/v1/courses/1/assignments/2/provisional_grades/publish' \
-X POST