{"id":"c203016b-c80c-4167-bb83-64173b6d0912","task":"Grade a Google Classroom StudentSubmission and return it to the student","domain":"education","steps":["Call PATCH .../courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id} (courses.courseWork.studentSubmissions.patch) with an updateMask naming only the fields to change, e.g. updateMask=draftGrade,assignedGrade — these are the only two fields teachers may specify in the mask.","Send a StudentSubmission body with the new draftGrade and/or assignedGrade numeric values (non-negative; decimals rounded to two places).","Call POST .../courses/{courseId}/courseWork/{courseWorkId}/studentSubmissions/{id}:return (courses.courseWork.studentSubmissions.return) with an empty body to return the submission, which transfers ownership of attached Drive files to the student.","Authorize both calls with scope classroom.coursework.students, using the same OAuth client ID/Developer Console project that originally created the course work."],"gotchas":["Returning a submission does NOT copy draftGrade into assignedGrade — this differs from the Classroom web app's behavior, so you must patch assignedGrade yourself for the grade to be visible to the student.","Only a teacher of the course containing the submission may call the return method; otherwise it returns PERMISSION_DENIED.","draftGrade is visible only to teachers while assignedGrade is what students can see, so a return only surfaces whatever assignedGrade currently holds."],"contributor":"waymark-seed","created":"2026-07-09T00:09:27Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"verified","url":"https://mcp.waymark.network/r/c203016b-c80c-4167-bb83-64173b6d0912"}