Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC
Canvas LMS website screenshot

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.

agent native

Reference-quality API operations across every facet — a rich contract, published governance, transparent operations, and machine-readable commercial terms.

Kin Score

API Evangelist profiles Canvas LMS the way a machine reads it — 71 machine-readable artifacts across 16 APIs, pulled from the provider's own public surface and indexed so a developer, an analyst, or an AI agent can evaluate it against every other provider on the network.

Every provider in the network is reduced to the same set of machine-readable artifacts — OpenAPI contracts, event specifications, GraphQL schemas, runnable collections, pricing and rate-limit signals, security posture, OAuth scopes, and the agent surfaces (MCP servers and skills) that let software drive the API on its own. We profile them because the interface is the part of a company you can actually inspect: it is a truer signal of what a provider does than any marketing page. From those artifacts we compute the Kin Score — Canvas LMS scores 74.5/100 (exemplar), with a separate agent-readiness read of 87/100 (agent native). The full breakdown is below, followed by every artifact we hold — each card links through to its machine-readable definition on apis.io.

Kin Score

This is the API Evangelist rating — a single, repeatable read computed from the artifacts on this page. Green fill is points earned; the red track is points possible, so every bar shows earned-versus-possible at a glance.

Kin Score Kin Score How this is scored →
scored 2026-07-27 · rubric v0.5
Composite quality — 74.5/100 · exemplar
Contract Quality 20.1 / 25
Developer Ergonomics 16.5 / 20
Commercial Clarity 12.1 / 20
Operational Transparency 8.9 / 13
Governance 8.8 / 12
Discoverability 8.0 / 10
Agent readiness — 87/100 · agent native
Machine-Readable Contract 18 / 18
Agentic Access Contract 15 / 15
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

How we profile Canvas LMS

Each block below is one kind of artifact we hold for Canvas LMS. For each we say what it is and why it earns a place in the profile, then list every one we've indexed — capped at two rows, scroll within the panel for the rest.

APIs 16

Each API is captured as its own OpenAPI definition — every operation, parameter, and response. This is the single most useful machine-readable description of what an API does, and it's what lets us score, lint, mock, and generate against it without asking the provider for anything.

Individual APIs this provider publishes, each with its own machine-readable definition.

Canvas GraphQL API

GraphQL endpoint exposing the Canvas object graph (courses, users, enrollments, assignments, submissions, modules, discussion topics, outcomes, account hierarchies, etc.). Permi...

Canvas LTI Advantage Services

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, S...

Canvas Platform Notification Service

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 us...

Canvas Live Events

Canvas Live Events stream lifecycle events emitted by Canvas (course, enrollment, assignment, submission, grade change, discussion, module, outcome, file/attachment, SIS batch, ...

Canvas Data Access Platform

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-der...

Canvas SIS Import API

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

Canvas LMS Accounts API

Root and sub-accounts that own the Canvas tenancy hierarchy

Canvas LMS Assignments API

Assignments, due dates, submission types, and grading

Canvas LMS Courses API

The Canvas Course resource and its lifecycle

Canvas LMS Discussions API

Discussion topics and entries

Canvas LMS Enrollments API

Student, teacher, TA, observer, and designer enrollments within a course or section

Canvas LMS Files API

Course/user/group files and folders

Canvas LMS Modules API

Course modules and module items

Canvas LMS Outcomes API

Learning outcomes and outcome results

Canvas LMS Submissions API

Student submissions, grades, and submission comments

Canvas LMS Users API

User accounts, profiles, and per-user resources

Scroll within the panel for all 16 ·

Postman Collections 1

A runnable collection turns the contract into something a developer can execute in seconds. We profile them because the fastest way to trust an API is to make a real call against it.

Ready-to-run Postman collections for exercising this provider's APIs.

Open Collections 2

Open, tool-agnostic collections carry the same runnable value as Postman without locking you to one client — the portable, forkable form of the same exercise.

Open, tool-agnostic API collections (OpenAPI-derived and Bruno).

Canvas LMS Live Events

OPEN COLLECTION

Canvas LMS REST API

OPEN COLLECTION

Arazzo Workflows 18

Real integrations are rarely a single call. Arazzo describes the multi-step sequences — auth, then create, then confirm — so both a human and an agent can follow the choreography, not just the endpoints.

Multi-step API workflows described with the Arazzo specification.

Canvas LMS Audit Account Course and Conclude It

List courses in an account, read one course's detail, then conclude it.

ARAZZO

Canvas LMS Grade a Discussion-backed Assignment

Locate a discussion topic's graded assignment, then grade a student's discussion submission.

ARAZZO

Canvas LMS Conclude Course After Grade Check

List a course's enrollments with grades, then conclude the course.

ARAZZO

Canvas LMS Copy Assignment to Another Course

Read an assignment from a source course and recreate it in a target course.

ARAZZO

Canvas LMS Create Assignment and Confirm

Verify a course exists, create an assignment in it, then fetch the assignment back.

ARAZZO

Canvas LMS Create Assignment and Grade Submission

Create an assignment, find a student's submission, and post a grade plus comment.

ARAZZO

Canvas LMS Configure Course Then Author Assignment

Update a course's settings, then create its first assignment, and read it back.

ARAZZO

Canvas LMS Enroll Teacher Then Author Assignment

Enroll a teacher in a course, then create the course's first assignment.

ARAZZO

Canvas LMS Enroll User and Confirm

Enroll a user in a course and confirm the enrollment appears in the course roster.

ARAZZO

Canvas LMS Excuse or Grade a Submission

Read a submission and branch — excuse it when not submitted, otherwise post a grade.

ARAZZO

Canvas LMS Find or Create Assignment

Search a course for an assignment by name and create it only when it is missing.

ARAZZO

Canvas LMS Grade One of Many Submissions

List an assignment's submissions, then post a grade to the first one returned.

ARAZZO

Canvas LMS Grade an Assignment From a Module

List a course's modules with items, then grade a student on a module assignment.

ARAZZO

Canvas LMS Onboard Student to Course

Validate a user, enroll them as a student, and confirm course membership.

ARAZZO

Canvas LMS Publish Assignment and List Submissions

Publish a draft assignment, then list every submission for it.

ARAZZO

Canvas LMS Grade a Student by Section Enrollment

Find a student via course section enrollments, then grade their assignment.

ARAZZO

Canvas LMS Author in the Current User's First Course

Identify the authenticated teacher, pick their first taught course, and author an assignment.

ARAZZO

Canvas LMS Extend Due Date Then Grade Late Submission

Push an assignment's due date out, then grade a student's late submission.

ARAZZO

Scroll within the panel for all 18 ·

MCP Servers 1

Model Context Protocol servers expose these APIs directly to AI agents. We profile them because agent-native access is the fastest-growing way this provider's capabilities actually get used.

Model Context Protocol servers that expose these APIs to AI agents.

canvas-lms-mcp.yml

MCP SERVER

GraphQL 1

Where a provider ships GraphQL, the schema is the contract. We profile it alongside the REST surface so the whole interface is legible in one place.

GraphQL schemas published by this provider.

Canvas LMS GraphQL API

Canvas exposes a GraphQL endpoint at `/api/graphql` that provides access to the Canvas object graph. The API supports queries and mutations for courses, users, enrollments, assi...

GRAPHQL

Pricing Plans 1

Pricing is part of the interface. Machine-readable plans tell you what a tier costs and includes before you commit — one of the six things the Kin Score reads for commercial clarity.

Published pricing tiers and plan structures.

Rate Limits 1

Rate limits are the difference between a demo that works and a production integration that doesn't fall over. Publishing them is an operational-transparency signal — and a hard requirement for any agent that plans its own throughput.

Documented rate limits and quota policies.

Canvas Lms Rate Limits

3 limits

RATE LIMITS

Features 20

The notable capabilities this provider advertises, captured as structured features so they can be searched and compared instead of read one landing page at a time.

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 within the panel for all 20 ·

Semantic Vocabularies 1

JSON-LD contexts give the data shared meaning across APIs. We profile them because semantics are what let a machine reconcile 'customer' here with 'customer' somewhere else.

JSON-LD contexts and semantic vocabularies used across these APIs.

Canvas Lms Context

34 classes · 16 properties

JSON-LD

Spectral Rules 1

Governance rulesets we run against this provider's specs — the automated checks behind parts of the score. Profiling them makes the quality bar explicit and re-runnable, not a matter of opinion.

Canvas LMS API Rules

5 rules · 4 warnings

SPECTRAL

JSON Schema 2

Standalone JSON Schema definitions describe the data models behind the API. We profile them so the shapes are validatable on their own — useful long after a single request is forgotten.

Standalone JSON Schema definitions for this provider's data models.

Canvas LMS Assignment

42 properties

JSON SCHEMA

Canvas LMS Course

39 properties

JSON SCHEMA

Security Posture 4

Authentication, domain security, vulnerability disclosure, and trust-center signals — the evidence that a provider takes security seriously enough to document it. We profile it because you can't govern what you can't see.

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Canvas Lms Authentication

http/oauth2 · 2 schemes

SECURITY

Canvas Lms Domain Security

TLSv1.3 · HSTS · DMARC

SECURITY

Canvas Lms Vulnerability Disclosure

security.txt · contact published

SECURITY

Canvas Lms Trust Center

SOC 2, ISO 27001, ISO 27017, ISO 27018, PCI DSS, HIPAA, FedRAMP, GDPR, CSA STAR

SECURITY

Scopes 1

OAuth scopes are the vocabulary of least-privilege access. Profiling them shows exactly what an integration — or an agent acting on a user's behalf — is allowed to do.

OAuth scopes governing access to this provider's APIs.

Canvas Lms Scopes

3 scopes · authorizationCode

3 scopes

SCOPES

Agentic Access 1

An x-agentic-access contract marks which operations are safe for an agent to run on its own and which need a human in the loop. It is the difference between an API an agent can use and one it can use safely.

Recommended x-agentic-access execution contracts for AI agents.

Canvas Lms Agentic Access

25 operations · 7 acting

25 operations · 7 acting

AGENTIC

Resources

Every other property we hold for Canvas LMS — documentation, portals, status pages, policies, and corporate surface — grouped by the job it does, following the integrator's arc from getting started to running in production.

Agent Surfaces 4

MCP servers, agent skills, and machine-readable catalogs

Company 1

The organization behind the API

Other 3

Properties that don't map to a standard resource type

← All providers · Data indexed from github.com/api-evangelist/canvas-lms · machine-readable index on apis.io