How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Canvas Analytics API

The Analytics API from Canvas — 18 operation(s) for analytics.

Canvas Analytics API is one of 145 APIs that Canvas publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Analytics. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, authentication docs, a GitHub repository, an API reference, and rate-limit docs.

This API exposes 18 operations across 18 paths. It is described by OpenAPI 3.2.0, at version v1.

Requests are made against 2 base URLs: https://canvas.instructure.com/api, https://{canvas_host}/api.

18 operations 18 paths 0 schemas 18 GET

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
v1
Base URL
https://canvas.instructure.com/api/v1
Authentication
HTTP Bearer, OAuth 2.0
License
Resource Areas
1

Authentication & Security 2

Canvas Analytics API declares 2 security schemes for authenticating requests. It accepts HTTP bearer tokens (bearerAuth). It supports OAuth 2.0 (oauth2) using the authorizationCode flow. By default, every request must be authenticated.

  • bearerAuth — Canvas OAuth2 access token sent as "Authorization: Bearer ". See https://canvas.instructure.com/doc/api/file.oauth.html
  • oauth2 — Canvas OAuth2. See https://canvas.instructure.com/doc/api/file.oauth.html and https://canvas.instructure.com/doc/api/file.oauthendpoints.html

Paths & Operations 18

Across 18 paths, the API surfaces 18 operations — 18 GET. Each is listed below with its method, path, parameters, and response codes.

Analytics 18
GET
/v1/accounts/{account_id}/analytics/terms/{term_id}/activity
Get department-level participation data
get_department_level_participation_data_terms 2 params → 200
GET
/v1/accounts/{account_id}/analytics/current/activity
Get department-level participation data
get_department_level_participation_data_current 1 param → 200
GET
/v1/accounts/{account_id}/analytics/completed/activity
Get department-level participation data
get_department_level_participation_data_completed 1 param → 200
GET
/v1/accounts/{account_id}/analytics/terms/{term_id}/grades
Get department-level grade data
get_department_level_grade_data_terms 2 params → 200
GET
/v1/accounts/{account_id}/analytics/current/grades
Get department-level grade data
get_department_level_grade_data_current 1 param → 200
GET
/v1/accounts/{account_id}/analytics/completed/grades
Get department-level grade data
get_department_level_grade_data_completed 1 param → 200
GET
/v1/accounts/{account_id}/analytics/terms/{term_id}/statistics
Get department-level statistics
get_department_level_statistics_terms 2 params → 200
GET
/v1/accounts/{account_id}/analytics/current/statistics
Get department-level statistics
get_department_level_statistics_current 1 param → 200
GET
/v1/accounts/{account_id}/analytics/completed/statistics
Get department-level statistics
get_department_level_statistics_completed 1 param → 200
GET
/v1/accounts/{account_id}/analytics/terms/{term_id}/statistics_by_subaccount
Get department-level statistics, broken down by subaccount
get_department_level_statistics_broken_down_by_subaccount_terms 2 params → 200
GET
/v1/accounts/{account_id}/analytics/current/statistics_by_subaccount
Get department-level statistics, broken down by subaccount
get_department_level_statistics_broken_down_by_subaccount_current 1 param → 200
GET
/v1/accounts/{account_id}/analytics/completed/statistics_by_subaccount
Get department-level statistics, broken down by subaccount
get_department_level_statistics_broken_down_by_subaccount_completed 1 param → 200
GET
/v1/courses/{course_id}/analytics/activity
Get course-level participation data
get_course_level_participation_data 1 param → 200
GET
/v1/courses/{course_id}/analytics/assignments
Get course-level assignment data
get_course_level_assignment_data 2 params → 200
GET
/v1/courses/{course_id}/analytics/student_summaries
Get course-level student summary data
get_course_level_student_summary_data 3 params → 200
GET
/v1/courses/{course_id}/analytics/users/{student_id}/activity
Get user-in-a-course-level participation data
get_user_in_a_course_level_participation_data 2 params → 200
GET
/v1/courses/{course_id}/analytics/users/{student_id}/assignments
Get user-in-a-course-level assignment data
get_user_in_a_course_level_assignment_data 2 params → 200
GET
/v1/courses/{course_id}/analytics/users/{student_id}/communication
Get user-in-a-course-level messaging data
get_user_in_a_course_level_messaging_data 2 params → 200

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

canvas-analytics-api-openapi.yml Raw ↑

Other APIs Canvas publishes across the network.

Canvas LMS GraphQL API
Canvas LTI Integrations
Canvas Courses API
Canvas Access Tokens API
Canvas Accessibility Course Scans API
Canvas Accessibility Course Statistics API
Canvas Account Calendars API
Canvas Account Domain Lookups API
Canvas Account Notifications API
Canvas Account Reports API
Canvas Accounts API
Canvas Accounts (Lti) API
Where this information came from

This is an independent, third-party profile of Canvas Analytics API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.