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.
Reference-quality API operations across every facet — a rich contract, published governance, transparent operations, and machine-readable commercial terms.
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.
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.
Canvas LMS REST API
POSTMANOpen 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 COLLECTIONCanvas LMS REST API
OPEN COLLECTIONArazzo 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.
ARAZZOCanvas LMS Grade a Discussion-backed Assignment
Locate a discussion topic's graded assignment, then grade a student's discussion submission.
ARAZZOCanvas LMS Conclude Course After Grade Check
List a course's enrollments with grades, then conclude the course.
ARAZZOCanvas LMS Copy Assignment to Another Course
Read an assignment from a source course and recreate it in a target course.
ARAZZOCanvas LMS Create Assignment and Confirm
Verify a course exists, create an assignment in it, then fetch the assignment back.
ARAZZOCanvas LMS Create Assignment and Grade Submission
Create an assignment, find a student's submission, and post a grade plus comment.
ARAZZOCanvas LMS Configure Course Then Author Assignment
Update a course's settings, then create its first assignment, and read it back.
ARAZZOCanvas LMS Enroll Teacher Then Author Assignment
Enroll a teacher in a course, then create the course's first assignment.
ARAZZOCanvas LMS Enroll User and Confirm
Enroll a user in a course and confirm the enrollment appears in the course roster.
ARAZZOCanvas LMS Excuse or Grade a Submission
Read a submission and branch — excuse it when not submitted, otherwise post a grade.
ARAZZOCanvas LMS Find or Create Assignment
Search a course for an assignment by name and create it only when it is missing.
ARAZZOCanvas LMS Grade One of Many Submissions
List an assignment's submissions, then post a grade to the first one returned.
ARAZZOCanvas LMS Grade an Assignment From a Module
List a course's modules with items, then grade a student on a module assignment.
ARAZZOCanvas LMS Onboard Student to Course
Validate a user, enroll them as a student, and confirm course membership.
ARAZZOCanvas LMS Publish Assignment and List Submissions
Publish a draft assignment, then list every submission for it.
ARAZZOCanvas LMS Grade a Student by Section Enrollment
Find a student via course section enrollments, then grade their assignment.
ARAZZOCanvas LMS Author in the Current User's First Course
Identify the authenticated teacher, pick their first taught course, and author an assignment.
ARAZZOCanvas LMS Extend Due Date Then Grade Late Submission
Push an assignment's due date out, then grade a student's late submission.
ARAZZOScroll 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 SERVERGraphQL 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...
GRAPHQLPricing 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
RATE LIMITSFeatures 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.
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
JSON-LDSpectral 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
SPECTRALJSON 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
JSON SCHEMACanvas LMS Course
JSON SCHEMASecurity 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 Trust Center
SOC 2, ISO 27001, ISO 27017, ISO 27018, PCI DSS, HIPAA, FedRAMP, GDPR, CSA STAR
SECURITYScopes 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.
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.
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.
Get Started 13
Portal, sign-up, and the first successful call
Scroll within the panel 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 within the panel for all 25 ·
Build 30
SDKs, sample code, and the tooling you integrate with
Scroll within the panel for all 30 ·
Access & Security 7
Authentication, authorization, and security posture
Scroll within the panel for all 7 ·
Operate 7
Status, limits, changes, and where to get help
Scroll within the panel 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
← All providers · Data indexed from github.com/api-evangelist/canvas-lms · machine-readable index on apis.io