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.
View Overlay File View on GitHub Overlay Specification

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

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