Canvas · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Canvas LMS REST New Quiz Items API

7 actions 7 updates phrasing extends openapi/canvas-new-quiz-items-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 7

$.info
$.paths['/quiz/v1/courses/{course_id}/quizzes/{assignment_id}/items/{item_id}'].get
$.paths['/quiz/v1/courses/{course_id}/quizzes/{assignment_id}/items/{item_id}'].delete
$.paths['/quiz/v1/courses/{course_id}/quizzes/{assignment_id}/items/{item_id}'].patch
$.paths['/quiz/v1/courses/{course_id}/quizzes/{assignment_id}/items'].get
$.paths['/quiz/v1/courses/{course_id}/quizzes/{assignment_id}/items'].post
$.paths['/quiz/v1/courses/{course_id}/quizzes/{assignment_id}/items/media_upload_url'].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 New Quiz Items API
  version: 1.0.0
extends: openapi/canvas-new-quiz-items-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: 6
- target: $.paths['/quiz/v1/courses/{course_id}/quizzes/{assignment_id}/items/{item_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one question item in a New Quiz
      effect: read
      questions:
      - Can I pull the full content and scoring of a single item in a Canvas New Quiz?
      - What does one New Quizzes question look like when fetched by its item id?
      instructions:
      - text: Get item {item_id} from new quiz {assignment_id} in course {course_id}.
        slots:
          item_id: path.item_id
          assignment_id: path.assignment_id
          course_id: path.course_id
      - text: Show quiz item {item_id} of assignment {assignment_id} in {course_id}.
        slots:
          item_id: path.item_id
          assignment_id: path.assignment_id
          course_id: path.course_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/quiz/v1/courses/{course_id}/quizzes/{assignment_id}/items/{item_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a question item from a New Quiz
      effect: destructive
      questions:
      - Can I remove one question from a New Quiz without rebuilding it?
      - Is deleting a New Quizzes item permanent?
      instructions:
      - text: Delete item {item_id} from new quiz {assignment_id} in course {course_id}.
        slots:
          item_id: path.item_id
          assignment_id: path.assignment_id
          course_id: path.course_id
      - text: Remove question {item_id} from quiz {assignment_id} of {course_id}.
        slots:
          item_id: path.item_id
          assignment_id: path.assignment_id
          course_id: path.course_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/quiz/v1/courses/{course_id}/quizzes/{assignment_id}/items/{item_id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Edit a question item in a New Quiz
      effect: write
      questions:
      - Can I change the points or wording of an existing New Quiz question?
      - Which New Quizzes item types are allowed to be updated?
      instructions:
      - text: Set item {item_id} in quiz {assignment_id} of course {course_id} to {points_possible} points.
        slots:
          item_id: path.item_id
          assignment_id: path.assignment_id
          course_id: path.course_id
          points_possible: requestBody.item[points_possible]
      - text: Rewrite the body of quiz item {item_id} in {assignment_id} ({course_id}) as {item_body}.
        slots:
          item_id: path.item_id
          assignment_id: path.assignment_id
          course_id: path.course_id
          item_body: requestBody.item[entry][item_body]
      method: generated
      generated: '2026-10-01'
- target: $.paths['/quiz/v1/courses/{course_id}/quizzes/{assignment_id}/items'].get
  update:
    x-apievangelist-phrasing:
      intent: List the question items in a New Quiz
      effect: read
      questions:
      - What questions are in my New Quiz right now?
      - Can I list every item of a New Quizzes assessment in order?
      instructions:
      - text: List the items in new quiz {assignment_id} for course {course_id}.
        slots:
          assignment_id: path.assignment_id
          course_id: path.course_id
      - text: Show all questions in quiz {assignment_id} of {course_id}.
        slots:
          assignment_id: path.assignment_id
          course_id: path.course_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/quiz/v1/courses/{course_id}/quizzes/{assignment_id}/items'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a question item to a New Quiz
      effect: write
      questions:
      - How do I add a multiple choice question to a New Quiz through the API?
      - Which fields are required to create a New Quizzes question item?
      instructions:
      - text: Add a question saying {item_body} to new quiz {assignment_id} in course {course_id}.
        slots:
          item_body: requestBody.item[entry][item_body]
          assignment_id: path.assignment_id
          course_id: path.course_id
      - text: Create a {interaction_type} item in quiz {assignment_id} of {course_id} with body {item_body}.
        slots:
          interaction_type: requestBody.item[entry][interaction_type_slug]
          assignment_id: path.assignment_id
          course_id: path.course_id
          item_body: requestBody.item[entry][item_body]
      method: generated
      generated: '2026-10-01'
- target: $.paths['/quiz/v1/courses/{course_id}/quizzes/{assignment_id}/items/media_upload_url'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an upload URL for hot-spot question media
      effect: read
      questions:
      - Where do I upload the image for a hot-spot question in a New Quiz?
      - Can I get a media upload URL before creating a hot-spot item?
      instructions:
      - text: Get a media upload URL for new quiz {assignment_id} in course {course_id}.
        slots:
          assignment_id: path.assignment_id
          course_id: path.course_id
      - text: Give me an upload link for hot-spot images in quiz {assignment_id} of {course_id}.
        slots:
          assignment_id: path.assignment_id
          course_id: path.course_id
      method: generated
      generated: '2026-10-01'