code: def POST_AUTH(self, courseid):  # pylint: disable=arguments-differ
          
          course, __ = self.get_course_and_check_rights(courseid)
  
          user_input = web.input(tasks=[], aggregations=[], users=[])
  
          if "filter_type" not in user_input or "type" not in user_input or "format" not in user_input or user_input.format not in self.valid_formats():
              raise web.notfound()
  
          tasks = list(course.get_tasks().keys())
          for i in user_input.tasks:
              if i not in tasks:
                  raise web.notfound()
  
          # Load submissions
          submissions, aggregations = self.get_selected_submissions(course, user_input.filter_type, user_input.tasks,
                                                      user_input.users, user_input.aggregations, user_input.type)
  
          self._logger.info("Downloading %d submissions from course %s", len(submissions), courseid)
          web.header('Content-Type', 'application/x-gzip', unique=True)
          web.header('Content-Disposition', 'attachment; filename="submissions.tgz"', unique=True)
          return self.submission_manager.get_submission_archive(submissions, list(reversed(user_input.format.split('/'))), aggregations)
docs: GET request