def set_extensions(self, quiz_extensions, **kwargs):
if not isinstance(quiz_extensions, list) or not quiz_extensions:<EOL><INDENT>raise ValueError('<STR_LIT>')<EOL><DEDENT>if any(not isinstance(extension, dict) for extension in quiz_extensions):<EOL><INDENT>raise ValueError('<STR_LIT>')<EOL><DEDENT>if any('<STR_LIT>' not in extension for extension in quiz_extensions):<EOL><INDENT>raise RequiredFieldMissing(<EOL>'<STR_LIT>'<EOL>)<EOL><DEDENT>kwargs['<STR_LIT>'] = quiz_extensions<EOL>response = self._requester.request(<EOL>'<STR_LIT:POST>',<EOL>'<STR_LIT>'.format(self.course_id, self.id),<EOL>_kwargs=combine_kwargs(**kwargs)<EOL>)<EOL>extension_list = response.json()['<STR_LIT>']<EOL>return [QuizExtension(self._requester, extension) for extension in extension_list]<EOL>
Set extensions for student quiz submissions.

:calls: `POST /api/v1/courses/:course_id/quizzes/:quiz_id/extensions
    <https://canvas.instructure.com/doc/api/quiz_extensions.html#method.quizzes/quiz_extensions.create>`_

:param quiz_extensions: List of dictionaries representing extensions.
:type quiz_extensions: list

:rtype: list of :class:`canvasapi.quiz.QuizExtension`

Example Usage:

>>> quiz.set_extensions([
...     {
...         'user_id': 1,
...         'extra_time': 60,
...         'extra_attempts': 1
...     },
...     {
...         'user_id': 2,
...         'extra_attempts': 3
...     },
...     {
...         'user_id': 3,
...         'extra_time': 20
...     }
... ])