list_submissions_awaiting_grading
Lists ungraded student submissions and pending-review quiz essays in a course, grouped by assignment or Classic Quiz, with per-submission details.
Instructions
Lists all submissions in a course that still need a human grade, sorted oldest-waiting first.
Surfaces two categories:
workflow_state=submitted: assignments submitted by students but not yet graded at all.
workflow_state=pending_review: Classic Quiz submissions where Canvas auto-graded the objective questions but left essays or manually-scored questions for the instructor.
Returns a triage list grouped by assignment or Classic Quiz, with per-submission details: student identity, workflow state, submitted_at, and whether the submission has pending manual-grading questions.
Parameters:
course_id (required): Canvas course ID to scan.
assignment_ids (optional): limit the scan to specific assignment IDs.
include_quizzes (default true): include Classic Quiz assignments in the scan.
include_assignments (default true): include non-quiz assignments.
only_pending_review (default false): when true, return only pending_review submissions (quiz essays awaiting manual scoring), omitting regular ungraded assignments.
Known limitations:
New Quizzes (Quizzes.Next) may not appear with 'pending_review' workflow state here; use SpeedGrader or the New Quizzes interface for their grading queue.
Fill-in-the-blank answers that Canvas auto-marked are not surfaced.
V1 returns submission-level state only; per-question detail is not included.
When CANVAS_PSEUDONYMIZE_STUDENTS is enabled, student names are replaced with pseudonyms. Use resolve_pseudonym to look up the real identity.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| course_id | Yes | Canvas course ID to scan for submissions awaiting grading. | |
| assignment_ids | No | Limit the scan to these specific assignment IDs (numeric Canvas IDs). When omitted, all assignments in the course are scanned. | |
| include_quizzes | No | Include Classic Quiz assignments in the scan. Default: true. New Quizzes are always covered by the global New Quizzes caveat — see response.caveats. | |
| include_assignments | No | Include non-quiz assignments in the scan. Default: true. | |
| only_pending_review | No | When true, return only submissions with workflow_state=pending_review — quiz essays and manually-scored questions that Canvas auto-graded but left for human review. When false (default), return both submitted (ungraded) and pending_review submissions. |