Canvas LMS REST API

The Canvas LMS REST API provides programmatic access to courses, assignments, quizzes, grades, users, enrollments, accounts, discussions, files, modules, rubrics, submissions, SIS imports, and account administration. It uses OAuth 2.0 access tokens and returns JSON with ISO 8601 timestamps, supporting pagination, request throttling, masquerading, and compound documents.

API entry from apis.yml

apis.yml Raw ↑
aid: canvas:canvas-lms-rest-api
name: Canvas LMS REST API
description: The Canvas LMS REST API provides programmatic access to courses, assignments, quizzes, grades,
  users, enrollments, accounts, discussions, files, modules, rubrics, submissions, SIS imports, and account
  administration. It uses OAuth 2.0 access tokens and returns JSON with ISO 8601 timestamps, supporting
  pagination, request throttling, masquerading, and compound documents.
humanURL: https://canvas.instructure.com/doc/api/
tags:
- Education
- LMS
- REST
properties:
- type: Documentation
  url: https://canvas.instructure.com/doc/api/
- type: Authentication
  url: https://canvas.instructure.com/doc/api/file.oauth.html
- type: Pagination
  url: https://canvas.instructure.com/doc/api/file.pagination.html
- type: GitHubRepository
  url: https://github.com/instructure/canvas-lms
x-features:
- OAuth 2.0 authentication with access tokens
- JSON responses with ISO 8601 timestamps
- 64-bit integer IDs and string ID support
- Form-encoded and JSON request bodies
- Pagination for large result sets
- Request throttling and quota controls
- Masquerading for acting on behalf of users
- Compound documents for linked resources
- File upload workflows
- SIS imports and roster sync
- Live event streams via Canvas Data services
- Caliper event format compatibility
- xAPI statement support
x-use-cases:
- Building custom student dashboards or mobile apps
- Automating course provisioning and enrollment via SIS imports
- Syncing grades and assignments to external gradebooks
- Analytics and learning-event data pipelines
- Integrating third-party tools through LTI
- Bulk content migration between courses or institutions
- Institutional reporting and audit-log extraction