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.
# 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'
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.