Celebrate Excellence in Education: Nominate Outstanding Educators by April 15!
Found this content helpful? Log in or sign up to leave a like!
I notice that in https://canvas.instructure.com/doc/api/submissions.html#method.submissions_api.update, there is only one field "submission[posted_grade]" that can be used to grade a submission. However, it will make grade posted, while I do want to let them remain unposted. Is there a way to grade the submission without posting grades using Canvas API?
Solved! Go to Solution.
Hi @JialunZhang,
Do you have the posting policy for the assignment set to manual? Even though the name of the API field is posted_grade, I think that term may be a relic from before posting policy was a "thing" in Canvas, and using that API would just enter the grade but not post it to the students if you have the policy set to manual.
-Chris
I do not use the API feature (something I am working on learning and getting to work properly for me); however, is it possible that having the assignment marked for manual grading(which hides the grade until grades are posted) will work even if you use the API to set the grade?
Here is the instructor guide page for setting manual grading on an assignment
Ron
Thanks for the info. But my case is that, even if I set the "hide grade", after calling the "posted_grade" API, the grades are set to be "published". I could manually set them back to hidden after, however, students will get email notification saying their grade has been posted but actually not. I am trying to figure out a way to avoid this.
Okay. I understand now. That is interesting that using the API to set the grade that the grade gets posted as well even if the manual grading is set. Unfortunately, you have reached the end of my knowledge on the matter.
Ron
Hi @JialunZhang,
Do you have the posting policy for the assignment set to manual? Even though the name of the API field is posted_grade, I think that term may be a relic from before posting policy was a "thing" in Canvas, and using that API would just enter the grade but not post it to the students if you have the policy set to manual.
-Chris
I think from what he posted and what my exchange with him indicated is that he did have manual posting set. However, when he uses the api to post the grade it posts the score and it is no longer hidden ( same as if you had put in some scores and then posted graded assignment scores). I could be wrong, but I think that is the case.
Ron
Hi @JialunZhang,
I have done some testing on my own, and confirmed that if a manual posting policy is in place for the assignment, the posted_score you submit via the API will not be released to the student immediately. The instructor would need to visit the course and use the "post grades" option for the assignment in the gradebook to release the grades/comments to the students.
I hope this helps!
-Chris
Yes, that worked. I didn't get the part of "setting manual posting policy" before. I thought it is the eye symbol on the top-left corner in the speedgrader; but actually it should set in the setting of the course.
It does not have to be a course setting - unless you want that to be the case. You can do it assignment by assignment on the gradebook page. Be warned though that even with the course setting set to manual grading, if you import an assignment that has grading set to automatic, the imported assignment will stay with automatic grading.
Ron
Hi, thanks for your help on this thread! Is there a way to release / unhide the posted grades using the API? (e.g. same functionality as using the "post grades" option in the gradebook as you describe)
To participate in the Instructure Community, you need to sign up or log in:
Sign In