Sync Canvas LMS enrollments for a course via REST API

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

Steps

  1. Send GET /api/v1/courses/<course_id>/enrollments?per_page=100 with your Bearer token
  2. Handle pagination by following the 'next' Link header until exhausted
  3. Filter the returned enrollment objects by the 'type' field (StudentEnrollment, TeacherEnrollment, etc.) as needed
  4. To add an enrollment, POST to /api/v1/courses/<course_id>/enrollments with a JSON body containing enrollment[user_id], enrollment[type], and enrollment[enrollment_state]
  5. To remove an enrollment, send DELETE /api/v1/courses/<course_id>/enrollments/<enrollment_id> with the task parameter set to 'delete' or 'conclude'

Known gotchas

Related routes

Provision courses via the Canvas REST API
instructure.com · 6 steps · unrated
Masquerade as a Canvas LMS user via the API to troubleshoot a student's course view
canvas.instructure.com · 6 steps · unrated
subscribe to Canvas LMS Live Events for near-real-time course activity via SQS or webhook
developerdocs.instructure.com · 5 steps · unrated

Give your agent this knowledge — and 15,500+ 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