# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Canvas LMS REST Submissions API version: 1.0.0 extends: openapi/canvas-submissions-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-10-01' generator: build-phrasing.py label: Generated by API Evangelist operations: 46 - target: $.paths['/v1/courses/{course_id}/assignments/{assignment_id}/submissions'].get update: x-apievangelist-phrasing: intent: List all submissions for a course assignment effect: read questions: - Which students have turned in a given assignment in my Canvas course? - Can I get a course assignment's submissions grouped by student? - Where do I see every submission made to one assignment across the whole course? instructions: - text: List all submissions for assignment {assignment_id} in course {course_id}. slots: assignment_id: path.assignment_id course_id: path.course_id - text: Show course {course_id} submissions on assignment {assignment_id} grouped by student. slots: course_id: path.course_id assignment_id: path.assignment_id method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/assignments/{assignment_id}/submissions'].post update: x-apievangelist-phrasing: intent: Submit a course assignment as a student effect: write questions: - How do I turn in homework for a course assignment through the API? - Can a student submit a website URL or a text entry as their course assignment? - What happens if my course enrollment is concluded when I try to submit? instructions: - text: Turn in assignment {assignment_id} in course {course_id} as a {submission_type} submission. slots: assignment_id: path.assignment_id course_id: path.course_id submission_type: requestBody.submission[submission_type] - text: Submit the link {url} for assignment {assignment_id} in course {course_id}. slots: url: requestBody.submission[url] assignment_id: path.assignment_id course_id: path.course_id method: generated generated: '2026-10-01' - target: $.paths['/v1/sections/{section_id}/assignments/{assignment_id}/submissions'].get update: x-apievangelist-phrasing: intent: List a section's submissions for an assignment effect: read questions: - Which students in one section have turned in a particular assignment? - Can I pull assignment submissions for just a single section instead of the whole course? instructions: - text: List submissions for assignment {assignment_id} from section {section_id} only. slots: assignment_id: path.assignment_id section_id: path.section_id - text: Show what section {section_id} handed in for assignment {assignment_id}, grouped per student. slots: section_id: path.section_id assignment_id: path.assignment_id method: generated generated: '2026-10-01' - target: $.paths['/v1/sections/{section_id}/assignments/{assignment_id}/submissions'].post update: x-apievangelist-phrasing: intent: Submit an assignment through a course section effect: write questions: - Can a student submit an assignment through their section rather than the course? - Is it possible to hand in an online text entry to an assignment using my section id? instructions: - text: Submit assignment {assignment_id} via section {section_id} as a {submission_type} entry. slots: assignment_id: path.assignment_id section_id: path.section_id submission_type: requestBody.submission[submission_type] - text: Hand in the text {body} for assignment {assignment_id} through section {section_id}. slots: body: requestBody.submission[body] assignment_id: path.assignment_id section_id: path.section_id method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/students/submissions'].get update: x-apievangelist-phrasing: intent: List course submissions across students and assignments effect: read questions: - Can I fetch submissions for several students and several assignments at once in a course? - What submissions in my course were graded since last Monday? - Is there a way to filter a course's submissions by workflow state, like pending review? instructions: - text: List submissions in course {course_id} for students {student_ids} on assignments {assignment_ids}. slots: course_id: path.course_id student_ids: query.student_ids assignment_ids: query.assignment_ids - text: Get every submission in course {course_id} graded since {graded_since}. slots: course_id: path.course_id graded_since: query.graded_since - text: Show course {course_id} submissions in the {workflow_state} state. slots: course_id: path.course_id workflow_state: query.workflow_state method: generated generated: '2026-10-01' - target: $.paths['/v1/sections/{section_id}/students/submissions'].get update: x-apievangelist-phrasing: intent: List section submissions across students and assignments effect: read questions: - Can I pull submissions for many students and assignments within just one section? - Which submissions in a section were turned in after a given date? - Can I limit a section's multi-assignment submission list to one grading period? instructions: - text: List section {section_id} submissions for students {student_ids} across assignments {assignment_ids}. slots: section_id: path.section_id student_ids: query.student_ids assignment_ids: query.assignment_ids - text: Show submissions in section {section_id} for grading period {grading_period_id}. slots: section_id: path.section_id grading_period_id: query.grading_period_id - text: Get section {section_id} work submitted since {submitted_since}. slots: section_id: path.section_id submitted_since: query.submitted_since method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/assignments/{assignment_id}/submissions/{user_id}'].get update: x-apievangelist-phrasing: intent: Get one student's submission for a course assignment effect: read questions: - How can I see a specific student's submission on a course assignment? - Can I include submission comments and the rubric assessment when fetching one student's course submission? instructions: - text: Get user {user_id}'s submission for assignment {assignment_id} in course {course_id}. slots: user_id: path.user_id assignment_id: path.assignment_id course_id: path.course_id - text: Open student {user_id}'s course {course_id} submission on assignment {assignment_id} with its comments. slots: user_id: path.user_id course_id: path.course_id assignment_id: path.assignment_id method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/assignments/{assignment_id}/submissions/{user_id}'].put update: x-apievangelist-phrasing: intent: Grade or comment on a student's course submission effect: write questions: - How do I post a grade for one student's submission in a course? - Can I excuse a student from a course assignment instead of grading it? - Can I attach a sticker or a peer review flag when grading a course submission? instructions: - text: Give student {user_id} a grade of {posted_grade} on assignment {assignment_id} in course {course_id}. slots: user_id: path.user_id posted_grade: requestBody.submission[posted_grade] assignment_id: path.assignment_id course_id: path.course_id - text: Comment {text_comment} on user {user_id}'s submission for assignment {assignment_id} in course {course_id}. slots: text_comment: requestBody.comment[text_comment] user_id: path.user_id assignment_id: path.assignment_id course_id: path.course_id - text: Excuse student {user_id} from course {course_id} assignment {assignment_id}. slots: user_id: path.user_id course_id: path.course_id assignment_id: path.assignment_id method: generated generated: '2026-10-01' - target: $.paths['/v1/sections/{section_id}/assignments/{assignment_id}/submissions/{user_id}'].get update: x-apievangelist-phrasing: intent: Get one student's submission through a section effect: read questions: - Can I look up one student's assignment submission through their section? - Is there a section-scoped way to fetch a single student's submission with its rubric assessment? instructions: - text: Get the section {section_id} submission by user {user_id} on assignment {assignment_id}. slots: section_id: path.section_id user_id: path.user_id assignment_id: path.assignment_id - text: Show student {user_id}'s work for assignment {assignment_id} as seen in section {section_id}. slots: user_id: path.user_id assignment_id: path.assignment_id section_id: path.section_id method: generated generated: '2026-10-01' - target: $.paths['/v1/sections/{section_id}/assignments/{assignment_id}/submissions/{user_id}'].put update: x-apievangelist-phrasing: intent: Grade or comment on a submission through a section effect: write questions: - How do I grade a student's work using their section id? - Can a section-limited instructor leave a comment on a student's submission? - Can I set a late policy status on a submission while grading through a section? instructions: - text: Grade user {user_id} {posted_grade} for assignment {assignment_id} via section {section_id}. slots: user_id: path.user_id posted_grade: requestBody.submission[posted_grade] assignment_id: path.assignment_id section_id: path.section_id - text: Leave the comment {text_comment} on student {user_id}'s assignment {assignment_id} work in section {section_id}. slots: text_comment: requestBody.comment[text_comment] user_id: path.user_id assignment_id: path.assignment_id section_id: path.section_id - text: Set the late policy status of user {user_id}'s assignment {assignment_id} submission in section {section_id} to {late_policy_status}. slots: user_id: path.user_id assignment_id: path.assignment_id section_id: path.section_id late_policy_status: requestBody.submission[late_policy_status] method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/assignments/{assignment_id}/anonymous_submissions/{anonymous_id}'].get update: x-apievangelist-phrasing: intent: Get a course submission by its anonymous id effect: read questions: - How do I fetch a submission by its anonymous id when grading anonymously in a course? - Can I view an anonymized course submission without knowing which student made it? instructions: - text: Get anonymous submission {anonymous_id} for assignment {assignment_id} in course {course_id}. slots: anonymous_id: path.anonymous_id assignment_id: path.assignment_id course_id: path.course_id - text: Show the anonymously graded course {course_id} submission {anonymous_id} on assignment {assignment_id}. slots: course_id: path.course_id anonymous_id: path.anonymous_id assignment_id: path.assignment_id method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/assignments/{assignment_id}/anonymous_submissions/{anonymous_id}'].put update: x-apievangelist-phrasing: intent: Grade a course submission by its anonymous id effect: write questions: - How do I enter a grade for a course submission using only its anonymous id? - Can I comment on an anonymous course submission without revealing the student? instructions: - text: Grade anonymous submission {anonymous_id} on course {course_id} assignment {assignment_id} as {posted_grade}. slots: anonymous_id: path.anonymous_id course_id: path.course_id assignment_id: path.assignment_id posted_grade: requestBody.submission[posted_grade] - text: Add comment {text_comment} to anonymous submission {anonymous_id} for assignment {assignment_id} in course {course_id}. slots: text_comment: requestBody.comment[text_comment] anonymous_id: path.anonymous_id assignment_id: path.assignment_id course_id: path.course_id method: generated generated: '2026-10-01' - target: $.paths['/v1/sections/{section_id}/assignments/{assignment_id}/anonymous_submissions/{anonymous_id}'].get update: x-apievangelist-phrasing: intent: Get a section submission by its anonymous id effect: read questions: - How can a section grader retrieve a submission by anonymous id? - Can I open an anonymized submission scoped to one section during anonymous grading? instructions: - text: Get section {section_id} anonymous submission {anonymous_id} for assignment {assignment_id}. slots: section_id: path.section_id anonymous_id: path.anonymous_id assignment_id: path.assignment_id - text: Look up anonymized work {anonymous_id} on assignment {assignment_id} through section {section_id}. slots: anonymous_id: path.anonymous_id assignment_id: path.assignment_id section_id: path.section_id method: generated generated: '2026-10-01' - target: $.paths['/v1/sections/{section_id}/assignments/{assignment_id}/anonymous_submissions/{anonymous_id}'].put update: x-apievangelist-phrasing: intent: Grade a section submission by its anonymous id effect: write questions: - Can I post an anonymous grade through a section using the anonymous id? - Is it possible to excuse an anonymously graded submission within a section? instructions: - text: Grade anonymized work {anonymous_id} on assignment {assignment_id} in section {section_id} as {posted_grade}. slots: anonymous_id: path.anonymous_id assignment_id: path.assignment_id section_id: path.section_id posted_grade: requestBody.submission[posted_grade] - text: Excuse anonymous submission {anonymous_id} for assignment {assignment_id} via section {section_id}. slots: anonymous_id: path.anonymous_id assignment_id: path.assignment_id section_id: path.section_id method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/assignments/{assignment_id}/submissions/{user_id}/files'].post update: x-apievangelist-phrasing: intent: Start a file upload for a course submission effect: write questions: - How does a student upload a file to attach to a course assignment submission? - What's the first step for uploading a submission file before turning in a course assignment? instructions: - text: Start a submission file upload for user {user_id} on assignment {assignment_id} in course {course_id}. slots: user_id: path.user_id assignment_id: path.assignment_id course_id: path.course_id - text: Begin uploading an attachment to course {course_id} assignment {assignment_id} for student {user_id}. slots: course_id: path.course_id assignment_id: path.assignment_id user_id: path.user_id method: generated generated: '2026-10-01' - target: $.paths['/v1/sections/{section_id}/assignments/{assignment_id}/submissions/{user_id}/files'].post update: x-apievangelist-phrasing: intent: Start a file upload for a section submission effect: write questions: - Can I begin a submission file upload through a section instead of a course? - Where do I initiate attaching a file to an assignment submission using a section id? instructions: - text: Initiate a submission file upload via section {section_id} for assignment {assignment_id} and user {user_id}. slots: section_id: path.section_id assignment_id: path.assignment_id user_id: path.user_id - text: Open a file upload for student {user_id}'s section {section_id} submission on assignment {assignment_id}. slots: user_id: path.user_id section_id: path.section_id assignment_id: path.assignment_id method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/assignments/{assignment_id}/gradeable_students'].get update: x-apievangelist-phrasing: intent: List students who can be graded on an assignment effect: read questions: - Which students are gradeable for one assignment? - Can I sort the list of students I'm able to grade on an assignment? instructions: - text: List gradeable students for assignment {assignment_id} in course {course_id}. slots: assignment_id: path.assignment_id course_id: path.course_id - text: Show the students I can grade on assignment {assignment_id} in course {course_id}, sorted by {sort}. slots: assignment_id: path.assignment_id course_id: path.course_id sort: query.sort method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/assignments/gradeable_students'].get update: x-apievangelist-phrasing: intent: List students eligible for several assignments effect: read questions: - Which students are eligible to submit a whole set of assignments? - Will a section-limited instructor only see their own students across multiple assignments? instructions: - text: List students eligible to submit assignments {assignment_ids} in course {course_id}. slots: assignment_ids: query.assignment_ids course_id: path.course_id - text: Show who can hand in any of assignments {assignment_ids} in course {course_id}. slots: assignment_ids: query.assignment_ids course_id: path.course_id method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/submissions/update_grades'].post update: x-apievangelist-phrasing: intent: Bulk grade submissions across a course's assignments effect: write questions: - Can I grade many students across several assignments in a course in one request? - Does bulk grading across a whole course run as a background job? instructions: - text: Bulk update grades and comments for multiple assignments in course {course_id}. slots: course_id: path.course_id - text: Submit a batch of student grades spanning several assignments in course {course_id} as an async job. slots: course_id: path.course_id method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/assignments/{assignment_id}/submissions/update_grades'].post update: x-apievangelist-phrasing: intent: Bulk grade one course assignment's submissions effect: write questions: - How do I grade every student on one course assignment in a single call? - Can I add comments to many students' submissions for one course assignment at once? instructions: - text: Bulk grade all listed students on assignment {assignment_id} in course {course_id}. slots: assignment_id: path.assignment_id course_id: path.course_id - text: Apply a batch of comments and scores to course {course_id} assignment {assignment_id}. slots: course_id: path.course_id assignment_id: path.assignment_id method: generated generated: '2026-10-01' - target: $.paths['/v1/sections/{section_id}/submissions/update_grades'].post update: x-apievangelist-phrasing: intent: Bulk grade submissions across a section effect: write questions: - Can I bulk grade a whole section's submissions across different assignments? - Can a section instructor update many grades for their section in one go? instructions: - text: Bulk update grades for multiple assignments in section {section_id}. slots: section_id: path.section_id - text: Run a batch grading job across every assignment for section {section_id}. slots: section_id: path.section_id method: generated generated: '2026-10-01' - target: $.paths['/v1/sections/{section_id}/assignments/{assignment_id}/submissions/update_grades'].post update: x-apievangelist-phrasing: intent: Bulk grade one assignment within a section effect: write questions: - How do I grade a section's students on a single assignment in one batch? - Can I bulk excuse a section's students from one assignment? instructions: - text: Bulk grade section {section_id} students on assignment {assignment_id}. slots: section_id: path.section_id assignment_id: path.assignment_id - text: Queue batch grades and comments for assignment {assignment_id} within section {section_id}. slots: assignment_id: path.assignment_id section_id: path.section_id method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/assignments/{assignment_id}/submissions/{user_id}/read'].put update: x-apievangelist-phrasing: intent: Mark a course submission as read effect: write questions: - How do I mark a student's course submission as read? - Can I clear the unread badge on one submission in a course? instructions: - text: Mark user {user_id}'s submission on assignment {assignment_id} in course {course_id} as read. slots: user_id: path.user_id assignment_id: path.assignment_id course_id: path.course_id - text: Flag the course {course_id} assignment {assignment_id} submission from {user_id} as seen. slots: course_id: path.course_id assignment_id: path.assignment_id user_id: path.user_id method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/assignments/{assignment_id}/submissions/{user_id}/read'].delete update: x-apievangelist-phrasing: intent: Mark a course submission as unread effect: destructive questions: - Can I flip a submission in a course back to unread? - How do I restore the unread indicator on a course submission I already opened? instructions: - text: Set the course {course_id} submission from {user_id} on assignment {assignment_id} back to unread. slots: course_id: path.course_id user_id: path.user_id assignment_id: path.assignment_id - text: Make student {user_id}'s assignment {assignment_id} work in course {course_id} show as unread again. slots: user_id: path.user_id assignment_id: path.assignment_id course_id: path.course_id method: generated generated: '2026-10-01' - target: $.paths['/v1/sections/{section_id}/assignments/{assignment_id}/submissions/{user_id}/read'].put update: x-apievangelist-phrasing: intent: Mark a section submission as read effect: write questions: - Can I mark a submission read using the student's section? - Is there a section-scoped call to dismiss the unread marker on a submission? instructions: - text: Mark section {section_id} submission by {user_id} on assignment {assignment_id} read. slots: section_id: path.section_id user_id: path.user_id assignment_id: path.assignment_id - text: Record that I've seen student {user_id}'s assignment {assignment_id} work via section {section_id}. slots: user_id: path.user_id assignment_id: path.assignment_id section_id: path.section_id method: generated generated: '2026-10-01' - target: $.paths['/v1/sections/{section_id}/assignments/{assignment_id}/submissions/{user_id}/read'].delete update: x-apievangelist-phrasing: intent: Mark a section submission as unread effect: destructive questions: - Can I set a submission back to unread through a section? - Is there a section-level way to undo marking a student's submission as read? instructions: - text: Revert section {section_id} submission from {user_id} on assignment {assignment_id} to unread. slots: section_id: path.section_id user_id: path.user_id assignment_id: path.assignment_id - text: Put the unread flag back on student {user_id}'s assignment {assignment_id} work in section {section_id}. slots: user_id: path.user_id assignment_id: path.assignment_id section_id: path.section_id method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/submissions/bulk_mark_read'].put update: x-apievangelist-phrasing: intent: Mark many course submissions as read at once effect: write questions: - Can I mark a batch of submissions in a course as read in one call? - Is there a bulk way to clear unread status on a list of course submission ids? instructions: - text: Mark submissions {submission_ids} in course {course_id} as read. slots: submission_ids: requestBody.submissionIds course_id: path.course_id - text: 'Bulk mark these course {course_id} submission ids read: {submission_ids}.' slots: course_id: path.course_id submission_ids: requestBody.submissionIds method: generated generated: '2026-10-01' - target: $.paths['/v1/sections/{section_id}/submissions/bulk_mark_read'].put update: x-apievangelist-phrasing: intent: Mark many section submissions as read at once effect: write questions: - Can I mark a list of submissions as read for one section in bulk? - Is bulk read-marking available per section rather than per course? instructions: - text: Mark submissions {submission_ids} in section {section_id} as read. slots: submission_ids: requestBody.submissionIds section_id: path.section_id - text: Clear unread status in bulk for section {section_id} submission ids {submission_ids}. slots: section_id: path.section_id submission_ids: requestBody.submissionIds method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/assignments/{assignment_id}/submissions/{user_id}/read/{item}'].put update: x-apievangelist-phrasing: intent: Mark a course submission's grade, comment or rubric read effect: write questions: - Can I mark only the grade or only the comments on a course submission as read? - What submission items can be marked read individually in a course? instructions: - text: Mark only the {item} item read on user {user_id}'s assignment {assignment_id} work in course {course_id}. slots: item: path.item user_id: path.user_id assignment_id: path.assignment_id course_id: path.course_id - text: Mark just the comment item read on student {user_id}'s course {course_id} assignment {assignment_id} submission. slots: user_id: path.user_id course_id: path.course_id assignment_id: path.assignment_id method: generated generated: '2026-10-01' - target: $.paths['/v1/sections/{section_id}/assignments/{assignment_id}/submissions/{user_id}/read/{item}'].put update: x-apievangelist-phrasing: intent: Mark a section submission's grade, comment or rubric read effect: write questions: - Can I mark just the rubric part of a submission as read through a section? - Is per-item read marking (grade, comment, rubric) available via a section? instructions: - text: Mark item {item} read on section {section_id} submission by {user_id} for assignment {assignment_id}. slots: item: path.item section_id: path.section_id user_id: path.user_id assignment_id: path.assignment_id - text: Mark only the grade as read on student {user_id}'s assignment {assignment_id} work in section {section_id}. slots: user_id: path.user_id assignment_id: path.assignment_id section_id: path.section_id method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/submissions/{user_id}/clear_unread'].put update: x-apievangelist-phrasing: intent: Clear unread status on all of a user's course submissions effect: write questions: - How can a site admin clear every unread submission flag for a user in a course? - Is there a way to reset a student's unread status on all their course submissions at once? instructions: - text: Clear unread status on all of user {user_id}'s submissions in course {course_id}. slots: user_id: path.user_id course_id: path.course_id - text: Wipe every unread marker for student {user_id} across course {course_id}. slots: user_id: path.user_id course_id: path.course_id method: generated generated: '2026-10-01' - target: $.paths['/v1/sections/{section_id}/submissions/{user_id}/clear_unread'].put update: x-apievangelist-phrasing: intent: Clear unread status on all of a user's section submissions effect: write questions: - Can a site admin clear all unread submission flags for a user within one section? - Is there a section-scoped reset of a student's unread submissions? instructions: - text: Clear unread status on every submission by user {user_id} in section {section_id}. slots: user_id: path.user_id section_id: path.section_id - text: Reset all unread submission markers for student {user_id} through section {section_id}. slots: user_id: path.user_id section_id: path.section_id method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/assignments/{assignment_id}/submissions/{user_id}/rubric_comments/read'].get update: x-apievangelist-phrasing: intent: Check if a student has seen new rubric comments (course) effect: read questions: - Has a student seen the new rubric comments on their course submission yet? - Can I check the read state of rubric comments using the course rubric_comments path? instructions: - text: Check whether user {user_id} has read the rubric comments on assignment {assignment_id} in course {course_id}. slots: user_id: path.user_id assignment_id: path.assignment_id course_id: path.course_id - text: Get the rubric comments read state for student {user_id}, course {course_id}, assignment {assignment_id}. slots: user_id: path.user_id course_id: path.course_id assignment_id: path.assignment_id method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/assignments/{assignment_id}/submissions/{user_id}/rubric_comments/read'].put update: x-apievangelist-phrasing: intent: Mark rubric comments read on my course submission effect: write questions: - As a student, how do I mark the rubric comments on my course submission as read? - Can only the submission owner mark rubric comments as seen in a course? instructions: - text: Mark the rubric comments on my assignment {assignment_id} submission in course {course_id} read for user {user_id}. slots: assignment_id: path.assignment_id course_id: path.course_id user_id: path.user_id - text: Acknowledge rubric comments for student {user_id} on course {course_id} assignment {assignment_id}. slots: user_id: path.user_id course_id: path.course_id assignment_id: path.assignment_id method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/assignments/{assignment_id}/submissions/{user_id}/rubric_assessments/read'].get update: x-apievangelist-phrasing: intent: Check if a student has seen rubric grading (course) effect: read questions: - Has a student viewed the rubric assessment grading on their course assignment? - Where do I check the rubric assessments read state for a course submission? instructions: - text: Check whether user {user_id} has seen the rubric assessment on assignment {assignment_id} in course {course_id}. slots: user_id: path.user_id assignment_id: path.assignment_id course_id: path.course_id - text: Get rubric assessments read state for course {course_id} assignment {assignment_id} student {user_id}. slots: course_id: path.course_id assignment_id: path.assignment_id user_id: path.user_id method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/assignments/{assignment_id}/submissions/{user_id}/rubric_assessments/read'].put update: x-apievangelist-phrasing: intent: Mark rubric grading read on my course submission effect: write questions: - How does a student acknowledge rubric assessment grading on a course assignment? - Can a student mark their course rubric assessment as viewed through the API? instructions: - text: Mark the rubric assessment on my course {course_id} assignment {assignment_id} submission as read for {user_id}. slots: course_id: path.course_id assignment_id: path.assignment_id user_id: path.user_id - text: Record that student {user_id} viewed rubric grading on assignment {assignment_id} in course {course_id}. slots: user_id: path.user_id assignment_id: path.assignment_id course_id: path.course_id method: generated generated: '2026-10-01' - target: $.paths['/v1/sections/{section_id}/assignments/{assignment_id}/submissions/{user_id}/rubric_comments/read'].get update: x-apievangelist-phrasing: intent: Check if a student has seen rubric comments (section) effect: read questions: - Can I check through a section whether a student read their new rubric comments? - Is there a section-scoped rubric_comments read-state lookup? instructions: - text: Check if user {user_id} in section {section_id} has read rubric comments on assignment {assignment_id}. slots: user_id: path.user_id section_id: path.section_id assignment_id: path.assignment_id - text: Get section {section_id} rubric comments read state for student {user_id} on assignment {assignment_id}. slots: section_id: path.section_id user_id: path.user_id assignment_id: path.assignment_id method: generated generated: '2026-10-01' - target: $.paths['/v1/sections/{section_id}/assignments/{assignment_id}/submissions/{user_id}/rubric_comments/read'].put update: x-apievangelist-phrasing: intent: Mark rubric comments read on my section submission effect: write questions: - Can a student mark rubric comments as read through their section? - Is there a section path for acknowledging new rubric comments on my submission? instructions: - text: Mark rubric comments read for user {user_id} on assignment {assignment_id} via section {section_id}. slots: user_id: path.user_id assignment_id: path.assignment_id section_id: path.section_id - text: Acknowledge rubric comments on student {user_id}'s section {section_id} assignment {assignment_id} submission. slots: user_id: path.user_id section_id: path.section_id assignment_id: path.assignment_id method: generated generated: '2026-10-01' - target: $.paths['/v1/sections/{section_id}/assignments/{assignment_id}/submissions/{user_id}/rubric_assessments/read'].get update: x-apievangelist-phrasing: intent: Check if a student has seen rubric grading (section) effect: read questions: - Can I see through a section whether a student viewed their rubric assessment? - Is there a section-level rubric_assessments read-state check? instructions: - text: Check if user {user_id} in section {section_id} has seen rubric grading on assignment {assignment_id}. slots: user_id: path.user_id section_id: path.section_id assignment_id: path.assignment_id - text: Get section {section_id} rubric assessments read state for student {user_id}, assignment {assignment_id}. slots: section_id: path.section_id user_id: path.user_id assignment_id: path.assignment_id method: generated generated: '2026-10-01' - target: $.paths['/v1/sections/{section_id}/assignments/{assignment_id}/submissions/{user_id}/rubric_assessments/read'].put update: x-apievangelist-phrasing: intent: Mark rubric grading read on my section submission effect: write questions: - Can a student acknowledge rubric assessment grading through their section? - Is there a section path to mark my rubric assessment as viewed? instructions: - text: Mark the rubric assessment read for user {user_id} on assignment {assignment_id} via section {section_id}. slots: user_id: path.user_id assignment_id: path.assignment_id section_id: path.section_id - text: Record that student {user_id} in section {section_id} viewed rubric grading for assignment {assignment_id}. slots: user_id: path.user_id section_id: path.section_id assignment_id: path.assignment_id method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/assignments/{assignment_id}/submissions/{user_id}/document_annotations/read'].get update: x-apievangelist-phrasing: intent: Check if a student read document annotations (course) effect: read questions: - Has a student read the annotations I made on their submitted document in a course? - Can I check document annotation read state for a course submission? instructions: - text: Check whether user {user_id} has read document annotations on assignment {assignment_id} in course {course_id}. slots: user_id: path.user_id assignment_id: path.assignment_id course_id: path.course_id - text: Get annotation read state for student {user_id}'s course {course_id} assignment {assignment_id} document. slots: user_id: path.user_id course_id: path.course_id assignment_id: path.assignment_id method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/assignments/{assignment_id}/submissions/{user_id}/document_annotations/read'].put update: x-apievangelist-phrasing: intent: Mark document annotations read on my course submission effect: write questions: - How does a student mark the annotations on their submitted document as read in a course? - Can only the student who owns the submission mark document annotations read? instructions: - text: Mark document annotations read for user {user_id} on assignment {assignment_id} in course {course_id}. slots: user_id: path.user_id assignment_id: path.assignment_id course_id: path.course_id - text: Acknowledge the annotations on my course {course_id} assignment {assignment_id} document as {user_id}. slots: course_id: path.course_id assignment_id: path.assignment_id user_id: path.user_id method: generated generated: '2026-10-01' - target: $.paths['/v1/sections/{section_id}/assignments/{assignment_id}/submissions/{user_id}/document_annotations/read'].get update: x-apievangelist-phrasing: intent: Check if a student read document annotations (section) effect: read questions: - Can I see through a section whether a student read annotations on their document? - Is there a section-scoped document annotations read-state lookup? instructions: - text: Check if user {user_id} in section {section_id} read document annotations on assignment {assignment_id}. slots: user_id: path.user_id section_id: path.section_id assignment_id: path.assignment_id - text: Get section {section_id} annotation read state for student {user_id}'s assignment {assignment_id} upload. slots: section_id: path.section_id user_id: path.user_id assignment_id: path.assignment_id method: generated generated: '2026-10-01' - target: $.paths['/v1/sections/{section_id}/assignments/{assignment_id}/submissions/{user_id}/document_annotations/read'].put update: x-apievangelist-phrasing: intent: Mark document annotations read on my section submission effect: write questions: - Can a student mark document annotations as read through their section? - Is there a section path to acknowledge annotations on my submitted file? instructions: - text: Mark document annotations read for user {user_id} on assignment {assignment_id} via section {section_id}. slots: user_id: path.user_id assignment_id: path.assignment_id section_id: path.section_id - text: Acknowledge annotations on student {user_id}'s section {section_id} assignment {assignment_id} document. slots: user_id: path.user_id section_id: path.section_id assignment_id: path.assignment_id method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/assignments/{assignment_id}/submission_summary'].get update: x-apievangelist-phrasing: intent: Count graded, ungraded and missing course submissions effect: read questions: - How many students in my course are graded, ungraded or haven't submitted an assignment? - Can a course submission summary include deactivated students? instructions: - text: Summarize submission counts for assignment {assignment_id} in course {course_id}. slots: assignment_id: path.assignment_id course_id: path.course_id - text: Tell me how many course {course_id} students are graded, ungraded, or not submitted on assignment {assignment_id}. slots: course_id: path.course_id assignment_id: path.assignment_id method: generated generated: '2026-10-01' - target: $.paths['/v1/sections/{section_id}/assignments/{assignment_id}/submission_summary'].get update: x-apievangelist-phrasing: intent: Count graded, ungraded and missing section submissions effect: read questions: - What's the graded versus ungraded versus not-submitted breakdown for one section? - Can I get submission summary counts for an assignment in just one section? instructions: - text: Summarize submission counts for assignment {assignment_id} in section {section_id}. slots: assignment_id: path.assignment_id section_id: path.section_id - text: Break down section {section_id} students by graded, ungraded and missing for assignment {assignment_id}. slots: section_id: path.section_id assignment_id: path.assignment_id method: generated generated: '2026-10-01'