Authenticate with a Canvas API token or OAuth 2.0 token; New Quizzes API endpoints use a different base path than the classic Quizzes API — confirm you are using the /api/quiz/v1/ prefix
Create a New Quizzes quiz via POST /api/quiz/v1/courses/{course_id}/quizzes providing title, instructions, and quiz-level settings; the response returns an assignment_id used for item management
Add question items via POST /api/quiz/v1/courses/{course_id}/quizzes/{assignment_id}/items specifying the item type (multiple_choice, true_false, essay, etc.) and the interaction data for the question body and answer choices
Retrieve all items for a quiz via GET /api/quiz/v1/courses/{course_id}/quizzes/{assignment_id}/items; retrieve a single item by appending the item_id
Generate a quiz report after student submissions via the New Quizzes Reports endpoint to get summary statistics and per-student response data for grading and analysis
Known gotchas
New Quizzes and Classic Quizzes use completely separate API namespaces and data models; a quiz created via the classic Quizzes API cannot be managed via the New Quizzes API endpoints and vice versa
StimulusItem (passage-based) items can only be retrieved via the API currently — creation and editing of stimulus items must be done through the Canvas UI; attempting to POST a stimulus item via API returns an error
Canvas API tokens issued with restricted permissions may not include New Quizzes scopes; verify the token has the quiz engine permissions explicitly enabled in the developer key configuration
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp