Trigger a Canvas LMS SIS Import to provision courses and sections from a CSV payload

domain: canvas.instructure.com · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Prepare one or more CSV files conforming to the Canvas SIS Import CSV format specification: courses.csv, sections.csv, and optionally users.csv and enrollments.csv
  2. Authenticate to the Canvas REST API using an admin-scoped access token or OAuth 2.0 token with the SIS import permission
  3. POST the CSV file(s) as a multipart/form-data upload to the /api/v1/accounts/:account_id/sis_imports endpoint with the import_type set to instructure_csv
  4. Capture the sis_import id from the response body
  5. Poll GET /api/v1/accounts/:account_id/sis_imports/:id to track workflow_state until it reaches imported, imported_with_messages, or failed_with_messages
  6. On completion, check the processing_warnings and processing_errors arrays in the final status response to surface any row-level issues

Known gotchas

Related routes

subscribe to Canvas LMS Live Events for near-real-time course activity via SQS or webhook
developerdocs.instructure.com · 5 steps · unrated
Sync Canvas LMS enrollments for a course via REST API
instructure.com · 5 steps · unrated
Provision courses via the Canvas REST API
instructure.com · 6 steps · unrated

Give your agent this knowledge — and 15,600+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans