Canvas · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Canvas LMS REST Course Reports API

4 actions 4 updates phrasing extends openapi/canvas-course-reports-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 4

$.info
$.paths['/v1/courses/{course_id}/reports/{report_type}/{id}'].get
$.paths['/v1/courses/{course_id}/reports/{report_type}'].get
$.paths['/v1/courses/{course_id}/reports/{report_type}'].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 Course Reports API
  version: 1.0.0
extends: openapi/canvas-course-reports-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: 3
- target: $.paths['/v1/courses/{course_id}/reports/{report_type}/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Check a specific course report's status
      effect: read
      questions:
      - Is a particular course report I started ready yet?
      - What's the progress of a course report by its ID?
      instructions:
      - text: Get the status of {report_type} report {id} in course {course_id}.
        slots:
          report_type: path.report_type
          id: path.id
          course_id: path.course_id
      - text: Check whether course {course_id} report {id} of type {report_type} has finished.
        slots:
          course_id: path.course_id
          id: path.id
          report_type: path.report_type
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/reports/{report_type}'].get
  update:
    x-apievangelist-phrasing:
      intent: Check my most recent course report
      effect: read
      questions:
      - What happened to the last course report I ran?
      - Can I see the status of my latest report of a given type without its ID?
      instructions:
      - text: Get the status of my last {report_type} report in course {course_id}.
        slots:
          report_type: path.report_type
          course_id: path.course_id
      - text: Show my most recent {report_type} report for course {course_id}.
        slots:
          report_type: path.report_type
          course_id: path.course_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/reports/{report_type}'].post
  update:
    x-apievangelist-phrasing:
      intent: Run a course report
      effect: write
      questions:
      - How do I generate a report for my course?
      - Can I limit a course report to certain sections?
      instructions:
      - text: Start a {report_type} report for course {course_id}.
        slots:
          report_type: path.report_type
          course_id: path.course_id
      - text: Run the {report_type} report in course {course_id} for sections {section_ids}.
        slots:
          report_type: path.report_type
          course_id: path.course_id
          section_ids: requestBody.parameters[section_ids]
      method: generated
      generated: '2026-10-01'