Canvas · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Canvas LMS REST Quizzes API

8 actions 8 updates phrasing extends openapi/canvas-quizzes-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'].get
$.paths['/v1/courses/{course_id}/quizzes'].post
$.paths['/v1/courses/{course_id}/quizzes/{id}'].get
$.paths['/v1/courses/{course_id}/quizzes/{id}'].put
$.paths['/v1/courses/{course_id}/quizzes/{id}'].delete
$.paths['/v1/courses/{course_id}/quizzes/{id}/reorder'].post
$.paths['/v1/courses/{course_id}/quizzes/{id}/validate_access_code'].post

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 Quizzes API
  version: 1.0.0
extends: openapi/canvas-quizzes-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'].get
  update:
    x-apievangelist-phrasing:
      intent: List the quizzes in a course
      effect: read
      questions:
      - How do I see every classic quiz in a course?
      - Can I search a course's quizzes by title?
      instructions:
      - text: List the quizzes in course {course_id}.
        slots:
          course_id: path.course_id
      - text: Find quizzes in course {course_id} matching {search_term}.
        slots:
          course_id: path.course_id
          search_term: query.search_term
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/quizzes'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a quiz in a course
      effect: write
      questions:
      - How do I create a new quiz in a Canvas course?
      - Can I set a time limit and number of allowed attempts when creating a quiz?
      - What quiz types can I choose, like graded or practice?
      instructions:
      - text: Create a quiz titled {title} in course {course_id}.
        slots:
          title: requestBody.quiz[title]
          course_id: path.course_id
      - text: Create quiz {title} in course {course_id} with a {time_limit}-minute limit.
        slots:
          title: requestBody.quiz[title]
          course_id: path.course_id
          time_limit: requestBody.quiz[time_limit]
      - text: Create quiz {title} in course {course_id} due {due_at}.
        slots:
          title: requestBody.quiz[title]
          course_id: path.course_id
          due_at: requestBody.quiz[due_at]
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/quizzes/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a single quiz
      effect: read
      questions:
      - How do I see the settings of one quiz?
      - What details does Canvas return for a specific quiz?
      instructions:
      - text: Get quiz {id} in course {course_id}.
        slots:
          id: path.id
          course_id: path.course_id
      - text: Show the settings of quiz {id} from course {course_id}.
        slots:
          id: path.id
          course_id: path.course_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/quizzes/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Edit an existing quiz
      effect: write
      questions:
      - How do I change the settings of a quiz that already exists?
      - Can I notify students when I update a quiz?
      instructions:
      - text: Update quiz {id} in course {course_id}.
        slots:
          id: path.id
          course_id: path.course_id
      - text: Edit quiz {id} in course {course_id} and notify students of the change.
        slots:
          id: path.id
          course_id: path.course_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/quizzes/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a quiz
      effect: destructive
      questions:
      - How do I delete a quiz from a course?
      - What does Canvas return after a quiz is deleted?
      instructions:
      - text: Delete quiz {id} from course {course_id}.
        slots:
          id: path.id
          course_id: path.course_id
      - text: Remove quiz {id} in course {course_id}.
        slots:
          id: path.id
          course_id: path.course_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/quizzes/{id}/reorder'].post
  update:
    x-apievangelist-phrasing:
      intent: Reorder questions in a quiz
      effect: write
      questions:
      - How do I change the order of questions in a quiz?
      - Can I move question groups around inside a quiz?
      instructions:
      - text: Reorder quiz {id} in course {course_id} to {order}.
        slots:
          id: path.id
          course_id: path.course_id
          order: requestBody.order[id]
      - text: Put the questions of quiz {id} in course {course_id} in the order {order}.
        slots:
          id: path.id
          course_id: path.course_id
          order: requestBody.order[id]
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/quizzes/{id}/validate_access_code'].post
  update:
    x-apievangelist-phrasing:
      intent: Check a quiz access code
      effect: read
      questions:
      - How do I check whether an access code for a quiz is correct?
      - Can I validate a quiz password before starting?
      instructions:
      - text: Check if {access_code} is the access code for quiz {id} in course {course_id}.
        slots:
          access_code: requestBody.access_code
          id: path.id
          course_id: path.course_id
      - text: Validate access code {access_code} on quiz {id} in course {course_id}.
        slots:
          access_code: requestBody.access_code
          id: path.id
          course_id: path.course_id
      method: generated
      generated: '2026-10-01'