Canvas · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Canvas LMS REST Progress API

4 actions 4 updates phrasing extends openapi/canvas-progress-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/progress/{id}'].get
$.paths['/v1/progress/{id}/cancel'].post
$.paths['/lti/courses/{course_id}/progress/{id}'].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 Progress API
  version: 1.0.0
extends: openapi/canvas-progress-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/progress/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Check a background job's progress
      effect: read
      questions:
      - How do I check whether an asynchronous Canvas job has finished?
      - What completion percentage and status does a progress object report?
      instructions:
      - text: Check progress {id}.
        slots:
          id: path.id
      - text: Tell me how far along background job {id} is.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/progress/{id}/cancel'].post
  update:
    x-apievangelist-phrasing:
      intent: Cancel a background job
      effect: destructive
      questions:
      - How do I cancel a long-running asynchronous job?
      - Can I attach a message explaining why a job was cancelled?
      instructions:
      - text: Cancel background job {id}.
        slots:
          id: path.id
      - text: Stop the asynchronous job tracked by progress {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/lti/courses/{course_id}/progress/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Check an LTI job's progress in a course
      effect: read
      questions:
      - How does an LTI tool check the progress of a job it started in a course?
      - Where do LTI tools poll for asynchronous job status?
      instructions:
      - text: Check LTI progress {id} in course {course_id}.
        slots:
          id: path.id
          course_id: path.course_id
      - text: Get the status of the LTI job {id} running in course {course_id}.
        slots:
          id: path.id
          course_id: path.course_id
      method: generated
      generated: '2026-10-01'