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