Skip to content

API: Quizes endpoints

/quizes

GET /quizes

List owned and managed Quiz sets.

[] Input:

  • string search: optional search string to filter results
  • integer limit: limit number of results
    • default: 16
  • integer page: page number
    • default: 1
    • not used in search mode!

[] Output:

  • list quizes
    • string quiz: Quiz identification string
    • string/null id: external unique Quiz identifier (if set for the Quiz)
    • string title: title of the Quiz set

/quiz

GET /quiz

Get/check Quiz set.

[] Input:

  • [!] string quiz: Quiz identification string

[] Output:

  • string quiz: Quiz identification string
  • string/null id: external unique Quiz identifier (if set for the Quiz)
  • string title: title of the Quiz set
  • string language: language of the Quiz set
  • string description: short description of the Quiz set (only present if set for the Quiz set)

POST /quiz

Create a new Quiz set.

[] Input:

  • string language: desired Quiz set language
  • [!] string title: title of the Quiz set
  • string{1,64} id: external unique Quiz identifier
  • string description: optional short description
  • string copy_settings: optional Quiz set identification string to copy settings from
  • string copy_questions: optional Quiz set identification string to copy questions from
  • string organization: organization identification string to assign the Quiz set to
    • only an organization of the API application owner can be used
    • always the organization of the user for organizational members
  • string mode: sets how questions are displayed during the Quiz
    • possible values: TEST / TURNS
      • TEST: all questions are displayed at once, user can answer them in any order and switch between them
      • TURNS: questions are displayed one by one, only one question is visible at a time and the user must answer it before moving to the next question
    • default: TEST
  • string type: type of the Quiz set
    • possible values: set / final / exam / private
      • set: for practice purposes
      • final: for course exam purposes
      • exam: for exam purposes
      • private: for private purposes (e.g testing)
    • default: set

[] Output:

  • string quiz: Quiz identification string

PATCH /quiz

Update the details of an existing Quiz set.

[] Input:

  • [!] string quiz: Quiz identification string
  • string{1,255} title: title of the Quiz set
  • string{0,64} id: external unique Quiz identifier
    • send an empty value to remove the current identifier
  • string language: language of the Quiz set
  • string{0,255} description: short description of the Quiz set
    • send an empty value to remove the current description
  • string organization: organization identification string to move the Quiz set to
    • only an organization of the API application owner can be used
    • only the owner of the Quiz set (or an administrator) can change the organization
    • send none (or an empty value) to remove the Quiz set from its current organization
    • always the organization of the user for organizational members

DELETE /quiz

Remove/archive Quiz set.

[] Input:

  • [!] string quiz: Quiz identification string

/quiz:settings

GET /quiz:settings

Get the settings of a Quiz set.

[] Input:

  • [!] string quiz: Quiz identification string

[] Output:

  • string quiz: Quiz identification string
  • boolean shuffle: questions are shuffled for every play
  • integer/null timelimit: time limit of the whole test in seconds
    • null: there is no time limit
  • integer/null roundtime: time limit of a single question in seconds (turn based Quiz sets only)
    • null: there is no time limit
  • string grading: grading of the Quiz set
    • the code of the grading preset in use, custom for a manually configured grading, or none when grading is disabled
  • integer grading_threshold: threshold of the grading in percentage (only present if a threshold is configured for the Quiz set)

POST /quiz:settings

Change individual settings of a Quiz set.

[] Input:

  • [!] string quiz: Quiz identification string
  • boolean shuffle: shuffle questions for every play
    • when disabled, the current order of the questions is kept
  • integer/string timelimit: time limit of the whole test in seconds
    • 0 or default: there is no time limit
  • integer/string roundtime: time limit of a single question in seconds
    • only available for turn based (TURNS mode) Quiz sets
    • 0 or default: there is no time limit
  • string grading: grading of the Quiz set
  • number grading_threshold: threshold of the grading in percentage, between 0 and 100
    • only available for grading presets with a configurable threshold (of the go-nogo-custom type)
    • can be changed without selecting the grading preset again

[] Output:

The updated settings of the Quiz set are returned, the same way as with GET /quiz:settings.


PUT /quiz:settings

Replace the complete configuration of a Quiz set with the configuration of another Quiz set. Only the configuration is copied, questions and question groups are not. The question selection, filtering and export settings of the target Quiz set are kept as well.

[] Input:

  • [!] string quiz: Quiz identification string (the target Quiz set)
  • [!] string source: Quiz identification string to copy the settings from
    • must be different from the target Quiz set

[] Output:

  • string quiz: Quiz identification string
  • string source: Quiz identification string the settings were copied from

PATCH /quiz:settings

Copy only those settings from another Quiz set that are not configured yet in the target Quiz set.

[] Input:

  • [!] string quiz: Quiz identification string (the target Quiz set)
  • [!] string source: Quiz identification string to copy the settings from
    • must be different from the target Quiz set

[] Output:

  • string quiz: Quiz identification string
  • string source: Quiz identification string the settings were copied from

/quiz:grading-presets

GET /quiz:grading-presets

List the grading presets available for the user. The global presets, the owned custom presets and the presets of the organizations of the user are returned. A Quiz set or an exam can be specified to list only the presets that can be used on it, together with the one it is currently using.

[] Input:

  • string quiz: Quiz set identification string
    • only the presets that can be used on this Quiz set are listed
  • string exam: exam identification string
    • only the presets that can be used on this exam are listed
    • either the quiz or the exam can be specified, not both of them
  • string language: optional language to filter the results with
    • presets that are not bound to a language are always included
    • default: the language of the specified Quiz set or exam

[] Output:

  • string quiz: Quiz set identification string (only present if a Quiz set is specified)
  • string exam: exam identification string (only present if an exam is specified)
  • list presets
    • string preset: grading preset identification string
    • string title: title of the grading preset
    • string type: type of the grading preset
    • string/null language: language of the grading preset
      • null: the preset is available in every language
    • boolean configurable: the threshold of the preset can be configured on the Quiz set or the exam
    • boolean certificates: the preset decides whether the test was successful, so certificates can be issued with it (see POST /exam:certificates)
    • boolean own: the preset is a custom preset owned by the user
    • string/null organization: organization identification string of the preset
      • null: the preset is not bound to an organization
    • boolean current: the specified Quiz set or exam is currently graded with this preset (only present if a Quiz set or an exam is specified)

/quiz:grading-preset

GET /quiz:grading-preset

Get a grading preset with its thresholds and grades.

[] Input:

  • [!] string preset: grading preset identification string

[] Output:

  • string preset: grading preset identification string
  • string title: title of the grading preset
  • string type: type of the grading preset
  • string/null language: language of the grading preset
    • null: the preset is available in every language
  • boolean configurable: the threshold of the preset can be configured on the Quiz set or the exam
  • boolean certificates: the preset decides whether the test was successful, so certificates can be issued with it (see POST /exam:certificates)
  • boolean own: the preset is a custom preset owned by the user
  • string/null organization: organization identification string of the preset
    • null: the preset is not bound to an organization
  • boolean used: the preset is already used by a Quiz set or an exam of the user
  • list grades
    • float threshold: lowest result in percentage the grade is given for
      • the first item always starts at 0
    • string grade: the grade itself
    • string text: text shown under the grade on the results page (if set)
  • boolean successful_all: every grade means success, even the lowest one (custom presets only)

POST /quiz:grading-preset

Create a new custom grading preset. Needs the custom grading feature to be enabled.

[] Input:

  • [!] string{1,128} title: title of the grading preset
  • string language: language of the grading preset
    • default: content language of the API application owner
  • [!] string type: type of the grading preset
    • possible values: custom / go-nogo-custom / hungarian-school / hungarian-university
      • custom: freely named grades, at least 2 items
      • go-nogo-custom: successful/unsuccessful grading with a custom threshold, exactly 2 items
      • hungarian-school: Hungarian primary and secondary school grading (1-5), exactly 5 items
      • hungarian-university: Hungarian university grading (1-5), exactly 5 items
  • [!] list grades: thresholds and grades of the preset, in ascending order
    • number threshold: lowest result in percentage the grade is given for, between 0 and 100
      • the first item always starts at 0, its threshold is ignored
    • string grade: the grade itself
      • only used with the custom type, where every item needs a unique, non-empty grade
      • the grades of the other types are fixed by the type
    • string text: optional text shown under the grade on the results page
      • text between asterisks (*) is displayed in bold, three or more consecutive spaces start a new line
  • boolean successful_all: every grade means success, even the lowest one
    • only used with the custom type, where the grades are labels rather than pass or fail levels
    • default: false

[] Output:

  • string preset: grading preset identification string

PATCH /quiz:grading-preset

Update an existing custom grading preset. The global presets and the presets of the organizations cannot be modified.

[] Input:

  • [!] string preset: grading preset identification string
  • string{1,128} title: title of the grading preset
  • string language: language of the grading preset
  • string type: type of the grading preset
    • possible values: custom / go-nogo-custom / hungarian-school / hungarian-university
    • cannot be changed anymore once the preset is used by a Quiz set or an exam
  • list grades: thresholds and grades of the preset, in ascending order
  • boolean successful_all: every grade means success, even the lowest one
    • only used with the custom type, it is dropped when the preset is changed to another type
    • kept unchanged if not specified

[] Output:

The updated grading preset is returned, the same way as with GET /quiz:grading-preset.


DELETE /quiz:grading-preset

Remove a custom grading preset. The global presets, the presets of the organizations, and the presets that are still used by a Quiz set or an exam cannot be removed.

[] Input:

  • [!] string preset: grading preset identification string

/quiz:skills

GET /quiz:skills

Get skills defined in a Quiz set.

[] Input:

  • [!] string quiz: Quiz identification string

[] Output:

  • string quiz: Quiz identification string
  • list skills
    • string identifier: skill identifier
    • string title: title of the skill
    • string description: skill description (if set)

/quiz:questions

GET /quiz:questions

List all questions and question groups in a Quiz set.

[] Input:

  • [!] string quiz: Quiz identification string

[] Output:

  • list items
    • string question: question identification string (if question)
    • string id: external unique question identifier (if question and present)
    • string group: question group title (if group)
    • boolean active: active item

POST /quiz:questions

Assign question(s) to a Quiz set, or one of its question group.

[] Input:

  • [!] string quiz: Quiz identification string
  • string group: optional question group title
  • [!] string questions: comma-separated list of question identification strings

DELETE /quiz:questions

Remove question(s) from a Quiz set, or one of its question group.

[] Input:

  • [!] string quiz: Quiz identification string
  • string group: optional question group title
  • [!] string questions: comma-separated list of question identification strings