Determine whether a Canvas quiz uses the New Quizzes API instead of the classic Quizzes API before reading or writing its settings

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

Steps

  1. Recognize that Canvas has two separate quiz engines with separate endpoints: the classic Quizzes API (`/api/v1/courses/:course_id/quizzes`) and the New Quizzes API (`/api/quiz/v1/courses/:course_id/quizzes`), which are not interchangeable.
  2. Note that a New Quizzes assignment still appears as a normal Canvas assignment via the Assignments API, but quiz-specific settings (timing, attempts, result-view controls) only surface through the New Quizzes API's `quiz_settings` object.
  3. Call `GET /api/quiz/v1/courses/:course_id/quizzes/:assignment_id` using the assignment's ID; a 404 there generally means the assignment is a classic quiz rather than a New Quiz.
  4. Create or update a New Quiz with `POST`/`PATCH /api/quiz/v1/courses/:course_id/quizzes`, sending a `quiz[...]` parameter tree that includes `quiz_settings`, `multiple_attempts`, and `result_view_settings` as needed.
  5. For question-level content inside a New Quiz, use the separate New Quiz Items API — the New Quizzes API itself only manages quiz-level metadata.

Known gotchas

Related routes

Create and manage items in a Canvas New Quizzes quiz using the New Quizzes API
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