Canvas · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Canvas LMS REST Quiz Submissions API
8 actions
8 updates
phrasing
extends
openapi/canvas-quiz-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 8
$.info
$.paths['/v1/courses/{course_id}/quizzes/{quiz_id}/submissions'].get
$.paths['/v1/courses/{course_id}/quizzes/{quiz_id}/submissions'].post
$.paths['/v1/courses/{course_id}/quizzes/{quiz_id}/submission'].get
$.paths['/v1/courses/{course_id}/quizzes/{quiz_id}/submissions/{id}'].get
$.paths['/v1/courses/{course_id}/quizzes/{quiz_id}/submissions/{id}'].put
$.paths['/v1/courses/{course_id}/quizzes/{quiz_id}/submissions/{id}/complete'].post
$.paths['/v1/courses/{course_id}/quizzes/{quiz_id}/submissions/{id}/time'].get
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 Quiz Submissions API
version: 1.0.0
extends: openapi/canvas-quiz-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: 7
- target: $.paths['/v1/courses/{course_id}/quizzes/{quiz_id}/submissions'].get
update:
x-apievangelist-phrasing:
intent: List all submissions for a quiz
effect: read
questions:
- Who has taken a particular quiz in my course?
- Can a grader see every student's quiz submission, not just their own?
instructions:
- text: List all submissions for quiz {quiz_id} in course {course_id}.
slots:
quiz_id: path.quiz_id
course_id: path.course_id
- text: Show every attempt on course {course_id} quiz {quiz_id} with {include} included.
slots:
course_id: path.course_id
quiz_id: path.quiz_id
include: query.include
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/quizzes/{quiz_id}/submissions'].post
update:
x-apievangelist-phrasing:
intent: Start taking a quiz
effect: write
questions:
- How does a student start a quiz attempt through the API?
- Can I start a quiz that requires an access code?
- Can a teacher preview a quiz by starting a test session?
instructions:
- text: Start quiz {quiz_id} in course {course_id}.
slots:
quiz_id: path.quiz_id
course_id: path.course_id
- text: Begin a quiz-taking session for quiz {quiz_id} in course {course_id} using access code {access_code}.
slots:
quiz_id: path.quiz_id
course_id: path.course_id
access_code: requestBody.access_code
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/quizzes/{quiz_id}/submission'].get
update:
x-apievangelist-phrasing:
intent: Get my own submission for a quiz
effect: read
questions:
- What's my current submission on a quiz I'm taking?
- Can I check my own quiz attempt without knowing its submission id?
instructions:
- text: Get my submission for quiz {quiz_id} in course {course_id}.
slots:
quiz_id: path.quiz_id
course_id: path.course_id
- text: Show the current user's attempt on course {course_id} quiz {quiz_id}.
slots:
course_id: path.course_id
quiz_id: path.quiz_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/quizzes/{quiz_id}/submissions/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a quiz submission by id
effect: read
questions:
- How do I look up one specific quiz submission by its id?
- Can I include the student and quiz details with a quiz submission?
instructions:
- text: Look up quiz submission id {id} on quiz {quiz_id} in course {course_id}.
slots:
id: path.id
quiz_id: path.quiz_id
course_id: path.course_id
- text: Show submission {id} on course {course_id} quiz {quiz_id} including {include}.
slots:
id: path.id
course_id: path.course_id
quiz_id: path.quiz_id
include: query.include
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/quizzes/{quiz_id}/submissions/{id}'].put
update:
x-apievangelist-phrasing:
intent: Adjust question scores and comments on a quiz attempt
effect: write
questions:
- How do I change the points a student got on individual quiz questions?
- Can I add a fudge-points adjustment to a student's quiz total?
- Can I leave comments on a student's quiz answers?
instructions:
- text: Add {fudge_points} fudge points to attempt {attempt} of quiz submission {id} on quiz {quiz_id} in course {course_id}.
slots:
fudge_points: requestBody.quiz_submissions[fudge_points]
attempt: requestBody.quiz_submissions[attempt]
id: path.id
quiz_id: path.quiz_id
course_id: path.course_id
- text: Update question scores and comments for attempt {attempt} of submission {id} on course {course_id} quiz {quiz_id}.
slots:
attempt: requestBody.quiz_submissions[attempt]
id: path.id
course_id: path.course_id
quiz_id: path.quiz_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/quizzes/{quiz_id}/submissions/{id}/complete'].post
update:
x-apievangelist-phrasing:
intent: Turn in a quiz attempt
effect: destructive
questions:
- How do I submit a quiz attempt for grading when I'm done?
- Can I still change answers after a quiz submission is completed?
instructions:
- text: Turn in attempt {attempt} of quiz submission {id} on quiz {quiz_id} in course {course_id} with token {validation_token}.
slots:
attempt: requestBody.attempt
id: path.id
quiz_id: path.quiz_id
course_id: path.course_id
validation_token: requestBody.validation_token
- text: Complete and grade quiz submission {id} for course {course_id} quiz {quiz_id}, attempt {attempt}.
slots:
id: path.id
course_id: path.course_id
quiz_id: path.quiz_id
attempt: requestBody.attempt
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/quizzes/{quiz_id}/submissions/{id}/time'].get
update:
x-apievangelist-phrasing:
intent: Check time left on a quiz attempt
effect: read
questions:
- How much time is left on a timed quiz attempt?
- When does a student's current quiz attempt end?
instructions:
- text: Get the time remaining on quiz submission {id} for quiz {quiz_id} in course {course_id}.
slots:
id: path.id
quiz_id: path.quiz_id
course_id: path.course_id
- text: Show when attempt {id} on course {course_id} quiz {quiz_id} ends.
slots:
id: path.id
course_id: path.course_id
quiz_id: path.quiz_id
method: generated
generated: '2026-10-01'
Work with this as data
Every overlay here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/canvas-quiz-submissions-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.