Home
Providers
Canvas LMS
Canvas LMS
Canvas is the open, AGPLv3-licensed learning management system created and maintained by Instructure, Inc. and used by more than 30 million students, teachers, and administrators across higher education, K-12, business, and government. Canvas exposes a deep REST API (190+ resource groups covering Accounts, Courses, Enrollments, Assignments, Submissions, Grades, Outcomes, Quizzes, Rubrics, Modules, Pages, Discussions, Files, Conversations, Calendar Events, SIS Import, Authentication Providers, Developer Keys, External Tools, AI Conversations, AI Experiences, Analytics, Audit Logs, and more), a GraphQL API at /api/graphql, IMS LTI 1.3 / LTI Advantage services (Names and Role Provisioning, Line Items, Score, Result, Deep Linking), a Platform Notification Service for server-to-server webhook delivery, and the Data Access Platform (DAP / Canvas Data 2) for warehouse-scale event and snapshot data export. Canvas is the same software that powers canvas.instructure.com (Free for Teacher), Canvas Cloud for institutions, and self-hosted deployments.
Canvas LMS publishes 11 APIs on the APIs.io network, including Canvas Live Events, Accounts API, Assignments API, and 8 more. Tagged areas include Learning Management, Education, EdTech, LMS, and LTI.
The Canvas LMS catalog on APIs.io includes 1 JSON-LD context and 1 Spectral governance ruleset.
Canvas LMS’s developer surface includes authentication, sandbox, changelog, CLI, developer portal, signup flow, documentation, and 92 more developer resources.
16 APIs
1 MCP Servers
20 Features
Learning Management Education EdTech LMS LTI Higher Education K-12 Open Source AGPL Canvas
On this page
Kin Score
APIs 16
Postman 1
Open Collections 2
Arazzo 18
MCP Servers 1
GraphQL 1
Pricing Plans 1
Rate Limits 1
Features 20
Vocabularies 1
Spectral Rules 1
JSON Schema 2
Security Posture 4
Scopes 1
Agentic Access 1
Resources 99
apis.yml
68 Operational Transparency
Composite quality — 71.7/100 · exemplar
Contract Quality
19.4 / 25
Developer Ergonomics
15.2 / 20
Commercial Clarity
12.1 / 20
Operational Transparency
8.9 / 13
Agent readiness — 50/100 · agent ready
Machine-Readable Contract
18 / 18
Agentic Access Contract
10 / 10
MCP Server
12 / 12
Machine-Readable Auth
10 / 10
Idempotency
0 / 9
Stable Error Semantics
8 / 8
Request/Response Examples
7 / 7
Rate-Limit Signaling
7 / 7
Typed Event Surface
6 / 6
Agent Skills
0 / 5
Well-Known Catalog
4 / 4
Consent & Bot Identity
3 / 3
A2A Agent Card
0 / 8
Dry-Run / Simulate Mode
0 / 4
Individual APIs this provider publishes, each with its own machine-readable definition.
Scroll for all 16
Ready-to-run Postman collections for exercising this provider's APIs.
Open, tool-agnostic API collections (OpenAPI-derived and Bruno).
Multi-step API workflows described with the Arazzo specification.
Scroll for all 18
Model Context Protocol servers that expose these APIs to AI agents.
GraphQL schemas published by this provider.
Published pricing tiers and plan structures.
Documented rate limits and quota policies.
Notable capabilities this provider offers.
Open-source AGPLv3 LMS by Instructure with 6,600+ GitHub stars and 30M+ users worldwide
REST API with 190+ resource groups covering the full LMS surface — courses, users, enrollments, assignments, submissions, grades, outcomes, quizzes, modules, pages, discussions, files, conversations, calendar events, audit logs, AI conversations, AI experiences, and more
GraphQL API at /api/graphql with hosted GraphiQL explorer at /graphiql
OAuth2 (RFC 6749) authentication with developer-key-issued client credentials, manual personal access tokens for testing, and the as_user_id masquerading parameter for admin act-as flows
Full IMS LTI 1.3 / LTI Advantage implementation — Deep Linking 2.0, Names and Role Provisioning, Assignment & Grade Services (Line Items, Score, Result), Dynamic Registration, JWK key exchange
Platform Notification Service (PNS) for server-to-server webhook delivery to LTI tools
Plagiarism Detection Platform with webhook subscriptions, originality reports, and plagiarism-platform users/assignments
SIS Import API with the canonical Canvas SIS CSV format covering accounts, terms, courses, sections, users, enrollments, groups, group memberships, cross-listings, logins, admins
Data Access Platform (DAP / Canvas Data 2) for warehouse-scale snapshot + incremental table and event exports via the api-gateway.instructure.com/dap endpoint
Built-in OpenAPI 3.0 generator via the `rake doc:openapi` task using swagger_yard
Pagination using RFC 5988 Link headers; per_page query parameter; supports `last`, `next`, `prev`, and `first` link rels
Per-user-per-host throttling with X-Request-Cost and X-Rate-Limit-Remaining response headers
Compound documents and includes[] query parameter for relationship hydration
File Upload API with multipart POST-then-PUT flow for direct-to-S3 uploads
Audit log APIs for Authentications, Course changes, and Grade Changes
Canvas Studio (video), Canvas Catalog (course discovery + commerce), Canvas Credentials (digital credentials via Parchment), and Canvas Career Experiences
Cross-platform mobile apps for Students, Teachers, Parents (canvas-ios + canvas-android repos)
Common Cartridge import/export, QTI 1.x/2.x quiz interchange, Moodle migration
Self-hosted via Docker (canvas-self-hosted) or hosted as Canvas Cloud (Canvas Free for Teacher, Canvas LMS for institutions)
Owned by Instructure, Inc. (KKR portfolio company since 2024); Steve Daly, CEO
Scroll for all 20
JSON-LD contexts and semantic vocabularies used across these APIs.
Spectral governance rulesets for linting and validating these APIs.
Standalone JSON Schema definitions for this provider's data models.
Authentication, domain security, vulnerability disclosure, and trust-center signals.
OAuth scopes governing access to this provider's APIs.
Recommended x-agentic-access execution contracts for AI agents.
Get Started 13
Portal, sign-up, and the first successful call
Scroll for all 13
Documentation 5
Reference material describing how the API behaves
Agent Surfaces 4
MCP servers, agent skills, and machine-readable catalogs
Design & Contract 25
Pagination, idempotency, versioning, errors, and events
Scroll for all 25
Build 30
SDKs, sample code, and the tooling you integrate with
Scroll for all 30
Access & Security 7
Authentication, authorization, and security posture
Scroll for all 7
Operate 7
Status, limits, changes, and where to get help
Scroll for all 7
Commercial 4
Pricing, plans, and the legal terms of use
Company 1
The organization behind the API
Other 3
Properties that don't map to a standard resource type
Source (apis.yml)
aid: canvas-lms
url: https://raw.githubusercontent.com/api-evangelist/canvas-lms/refs/heads/main/apis.yml
name: Canvas LMS
tags:
- Learning Management
- Education
- EdTech
- LMS
- LTI
- Higher Education
- K-12
- Open Source
- AGPL
- Canvas
kind: contract
accessModel:
pricing: free
onboarding: self-serve
trial: false
try_now: true
public: false
label: Free · Self-serve signup
confidence: high
source:
- plans
- authentication
generated: '2026-07-22'
method: derived
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/canvas-lms.png
access: 3rd-Party
description: Canvas is the open, AGPLv3-licensed learning management system created and maintained by Instructure, Inc. and
used by more than 30 million students, teachers, and administrators across higher education, K-12, business, and government.
Canvas exposes a deep REST API (190+ resource groups covering Accounts, Courses, Enrollments, Assignments, Submissions,
Grades, Outcomes, Quizzes, Rubrics, Modules, Pages, Discussions, Files, Conversations, Calendar Events, SIS Import, Authentication
Providers, Developer Keys, External Tools, AI Conversations, AI Experiences, Analytics, Audit Logs, and more), a GraphQL
API at /api/graphql, IMS LTI 1.3 / LTI Advantage services (Names and Role Provisioning, Line Items, Score, Result, Deep
Linking), a Platform Notification Service for server-to-server webhook delivery, and the Data Access Platform (DAP / Canvas
Data 2) for warehouse-scale event and snapshot data export. Canvas is the same software that powers canvas.instructure.com
(Free for Teacher), Canvas Cloud for institutions, and self-hosted deployments.
apis:
- aid: canvas-lms:canvas-graphql-api
name: Canvas GraphQL API
tags:
- GraphQL
- Query
- LMS
humanURL: https://canvas.instructure.com/doc/api/file.graphql.html
baseURL: https://<canvas-install-url>/api/graphql
properties:
- url: https://canvas.instructure.com/doc/api/file.graphql.html
type: Documentation
- url: https://<canvas-install-url>/graphiql
type: Sandbox
name: GraphiQL Explorer
- url: https://canvas.instructure.com/doc/api/file.oauth.html
type: Authentication
- url: graphql/canvas-lms-graphql.md
type: GraphQL
description: GraphQL endpoint exposing the Canvas object graph (courses, users, enrollments, assignments, submissions, modules,
discussion topics, outcomes, account hierarchies, etc.). Permissions mirror the REST API. Includes a hosted GraphiQL explorer
at /graphiql for query development. Authentication uses the same OAuth2 bearer tokens as the REST API.
- aid: canvas-lms:canvas-lti-advantage
name: Canvas LTI Advantage Services
tags:
- LTI
- LTI Advantage
- IMS Global
- 1EdTech
- Interoperability
- Standards
humanURL: https://canvas.instructure.com/doc/api/file.tools_intro.html
properties:
- url: https://canvas.instructure.com/doc/api/file.tools_intro.html
type: Documentation
name: Introduction to LTI in Canvas
- url: https://canvas.instructure.com/doc/api/file.lti_launch_overview.html
type: Documentation
name: LTI Launch Overview
- url: https://canvas.instructure.com/doc/api/file.lti_dev_key_config.html
type: Documentation
name: Configuring LTI 1.3 Developer Keys
- url: https://canvas.instructure.com/doc/api/file.content_item.html
type: Documentation
name: Deep Linking (Content Item)
- url: https://canvas.instructure.com/doc/api/file.assignment_tools.html
type: Documentation
name: Assignment and Grade Services
- url: https://canvas.instructure.com/doc/api/names_and_role.html
type: Documentation
name: Names and Role Provisioning
- url: https://canvas.instructure.com/doc/api/line_items.html
type: Documentation
name: Line Items
- url: https://canvas.instructure.com/doc/api/score.html
type: Documentation
name: Score
- url: https://canvas.instructure.com/doc/api/result.html
type: Documentation
name: Result
- url: https://canvas.instructure.com/doc/api/public_jwk.html
type: Documentation
name: Public JWK
- url: https://canvas.instructure.com/doc/api/lti_registrations.html
type: Documentation
name: LTI Registrations
description: 1EdTech (IMS Global) LTI 1.3 / LTI Advantage implementation. Includes Deep Linking 2.0, Names and Role Provisioning
Services (NRPS), Assignment and Grade Services (Line Items, Score, Result), Dynamic Registration, Platform Notification
Service, and JWK-based key exchange. Authentication uses JWT client assertions per the IMS Security Framework.
- aid: canvas-lms:canvas-platform-notification-service
name: Canvas Platform Notification Service
tags:
- Webhooks
- Notifications
- Events
- LTI
- Server to Server
humanURL: https://canvas.instructure.com/doc/api/file.pns.html
properties:
- url: https://canvas.instructure.com/doc/api/file.pns.html
type: Documentation
- url: https://canvas.instructure.com/doc/api/notice_handlers.html
type: Documentation
name: Notice Handlers
- url: https://canvas.instructure.com/doc/api/webhooks_subscriptions_for_plagiarism_platform.html
type: Documentation
name: Plagiarism Platform Webhook Subscriptions
description: Platform Notification Service (PNS) enables server-to-server communication by allowing Canvas to send Notices
(webhook deliveries) to LTI tools outside the scope of an active user session. Tools register notice handlers for specific
event types and receive signed deliveries that integrate with the IMS LTI 1.3 security model.
- aid: canvas-lms:canvas-live-events
name: Canvas Live Events
tags:
- Live Events
- Webhooks
- Events
- Streaming
- AsyncAPI
- SQS
- HTTPS
- JWT
- Caliper
- Analytics
humanURL: https://canvas.instructure.com/doc/api/file.live_events.html
properties:
- url: https://canvas.instructure.com/doc/api/file.live_events.html
type: Documentation
name: Live Events Overview
- url: https://github.com/instructure/canvas-lms/tree/master/doc/api/data_services
type: Documentation
name: Canvas Data Services Event Schemas (Source)
- url: https://github.com/instructure/canvas-lms/tree/master/doc/api/data_services/json/canvas/event-types
type: Documentation
name: Canvas Event-Type JSON Descriptors
- url: https://github.com/instructure/canvas-lms/tree/master/doc/api/data_services/json/caliper
type: Documentation
name: Caliper Event-Type JSON Descriptors
- url: https://community.canvaslms.com/t5/Admin-Guide/How-do-I-subscribe-to-Live-Events-using-Canvas-Data-Services/ta-p/227
type: Documentation
name: How do I subscribe to Live Events using Canvas Data Services
- url: https://community.canvaslms.com/t5/Admin-Guide/How-do-I-configure-and-test-Canvas-Live-Events-using-HTTPS/ta-p/151
type: Documentation
name: Configure and Test Live Events using HTTPS
- url: https://community.canvaslms.com/t5/Admin-Guide/How-do-I-create-an-SQS-queue-in-Amazon-Web-Services-to-receive/ta-p/170
type: Documentation
name: Create an SQS Queue to Receive Live Events
- url: https://8axpcl50e4.execute-api.us-east-1.amazonaws.com/main/jwks
type: Authentication
name: Live Events JWKS (Signed HTTPS Webhook Verification)
- url: openapi/canvas-lms-live-events-asyncapi.yml
type: AsyncAPI
description: Canvas Live Events stream lifecycle events emitted by Canvas (course, enrollment, assignment, submission, grade
change, discussion, module, outcome, file/attachment, SIS batch, conversation, quiz, wiki page, LTI resource link, login,
asset access, and more) to subscribed destinations. Customers subscribe via Canvas Data Services and choose a delivery
method — AWS SQS (standard queue named beginning with `canvas-live-events`, granted to Canvas AWS account 636161780776,
optional IAM key/secret/region) or an HTTPS webhook (POSTs the event JSON, or a signed JWT whose signing keys rotate monthly
and are advertised at the Canvas JWKS endpoint). Two payload formats are supported — Canvas JSON and Caliper IMS. Failed
HTTPS deliveries are retried up to three times with exponential backoff over ~10–20 minutes; sustained failure deactivates
the subscription. Live Events are designed for analytics and data collection workflows, not for use cases requiring strictly
up-to-date data.
- aid: canvas-lms:canvas-data-access-platform
name: Canvas Data Access Platform
tags:
- Canvas Data
- DAP
- Data Warehouse
- Analytics
- Snapshots
- Events
humanURL: https://data-access-platform-api.s3.amazonaws.com/index.html
baseURL: https://api-gateway.instructure.com/dap
properties:
- url: https://data-access-platform-api.s3.amazonaws.com/index.html
type: Documentation
name: DAP Query API Reference
- url: https://github.com/instructure/dap-client-py
type: SDKs
name: DAP Client (Python)
- url: https://github.com/instructure/canvas-data-loader
type: Tools
name: Canvas Data Loader (Rust)
- url: https://github.com/instructure/canvas-hosted-data-examples
type: CodeExamples
description: Data Access Platform (DAP) is the warehouse-scale data export API for Canvas Data 2 — the successor to Canvas
Data 1 / Canvas Data CLI. DAP exposes Canvas tables and Caliper-derived event streams as snapshot and incremental queries
against the canvas and catalog namespaces, intended for bulk download into a customer's data lake or warehouse.
- aid: canvas-lms:canvas-sis-import-api
name: Canvas SIS Import API
tags:
- SIS
- Student Information System
- Provisioning
- Bulk Import
- CSV
humanURL: https://canvas.instructure.com/doc/api/sis_imports.html
properties:
- url: https://canvas.instructure.com/doc/api/sis_imports.html
type: Documentation
name: SIS Imports
- url: https://canvas.instructure.com/doc/api/sis_import_errors.html
type: Documentation
name: SIS Import Errors
- url: https://canvas.instructure.com/doc/api/file.sis_csv.html
type: Documentation
name: SIS CSV Format
- url: https://canvas.instructure.com/doc/api/file.object_ids.html
type: Documentation
name: SIS IDs
- url: https://canvas.instructure.com/doc/api/sis_integration.html
type: Documentation
name: SIS Integration
description: The SIS Import API ingests Canvas's canonical SIS CSV format (and ZIP archives of those CSVs) to provision
accounts, terms, courses, sections, users, enrollments, groups, group memberships, cross-listings, user observers, logins,
admins, change-sis-id mappings, and admin differentiation tags. Supports diffing imports against the previous import,
batch mode, and asynchronous progress polling.
- aid: canvas-lms:canvas-lms-accounts-api
name: Canvas LMS Accounts API
description: Root and sub-accounts that own the Canvas tenancy hierarchy
humanURL: https://canvas.instructure.com/doc/api/
baseURL: https://<canvas-install-url>/api/v1
tags:
- Accounts
properties:
- type: OpenAPI
url: openapi/canvas-lms-accounts-api-openapi.yml
- type: Documentation
url: https://canvas.instructure.com/doc/api/
- type: Documentation
url: https://canvas.instructure.com/doc/api/all_resources.html
- type: JSONSchema
url: json-schema/canvas-lms-course-schema.json
- type: JSONSchema
url: json-schema/canvas-lms-assignment-schema.json
- type: JSONLD
url: json-ld/canvas-lms-context.jsonld
- type: Authentication
url: https://canvas.instructure.com/doc/api/file.oauth.html
- type: Authentication
url: https://canvas.instructure.com/doc/api/file.oauth_endpoints.html
- type: Authentication
url: https://canvas.instructure.com/doc/api/file.developer_keys.html
- type: Pagination
url: https://canvas.instructure.com/doc/api/file.pagination.html
- type: RateLimits
url: https://canvas.instructure.com/doc/api/file.throttling.html
- type: Documentation
url: https://canvas.instructure.com/doc/api/file.file_uploads.html
- type: Documentation
url: https://canvas.instructure.com/doc/api/file.masquerading.html
- type: ChangeLog
url: https://canvas.instructure.com/doc/api/file.changelog.html
- aid: canvas-lms:canvas-lms-assignments-api
name: Canvas LMS Assignments API
description: Assignments, due dates, submission types, and grading
humanURL: https://canvas.instructure.com/doc/api/
baseURL: https://<canvas-install-url>/api/v1
tags:
- Assignments
properties:
- type: OpenAPI
url: openapi/canvas-lms-assignments-api-openapi.yml
- type: Documentation
url: https://canvas.instructure.com/doc/api/
- type: Documentation
url: https://canvas.instructure.com/doc/api/all_resources.html
- type: JSONSchema
url: json-schema/canvas-lms-course-schema.json
- type: JSONSchema
url: json-schema/canvas-lms-assignment-schema.json
- type: JSONLD
url: json-ld/canvas-lms-context.jsonld
- type: Authentication
url: https://canvas.instructure.com/doc/api/file.oauth.html
- type: Authentication
url: https://canvas.instructure.com/doc/api/file.oauth_endpoints.html
- type: Authentication
url: https://canvas.instructure.com/doc/api/file.developer_keys.html
- type: Pagination
url: https://canvas.instructure.com/doc/api/file.pagination.html
- type: RateLimits
url: https://canvas.instructure.com/doc/api/file.throttling.html
- type: Documentation
url: https://canvas.instructure.com/doc/api/file.file_uploads.html
- type: Documentation
url: https://canvas.instructure.com/doc/api/file.masquerading.html
- type: ChangeLog
url: https://canvas.instructure.com/doc/api/file.changelog.html
- aid: canvas-lms:canvas-lms-courses-api
name: Canvas LMS Courses API
description: The Canvas Course resource and its lifecycle
humanURL: https://canvas.instructure.com/doc/api/
baseURL: https://<canvas-install-url>/api/v1
tags:
- Courses
properties:
- type: OpenAPI
url: openapi/canvas-lms-courses-api-openapi.yml
- type: Documentation
url: https://canvas.instructure.com/doc/api/
- type: Documentation
url: https://canvas.instructure.com/doc/api/all_resources.html
- type: JSONSchema
url: json-schema/canvas-lms-course-schema.json
- type: JSONSchema
url: json-schema/canvas-lms-assignment-schema.json
- type: JSONLD
url: json-ld/canvas-lms-context.jsonld
- type: Authentication
url: https://canvas.instructure.com/doc/api/file.oauth.html
- type: Authentication
url: https://canvas.instructure.com/doc/api/file.oauth_endpoints.html
- type: Authentication
url: https://canvas.instructure.com/doc/api/file.developer_keys.html
- type: Pagination
url: https://canvas.instructure.com/doc/api/file.pagination.html
- type: RateLimits
url: https://canvas.instructure.com/doc/api/file.throttling.html
- type: Documentation
url: https://canvas.instructure.com/doc/api/file.file_uploads.html
- type: Documentation
url: https://canvas.instructure.com/doc/api/file.masquerading.html
- type: ChangeLog
url: https://canvas.instructure.com/doc/api/file.changelog.html
- aid: canvas-lms:canvas-lms-discussions-api
name: Canvas LMS Discussions API
description: Discussion topics and entries
humanURL: https://canvas.instructure.com/doc/api/
baseURL: https://<canvas-install-url>/api/v1
tags:
- Discussions
properties:
- type: OpenAPI
url: openapi/canvas-lms-discussions-api-openapi.yml
- type: Documentation
url: https://canvas.instructure.com/doc/api/
- type: Documentation
url: https://canvas.instructure.com/doc/api/all_resources.html
- type: JSONSchema
url: json-schema/canvas-lms-course-schema.json
- type: JSONSchema
url: json-schema/canvas-lms-assignment-schema.json
- type: JSONLD
url: json-ld/canvas-lms-context.jsonld
- type: Authentication
url: https://canvas.instructure.com/doc/api/file.oauth.html
- type: Authentication
url: https://canvas.instructure.com/doc/api/file.oauth_endpoints.html
- type: Authentication
url: https://canvas.instructure.com/doc/api/file.developer_keys.html
- type: Pagination
url: https://canvas.instructure.com/doc/api/file.pagination.html
- type: RateLimits
url: https://canvas.instructure.com/doc/api/file.throttling.html
- type: Documentation
url: https://canvas.instructure.com/doc/api/file.file_uploads.html
- type: Documentation
url: https://canvas.instructure.com/doc/api/file.masquerading.html
- type: ChangeLog
url: https://canvas.instructure.com/doc/api/file.changelog.html
- aid: canvas-lms:canvas-lms-enrollments-api
name: Canvas LMS Enrollments API
description: Student, teacher, TA, observer, and designer enrollments within a course or section
humanURL: https://canvas.instructure.com/doc/api/
baseURL: https://<canvas-install-url>/api/v1
tags:
- Enrollments
properties:
- type: OpenAPI
url: openapi/canvas-lms-enrollments-api-openapi.yml
- type: Documentation
url: https://canvas.instructure.com/doc/api/
- type: Documentation
url: https://canvas.instructure.com/doc/api/all_resources.html
- type: JSONSchema
url: json-schema/canvas-lms-course-schema.json
- type: JSONSchema
url: json-schema/canvas-lms-assignment-schema.json
- type: JSONLD
url: json-ld/canvas-lms-context.jsonld
- type: Authentication
url: https://canvas.instructure.com/doc/api/file.oauth.html
- type: Authentication
url: https://canvas.instructure.com/doc/api/file.oauth_endpoints.html
- type: Authentication
url: https://canvas.instructure.com/doc/api/file.developer_keys.html
- type: Pagination
url: https://canvas.instructure.com/doc/api/file.pagination.html
- type: RateLimits
url: https://canvas.instructure.com/doc/api/file.throttling.html
- type: Documentation
url: https://canvas.instructure.com/doc/api/file.file_uploads.html
- type: Documentation
url: https://canvas.instructure.com/doc/api/file.masquerading.html
- type: ChangeLog
url: https://canvas.instructure.com/doc/api/file.changelog.html
- aid: canvas-lms:canvas-lms-files-api
name: Canvas LMS Files API
description: Course/user/group files and folders
humanURL: https://canvas.instructure.com/doc/api/
baseURL: https://<canvas-install-url>/api/v1
tags:
- Files
properties:
- type: OpenAPI
url: openapi/canvas-lms-files-api-openapi.yml
- type: Documentation
url: https://canvas.instructure.com/doc/api/
- type: Documentation
url: https://canvas.instructure.com/doc/api/all_resources.html
- type: JSONSchema
url: json-schema/canvas-lms-course-schema.json
- type: JSONSchema
url: json-schema/canvas-lms-assignment-schema.json
- type: JSONLD
url: json-ld/canvas-lms-context.jsonld
- type: Authentication
url: https://canvas.instructure.com/doc/api/file.oauth.html
- type: Authentication
url: https://canvas.instructure.com/doc/api/file.oauth_endpoints.html
- type: Authentication
url: https://canvas.instructure.com/doc/api/file.developer_keys.html
- type: Pagination
url: https://canvas.instructure.com/doc/api/file.pagination.html
- type: RateLimits
url: https://canvas.instructure.com/doc/api/file.throttling.html
- type: Documentation
url: https://canvas.instructure.com/doc/api/file.file_uploads.html
- type: Documentation
url: https://canvas.instructure.com/doc/api/file.masquerading.html
- type: ChangeLog
url: https://canvas.instructure.com/doc/api/file.changelog.html
- aid: canvas-lms:canvas-lms-modules-api
name: Canvas LMS Modules API
description: Course modules and module items
humanURL: https://canvas.instructure.com/doc/api/
baseURL: https://<canvas-install-url>/api/v1
tags:
- Modules
properties:
- type: OpenAPI
url: openapi/canvas-lms-modules-api-openapi.yml
- type: Documentation
url: https://canvas.instructure.com/doc/api/
- type: Documentation
url: https://canvas.instructure.com/doc/api/all_resources.html
- type: JSONSchema
url: json-schema/canvas-lms-course-schema.json
- type: JSONSchema
url: json-schema/canvas-lms-assignment-schema.json
- type: JSONLD
url: json-ld/canvas-lms-context.jsonld
- type: Authentication
url: https://canvas.instructure.com/doc/api/file.oauth.html
- type: Authentication
url: https://canvas.instructure.com/doc/api/file.oauth_endpoints.html
- type: Authentication
url: https://canvas.instructure.com/doc/api/file.developer_keys.html
- type: Pagination
url: https://canvas.instructure.com/doc/api/file.pagination.html
- type: RateLimits
url: https://canvas.instructure.com/doc/api/file.throttling.html
- type: Documentation
url: https://canvas.instructure.com/doc/api/file.file_uploads.html
- type: Documentation
url: https://canvas.instructure.com/doc/api/file.masquerading.html
- type: ChangeLog
url: https://canvas.instructure.com/doc/api/file.changelog.html
- aid: canvas-lms:canvas-lms-outcomes-api
name: Canvas LMS Outcomes API
description: Learning outcomes and outcome results
humanURL: https://canvas.instructure.com/doc/api/
baseURL: https://<canvas-install-url>/api/v1
tags:
- Outcomes
properties:
- type: OpenAPI
url: openapi/canvas-lms-outcomes-api-openapi.yml
- type: Documentation
url: https://canvas.instructure.com/doc/api/
- type: Documentation
url: https://canvas.instructure.com/doc/api/all_resources.html
- type: JSONSchema
url: json-schema/canvas-lms-course-schema.json
- type: JSONSchema
url: json-schema/canvas-lms-assignment-schema.json
- type: JSONLD
url: json-ld/canvas-lms-context.jsonld
- type: Authentication
url: https://canvas.instructure.com/doc/api/file.oauth.html
- type: Authentication
url: https://canvas.instructure.com/doc/api/file.oauth_endpoints.html
- type: Authentication
url: https://canvas.instructure.com/doc/api/file.developer_keys.html
- type: Pagination
url: https://canvas.instructure.com/doc/api/file.pagination.html
- type: RateLimits
url: https://canvas.instructure.com/doc/api/file.throttling.html
- type: Documentation
url: https://canvas.instructure.com/doc/api/file.file_uploads.html
- type: Documentation
url: https://canvas.instructure.com/doc/api/file.masquerading.html
- type: ChangeLog
url: https://canvas.instructure.com/doc/api/file.changelog.html
- aid: canvas-lms:canvas-lms-submissions-api
name: Canvas LMS Submissions API
description: Student submissions, grades, and submission comments
humanURL: https://canvas.instructure.com/doc/api/
baseURL: https://<canvas-install-url>/api/v1
tags:
- Submissions
properties:
- type: OpenAPI
url: openapi/canvas-lms-submissions-api-openapi.yml
- type: Documentation
url: https://canvas.instructure.com/doc/api/
- type: Documentation
url: https://canvas.instructure.com/doc/api/all_resources.html
- type: JSONSchema
url: json-schema/canvas-lms-course-schema.json
- type: JSONSchema
url: json-schema/canvas-lms-assignment-schema.json
- type: JSONLD
url: json-ld/canvas-lms-context.jsonld
- type: Authentication
url: https://canvas.instructure.com/doc/api/file.oauth.html
- type: Authentication
url: https://canvas.instructure.com/doc/api/file.oauth_endpoints.html
- type: Authentication
url: https://canvas.instructure.com/doc/api/file.developer_keys.html
- type: Pagination
url: https://canvas.instructure.com/doc/api/file.pagination.html
- type: RateLimits
url: https://canvas.instructure.com/doc/api/file.throttling.html
- type: Documentation
url: https://canvas.instructure.com/doc/api/file.file_uploads.html
- type: Documentation
url: https://canvas.instructure.com/doc/api/file.masquerading.html
- type: ChangeLog
url: https://canvas.instructure.com/doc/api/file.changelog.html
- aid: canvas-lms:canvas-lms-users-api
name: Canvas LMS Users API
description: User accounts, profiles, and per-user resources
humanURL: https://canvas.instructure.com/doc/api/
baseURL: https://<canvas-install-url>/api/v1
tags:
- Users
properties:
- type: OpenAPI
url: openapi/canvas-lms-users-api-openapi.yml
- type: Documentation
url: https://canvas.instructure.com/doc/api/
- type: Documentation
url: https://canvas.instructure.com/doc/api/all_resources.html
- type: JSONSchema
url: json-schema/canvas-lms-course-schema.json
- type: JSONSchema
url: json-schema/canvas-lms-assignment-schema.json
- type: JSONLD
url: json-ld/canvas-lms-context.jsonld
- type: Authentication
url: https://canvas.instructure.com/doc/api/file.oauth.html
- type: Authentication
url: https://canvas.instructure.com/doc/api/file.oauth_endpoints.html
- type: Authentication
url: https://canvas.instructure.com/doc/api/file.developer_keys.html
- type: Pagination
url: https://canvas.instructure.com/doc/api/file.pagination.html
- type: RateLimits
url: https://canvas.instructure.com/doc/api/file.throttling.html
- type: Documentation
url: https://canvas.instructure.com/doc/api/file.file_uploads.html
- type: Documentation
url: https://canvas.instructure.com/doc/api/file.masquerading.html
- type: ChangeLog
url: https://canvas.instructure.com/doc/api/file.changelog.html
common:
- type: AgenticAccess
url: agentic-access/canvas-lms-agentic-access.yml
- type: TrustCenter
url: security/canvas-lms-trust-center.yml
- type: VulnerabilityDisclosure
url: security/canvas-lms-vulnerability-disclosure.yml
- type: DomainSecurity
url: security/canvas-lms-domain-security.yml
- type: Authentication
url: authentication/canvas-lms-authentication.yml
- type: OAuthScopes
url: scopes/canvas-lms-scopes.yml
- type: Packages
url: packages/canvas-lms-packages.yml
- type: WellKnown
url: well-known/canvas-lms-well-known.yml
- type: SecurityTxt
url: well-known/canvas-lms-security.txt
- type: MCPServer
url: mcp/canvas-lms-mcp.yml
- type: LLMsTxt
url: llms/canvas-lms-llms.txt
- type: Overlay
url: overlays/canvas-lms-rest-api-overlay.yaml
- type: Conformance
url: conformance/canvas-lms-conformance.yml
- type: ErrorCatalog
url: errors/canvas-lms-problem-types.yml
- type: Lifecycle
url: lifecycle/canvas-lms-lifecycle.yml
- type: Sandbox
url: sandbox/canvas-lms-sandbox.yml
- type: Conventions
url: conventions/canvas-lms-conventions.yml
- type: ChangeLog
url: changelog/canvas-lms-changelog.yml
- type: CLI
url: cli/canvas-lms-cli.yml
- type: Components
url: components/canvas-lms-components.yml
- type: DataModel
url: data-model/canvas-lms-data-model.yml
- type: PostmanWorkspace
url: https://www.postman.com/kinlaneapi/canvas-lms/overview
- type: Arazzo
url: arazzo/canvas-lms-account-course-audit-and-conclude-workflow.yml
name: Canvas LMS Audit Account Course and Conclude It
- type: Arazzo
url: arazzo/canvas-lms-assign-and-grade-discussion-workflow.yml
name: Canvas LMS Grade a Discussion-backed Assignment
- type: Arazzo
url: arazzo/canvas-lms-conclude-course-with-grade-check-workflow.yml
name: Canvas LMS Conclude Course After Grade Check
- type: Arazzo
url: arazzo/canvas-lms-copy-assignment-to-course-workflow.yml
name: Canvas LMS Copy Assignment to Another Course
- type: Arazzo
url: arazzo/canvas-lms-create-assignment-and-confirm-workflow.yml
name: Canvas LMS Create Assignment and Confirm
- type: Arazzo
url: arazzo/canvas-lms-create-assignment-and-grade-submission-workflow.yml
name: Canvas LMS Create Assignment and Grade Submission
- type: Arazzo
url: arazzo/canvas-lms-create-course-shell-then-author-assignment-workflow.yml
name: Canvas LMS Configure Course Then Author Assignment
- type: Arazzo
url: arazzo/canvas-lms-enroll-teacher-then-author-assignment-workflow.yml
name: Canvas LMS Enroll Teacher Then Author Assignment
- type: Arazzo
url: arazzo/canvas-lms-enroll-user-and-confirm-workflow.yml
name: Canvas LMS Enroll User and Confirm
- type: Arazzo
url: arazzo/canvas-lms-excuse-or-grade-submission-workflow.yml
name: Canvas LMS Excuse or Grade a Submission
- type: Arazzo
url: arazzo/canvas-lms-find-or-create-assignment-workflow.yml
name: Canvas LMS Find or Create Assignment
- type: Arazzo
url: arazzo/canvas-lms-grade-all-submissions-workflow.yml
name: Canvas LMS Grade One of Many Submissions
- type: Arazzo
url: arazzo/canvas-lms-list-modules-and-grade-module-assignment-workflow.yml
name: Canvas LMS Grade an Assignment From a Module
- type: Arazzo
url: arazzo/canvas-lms-onboard-student-to-course-workflow.yml
name: Canvas LMS Onboard Student to Course
- type: Arazzo
url: arazzo/canvas-lms-publish-assignment-and-list-submissions-workflow.yml
name: Canvas LMS Publish Assignment and List Submissions
- type: Arazzo
url: arazzo/canvas-lms-section-roster-and-grade-workflow.yml
name: Canvas LMS Grade a Student by Section Enrollment
- type: Arazzo
url: arazzo/canvas-lms-self-courses-and-create-assignment-workflow.yml
name: Canvas LMS Author in the Current User's First Course
- type: Arazzo
url: arazzo/canvas-lms-update-assignment-due-date-and-grade-workflow.yml
name: Canvas LMS Extend Due Date Then Grade Late Submission
- url: https://www.instructure.com
name: Instructure
type: Portal
- url: https://www.instructure.com/canvas
name: Canvas LMS Product Page
type: Portal
- url: https://canvas.instructure.com/
name: Free for Teacher
type: Signup
- url: https://canvas.instructure.com/doc/api/
name: Canvas REST API Documentation
type: Documentation
- url: https://canvas.instructure.com/doc/api/all_resources.html
name: All Resources Reference
type: Documentation
- url: https://canvas.instructure.com/doc/api/file.changelog.html
name: Canvas API Change Log
type: ChangeLog
- url: https://canvas.instructure.com/doc/api/file.graphql.html
name: Canvas GraphQL
type: Documentation
- url: https://canvas.instructure.com/doc/api/file.oauth.html
name: OAuth2 Overview
type: Authentication
- url: https://canvas.instructure.com/doc/api/file.throttling.html
name: API Throttling
type: RateLimits
- url: https://canvas.instructure.com/doc/api/file.pagination.html
name: Pagination
type: Pagination
- url: https://canvas.instructure.com/doc/api/file.tools_intro.html
name: LTI Tools Introduction
type: Documentation
- url: https://www.instructure.com/policies/api-policy
name: Canvas API Policy
type: TermsOfService
- url: https://www.instructure.com/policies
name: Instructure Legal & Privacy
type: PrivacyPolicy
- url: https://www.instructure.com/policies/product-privacy-notice
name: Product Privacy Notice
type: PrivacyPolicy
- url: https://status.instructure.com/
name: Instructure Status
type: StatusPage
- url: https://community.canvaslms.com/
name: Canvas Community
type: Forums
- url: https://community.canvaslms.com/t5/Canvas-Developers-Group/gh-p/canvas-developers
name: Canvas Developers Group
type: Forums
- url: https://www.instructure.com/blog
name: Instructure Blog
type: Blog
- url: https://www.instructure.com/canvas/canvas-credentials
name: Canvas Credentials
type: Portal
- url: https://www.instructure.com/canvas/canvas-studio
name: Canvas Studio
type: Portal
- url: https://www.instructure.com/canvas/canvas-catalog
name: Canvas Catalog
type: Portal
- url: https://github.com/instructure
name: Instructure on GitHub
type: GitHubOrganization
- url: https://github.com/instructure/canvas-lms
name: Canvas LMS Source
type: SourceCode
- url: https://github.com/instructure/canvas-lms/wiki
name: Canvas LMS Wiki
type: Documentation
- url: https://github.com/instructure/canvas-lms/wiki/Quick-Start
name: Quick Start
type: GettingStarted
- url: https://github.com/instructure/canvas-lms/wiki/Production-Start
name: Production Start
type: GettingStarted
- url: https://github.com/instructure/canvas-self-hosted
name: Canvas Self-Hosted Docker Configuration
type: Tools
- url: https://github.com/instructure/canvas-ios
name: Canvas iOS Apps
type: SourceCode
- url: https://github.com/instructure/canvas-android
name: Canvas Android Apps
type: SourceCode
- url: https://github.com/instructure/CanvasAPI
name: Canvas API for Android
type: SDKs
- url: https://github.com/instructure/pandarus
name: Pandarus (Ruby Canvas Client)
type: SDKs
- url: https://github.com/instructure/canvas_oauth_engine
name: Canvas OAuth Engine (Rails)
type: SDKs
- url: https://github.com/instructure/dap-client-py
name: DAP Client (Python)
type: SDKs
- url: https://github.com/instructure/canvas-data-loader
name: Canvas Data Loader (Rust)
type: Tools
- url: https://github.com/instructure/canvas-data-cli
name: Canvas Data CLI
# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/canvas-lms/refs/heads/main/apis.yml