Use the Canvas LMS Assignments API to create an external tool assignment with custom launch URL, retrieve submissions, and post a grade via the submissions API

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. POST /api/v1/courses/{course_id}/assignments with submission_types=['external_tool'], external_tool_tag_attributes.url set to your LTI launch URL, and points_possible
  2. GET /api/v1/courses/{course_id}/assignments/{assignment_id}/submissions?include[]=user to list all submissions with student user objects
  3. Filter submissions by workflow_state to find submitted or graded entries needing processing
  4. PUT /api/v1/courses/{course_id}/assignments/{assignment_id}/submissions/{user_id} with submission[posted_grade] to post a numeric or letter grade
  5. Use the Canvas grade passback endpoint or AGS if the LTI tool posts scores; do not double-post via both REST API and AGS
  6. Poll GET /api/v1/courses/{course_id}/assignments/{assignment_id}/submissions/{user_id}/rubric_assessments to retrieve rubric scores if a rubric was attached

Known gotchas

Related routes

Sync Canvas LMS enrollments for a course via REST API
instructure.com · 5 steps · unrated
Retrieve and grade student submissions via Canvas REST API
instructure.com · 5 steps · unrated
Configure LTI Assignment and Grade Services (AGS) to create a new line item for an external assessment tool and post a score without requiring a prior student launch
imsglobal.org · 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