caccl-api
Version:
A class that defines a set of smart Canvas endpoints that actually behave how you'd expect them to.
7,464 lines • 130 kB
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>quiz - Documentation</title>
<script src="scripts/prettify/prettify.js"></script>
<script src="scripts/prettify/lang-css.js"></script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc.css">
<script src="scripts/nav.js" defer></script>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<input type="checkbox" id="nav-trigger" class="nav-trigger" />
<label for="nav-trigger" class="navicon-button x">
<div class="navicon"></div>
</label>
<label for="nav-trigger" class="overlay"></label>
<nav style="border-right: 2px solid #ccc; padding-bottom: 25px;" >
<h2><a style="font-size: 30px;" href="index.html">CACCL API</a></h2><h3>Endpoint Functions</h3><ul><li><a href="api.account.html">api.account</a><ul class='methods'><li data-type='method'><a href="api.account.html#get">get</a></li><li data-type='method'><a href="api.account.html#list">list</a></li><li data-type='method'><a href="api.account.html#listAdmins">listAdmins</a></li><li data-type='method'><a href="api.account.html#listCourses">listCourses</a></li></ul></li><li><a href="api.conversation.html">api.conversation</a><ul class='methods'><li data-type='method'><a href="api.conversation.html#create">create</a></li></ul></li><li><a href="api.course.html">api.course</a><ul class='methods'><li data-type='method'><a href="api.course.html#get">get</a></li><li data-type='method'><a href="api.course.html#getUser">getUser</a></li><li data-type='method'><a href="api.course.html#listDesignerEnrollments">listDesignerEnrollments</a></li><li data-type='method'><a href="api.course.html#listDesigners">listDesigners</a></li><li data-type='method'><a href="api.course.html#listEnrollments">listEnrollments</a></li><li data-type='method'><a href="api.course.html#listObserverEnrollments">listObserverEnrollments</a></li><li data-type='method'><a href="api.course.html#listObservers">listObservers</a></li><li data-type='method'><a href="api.course.html#listStudentEnrollments">listStudentEnrollments</a></li><li data-type='method'><a href="api.course.html#listStudents">listStudents</a></li><li data-type='method'><a href="api.course.html#listTAs">listTAs</a></li><li data-type='method'><a href="api.course.html#listTeachers">listTeachers</a></li><li data-type='method'><a href="api.course.html#listTeachingTeamMemberEnrollments">listTeachingTeamMemberEnrollments</a></li><li data-type='method'><a href="api.course.html#listTeachingTeamMembers">listTeachingTeamMembers</a></li><li data-type='method'><a href="api.course.html#listUsers">listUsers</a></li><li data-type='method'><a href="api.course.html#migrateContent">migrateContent</a></li><li data-type='method'><a href="api.course.html#updatePublishState">updatePublishState</a></li></ul></li><li><a href="api.course.analytics.html">api.course.analytics</a><ul class='methods'><li data-type='method'><a href="api.course.analytics.html#getStudentMessagingData">getStudentMessagingData</a></li><li data-type='method'><a href="api.course.analytics.html#getStudentParticipationData">getStudentParticipationData</a></li><li data-type='method'><a href="api.course.analytics.html#getStudentSummary">getStudentSummary</a></li><li data-type='method'><a href="api.course.analytics.html#listAssignmentSummaries">listAssignmentSummaries</a></li><li data-type='method'><a href="api.course.analytics.html#listDailyActivitySummaries">listDailyActivitySummaries</a></li><li data-type='method'><a href="api.course.analytics.html#listStudentSummaries">listStudentSummaries</a></li></ul></li><li><a href="api.course.announcement.html">api.course.announcement</a><ul class='methods'><li data-type='method'><a href="api.course.announcement.html#create">create</a></li><li data-type='method'><a href="api.course.announcement.html#list">list</a></li></ul></li><li><a href="api.course.app.html">api.course.app</a><ul class='methods'><li data-type='method'><a href="api.course.app.html#addByClientId">addByClientId</a></li><li data-type='method'><a href="api.course.app.html#addByXML">addByXML</a></li><li data-type='method'><a href="api.course.app.html#addRedirect">addRedirect</a></li><li data-type='method'><a href="api.course.app.html#get">get</a></li><li data-type='method'><a href="api.course.app.html#getAssignmentLaunchURL">getAssignmentLaunchURL</a></li><li data-type='method'><a href="api.course.app.html#getMetadata">getMetadata</a></li><li data-type='method'><a href="api.course.app.html#getNavLaunchURL">getNavLaunchURL</a></li><li data-type='method'><a href="api.course.app.html#hideFromNav">hideFromNav</a></li><li data-type='method'><a href="api.course.app.html#list">list</a></li><li data-type='method'><a href="api.course.app.html#moveToTopOfNavMenu">moveToTopOfNavMenu</a></li><li data-type='method'><a href="api.course.app.html#remove">remove</a></li><li data-type='method'><a href="api.course.app.html#showInNav">showInNav</a></li><li data-type='method'><a href="api.course.app.html#updateMetadata">updateMetadata</a></li></ul></li><li><a href="api.course.assignment.html">api.course.assignment</a><ul class='methods'><li data-type='method'><a href="api.course.assignment.html#create">create</a></li><li data-type='method'><a href="api.course.assignment.html#createOverride">createOverride</a></li><li data-type='method'><a href="api.course.assignment.html#createSubmissionComment">createSubmissionComment</a></li><li data-type='method'><a href="api.course.assignment.html#createTextSubmission">createTextSubmission</a></li><li data-type='method'><a href="api.course.assignment.html#createURLSubmission">createURLSubmission</a></li><li data-type='method'><a href="api.course.assignment.html#delete">delete</a></li><li data-type='method'><a href="api.course.assignment.html#deleteOverride">deleteOverride</a></li><li data-type='method'><a href="api.course.assignment.html#get">get</a></li><li data-type='method'><a href="api.course.assignment.html#getOverride">getOverride</a></li><li data-type='method'><a href="api.course.assignment.html#getSubmission">getSubmission</a></li><li data-type='method'><a href="api.course.assignment.html#list">list</a></li><li data-type='method'><a href="api.course.assignment.html#listAllSubmissions">listAllSubmissions</a></li><li data-type='method'><a href="api.course.assignment.html#listGradeableStudents">listGradeableStudents</a></li><li data-type='method'><a href="api.course.assignment.html#listOverrides">listOverrides</a></li><li data-type='method'><a href="api.course.assignment.html#listSubmissions">listSubmissions</a></li><li data-type='method'><a href="api.course.assignment.html#update">update</a></li><li data-type='method'><a href="api.course.assignment.html#updateGrade">updateGrade</a></li><li data-type='method'><a href="api.course.assignment.html#updateGrades">updateGrades</a></li><li data-type='method'><a href="api.course.assignment.html#updateOverride">updateOverride</a></li></ul></li><li><a href="api.course.assignmentGroup.html">api.course.assignmentGroup</a><ul class='methods'><li data-type='method'><a href="api.course.assignmentGroup.html#create">create</a></li><li data-type='method'><a href="api.course.assignmentGroup.html#delete">delete</a></li><li data-type='method'><a href="api.course.assignmentGroup.html#get">get</a></li><li data-type='method'><a href="api.course.assignmentGroup.html#list">list</a></li><li data-type='method'><a href="api.course.assignmentGroup.html#update">update</a></li></ul></li><li><a href="api.course.discussionTopic.html">api.course.discussionTopic</a><ul class='methods'><li data-type='method'><a href="api.course.discussionTopic.html#create">create</a></li><li data-type='method'><a href="api.course.discussionTopic.html#delete">delete</a></li><li data-type='method'><a href="api.course.discussionTopic.html#list">list</a></li><li data-type='method'><a href="api.course.discussionTopic.html#listEntries">listEntries</a></li><li data-type='method'><a href="api.course.discussionTopic.html#updatePublishState">updatePublishState</a></li></ul></li><li><a href="api.course.file.html">api.course.file</a><ul class='methods'><li data-type='method'><a href="api.course.file.html#list">list</a></li></ul></li><li><a href="api.course.folder.html">api.course.folder</a><ul class='methods'><li data-type='method'><a href="api.course.folder.html#list">list</a></li></ul></li><li><a href="api.course.gradebookColumn.html">api.course.gradebookColumn</a><ul class='methods'><li data-type='method'><a href="api.course.gradebookColumn.html#create">create</a></li><li data-type='method'><a href="api.course.gradebookColumn.html#delete">delete</a></li><li data-type='method'><a href="api.course.gradebookColumn.html#get">get</a></li><li data-type='method'><a href="api.course.gradebookColumn.html#list">list</a></li><li data-type='method'><a href="api.course.gradebookColumn.html#listEntries">listEntries</a></li><li data-type='method'><a href="api.course.gradebookColumn.html#update">update</a></li><li data-type='method'><a href="api.course.gradebookColumn.html#updateEntries">updateEntries</a></li><li data-type='method'><a href="api.course.gradebookColumn.html#updateEntry">updateEntry</a></li></ul></li><li><a href="api.course.group.html">api.course.group</a><ul class='methods'><li data-type='method'><a href="api.course.group.html#create">create</a></li><li data-type='method'><a href="api.course.group.html#delete">delete</a></li><li data-type='method'><a href="api.course.group.html#get">get</a></li><li data-type='method'><a href="api.course.group.html#listUsers">listUsers</a></li><li data-type='method'><a href="api.course.group.html#updateMembers">updateMembers</a></li></ul></li><li><a href="api.course.groupSet.html">api.course.groupSet</a><ul class='methods'><li data-type='method'><a href="api.course.groupSet.html#create">create</a></li><li data-type='method'><a href="api.course.groupSet.html#delete">delete</a></li><li data-type='method'><a href="api.course.groupSet.html#get">get</a></li><li data-type='method'><a href="api.course.groupSet.html#list">list</a></li><li data-type='method'><a href="api.course.groupSet.html#listGroups">listGroups</a></li></ul></li><li><a href="api.course.module.html">api.course.module</a><ul class='methods'><li data-type='method'><a href="api.course.module.html#list">list</a></li></ul></li><li><a href="api.course.navMenuItem.html">api.course.navMenuItem</a><ul class='methods'><li data-type='method'><a href="api.course.navMenuItem.html#list">list</a></li><li data-type='method'><a href="api.course.navMenuItem.html#update">update</a></li></ul></li><li><a href="api.course.page.html">api.course.page</a><ul class='methods'><li data-type='method'><a href="api.course.page.html#create">create</a></li><li data-type='method'><a href="api.course.page.html#delete">delete</a></li><li data-type='method'><a href="api.course.page.html#get">get</a></li><li data-type='method'><a href="api.course.page.html#list">list</a></li><li data-type='method'><a href="api.course.page.html#update">update</a></li></ul></li><li><a href="api.course.quiz.html">api.course.quiz</a><ul class='methods'><li data-type='method'><a href="api.course.quiz.html#create">create</a></li><li data-type='method'><a href="api.course.quiz.html#createEssayQuestion">createEssayQuestion</a></li><li data-type='method'><a href="api.course.quiz.html#createMultipleChoiceQuestion">createMultipleChoiceQuestion</a></li><li data-type='method'><a href="api.course.quiz.html#createShortAnswerQuestion">createShortAnswerQuestion</a></li><li data-type='method'><a href="api.course.quiz.html#createSubmission">createSubmission</a></li><li data-type='method'><a href="api.course.quiz.html#delete">delete</a></li><li data-type='method'><a href="api.course.quiz.html#get">get</a></li><li data-type='method'><a href="api.course.quiz.html#getQuizStudentReport">getQuizStudentReport</a></li><li data-type='method'><a href="api.course.quiz.html#getSubmission">getSubmission</a></li><li data-type='method'><a href="api.course.quiz.html#list">list</a></li><li data-type='method'><a href="api.course.quiz.html#listQuestions">listQuestions</a></li><li data-type='method'><a href="api.course.quiz.html#listSubmissions">listSubmissions</a></li><li data-type='method'><a href="api.course.quiz.html#update">update</a></li><li data-type='method'><a href="api.course.quiz.html#updateQuestionGrades">updateQuestionGrades</a></li></ul></li><li><a href="api.course.rubric.html">api.course.rubric</a><ul class='methods'><li data-type='method'><a href="api.course.rubric.html#createFreeFormGradingRubricInAssignment">createFreeFormGradingRubricInAssignment</a></li><li data-type='method'><a href="api.course.rubric.html#get">get</a></li><li data-type='method'><a href="api.course.rubric.html#list">list</a></li></ul></li><li><a href="api.course.section.html">api.course.section</a><ul class='methods'><li data-type='method'><a href="api.course.section.html#get">get</a></li><li data-type='method'><a href="api.course.section.html#list">list</a></li></ul></li><li><a href="api.enrollmentTerm.html">api.enrollmentTerm</a></li><li><a href="api.other.html">api.other</a><ul class='methods'><li data-type='method'><a href="api.other.html#endpoint">endpoint</a></li></ul></li><li><a href="api.user.html">api.user</a><ul class='methods'><li data-type='method'><a href="api.user.html#listCourses">listCourses</a></li><li data-type='method'><a href="api.user.html#listEmails">listEmails</a></li><li data-type='method'><a href="api.user.html#search">search</a></li></ul></li><li><a href="api.user.self.html">api.user.self</a><ul class='methods'><li data-type='method'><a href="api.user.self.html#getProfile">getProfile</a></li><li data-type='method'><a href="api.user.self.html#listCourses">listCourses</a></li></ul></li></ul><h3>Global</h3><ul><li><a href="global.html#DateHandlingType">DateHandlingType</a></li><li><a href="global.html#dayOfWeekToNumber">dayOfWeekToNumber</a></li></ul>
</nav>
<div id="main">
<section>
<header>
<h2>
<span class="ancestors"><a href="api.course.html">.course</a>.</span>
quiz
</h2>
</header>
<article>
<div class="container-overview">
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="ECatCourse_ECatQuiz.js.html">ECatCourse/ECatQuiz.js</a>, <a href="ECatCourse_ECatQuiz.js.html#line2">line 2</a>
</li></ul></dd>
</dl>
<div class="description usertext">Functions for interacting with quizzes within courses</div>
</div>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id="create"><span class="type-signature">(async) </span>create<span class="signature">(opts, config<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {Promise.<CanvasQuiz>}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="ECatCourse_ECatQuiz.js.html">ECatCourse/ECatQuiz.js</a>, <a href="ECatCourse_ECatQuiz.js.html#line249">line 249</a>
</li></ul></dd>
<dt class="tag-author">Author:</dt>
<dd class="tag-author">
<ul>
<li>Gabe Abrams</li>
</ul>
</dd>
</dl>
<div class="description usertext">
Creates a new quiz in a course
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>opts</code></td>
<td class="type">
<span class="param-type">object</span>
</td>
<td class="attributes">
</td>
<td class="description last">object containing all arguments
<h6>Properties</h6>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>title</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last">Title of the new quiz</td>
</tr>
<tr>
<td class="name"><code>courseId</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>default course id</code>
</td>
<td class="description last">Canvas course Id to
create the quiz in</td>
</tr>
<tr>
<td class="name"><code>description</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>null</code>
</td>
<td class="description last">HTML description of the quiz</td>
</tr>
<tr>
<td class="name"><code>type</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>null</code>
</td>
<td class="description last">Quiz type. Allowed values: [
'practice_quiz', 'assignment', 'graded_survey', 'survey']</td>
</tr>
<tr>
<td class="name"><code>dueAt</code></td>
<td class="type">
<span class="param-type">date</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>null</code>
</td>
<td class="description last">Date the quiz is due</td>
</tr>
<tr>
<td class="name"><code>lockAt</code></td>
<td class="type">
<span class="param-type">date</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>null</code>
</td>
<td class="description last">Date the quiz is lock</td>
</tr>
<tr>
<td class="name"><code>unlockAt</code></td>
<td class="type">
<span class="param-type">date</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>null</code>
</td>
<td class="description last">Date the quiz is unlock</td>
</tr>
<tr>
<td class="name"><code>published</code></td>
<td class="type">
<span class="param-type">boolean</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last">If true, quiz is published</td>
</tr>
<tr>
<td class="name"><code>allowedAttempts</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>1</code>
</td>
<td class="description last">Number of times a student is
allowed to take the quiz. Set to1 for unlimited attempts</td>
</tr>
<tr>
<td class="name"><code>scoringPolicy</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>keep_highest</code>
</td>
<td class="description last">Only valid if
allowedAttempts > 1. Allowed values: ['keep_highest', 'keep_latest']</td>
</tr>
<tr>
<td class="name"><code>oneQuestionAtATime</code></td>
<td class="type">
<span class="param-type">boolean</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last">If true, shows quiz to
student one question at a time</td>
</tr>
<tr>
<td class="name"><code>cantGoBack</code></td>
<td class="type">
<span class="param-type">boolean</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last">If true, shows quiz to student
one question at a time</td>
</tr>
<tr>
<td class="name"><code>accessCode</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last">If defined, restricts access to
the quiz only to those with this access code</td>
</tr>
<tr>
<td class="name"><code>ipFilter</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last">If defined, restricts access to
the quiz to computers in a specified IP range. Filters can be a
comma-separated list of addresses, or an address followed by a mask</td>
</tr>
<tr>
<td class="name"><code>assignmentGroupId</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>top assignment group</code>
</td>
<td class="description last">The
assignment group to put the quiz into. Only valid if type is "assignment"
or "graded_survey"</td>
</tr>
<tr>
<td class="name"><code>timeLimitMins</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>null</code>
</td>
<td class="description last">Time limit for the quiz in
minutes</td>
</tr>
<tr>
<td class="name"><code>shuffleAnswers</code></td>
<td class="type">
<span class="param-type">boolean</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last">If true, quiz answers for
multiple choice questions will be randomized for each student</td>
</tr>
<tr>
<td class="name"><code>hideResults</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>not hidden</code>
</td>
<td class="description last">Allowed values: ['always',
'until_after_last_attempt'], determines whether the student can see their
own submission and other results</td>
</tr>
<tr>
<td class="name"><code>hideCorrectAnswers</code></td>
<td class="type">
<span class="param-type">boolean</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last">Only valid if
hideResults is not defined. If true, hides correct answers from students
when results are viewed</td>
</tr>
<tr>
<td class="name"><code>showCorrectAnswersAfterLastAttempt</code></td>
<td class="type">
<span class="param-type">boolean</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last">Only
valid if hideCorrectAnswers is not true and allowedAttemptes > 1. If true,
hides correct answers from students when quiz results are viewed until
they submit the last attempt for the quiz</td>
</tr>
<tr>
<td class="name"><code>showCorrectAnswersAt</code></td>
<td class="type">
<span class="param-type">date</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>null</code>
</td>
<td class="description last">Only valid if
hideCorrectAnswers is not true. If set, correct answers will only be
visible after this date</td>
</tr>
<tr>
<td class="name"><code>hideCorrectAnswersAt</code></td>
<td class="type">
<span class="param-type">date</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>null</code>
</td>
<td class="description last">Only valid if
hideCorrectAnswers is not true. If set, correct answers will stop being
visible after this date has passed</td>
</tr>
<tr>
<td class="name"><code>oneTimeResults</code></td>
<td class="type">
<span class="param-type">boolean</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last">Whether students should be
prevented from viewing their quiz results past the first time (right
after they turn in the quiz)</td>
</tr>
<tr>
<td class="name"><code>onlyVisibleToOverrides</code></td>
<td class="type">
<span class="param-type">boolean</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last">If true, the quiz
is only visible to students with overrides</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="name"><code>config</code></td>
<td class="type">
<span class="param-type">APIConfig</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last">custom configuration for this specific endpoint
call (overwrites defaults that were included when api was initialized)</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
Canvas Quiz <a href="https://canvas.instructure.com/doc/api/quizzes.html#Quiz">https://canvas.instructure.com/doc/api/quizzes.html#Quiz</a>
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">Promise.<CanvasQuiz></span>
</dd>
</dl>
<h4 class="name" id="createEssayQuestion"><span class="type-signature">(async) </span>createEssayQuestion<span class="signature">(opts, config<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {Promise.<CanvasQuizQuestion>}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="ECatCourse_ECatQuiz.js.html">ECatCourse/ECatQuiz.js</a>, <a href="ECatCourse_ECatQuiz.js.html#line472">line 472</a>
</li></ul></dd>
<dt class="tag-author">Author:</dt>
<dd class="tag-author">
<ul>
<li>Gabe Abrams</li>
</ul>
</dd>
</dl>
<div class="description usertext">
Creates a new essay question and adds it to a quiz in a course
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>opts</code></td>
<td class="type">
<span class="param-type">object</span>
</td>
<td class="attributes">
</td>
<td class="description last">object containing all arguments
<h6>Properties</h6>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>quizId</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last">Canvas quiz Id (not the quiz's assignment
Id)</td>
</tr>
<tr>
<td class="name"><code>name</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last">Name of the question</td>
</tr>
<tr>
<td class="name"><code>text</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last">The text of the question, as displayed to the
quiz taker</td>
</tr>
<tr>
<td class="name"><code>pointsPossible</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last">Maximum number of points</td>
</tr>
<tr>
<td class="name"><code>courseId</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>default course id</code>
</td>
<td class="description last">Canvas course Id to query</td>
</tr>
<tr>
<td class="name"><code>position</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>last</code>
</td>
<td class="description last">Optional. Position of the question
with respect to the other questions in the quiz</td>
</tr>
<tr>
<td class="name"><code>correctComment</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last">Comment to display if the
student answers correctly</td>
</tr>
<tr>
<td class="name"><code>incorrectComment</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last">Comment to display if the
student answers incorrectly</td>
</tr>
<tr>
<td class="name"><code>neutralComment</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last">Comment to display regardless
of how the student answers</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="name"><code>config</code></td>
<td class="type">
<span class="param-type">APIConfig</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last">custom configuration for this specific endpoint
call (overwrites defaults that were included when api was initialized)</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
Canvas QuizQuestion <a href="https://canvas.instructure.com/doc/api/quiz_questions.html#QuizQuestion">https://canvas.instructure.com/doc/api/quiz_questions.html#QuizQuestion</a>
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">Promise.<CanvasQuizQuestion></span>
</dd>
</dl>
<h4 class="name" id="createMultipleChoiceQuestion"><span class="type-signature">(async) </span>createMultipleChoiceQuestion<span class="signature">(opts, config<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {Promise.<CanvasQuizQuestion>}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="ECatCourse_ECatQuiz.js.html">ECatCourse/ECatQuiz.js</a>, <a href="ECatCourse_ECatQuiz.js.html#line409">line 409</a>
</li></ul></dd>
<dt class="tag-author">Author:</dt>
<dd class="tag-author">
<ul>
<li>Gabe Abrams</li>
</ul>
</dd>
</dl>
<div class="description usertext">
Creates a new multiple choice question and adds it to a quiz in a course
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>opts</code></td>
<td class="type">
<span class="param-type">object</span>
</td>
<td class="attributes">
</td>
<td class="description last">object containing all arguments
<h6>Properties</h6>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>quizId</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last">Canvas quiz Id (not the quiz's assignment
Id)</td>
</tr>
<tr>
<td class="name"><code>name</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last">Name of the question</td>
</tr>
<tr>
<td class="name"><code>text</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last">The text of the question, as displayed to the
quiz taker</td>
</tr>
<tr>
<td class="name"><code>pointsPossible</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last">Maximum number of points</td>
</tr>
<tr>
<td class="name"><code>answers</code></td>
<td class="type">
<span class="param-type">Array</span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last">Array of answers: [{ text, isCorrect,
comment }]</td>
</tr>
<tr>
<td class="name"><code>courseId</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>default course id</code>
</td>
<td class="description last">Canvas course Id to query</td>
</tr>
<tr>
<td class="name"><code>position</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>last</code>
</td>
<td class="description last">Optional. Position of the question
with respect to the other questions in the quiz</td>
</tr>
<tr>
<td class="name"><code>correctComment</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last">Comment to display if the
student answers correctly</td>
</tr>
<tr>
<td class="name"><code>incorrectComment</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last">Comment to display if the
student answers incorrectly</td>
</tr>
<tr>
<td class="name"><code>neutralComment</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last">Comment to display regardless
of how the student answers</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="name"><code>config</code></td>
<td class="type">
<span class="param-type">APIConfig</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last">custom configuration for this specific endpoint
call (overwrites defaults that were included when api was initialized)</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
Canvas QuizQuestion <a href="https://canvas.instructure.com/doc/api/quiz_questions.html#QuizQuestion">https://canvas.instructure.com/doc/api/quiz_questions.html#QuizQuestion</a>
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">Promise.<CanvasQuizQuestion></span>
</dd>
</dl>
<h4 class="name" id="createShortAnswerQuestion"><span class="type-signature">(async) </span>createShortAnswerQuestion<span class="signature">(opts, config<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {Promise.<CanvasQuizQuestion>}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="ECatCourse_ECatQuiz.js.html">ECatCourse/ECatQuiz.js</a>, <a href="ECatCourse_ECatQuiz.js.html#line524">line 524</a>
</li></ul></dd>
<dt class="tag-author">Author:</dt>
<dd class="tag-author">
<ul>
<li>Gabe Abrams</li>
</ul>
</dd>
</dl>
<div class="description usertext">
Creates a new short answer question and adds it to a quiz in a course
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>opts</code></td>
<td class="type">
<span class="param-type">object</span>
</td>
<td class="attributes">
</td>
<td class="description last">object containing all arguments
<h6>Properties</h6>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>quizId</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last">Canvas quiz Id (not the quiz's assignment
Id)</td>
</tr>
<tr>
<td class="name"><code>name</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last">Name of the question</td>
</tr>
<tr>
<td class="name"><code>text</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last">The text of the question, as displayed to the
quiz taker</td>
</tr>
<tr>
<td class="name"><code>pointsPossible</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last">Maximum number of points</td>
</tr>
<tr>
<td class="name"><code>courseId</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>default course id</code>
</td>
<td class="description last">Canvas course Id to query</td>
</tr>
<tr>
<td class="name"><code>position</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>last</code>
</td>
<td class="description last">Optional. Position of the question
with respect to the other questions in the quiz</td>
</tr>
<tr>
<td class="name"><code>correctComment</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last">Comment to display if the
student answers correctly</td>
</tr>
<tr>
<td class="name"><code>incorrectComment</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last">Comment to display if the
student answers incorrectly</td>
</tr>
<tr>
<td class="name"><code>neutralComment</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last">Comment to display regardless
of how the student answers</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="name"><code>config</code></td>
<td class="type">
<span class="param-type">APIConfig</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last">custom configuration for this specific endpoint
call (overwrites defaults that were included when api was initialized)</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
Canvas QuizQuestion <a href="https://canvas.instructure.com/doc/api/quiz_questions.html#QuizQuestion">https://canvas.instructure.com/doc/api/quiz_questions.html#QuizQuestion</a>
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">Promise.<CanvasQuizQuestion></span>
</dd>
</dl>
<h4 class="name" id="createSubmission"><span class="type-signature">(async) </span>createSubmission<span class="signature">(opts, config<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {Promise.<CanvasQuizSubmission>}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="ECatCourse_ECatQuiz.js.html">ECatCourse/ECatQuiz.js</a>, <a href="ECatCourse_ECatQuiz.js.html#line648">line 648</a>
</li></ul></dd>
<dt class="tag-author">Author:</dt>
<dd class="tag-author">
<ul>
<li>Gabe Abrams</li>
</ul>
</dd>
</dl>
<div class="description usertext">
Creates a new submission to a specific quiz in a course on behalf of the
current user
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>opts</code></td>
<td class="type">
<span class="param-type">object</span>
</td>
<td class="attributes">
</td>
<td class="description last">object containing all arguments
<h6>Properties</h6>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>quizId</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last">Canvas quiz Id (not the quiz's assignment
Id)</td>
</tr>
<tr>
<td class="name"><code>answers</code></td>
<td class="type">
<span class="param-type">Array.<object></span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last">List of answers to quiz questions:
[{id: <quiz_question_id>, answer: <answer_object>},...] where the answer
object is explained here: <a href="https://canvas.instructure.com/doc/api/quiz_submission_questions.html#Question+Answer+Formats-appendix">https://canvas.instructure.com/doc/api/quiz_submission_questions.html#Question+Answer+Formats-appendix</a></td>
</tr>
<tr>
<td class="name"><code>courseId</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>default course id</code>
</td>
<td class="description last">Canvas course Id</td>
</tr>
<tr>
<td class="name"><code>accessCode</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last">Access code for the quiz if it is
locked</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="name"><code>config</code></td>
<td class="type">
<span class="param-type">APIConfig</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last">custom configuration for this specific endpoint
call (overwrites defaults that were included when api was initialized)</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
Canvas QuizSubmission <a href="https://canvas.instructure.com/doc/api/quiz_submissions.html">https://canvas.instructure.com/doc/api/quiz_submissions.html</a>
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">Promise.<CanvasQuizSubmission></span>
</dd>
</dl>
<h4 class="name" id="delete"><span class="type-signature">(async) </span>delete<span class="signature">(opts, config<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {Promise.<CanvasQuiz>}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="ECatCourse_ECatQuiz.js.html">ECatCourse/ECatQuiz.js</a>, <a href="ECatCourse_ECatQuiz.js.html#line350">line 350</a>
</li></ul></dd>
<dt class="tag-author">Author:</dt>
<dd class="tag-author">
<ul>
<li>Gabe Abrams</li>
</ul>
</dd>
</dl>
<div class="description usertext">
Deletes a quiz from a course
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>opts</code></td>
<td class="type">
<span class="param-type">object</span>
</td>
<td class="attributes">
</td>
<td class="description last">object containing all arguments
<h6>Properties</h6>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>quizId</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last">Canvas quiz Id (not the quiz's assignment
Id)</td>
</tr>
<tr>
<td class="name"><code>courseId</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>default course id</code>
</td>
<td class="description last">Canvas course Id to query</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="name"><code>config</code></td>
<td class="type">
<span class="param-type">APIConfig</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last">custom configuration for this specific endpoint
call (overwrites defaults that were included when api was initialized)</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
Canvas Quiz <a href="https://canvas.instructure.com/doc/api/quizzes.html#Quiz">https://canvas.instructure.com/doc/api/quizzes.html#Quiz</a>
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">Promise.<CanvasQuiz></span>
</dd>
</dl>
<h4 class="name" id="get"><span class="type-signature">(async) </span>get<span class="signature">(opts, config<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {Promise.<CanvasQuiz>}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="ECatCourse_ECatQuiz.js.html">ECatCourse/ECatQuiz.js</a>, <a href="ECatCourse_ECatQuiz.js.html#line114">line 114</a>
</li></ul></dd>
<dt class="tag-author">Author:</dt>
<dd class="tag-author">
<ul>
<li>Gabe Abrams</li>
</ul>
</dd>
</dl>
<div class="description usertext">
Get info on a specific quiz in a course
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>opts</code></td>
<td class="type">
<span class="param-type">object</span>
</td>
<td class="attributes">
</td>
<td class="description last">object containing all arguments
<h6>Properties</h6>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>quizId</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last">Canvas quiz Id (not the quiz's assignment
Id)</td>
</tr>
<tr>
<td class="name"><code>courseId</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>default course id</code>
</td>
<td class="description last">Canvas course Id to query</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="name"><code>config</code></td>
<td class="type">
<span class="param-type">APIConfig</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last">custom configuration for this specific endpoint
call (overwrites defaults that were included when api was initialized)</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
Canvas Quiz <a href="https://canvas.instructure.com/doc/api/quizzes.html#Quiz">https://canvas.instructure.com/doc/api/quizzes.html#Quiz</a>
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">Promise.<CanvasQuiz></span>
</dd>
</dl>
<h4 class="name" id="getQuizStudentReport"><span class="type-signature">(async) </span>getQuizStudentReport<span class="signature">(opts, config<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {Promise.<CanvasParsedStudentAnalysisQuizReport>}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="ECatCourse_ECatQuiz.js.html">ECatCourse/ECatQuiz.js</a>, <a href="ECatCourse_ECatQuiz.js.html#line798">line 798</a>
</li></ul></dd>
<dt class="tag-author">Author:</dt>
<dd class="tag-author">
<ul>
<li>Gabe Abrams</li>
</ul>
</dd>
</dl>
<div class="description usertext">
Get a student quiz report
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>opts</code></td>
<td class="type">
<span class="param-type">object</span>
</td>
<td class="attributes">
</td>
<td class="description last">object containing all arguments
<h6>Properties</h6>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>quizId</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last">Canvas quiz Id (not the quiz's assignment
Id)</td>
</tr>
<tr>
<td class="name"><code>courseId</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last">Canvas course Id to query</td>
</tr>
<tr>
<td class="name"><code>waitForCompletionTimeout</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>2</code>
</td>
<td class="description last">Number of minutes to
wait for completion of batch upload</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="name"><code>config</code></td>
<td class="type">
<span class="param-type">APIConfig</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last">custom configuration for this specific endpoint
call (overwrites defaults that were included when api was initialized)</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
a parsed student quiz report in JSON form
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">Promise.<CanvasParsedStudentAnalysisQuizReport></span>
</dd>
</dl>
<h4 class="name" id="getSubmission"><span class="type-signature">(async) </span>getSubmission<span class="signature">(opts, config<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {Promise.<CanvasQuizSubmission>}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="ECatCourse_ECatQuiz.js.html">ECatCourse/ECatQuiz.js</a>, <a href="ECatCourse_ECatQuiz.js.html#line613">line 613</a>
</li></ul></dd>
<dt class="tag-author">Author:</dt>
<dd class="tag-author">
<ul>
<li>Gabe Abrams</li>
</ul>
</dd>
</dl>
<div class="description usertext">
Gets info on a specific submission to a quiz in a course
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>opts</code></td>
<td class="type">
<span class="param-type">object</span>
</td>
<td class="attributes">
</td>
<td class="description last">object containing all arguments
<h6>Properties</h6>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>quizId</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last">Canvas quiz Id (not the quiz's assignment
Id)</td>
</tr>
<tr>
<td class="name"><code>submissionId</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last">Canvas quiz submission Id</td>
</tr>
<tr>
<td class="name"><code>courseId</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>default course id</code>
</td>
<td class="description last">Canvas course Id to query</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="name"><code>config</code></td>
<td class="type">
<span class="param-type">APIConfig</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last">custom configuration for this specific endpoint
call (overwrites defaults that were included when api was initialized)</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
Canvas QuizSubmission <a href="https://canvas.instructure.com/doc/api/quiz_submissions.html">https://canvas.instructure.com/doc/api/quiz_submissions.html</a>
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">Promise.<CanvasQuizSubmission></span>
</dd>
</dl>
<h4 class="name" id="list"><span class="type-signature">(async) </span>list<span class="signature">(opts<span class="signature-attributes">opt</span>, config<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {Promise.<Array.<CanvasQuiz>>}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="ECatCourse_ECatQuiz.js.html">ECatCourse/ECatQuiz.js</a>, <a href="ECatCourse_ECatQuiz.js.html#line87">line 87</a>
</li></ul></dd>
<dt class="tag-author">Author:</dt>
<dd class="tag-author">
<ul>
<li>Gabe Abrams</li>
</ul>
</dd>
</dl>
<div class="description usertext">
Lists the quizzes in a course
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>opts</code></td>
<td class="type">
<span class="param-type">object</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last">object containing all arguments
<h6>Properties</h6>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>courseId</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>default course id</code>
</td>
<td class="description last">Canvas course Id to query</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="name"><code>config</code></td>
<td class="type">
<span class="param-type">APIConfig</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last">custom configuration for this specific endpoint
call (overwrites defaults that were included when api was initialized)</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
list of Canvas Quizzes <a href="https://canvas.instructure.com/doc/api/quizzes.html#Quiz">https://canvas.instructure.com/doc/api/quizzes.html#Quiz</a>
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">Promise.<Array.<CanvasQuiz>></span>
</dd>
</dl>
<h4 class="name" id="listQuestions"><span class="type-signature">(async) </span>listQuestions<span class="signature">(opts, config<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {Promise.<Array.<CanvasQuizQuestion>>}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="ECatCourse_ECatQuiz.js.html">ECatCourse/ECatQuiz.js</a>, <a href="ECatCourse_ECatQuiz.js.html#line381">line 381</a>
</li></ul></dd>
<dt class="tag-author">Author:</dt>
<dd class="tag-author">
<ul>
<li>Gabe Abrams</li>
</ul>
</dd>
</dl>
<div class="description usertext">
Lists the questions in a specific quiz in a course
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>opts</code></td>
<td class="type">
<span class="param-type">object</span>
</td>
<td class="attributes">
</td>
<td class="description last">object containing all arguments
<h6>Properties</h6>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>quizId</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last">Canvas quiz Id (not the quiz's assignment
Id)</td>
</tr>
<tr>
<td class="name"><code>courseId</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>default course id</code>
</td>
<td class="description last">Canvas course Id to query</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="name"><code>config</code></td>
<td class="type">
<span class="param-type">APIConfig</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last">custom configuration for this specific endpoint
call (overwrites defaults that were included when api was initialized)</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
list of Canvas Quiz Questions <a href="https://canvas.instructure.com/doc/api/quiz_questions.html">https://canvas.instructure.com/doc/api/quiz_questions.html</a>
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">Promise.<Array.<CanvasQuizQuestion>></span>
</dd>
</dl>
<h4 class="name" id="listSubmissions"><span class="type-signature">(async) </span>listSubmissions<span class="signature">(opts, config<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {Promise.<Array.<CanvasQuizSubmission>>}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="ECatCourse_ECatQuiz.js.html">ECatCourse/ECatQuiz.js</a>, <a href="ECatCourse_ECatQuiz.js.html#line579">line 579</a>
</li></ul></dd>
<dt class="tag-author">Author:</dt>
<dd class="tag-author">
<ul>
<li>Gabe Abrams</li>
</ul>
</dd>
</dl>
<div class="description usertext">
Lists the submissions to a quiz in a course
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>opts</code></td>
<td class="type">
<span class="param-type">object</span>
</td>
<td class="attributes">
</td>
<td class="description last">object containing all arguments
<h6>Properties</h6>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>quizId</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last">Canvas quiz Id (not the quiz's assignment
Id)</td>
</tr>
<tr>
<td class="name"><code>courseId</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>default course id</code>
</td>
<td class="description last">Canvas course Id to query</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="name"><code>config</code></td>
<td class="type">
<span class="param-type">APIConfig</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last">custom configuration for this specific endpoint
call (overwrites defaults that were included when api was initialized)</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
list of Canvas QuizSubmissions <a href="https://canvas.instructure.com/doc/api/quiz_submissions.html">https://canvas.instructure.com/doc/api/quiz_submissions.html</a>
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">Promise.<Array.<CanvasQuizSubmission>></span>
</dd>
</dl>
<h4 class="name" id="update"><span class="type-signature">(async) </span>update<span class="signature">(opts, config<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {Promise.<CanvasQuiz>}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="ECatCourse_ECatQuiz.js.html">ECatCourse/ECatQuiz.js</a>, <a href="ECatCourse_ECatQuiz.js.html#line142">line 142</a>
</li></ul></dd>
<dt class="tag-author">Author:</dt>
<dd class="tag-author">
<ul>
<li>Gabe Abrams</li>
</ul>
</dd>
</dl>
<div class="description usertext">
Updates a specific quiz in a course
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>opts</code></td>
<td class="type">
<span class="param-type">object</span>
</td>
<td class="attributes">
</td>
<td class="description last">object containing all arguments
<h6>Properties</h6>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>quizId</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last">Canvas course Id to create the quiz in</td>
</tr>
<tr>
<td class="name"><code>courseId</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>default course id</code>
</td>
<td class="description last">Canvas course Id to
create the quiz in</td>
</tr>
<tr>
<td class="name"><code>suppressNotification</code></td>
<td class="type">
<span class="param-type">boolean</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last">If true, does not
notify users that the quiz has been updated</td>
</tr>
<tr>
<td class="name"><code>title</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>current value</code>
</td>
<td class="description last">New title of the quiz</td>
</tr>
<tr>
<td class="name"><code>description</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>current value</code>
</td>
<td class="description last">New HTML description of
the quiz</td>
</tr>
<tr>
<td class="name"><code>type</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>current value</code>
</td>
<td class="description last">Quiz type. Allowed values: [
'practice_quiz', 'assignment', 'graded_survey', 'survey']</td>
</tr>
<tr>
<td class="name"><code>dueAt</code></td>
<td class="type">
<span class="param-type">date</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>current value</code>
</td>
<td class="description last">Date the quiz is due</td>
</tr>
<tr>
<td class="name"><code>lockAt</code></td>
<td class="type">
<span class="param-type">date</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>current value</code>
</td>
<td class="description last">Date the quiz is lock</td>
</tr>
<tr>
<td class="name"><code>unlockAt</code></td>
<td class="type">
<span class="param-type">date</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>current value</code>
</td>
<td class="description last">Date the quiz is unlock</td>
</tr>
<tr>
<td class="name"><code>published</code></td>
<td class="type">
<span class="param-type">boolean</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>current value</code>
</td>
<td class="description last">If true, quiz is
published</td>
</tr>
<tr>
<td class="name"><code>allowedAttempts</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>current value</code>
</td>
<td class="description last">Number of times a
student is allowed to take the quiz. Set to1 for unlimited attempts</td>
</tr>
<tr>
<td class="name"><code>scoringPolicy</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>current value</code>
</td>
<td class="description last">Only valid if
allowedAttempts > 1. Allowed values: ['keep_highest', 'keep_latest']</td>
</tr>
<tr>
<td class="name"><code>oneQuestionAtATime</code></td>
<td class="type">
<span class="param-type">boolean</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>current value</code>
</td>
<td class="description last">If true, shows
quiz to student one question at a time. Must be a boolean</td>
</tr>
<tr>
<td class="name"><code>cantGoBack</code></td>
<td class="type">
<span class="param-type">boolean</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>current value</code>
</td>
<td class="description last">If true, shows quiz to
student one question at a time. Must be a boolean</td>
</tr>
<tr>
<td class="name"><code>accessCode</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>current value</code>
</td>
<td class="description last">If defined, restricts
access to the quiz only to those with this access code</td>
</tr>
<tr>
<td class="name"><code>ipFilter</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>current value</code>
</td>
<td class="description last">If defined, restricts
access to the quiz to computers in a specified IP range. Filters can be a
comma-separated list of addresses, or an address followed by a mask</td>
</tr>
<tr>
<td class="name"><code>assignmentGroupId</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>current value</code>
</td>
<td class="description last">The assignment
group to put the quiz into. Only valid if type is "assignment" or
"graded_survey"</td>
</tr>
<tr>
<td class="name"><code>timeLimitMins</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>current value</code>
</td>
<td class="description last">Time limit for the
quiz in minutes</td>
</tr>
<tr>
<td class="name"><code>shuffleAnswers</code></td>
<td class="type">
<span class="param-type">boolean</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>current value</code>
</td>
<td class="description last">If true, quiz
answers for multiple choice questions will be randomized for each student</td>
</tr>
<tr>
<td class="name"><code>hideResults</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>current value</code>
</td>
<td class="description last">Allowed values:
['always', 'until_after_last_attempt'], determines whether the student can
see their own submission and other results</td>
</tr>
<tr>
<td class="name"><code>hideCorrectAnswers</code></td>
<td class="type">
<span class="param-type">boolean</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>current value</code>
</td>
<td class="description last">Only valid if
hideResults is not defined. If true, hides correct answers from students
when results are viewed</td>
</tr>
<tr>
<td class="name"><code>showCorrectAnswersAfterLastAttempt</code></td>
<td class="type">
<span class="param-type">boolean</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>current value</code>
</td>
<td class="description last">Only valid if hideCorrectAnswers is not true and allowedAttemptes > 1. If
true, hides correct answers from students when quiz results are viewed
until they submit the last attempt for the quiz. Must be a boolean</td>
</tr>
<tr>
<td class="name"><code>showCorrectAnswersAt</code></td>
<td class="type">
<span class="param-type">date</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>current value</code>
</td>
<td class="description last">Only valid if
hideCorrectAnswers is not true. If set, correct answers will only be
visible after this date</td>
</tr>
<tr>
<td class="name"><code>hideCorrectAnswersAt</code></td>
<td class="type">
<span class="param-type">date</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>current value</code>
</td>
<td class="description last">Only valid if
hideCorrectAnswers is not true. If set, correct answers will stop being
visible after this date has passed</td>
</tr>
<tr>
<td class="name"><code>oneTimeResults</code></td>
<td class="type">
<span class="param-type">boolean</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>current value</code>
</td>
<td class="description last">Whether students
should be prevented from viewing their quiz results past the first time
(right after they turn in the quiz)</td>
</tr>
<tr>
<td class="name"><code>onlyVisibleToOverrides</code></td>
<td class="type">
<span class="param-type">boolean</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>current value</code>
</td>
<td class="description last">If true,
the quiz is only visible to students with overrides</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="name"><code>config</code></td>
<td class="type">
<span class="param-type">APIConfig</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last">custom configuration for this specific endpoint
call (overwrites defaults that were included when api was initialized)</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
Canvas Quiz <a href="https://canvas.instructure.com/doc/api/quizzes.html#Quiz">https://canvas.instructure.com/doc/api/quizzes.html#Quiz</a>
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">Promise.<CanvasQuiz></span>
</dd>
</dl>
<h4 class="name" id="updateQuestionGrades"><span class="type-signature">(async) </span>updateQuestionGrades<span class="signature">(opts, config<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {Promise.<CanvasQuizSubmission>}</span></h4>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="ECatCourse_ECatQuiz.js.html">ECatCourse/ECatQuiz.js</a>, <a href="ECatCourse_ECatQuiz.js.html#line725">line 725</a>
</li></ul></dd>
<dt class="tag-author">Author:</dt>
<dd class="tag-author">
<ul>
<li>Gabe Abrams</li>
</ul>
</dd>
</dl>
<div class="description usertext">
Updates the question grades for a specific submission to a quiz in a course
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>opts</code></td>
<td class="type">
<span class="param-type">object</span>
</td>
<td class="attributes">
</td>
<td class="description last">object containing all arguments
<h6>Properties</h6>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th>Default</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>quizId</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last">Canvas quiz Id (not the quiz's assignment
Id)</td>
</tr>
<tr>
<td class="name"><code>submissionId</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
</td>
<td class="default">
</td>
<td class="description last">Canvas submission Id for a quiz</td>
</tr>
<tr>
<td class="name"><code>courseId</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>default course id</code>
</td>
<td class="description last">Canvas course Id to query</td>
</tr>
<tr>
<td class="name"><code>fudgePoints</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>current value</code>
</td>
<td class="description last">The amount of
positive/negative fudge points to apply to this submission</td>
</tr>
<tr>
<td class="name"><code>questions</code></td>
<td class="type">
<span class="param-type">object</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
</td>
<td class="description last">A map questionId => { score, comment }
of the question score/comment updates</td>
</tr>
<tr>
<td class="name"><code>attempt</code></td>
<td class="type">
<span class="param-type">number</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="default">
<code>most recent</code>
</td>
<td class="description last">The attempt to update grades
for. If excluded, we pull the user's submission to get the attempt number</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td class="name"><code>config</code></td>
<td class="type">
<span class="param-type">APIConfig</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last">custom configuration for this specific endpoint
call (overwrites defaults that were included when api was initialized)</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
QuizSubmission <a href="https://canvas.instructure.com/doc/api/quiz_submissions.html">https://canvas.instructure.com/doc/api/quiz_submissions.html</a>
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">Promise.<CanvasQuizSubmission></span>
</dd>
</dl>
</article>
</section>
</div>
<br class="clear">
<footer>
We use <a href="https://github.com/jsdoc3/jsdoc">JSDoc</a> and the <a href="https://github.com/clenemt/docdash">docdash</a> theme to generate our docs.
</footer>
<script>prettyPrint();</script>
<script src="scripts/polyfill.js"></script>
<script src="scripts/linenumber.js"></script>
</body>
</html>