Canvas · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Canvas LMS REST Submissions API
47 actions
47 updates
phrasing
extends
openapi/canvas-submissions-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Canvas's API. It is a proposal applied on top of the contract, not a document Canvas publishes.
What the actions change
x-apievangelist-phrasing
Targets 47 · first 16 shown; the file carries all of them
$.info
$.paths['/v1/courses/{course_id}/assignments/{assignment_id}/submissions'].get
$.paths['/v1/courses/{course_id}/assignments/{assignment_id}/submissions'].post
$.paths['/v1/sections/{section_id}/assignments/{assignment_id}/submissions'].get
$.paths['/v1/sections/{section_id}/assignments/{assignment_id}/submissions'].post
$.paths['/v1/courses/{course_id}/students/submissions'].get
$.paths['/v1/sections/{section_id}/students/submissions'].get
$.paths['/v1/courses/{course_id}/assignments/{assignment_id}/submissions/{user_id}'].get
$.paths['/v1/courses/{course_id}/assignments/{assignment_id}/submissions/{user_id}'].put
$.paths['/v1/sections/{section_id}/assignments/{assignment_id}/submissions/{user_id}'].get
$.paths['/v1/sections/{section_id}/assignments/{assignment_id}/submissions/{user_id}'].put
$.paths['/v1/courses/{course_id}/assignments/{assignment_id}/anonymous_submissions/{anonymous_id}'].get
$.paths['/v1/courses/{course_id}/assignments/{assignment_id}/anonymous_submissions/{anonymous_id}'].put
$.paths['/v1/sections/{section_id}/assignments/{assignment_id}/anonymous_submissions/{anonymous_id}'].get
$.paths['/v1/sections/{section_id}/assignments/{assignment_id}/anonymous_submissions/{anonymous_id}'].put
$.paths['/v1/courses/{course_id}/assignments/{assignment_id}/submissions/{user_id}/files'].post
OpenAPI Overlay
# 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'
# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/canvas/refs/heads/main/overlays/canvas-submissions-api-phrasing-overlay.yaml