canvas-lms-api

Sync Canvas LMS modules, wiki pages, and files via REST API workflows.

148|30|Updated Mar 26, 2026
One-click install
npx skills add https://github.com/aspi6246/Claude-Code-Skills-for-Academics --skill canvas-lms-api
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: canvas-lms-api
Source: https://github.com/aspi6246/Claude-Code-Skills-for-Academics/tree/main/canvas-lms-api
Command: npx skills add https://github.com/aspi6246/Claude-Code-Skills-for-Academics --skill canvas-lms-api

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It removes the manual, error-prone work of building and updating Canvas course structure (modules, pages, and files) by providing repeatable API patterns for programmatic synchronization.

Core Features & Use Cases

  • Module management: Find or create modules, set ordering, and safely re-run syncs without duplicating content.
  • Page workflows: Create or update Canvas wiki pages using slugs (page_url) and consistent HTML generation.
  • File upload and linking: Perform Canvas’s required multi-step uploads and inject the resulting file URLs into page HTML so links stay valid after overwrites.
  • Course sync automation: Drive a sync script from a local course_structure.json blueprint and upload-first strategy for reliable dependencies.

Quick Start

Paste the skill’s Sync workflow into a Python script, replace config.py values (domain, course IDs, token), then run your sync to create/update modules, pages, and linked uploads in Canvas.

Frequently Asked Questions about canvas-lms-api

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate Canvas LMS course content synchronization with Python?▼

Automate Canvas LMS course sync by running a Python script that uses REST API patterns to update modules, wiki pages, and files. This approach replaces manual updates with repeatable, idempotent operations driven by a local JSON blueprint.

How does the Canvas LMS API handle file uploads and link them to wiki pages?▼

Canvas LMS API file uploads require a multi-step process to upload files and return URLs. You inject these resulting file URLs into wiki page HTML using slug-based page updates to ensure links remain valid after overwrites.

Can I safely re-run a Canvas course sync without duplicating modules and pages?▼

You can safely re-run Canvas course syncs using idempotent find or create operations. These operations check for existing modules and pages using slug-based updates, preventing duplicate content while applying overwrite semantics for file updates.

What is the best way to update Canvas wiki pages programmatically using slugs?▼

The best way to update Canvas wiki pages programmatically is using slug-based page_url identifiers. This method applies consistent HTML generation to create or update pages safely, ensuring content matches local sources without duplication.

Do I need a local JSON blueprint to sync modules and pages to Canvas?▼

You need a local course_structure.json blueprint to drive the course sync automation. This file defines the module and page hierarchy, allowing the upload-first strategy to resolve file dependencies before linking them in Canvas.

Why does my Canvas API course sync fail during pagination-safe listings?▼

Canvas API course sync operations fail during pagination-safe listings if requests lack proper authentication or incorrect field usage for module items. Robust re-run behavior requires correct pagination handling to fetch all course content before applying overwrite semantics.