Canvas · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Canvas LMS REST Analytics API
19 actions
19 updates
phrasing
extends
openapi/canvas-analytics-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.
What the actions change
x-apievangelist-phrasing
Targets 19 · first 16 shown; the file carries all of them
$.info
$.paths['/v1/accounts/{account_id}/analytics/terms/{term_id}/activity'].get
$.paths['/v1/accounts/{account_id}/analytics/current/activity'].get
$.paths['/v1/accounts/{account_id}/analytics/completed/activity'].get
$.paths['/v1/accounts/{account_id}/analytics/terms/{term_id}/grades'].get
$.paths['/v1/accounts/{account_id}/analytics/current/grades'].get
$.paths['/v1/accounts/{account_id}/analytics/completed/grades'].get
$.paths['/v1/accounts/{account_id}/analytics/terms/{term_id}/statistics'].get
$.paths['/v1/accounts/{account_id}/analytics/current/statistics'].get
$.paths['/v1/accounts/{account_id}/analytics/completed/statistics'].get
$.paths['/v1/accounts/{account_id}/analytics/terms/{term_id}/statistics_by_subaccount'].get
$.paths['/v1/accounts/{account_id}/analytics/current/statistics_by_subaccount'].get
$.paths['/v1/accounts/{account_id}/analytics/completed/statistics_by_subaccount'].get
$.paths['/v1/courses/{course_id}/analytics/activity'].get
$.paths['/v1/courses/{course_id}/analytics/assignments'].get
$.paths['/v1/courses/{course_id}/analytics/student_summaries'].get
OpenAPI Overlay
# 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 Analytics API
version: 1.0.0
extends: openapi/canvas-analytics-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: 18
- target: $.paths['/v1/accounts/{account_id}/analytics/terms/{term_id}/activity'].get
update:
x-apievangelist-phrasing:
intent: Get department page views for a term
effect: read
questions:
- How much page-view activity did a department see during a specific term?
- Can I break a department's term activity down by day and by category?
instructions:
- text: Get participation data for account {account_id} in term {term_id}.
slots:
account_id: path.account_id
term_id: path.term_id
- text: Show daily page views across account {account_id}'s courses for term {term_id}.
slots:
account_id: path.account_id
term_id: path.term_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/analytics/current/activity'].get
update:
x-apievangelist-phrasing:
intent: Get department page views for current courses
effect: read
questions:
- How active are students in a department's currently running courses?
- What page-view categories show up for a department's active courses?
instructions:
- text: Get participation data for account {account_id}'s current courses.
slots:
account_id: path.account_id
- text: Show page views by category for courses running now in account {account_id}.
slots:
account_id: path.account_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/analytics/completed/activity'].get
update:
x-apievangelist-phrasing:
intent: Get department page views for completed courses
effect: read
questions:
- How much activity did a department's concluded courses get?
- Can I see daily page views for courses that have already ended in a department?
instructions:
- text: Get participation data for account {account_id}'s completed courses.
slots:
account_id: path.account_id
- text: Show page views for concluded courses in account {account_id}.
slots:
account_id: path.account_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/analytics/terms/{term_id}/grades'].get
update:
x-apievangelist-phrasing:
intent: Get a department's grade distribution for a term
effect: read
questions:
- What did the grade distribution look like across a department for one term?
- How are student grades spread across a department's courses in a given term?
instructions:
- text: Get the grade distribution for account {account_id} in term {term_id}.
slots:
account_id: path.account_id
term_id: path.term_id
- text: Show how grades were spread in account {account_id} during term {term_id}.
slots:
account_id: path.account_id
term_id: path.term_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/analytics/current/grades'].get
update:
x-apievangelist-phrasing:
intent: Get a department's grade distribution for current courses
effect: read
questions:
- What is the current grade distribution across a department's active courses?
- How are students doing right now across a whole department?
instructions:
- text: Get the grade distribution for account {account_id}'s current courses.
slots:
account_id: path.account_id
- text: Show current grades spread across active courses in account {account_id}.
slots:
account_id: path.account_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/analytics/completed/grades'].get
update:
x-apievangelist-phrasing:
intent: Get a department's grade distribution for completed courses
effect: read
questions:
- What were the final grade distributions for a department's concluded courses?
- How did students finish across a department's completed courses?
instructions:
- text: Get the grade distribution for account {account_id}'s completed courses.
slots:
account_id: path.account_id
- text: Show grades from concluded courses in account {account_id}.
slots:
account_id: path.account_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/analytics/terms/{term_id}/statistics'].get
update:
x-apievangelist-phrasing:
intent: Get department statistics for a term
effect: read
questions:
- How many courses, teachers and students did a department have in a term?
- What summary numbers does Canvas give for a department and term?
instructions:
- text: Get statistics for account {account_id} in term {term_id}.
slots:
account_id: path.account_id
term_id: path.term_id
- text: Summarize course and enrollment counts for account {account_id} in term {term_id}.
slots:
account_id: path.account_id
term_id: path.term_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/analytics/current/statistics'].get
update:
x-apievangelist-phrasing:
intent: Get department statistics for current courses
effect: read
questions:
- What are the headline numbers for a department's active courses?
- How many students are in a department's currently running courses?
instructions:
- text: Get statistics for account {account_id}'s current courses.
slots:
account_id: path.account_id
- text: Summarize counts for courses running now in account {account_id}.
slots:
account_id: path.account_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/analytics/completed/statistics'].get
update:
x-apievangelist-phrasing:
intent: Get department statistics for completed courses
effect: read
questions:
- What are the summary numbers for a department's concluded courses?
- How many courses has a department completed, with their student counts?
instructions:
- text: Get statistics for account {account_id}'s completed courses.
slots:
account_id: path.account_id
- text: Summarize counts for concluded courses in account {account_id}.
slots:
account_id: path.account_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/analytics/terms/{term_id}/statistics_by_subaccount'].get
update:
x-apievangelist-phrasing:
intent: Get per-subaccount statistics for a term
effect: read
questions:
- How do subaccounts compare on course and student counts in one term?
- Can I see department statistics split by subaccount for a specific term?
instructions:
- text: Get statistics by subaccount for account {account_id} in term {term_id}.
slots:
account_id: path.account_id
term_id: path.term_id
- text: Compare account {account_id}'s subaccounts for term {term_id}.
slots:
account_id: path.account_id
term_id: path.term_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/analytics/current/statistics_by_subaccount'].get
update:
x-apievangelist-phrasing:
intent: Get per-subaccount statistics for current courses
effect: read
questions:
- Which subaccounts have the most active courses right now?
- Can I split a department's current-course statistics by subaccount?
instructions:
- text: Get statistics by subaccount for account {account_id}'s current courses.
slots:
account_id: path.account_id
- text: Compare account {account_id}'s subaccounts on courses running now.
slots:
account_id: path.account_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/analytics/completed/statistics_by_subaccount'].get
update:
x-apievangelist-phrasing:
intent: Get per-subaccount statistics for completed courses
effect: read
questions:
- How do subaccounts compare on concluded courses?
- Can I split completed-course statistics by subaccount?
instructions:
- text: Get statistics by subaccount for account {account_id}'s completed courses.
slots:
account_id: path.account_id
- text: Compare account {account_id}'s subaccounts on concluded courses.
slots:
account_id: path.account_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/analytics/activity'].get
update:
x-apievangelist-phrasing:
intent: Get a course's daily page views and participation
effect: read
questions:
- How much activity has a course had each day since it started?
- Can I chart a course's page views and participations by date?
instructions:
- text: Get daily participation data for course {course_id}.
slots:
course_id: path.course_id
- text: Show page views by day for the whole history of course {course_id}.
slots:
course_id: path.course_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/analytics/assignments'].get
update:
x-apievangelist-phrasing:
intent: Get assignment analytics for a course
effect: read
questions:
- How many students turned in each assignment on time versus late?
- What does the grade breakdown look like for every assignment in a course?
- Can I fetch course assignment analytics asynchronously?
instructions:
- text: Get assignment analytics for course {course_id}.
slots:
course_id: path.course_id
- text: Show on-time and late submission counts per assignment in course {course_id}.
slots:
course_id: path.course_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/analytics/student_summaries'].get
update:
x-apievangelist-phrasing:
intent: Get per-student activity summaries for a course
effect: read
questions:
- Which students in a course have the fewest page views or participations?
- Can I sort a course's student summaries by a column?
- How do I see one student's summary row without fetching the whole class?
instructions:
- text: Get student summaries for course {course_id}.
slots:
course_id: path.course_id
- text: Sort course {course_id}'s student summaries by {sort_column}.
slots:
course_id: path.course_id
sort_column: query.sort_column
- text: Get the summary for student {student_id} in course {course_id}.
slots:
student_id: query.student_id
course_id: path.course_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/analytics/users/{student_id}/activity'].get
update:
x-apievangelist-phrasing:
intent: Get one student's hourly activity in a course
effect: read
questions:
- When has a particular student been active in a course, hour by hour?
- How often has one student participated in a course?
instructions:
- text: Get activity data for student {student_id} in course {course_id}.
slots:
student_id: path.student_id
course_id: path.course_id
- text: Show hourly page views for student {student_id} in course {course_id}.
slots:
student_id: path.student_id
course_id: path.course_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/analytics/users/{student_id}/assignments'].get
update:
x-apievangelist-phrasing:
intent: Get one student's assignment results in a course
effect: read
questions:
- How did one student do on each assignment compared with the class?
- Which assignments did a specific student submit late?
instructions:
- text: Get assignment data for student {student_id} in course {course_id}.
slots:
student_id: path.student_id
course_id: path.course_id
- text: Show student {student_id}'s grades and submission status in course {course_id}.
slots:
student_id: path.student_id
course_id: path.course_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/analytics/users/{student_id}/communication'].get
update:
x-apievangelist-phrasing:
intent: Get messaging counts between a student and instructors
effect: read
questions:
- How many messages has an instructor exchanged with a student in a course?
- Can I see student-to-instructor message counts by day?
instructions:
- text: Get messaging data for student {student_id} in course {course_id}.
slots:
student_id: path.student_id
course_id: path.course_id
- text: Show daily instructor and student message counts for student {student_id} in course {course_id}.
slots:
student_id: path.student_id
course_id: path.course_id
method: generated
generated: '2026-10-01'