Accessing the override_grade Data from the API
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I recently created a process to pull final grades from Canvas to then import into our antiquated SIS. I'm using the enrollment object to access the grades for each student. However, some instructors have used the new override grades feature. In the API documentation under Enrollments, it shows override_grade as a piece of data in the enrollment object. However, when I pull an enrollment from the API that has an overridden grade in Canvas, this attribute, nor any other relating to overrides, does not appear.
The GraphQL documentation provided to me by a support rep (https://community.canvaslms.com/docs/DOC-17210-final-grade-override-graphql#jive_content_id_Run_Query) was helpful but it only allowed me to change the overridden grade. This page says that grade override data can only be accessed through GraphQL. This document also said that I needed to "change the enrollment ID to be the enrollment ID of the student whose override score you would like to view." I did this through my graphiql instance of Canvas, but it only returned NULL and erased the override grade I had set from within Canvas for that enrollment.
Anyone have suggestions or knowledge of GraphQL to impart to a complete newbie? Any help is greatly appreciated, as I really don't like running individual exports of those select few courses that use this override feature.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Another update from Canvas Support. Override Grade shows up in the Enrollment API call if your grading period has "Display totals for All Grading Periods option" enabled. Now, if a student has an overridden grade, it shows up as expected.