Grade Post Policies Overview and API Changes

Document created by Erin Hallmark Administrator on Jun 25, 2019Last modified by Erin Hallmark Administrator on Aug 2, 2019
Version 5Show Document
  • View in full screen mode



Grade Post Policies transfers the concept of assignment-wide “muting” to the level of individual submissions for the assignment. Instead of muting or unmuting all submissions at once, instructors can make grades visible to individual sections of a course one by one, or hide previously posted grades if needed.


An assignment’s behavior is determined by its posting policy:

  • Automatic posting: Grades or comments an instructor leaves on a submission are automatically made visible to the student, although they may be hidden later. This policy is the default policy for non-anonymous, non-moderated assignments (and matches Canvas’s current behavior).
  • Manual posting: Feedback left by an instructor must be “posted” to be visible to the student, which matches Canvas’s current behavior for muted assignments. Anonymous or moderated assignments must be manually posted, while non-anonymous, non-moderated assignments may optionally be set to manual posting.


An assignment’s posting policy may be changed via the Grade Posting Policy item in the assignment header column menu, with the restriction that anonymous and moderated assignments’ post policies cannot be changed. A global post policy for the course may also be set from the Gradebook settings menu; when enabled, the selected policy applies to all assignments within the course (excluding, as noted above, anonymous and moderated assignments) as well as assignments created in the future.


From an individual assignment column menu, grades can be posted or hidden. An instructor may choose to post or hide grades for all students at once (equivalent to the current mute/unmute functionality) or for specific sections. Additionally, posting may be limited specifically to graded students within the selected sections. 


Visual Updates

As part of these changes, the Muted icon has been updated to an Eye icon, indicating that a manual posting policy has been applied to the assignment. If submissions exist that have been graded but not yet posted (whether the post policy is manual or automatic), a solid Eye icon will display. When all graded submissions have been posted for an assignment, the Eye icon will change to an outlined icon.


The icon itself is not removed from the heading unless the grade post policy for an assignment is changed to automatic. However, if a manual posting policy is changed to automatic and the assignment has outstanding grades that have not been posted, the Eye icon persists until all grades have been posted.


These icon changes also apply to SpeedGrader. Clicking the Eye icon displays a menu that allows the grader to post or hide grades. However, the Eye icon will include a slash if any submissions are graded but not yet posted. 


Additionally, both the submission tray in New Gradebook and the SpeedGrader sidebar indicate grades that have not been posted with a Hidden label.


API Changes

The following behaviors affect courses that have enabled the New Gradebook:

  • The muted attribute on an assignment should no longer indicate whether the grades for an assignment have been made visible to students. The muted attribute is deprecated—please reference posted_at as soon as possible.
    • The muted attribute will instead return true if any submission for the assignment has not been posted, and false if all submissions have been posted.
    • To determine whether an individual submission is posted, check the posted_at attribute. This will return the date that the submission was posted to the student, or nil if it has not been posted (or was posted but has since been hidden).
  • The post_manually attribute (a boolean) indicates whether the assignment has been set to enable manual posting of grades.
    • Currently, this can be set using the GraphQL endpoint setAssignmentPostPolicy.


New GraphQL Endpoints

Post Policies is supported via the GraphQL API. The following endpoints are supported for Post Policies:


  • setCoursePostPolicy
    • Sets the post policy for the specified course and applies the new policy to all eligible assignments.
  • setAssignmentPostPolicy
    • Sets the post policy for the specified assignment.
  • postAssignmentGrades
    • Posts grades (either all students or only graded students) for the specified assignment.
  • postAssignmentGradesBySection
    • Posts grades (either all students or only graded students) for the specified assignment in the specified sections.
  • hideAssignmentGrades
    • Hides all grades for the specified assignment.
  • hideAssignmentGradesBySection
    • Hides all grades for the specified assignment in the specified sections.