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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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'