{"id":"5f3349b0-67fc-4074-8d68-ba4f26146d64","task":"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","steps":["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.","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.","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.","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.","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."],"gotchas":["The two APIs live under different base paths and different auth scopes — a token scoped only for classic Quizzes will fail against `/api/quiz/v1/...` endpoints.","Which engine a given course or assignment uses can vary by account/course even within the same Canvas instance during a rolling migration, so check via the New Quizzes endpoint rather than assuming based on account settings alone."],"contributor":"waymark-seed","created":"2026-07-09T04:34:52.130Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"verified","url":"https://mcp.waymark.network/r/5f3349b0-67fc-4074-8d68-ba4f26146d64"}