This is a lower-level API. Lower-level APIs are not recommended for most projects, and may not be available on all plans. See our page on recommended deployment patterns for more information.

Question Types

This article outlines the different Question Types which are available in the Questions API. Details of Features that can be applied across a group of questions within an activity are also documented here.

Attributes

Key Type Default Description
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
metadata.distractor_rationale_response_level array undefined
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "imageclozetext" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.validation_stem_numeration string "number" Numeration character to be displayed to the left of the validation label.
feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
validation object undefined In this section, configure the correct answer(s) for the question.
validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.scoring_type string "exactMatch" Defines the scoring approach used. Possible options:
'exactMatch': Exact Match - Entire response must match exactly
'partialMatchV2': Partial Match - A relative part of the score will be given for each correct response area
'partialMatch': Partial Match per response - Cumulative Score value will be given for each correct response area
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
validation.valid_response object undefined An object containing the valid response score and value.
validation.valid_response.score number 1 Score awarded for the correct response(s).
validation.valid_response.value array undefined An array containing the valid responses for each response in response_positions in corresponding order.
validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ].value array undefined
validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ][ ].value array undefined
validation.enable_fullwidth_scoring boolean false For languages such as Japanese, where full-width and half-width characters are used, validate responses with either type of character width. For example, in this question: What do we call '犬' in English? And you have set 'Dog' (full-width) as the correct answer, if the learner enters 'Dog' (full-width) or 'Dog' (half-width) these will both be marked as correct responses when this option is enabled.
response_container response container object undefined Use Response Container (global) to make changes to all response boxes at once.
response_container.height stringUnits undefined
response_container.width stringUnits undefined
response_container.pointer string "none" Add response pointer next to the response container. Values can be one of 'top', 'right', 'bottom', 'left'
response_container.vertical_top boolean false This setting ensures that the position of the response boxes stays at the position set by the author, regardless of changes to the font size or container's size, i.e. it ensures that the position of the responses stays at top: 0, left: 0 of the container.
response_container.placeholder string undefined Placeholder text that can be added into the response entry area, which disappears when user starts typing.
response_container.input_type string "text" Type of input
response_containers array [response container object] undefined Array containing objects defining each individual response container style.
response_containers[ ].height stringUnits undefined
response_containers[ ].width stringUnits undefined
response_containers[ ].pointer string "none" Add response pointer next to the response container. Values can be one of 'top', 'right', 'bottom', 'left'
response_containers[ ].placeholder string undefined Text to display as a hint to the user of what to enter
response_containers[ ].input_type string "text" Type of input
image imageObject undefined Image settings are defined here.
image.src string undefined The URL to the image file.
image.alt textarea "" The alternative text of the image.
image.width number undefined Enter a numeric value for the width of the image. This value should be a pixel (px) value, but you do not need to type px into the field.
image.height number undefined Enter a numeric value for the height of the image. This value should be a pixel (px) value, but you do not need to type px into the field.
image.title string undefined The text to be shown on hover.
image.prevent_scale boolean undefined Prevent image to be scaled along with screen size change
image.scale boolean undefined Allow image to be scaled along with font size
image.preview hidden undefined Preview of the chosen image
response_positions array undefined Array of responsePosition objects (x and y) indicating the distance of the top left corner of the response field from the top left corner of the image.
response_positions[ ].x number undefined x value indicating the horizontal position of the top left corner of the response field on the image. The value is a percentage of the total width of the image.
response_positions[ ].y number undefined y value indicating the vertical position of the top left corner of the response field on the image. The value is a percentage of the total height of the image.
response_positions[ ][ ].x number undefined x value indicating the horizontal position of the top left corner of the response field on the image. The value is a percentage of the total width of the image.
response_positions[ ][ ].y number undefined y value indicating the vertical position of the top left corner of the response field on the image. The value is a percentage of the total height of the image.
aria_labels array undefined Text entered here will help assistive technology (e.g. a screen reader) attach a label to the image for accessibility purposes.
img_src string undefined Absolute URI for the background image.
max_length number 15 Maximum number of characters that can be entered in the field. Maximum value is 250.
character_map boolean / array [characters] false If true, the character map button will display within the text field. The character map will display the default set of special characters.
If an Array, the character map button will show and display only the array of characters.
IMPORTANTThe HTML document will require a charset of utf-8: <meta charset="utf-8">
multiple_line boolean false If true the response input will be a text area supporting multiple lines of input. If false the response input will be a text input only supporting one line responses.
spellcheck boolean false Control the input/textarea attributes spellcheck, autocapitalize, autocomplete and autocorrect. See "Spell check MDN". "Autocapitalize MDN". "Autocomplete MDN" " Autocorrect ". Note these are browser features and may not always be available.
case_sensitive boolean false If true, responses will be compared against valid_responses considering the letters' case.
ignore_leading_and_trailing_spaces boolean true Determines whether the automatic marking will ignore leading and trailing spaces. E.g. 'a' and ' a ' will be treated as the same.

Add text to Image example

{
    "response_id": "60014",
    "type": "imageclozetext",
    "case_sensitive": true,
    "img_src": "//assets.learnosity.com/questiontypes/content/blank_us_map.png",
    "instant_feedback": true,
    "max_length": 10,
    "response_containers": [{
        "pointer": "top"
    }, {
        "pointer": "right"
    }, {
        "pointer": "left"
    }],
    "response_positions": [{
        "x": 11.9,
        "y": 36.09
    }, {
        "x": 36.08,
        "y": 71.89
    }, {
        "x": 66.67,
        "y": 64.79
    }],
    "validation": {
        "scoring_type": "partialMatch",
        "valid_response": {
            "value": ["California", "Texas", "Florida"]
        }
    }
}

Attributes

Key Type Default Description
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "audio" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.download_link boolean undefined If true, a link to download the audio asset is displayed in the UI
ui_style.pause boolean true Defines whether the pause button is displayed in the UI
ui_style.pause_recording boolean true When the pause button is enabled, it is visible to the student.
ui_style.play boolean true Defines whether the play button is displayed in the UI
ui_style.play_bubble boolean true A bubble will appear on Play to show recording information (time, play/pause button, waveform, etc.) Only available in the Button UI.
ui_style.progress_bar boolean true A visual indicator to the student, displaying how much time they have to record. In playback mode, it will indicate how long is left.
ui_style.record_bubble boolean true Defines whether recording bubble is displayed in the UI, only available for 'button' type
ui_style.seek boolean true The student will be able to change the play position by clicking on the Progress Bar. The Play button and Progress Bar must be enabled.
ui_style.start_recording boolean true When the record button is enabled, it is visible to the student.
ui_style.stop_recording boolean true Defines whether the pause recording button is enabled
ui_style.timer boolean true The length of the recording will be displayed to the student.
ui_style.type string "block" Defines the rendering type of audio question. Values: "block", "button".
ui_style.volume_control boolean true Defines whether the volume control is displayed in the UI
ui_style.volume_meter boolean true Volume meter will be displayed to the user on playback. Play button must be enabled. Only available in Block UI.
ui_style.waveform boolean true A wave UI will be displayed to the user on playback. The play button must be enabled.
ui_style.responsive_layout boolean true The audio recorder size is scaled responsively, based on the size of its container.
validation object undefined In this section, configure the correct answer(s) for the question.
validation.max_score number undefined The highest score a marker can award to this question response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
description string undefined Deprecated See stimulus_review.
Description of the question and its context to be displayed. It supports HTML entities.
counter object undefined When enabled, shows a message and a countdown in seconds to the recording start time.
counter.length number 5 Required countdown in seconds to start recording.
counter.template string "Beginning in {num} seconds..." Specify custom message to wrap around the counter. If custom message is not provided then default message is used. Requires {num} in custom message for the counter to be injected.
max_length number "600" The length of audio, in seconds, allowed to be recorded by the student. Maximum value is 3600 (1 hour), default value is 600 (10 minutes)
overwrite_warning boolean true Set to false to suppress the overwrite warning when user attempts to re-record.
recording_cue boolean true Set to false if the beep is NOT to be played before recording is started.
show_download_link boolean false A link to download the student's recorded audio file will appear in review state.
silence_stop_duration number 0 Duration of audio silence, in seconds, that is allowed before recording is stopped. This value is set to 0 by default, which means the silence detection is turned off.

Audio example

{
    "response_id": "60001",
    "type": "audio",
    "stimulus": "Talk about yourself."
}

Attributes

Key Type Default Description
text_blocks array [] List of custom text blocks. Maximum length 9 characters.
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "chemistryessay" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.response_font_scale string "boosted" This scales the font relative to the question's font size. Possible values:
  • "boosted" 150%
  • "normal" 100%
ui_style.default_mode string "text" The default mode of the first line when question is first focused
ui_style.max_lines number "unlimited" Limits the number of lines of text / math that can be entered in the response area.
ui_style.text_formatting_options array ["bold","italic","underline","unorderedList"] Click on the icon button for each text formatting option to enable it in the student toolbar, and click again to disable. You can also click and drag the icon buttons to set the order that the options will appear to the student in the toolbar.
ui_style.keyboard_below_response_area boolean false If true, the floating formula keyboard will appear below the question as a whole (instead of below each individual math editor in the question).
validation object undefined In this section, configure the correct answer(s) for the question.
validation.max_score number undefined The highest score a marker can award to this question response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
handwriting_recognises string "standard" A string with the name of one of the available math grammar sets.
showHints boolean true Disables hint, including keyboard shortcuts and group titles, shown on the keyboard's top left corner when hovering over a symbol group key.
horizontal_layout boolean false Enables a horizontal layout with ten columns and two rows.
spellcheck boolean true Control the input/textarea attribute spellcheck. See "W3C article". Note this is a browser feature and may not always be available.
response_container object undefined Object that defines styles for the response container.
response_container.aria_label string undefined The ARIA label for the response container. The label will be "Response area" by default if no label is provided.

Chemistry essay Deprecated example

{
    "response_id": "60006",
    "type": "formulaessay",
    "stimulus": "[Some stimulus text here]"
}

Attributes

Key Type Default Description
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "chemistryessayV2" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.min_height stringUnits undefined The minimum height of the text entry area. Input as units. Example: "100px"
ui_style.max_height stringUnits undefined The max height of the text input including units. Example: "100px"
validation object undefined In this section, configure the correct answer(s) for the question.
validation.max_score number undefined The highest score a marker can award to this question response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
description string undefined Deprecated See stimulus_review.
Description of the question and its context to be displayed. It supports HTML entities.
formatting_options array ["bold","italic","underline","|","unorderedList","orderedList"] An array containing strings of text formatting options to make available. Available options:
  • bold
  • italic
  • underline
  • unorderedList
  • orderedList
  • removeFormat
  • alignLeft
  • alignCenter
  • alignRight
  • alignJustify
  • superscript
  • subscript
  • indentIncrease
  • indentDecrease
  • textDirectionLtr
  • textDirectionRtl
  • insertHorizontalRule
  • table
  • charactermap
  • image
  • formulaEditor
  • undo
  • redo
max_length number 10000 Maximum number of words that can be entered in the field. Maximum: 100,000 chars ~ 10,000 words
character_map array false The character map will display the default set of special characters.
If an Array, the character map button will show and display only the array of characters.
IMPORTANTThe HTML document will require a charset of utf-8: <meta charset="utf-8">
spellcheck boolean true Control the input/textarea attributes spellcheck, autocapitalize, autocomplete and autocorrect. See "Spell check MDN". "Autocapitalize MDN". "Autocomplete MDN" " Autocorrect ". Note these are browser features and may not always be available.
disable_auto_link boolean false Sets whether urls, entered by the user should automatically become clickable-links.
submit_over_limit boolean false Determines if the user is able to save/submit when the word limit has been exceeded.
placeholder string undefined Placeholder text that can be added into the response entry area, which disappears when user starts typing.
show_word_limit string "always" Determines how the word limit UI will display. Options are the following strings:
"always": Word limit is always shown and updated as the user types
"on-limit": Word limit is only displayed when the word limit is exceeded
"off": No word limit it shown.
text_blocks array [] List of custom text blocks. Maximum length 9 characters.
show_word_count boolean true Displays the word count underneath the entry dialog.
showHints boolean true Disables hints, including keyboard shortcuts and group titles, shown on the keypad's top left corner when hovering over a symbol group key.
horizontal_layout boolean false Enables a horizontal layout with ten columns and two rows.

Chemistry essay with rich text example

{
    "response_id": "60043-a",
    "type": "longtextV2",
    "stimulus": "write about their hobbies in no more than 400 words",
    "max_length": 400,
    "character_map": true
}

Attributes

Key Type Default Description
text_blocks array [] List of custom text blocks. Maximum length 9 characters.
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "chemistry" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.response_font_scale string "boosted" This scales the font relative to the question's font size. Possible values:
  • "boosted" 150%
  • "normal" 100%
ui_style.type string "floating-keyboard" Keyboard style. See Keypad Customization for more information. Possible values:
  • "floating-keyboard"

    A movable keypad appears when the learner brings focus into the response box

  • "block-keyboard"

    A fixed keypad that is always visible

  • "block-on-focus-keyboard"

    A fixed keypad appears when the learner brings focus into the response box

  • "no-input-ui"

    No keypad

ui_style.min_width stringUnits "" Controls the minimum width of the response input area, e.g. 550px
ui_style.transparent_background boolean false Determines whether the area housing nested response areas should be transparent
ui_style.keyboard_below_response_area boolean false If true, the floating formula keyboard will appear below the question as a whole (instead of below each individual math editor in the question).
feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
validation object undefined In this section, configure the correct answer(s) for the question.
validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.scoring_type string "exactMatch" The way in which marks are distributed for the question.
  • Exact Match - All parts of the question must be answered correctly to receive a mark.
  • Partial Match Per Response - Each correct response element will be awarded an individual score.
  • Partial Match - Each correct response element will be scored individually, and the overall question score will be divided between responses.
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
validation.valid_response object undefined An object containing the valid response score and value.
validation.valid_response.score number 1 Score awarded for the correct response(s).
validation.valid_response.value array [] An array of objects containing the valid response.
validation.valid_response.value[ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.valid_response.value[ ].value string "" The value to match against
validation.valid_response.value[ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.valid_response.value[ ].options object undefined Extra options for the selected method.
validation.valid_response.value[ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.valid_response.value[ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.valid_response.value[ ].options.inverseResult boolean false Return the opposite result
validation.valid_response.value[ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.valid_response.value[ ][ ].value string "" The value to match against
validation.valid_response.value[ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.valid_response.value[ ][ ].options object undefined Extra options for the selected method.
validation.valid_response.value[ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.valid_response.value[ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.valid_response.value[ ][ ].options.inverseResult boolean false Return the opposite result
validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ].value array [] An array of objects containing the valid response.
validation.alt_responses[ ].value[ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ].value[ ].value string "" The value to match against
validation.alt_responses[ ].value[ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ].value[ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ].value[ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.alt_responses[ ].value[ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.alt_responses[ ].value[ ].options.inverseResult boolean false Return the opposite result
validation.alt_responses[ ].value[ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ].value[ ][ ].value string "" The value to match against
validation.alt_responses[ ].value[ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ].value[ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ].value[ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.alt_responses[ ].value[ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.alt_responses[ ].value[ ][ ].options.inverseResult boolean false Return the opposite result
validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ][ ].value array [] An array of objects containing the valid response.
validation.alt_responses[ ][ ].value[ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ][ ].value[ ].value string "" The value to match against
validation.alt_responses[ ][ ].value[ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ][ ].value[ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ][ ].value[ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.alt_responses[ ][ ].value[ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.alt_responses[ ][ ].value[ ].options.inverseResult boolean false Return the opposite result
validation.alt_responses[ ][ ].value[ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ][ ].value[ ][ ].value string "" The value to match against
validation.alt_responses[ ][ ].value[ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ][ ].value[ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ][ ].value[ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.alt_responses[ ][ ].value[ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.alt_responses[ ][ ].value[ ][ ].options.inverseResult boolean false Return the opposite result
handwriting_recognises string "standard" A string with the name of one of the available math grammar sets.
template string undefined A string containing latex math to be rendered on initialization. The template markup tag {{response}} is also supported. If present, only the {{response}} areas will be editable.
showHints boolean true Disables hint, including keyboard shortcuts and group titles, shown on the keyboard's top left corner when hovering over a symbol group key.
horizontal_layout boolean false Enables a horizontal layout with ten columns and two rows.
response_container object undefined Object that defines styles for the response container.
response_container.height stringUnits undefined Height of the response container, in pixels. Global setting.
response_container.width stringUnits undefined Width of the response container, in pixels. Global setting.
response_container.aria_label string undefined The ARIA label for the response container. The label will be "Response area" by default if no label is provided.
response_containers array undefined Array containing objects defining each individual response container style.
response_containers[ ].height stringUnits undefined Height of the response container, in pixels. Individual container setting.
response_containers[ ].width stringUnits undefined Width of the response container, in pixels. Individual container setting.
response_containers[ ][ ].height stringUnits undefined Height of the response container, in pixels. Individual container setting.
response_containers[ ][ ].width stringUnits undefined Width of the response container, in pixels. Individual container setting.
symbols array ["chemistry","basic","qwerty"] An array containing either strings or a nested objects of symbol definitions.
numberPad array ["7","8","9","\u00f7","4","5","6","multiply","1","2","3","minus","0","decimal","comma","plus","left","right","backspace","="] Define a custom set of symbols for the learner's keypad, for example: ["7","8","9","multiply","="]

Chemistry formula example

{
    "response_id": "60035",
    "instant_feedback": true,
    "is_math": true,
    "stimulus": "Fill the gaps to balance a chemical equation:",
    "type": "chemistry",
    "template": "C_{{{response}}} + {{response}}O_2=2CO_{{{response}}}",
    "validation": {
        "scoring_type": "exactMatch",
        "valid_response": {
            "score": 1,
            "value": [{
                "method": "equivLiteral",
                "value": "C_2+2O_2=2CO_2"
            }]
        }
    }
}

Attributes

Key Type Default Description
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
metadata.distractor_rationale_response_level array undefined Used to display individual response feedback/rationale to the student.
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "choicematrix" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.type string "table"
ui_style.stem_width string undefined The width of the stem column
ui_style.option_width string undefined The width of each option column
ui_style.stem_title string undefined The text appears above stem row
ui_style.option_row_title string undefined The text appears above option row
ui_style.horizontal_lines boolean false Whether horizontal lines should be shown underneath each stem
feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
validation object undefined In this section, configure the correct answer(s) for the question.
validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.scoring_type string "exactMatch" The way in which marks are distributed for the question. Possible options:
'exactMatch': Exact Match - All parts of the question must be answered correctly to receive a mark.
'partialMatchV2': Partial Match - Each correct response element will be scored individually, and the overall question score will be divided between responses.
'partialMatch': Partial Match per Response - Each correct response element will be awarded an individual score.
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
validation.valid_response object undefined An object containing the valid response score and value.
validation.valid_response.score number 1 Score awarded for the correct response(s).
validation.valid_response.value array []
validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ].value array []
validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ][ ].value array []
shuffle_options boolean false Use this to shuffle Choice Matrix stems order.
options array undefined Array of strings values presenting choice matrix options, for example, ['Yes', 'No'].
multiple_responses boolean false If multiple_responses is true the user will be able to select multiple responses using a checkbox for each response.
stems array undefined Array of strings value presenting each row of question stem.

Choice matrix example

{
    "response_id": "60028",
    "type": "choicematrix",
    "stimulus": "Which statement is true?",
    "options": ["True", "False"],
    "stems": [
        "Sydney is the capital city of Australia.",
        "Darwin is the capital of the Northern Territory",
        "Queensland is the largest state in Australia."
    ],
    "validation": {
        "scoring_type": "exactMatch",
        "valid_response": {
            "value": [1, 0, 1],
            "score": 1
        }
    },
    "ui_style": {
        "type": "inline",
        "option_width": "150px"
    }
}

Attributes

Key Type Default Description
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
metadata.distractor_rationale_response_level array undefined Used to display individual response feedback/rationale to the student.
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "classification" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.validation_stem_numeration string "number" Numeration character to be displayed to the left of the validation label.
ui_style.possibility_list_position string "bottom" Defines where the possibility list sits relative to the input zone.
ui_style.column_count number 1 Defines the number of columns the classification table will have
ui_style.row_count number 1 Defines the number of rows the classification table will have
ui_style.column_titles array undefined Column titles for the classification table, if there are more titles then columns the excess titles will be ignored
ui_style.row_header string undefined Row header for the classification table, if there is no row title this attribute will be ignored.
ui_style.row_titles array undefined Row titles for the classification table, if there are more titles then rows the excess titles will be ignored
ui_style.row_min_height stringUnits "60px" Minimum height for the input table rows.
ui_style.row_titles_width stringUnits "60px" The width of the column containing the row titles in the classification table
ui_style.show_drag_handle boolean true Determines whether to show the drag handle.
feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
validation object undefined In this section, configure the correct answer(s) for the question.
validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.scoring_type string "exactMatch" The way in which marks are distributed for the question. Possible options:
'exactMatch': Exact Match - All parts of the question must be answered correctly to receive a mark.
'partialMatchV2': Partial Match per Cell - Max Score - Each correct cell will be scored individually, and the overall question score will be divided between cells.
'partialMatch': Partial Match per Cell - Each correct cell will be awarded an individual score.
'partialMatchElement': Partial Match per Element - Each correct response element will be awarded an individual score.
'partialMatchElementV2': Partial Match per Element V2 - Each correct response element will be scored individually, and the overall question score will be divided between responses.
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
validation.valid_response object undefined An object containing the valid response score and value.
validation.valid_response.score number 1 Score awarded for the correct response(s).
validation.valid_response.value array undefined A 3 dimensional array that consists of: An array of different valid responses (in most cases there will only be one valid response), each valid response is an array that contains an entry for each cell. each cell is an array of response index's. The response index is based on the index value in the possible_responses attribute.
validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ].value array undefined
validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ][ ].value array undefined
group_possible_responses groupPossibleResponses false Categorise possible responses into different groups, with each group having its own heading.
description string undefined Deprecated See stimulus_review.
Description of the question and its context to be displayed. It supports HTML entities.
shuffle_options boolean false Use this to shuffle classification possible responses order.
duplicate_responses boolean false When true the items from the possible_responses will be reusable infinite times.
max_response_per_cell number 0 The number of possible responses each cell can have, the cell can have unlimited responses if this field is empty or 0

Classification example

{
    "response_id": "60020",
    "type": "classification",
    "ui_style": {
        "column_count": 3,
        "row_count": 3,
        "column_titles": ["Prime", "Odd (Not Prime)", "Even (Not Prime)"],
        "row_header": "Range",
        "row_titles": ["> 1<br>< 10", ">= 10 <br>< 20", ">= 20<br>< 30"],
        "row_titles_width": "60px",
        "row_min_height": "100px"
    },
    "possible_responses": ["2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29"],
    "validation": {
        "scoring_type": "partialMatch",
        "valid_response": {
            "value": [
                [0, 1, 3, 5],
                [7],
                [2, 4, 6],
                [9, 11, 15, 17],
                [13],
                [8, 10, 12, 14, 16],
                [21, 27],
                [19, 23, 25],
                [18, 20, 22, 24, 26]
            ]
        },
        "penalty": 0.5
    },
    "instant_feedback": true
}

Attributes

Key Type Default Description
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
metadata.distractor_rationale_response_level array undefined
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "clozeassociation" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.validation_stem_numeration string "number" Numeration character to be displayed to the left of the validation label.
ui_style.possibility_list_position string "bottom" Defines where the possibility list sits relative to the input zone.
ui_style.show_drag_handle boolean true Determines whether to show the drag handle.
feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
validation object undefined In this section, configure the correct answer(s) for the question.
validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.scoring_type string "exactMatch" Defines the scoring approach used. Possible options:
'exactMatch': Exact Match - Entire response must match exactly
'partialMatchV2': Partial Match - A relative part of the score will be given for each correct response area
'partialMatch': Partial Match per response - Cumulative Score value will be given for each correct response area
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
validation.valid_response object undefined An object containing the valid response score and value.
validation.valid_response.score number 1 Score awarded for the correct response(s).
validation.valid_response.value array undefined An array containing the valid responses for each {{response}} in the template in corresponding order.
validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ].value array undefined
validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ][ ].value array undefined
response_container response container object undefined Use Response Container (global) to make changes to all response boxes at once.
response_container.height stringUnits undefined
response_container.width stringUnits undefined
response_container.wordwrap boolean false Determines if the possible response text should wrap or show an ellipsis when placed in a response container.
response_containers array [response container object] undefined Array containing objects defining each individual response container style.
response_containers[ ].height stringUnits undefined
response_containers[ ].width stringUnits undefined
response_containers[ ].wordwrap boolean false Determines if the possible response text should wrap or show an ellipsis when placed in a response container.
response_containers[ ].aria_label string undefined Custom aria label text for the response container.
description string undefined Deprecated See stimulus_review.
Description of the question and its context to be displayed. It supports HTML entities.
template string undefined Text, tables, images and response boxes can be added to this area. Click on the Insert Response button in the Rich Text Editor to add a response box, or press the underscore button on your keyboard twice as a shortcut.
group_possible_responses groupPossibleResponses false Categorise possible responses into different groups, with each group having its own heading.
possible_responses array undefined Array of strings values that need to be dragged to the actual response position.
duplicate_responses boolean false When true the items from the possible_responses will be reusable infinite times.
shuffle_options boolean false Use this to shuffle clozeassociation possible responses order.

Cloze association example

{
    "response_id": "60012",
    "type": "clozeassociation",
    "stimulus": "Choose the correct response for each blank ",
    "template": "<p>&ldquo;It&rsquo;s all clear,&rdquo; he {{response}}. &ldquo;Have you the chisel and the bags? Great Scott! Jump, Archie, jump, and I&rsquo;ll swing for it!&rdquo;</p><p>Sherlock {{response}} had sprung out and seized the {{response}} by the collar. The other dived down the hole, and I heard the sound of {{response}} cloth as Jones clutched at his skirts. The light flashed upon the barrel of a revolver, but Holmes&rsquo; {{response}} came down on the man&rsquo;s wrist, and the pistol {{response}} upon the stone floor.</p>",
    "possible_responses": ["whispered", "Holmes", "acquaintance", "intruder", "Homes", "burning", "rending", "broken", "revolver", "hunting crop", "clinked", "splint"],
    "instant_feedback": true,
    "validation": {
        "scoring_type": "partialMatch",
        "valid_response": {
            "value": ["whispered", "Holmes", "intruder", "rending", "hunting crop", "clinked"]
        }
    }
}

Attributes

Key Type Default Description
text_blocks array [] List of custom text blocks. Maximum length 9 characters.
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
metadata.distractor_rationale_response_level array undefined Used to display individual response feedback/rationale to the learner, at the relevant response level. Note that this is a premium Learnosity feature, contact Learnosity support to have it enabled.
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "clozechemistry" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.validation_stem_numeration string "number" Numeration character to be displayed to the left of the validation label.
ui_style.response_font_scale string "boosted" This scales the font relative to the question's font size. Possible values:
  • "boosted" 150%
  • "normal" 100%
ui_style.type string "block-on-focus-keyboard" Keyboard style. See Keypad Customization for more information. Possible values:
  • "floating-keyboard"

    A movable keypad appears when the learner brings focus into the response box

  • "block-keyboard"

    A fixed keypad that is always visible

  • "block-on-focus-keyboard"

    A fixed keypad appears when the learner brings focus into the response box

  • "no-input-ui"

    No keypad

ui_style.min_width stringUnits "" Controls the minimum width of the response input area, e.g. 550px
ui_style.keyboard_below_response_area boolean false When enabled, this will position the floating keyboard below the last line of the response area. Otherwise, this will partially overlap the response area.
feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
validation object undefined In this section, configure the correct answer(s) for the question.
validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.scoring_type string "exactMatch" The way in which marks are distributed for the question. Possible options:
'exactMatch': Exact Match - All parts of the question must be answered correctly to receive a mark.
'partialMatchV2': Partial Match - Each correct response element will be scored individually, and the overall question score will be divided between the responses.
'partialMatch': Partial Match per Response - Each correct response element will be awarded an individual score.
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
validation.valid_response object undefined An object containing the valid response score and value.
validation.valid_response.score number 1 Score awarded for the correct response(s).
validation.valid_response.value array [] A collection of arrays containing objects with the valid response.
validation.valid_response.value[ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.valid_response.value[ ][ ].value string "" The value to match against
validation.valid_response.value[ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.valid_response.value[ ][ ].options object undefined Extra options for the selected method.
validation.valid_response.value[ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.valid_response.value[ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.valid_response.value[ ][ ].options.inverseResult boolean false Return the opposite result
validation.valid_response.value[ ][ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.valid_response.value[ ][ ][ ].value string "" The value to match against
validation.valid_response.value[ ][ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.valid_response.value[ ][ ][ ].options object undefined Extra options for the selected method.
validation.valid_response.value[ ][ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.valid_response.value[ ][ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.valid_response.value[ ][ ][ ].options.inverseResult boolean false Return the opposite result
validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ].value array [] An array of arrays that contain the valid responses.
validation.alt_responses[ ].value[ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ].value[ ][ ].value string "" The value to match against
validation.alt_responses[ ].value[ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ].value[ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ].value[ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.alt_responses[ ].value[ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.alt_responses[ ].value[ ][ ].options.inverseResult boolean false Return the opposite result
validation.alt_responses[ ].value[ ][ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ].value[ ][ ][ ].value string "" The value to match against
validation.alt_responses[ ].value[ ][ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ].value[ ][ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ].value[ ][ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.alt_responses[ ].value[ ][ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.alt_responses[ ].value[ ][ ][ ].options.inverseResult boolean false Return the opposite result
validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ][ ].value array [] An array of arrays that contain the valid responses.
validation.alt_responses[ ][ ].value[ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ][ ].value[ ][ ].value string "" The value to match against
validation.alt_responses[ ][ ].value[ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ][ ].value[ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ][ ].value[ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.alt_responses[ ][ ].value[ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.alt_responses[ ][ ].value[ ][ ].options.inverseResult boolean false Return the opposite result
validation.alt_responses[ ][ ].value[ ][ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ][ ].value[ ][ ][ ].value string "" The value to match against
validation.alt_responses[ ][ ].value[ ][ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ][ ].value[ ][ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ][ ].value[ ][ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.alt_responses[ ][ ].value[ ][ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.alt_responses[ ][ ].value[ ][ ][ ].options.inverseResult boolean false Return the opposite result
handwriting_recognises string "standard" A string with the name of one of the available math grammar sets.
is_dynamic_content boolean false This attribute will be set to true when the Question has been created by the Math Question Generator.
template string undefined A string containing markup e.g. {{response}}, which define where response areas will be rendered. HTML supported tags
response_containers array undefined Configure attributes, such as Height and Width, for each response container individually.
response_containers[ ].template string undefined The initial value in the formula field. If response containers are used, only they will be editable.
response_containers[ ].width stringUnits undefined Width of an individual response container, in pixels. Individual container setting.
response_containers[ ].height stringUnits undefined Height of an individual response container, in pixels. Individual container setting.
response_containers[ ].aria_label string undefined The ARIA label for the response container. The label will be "Response area" by default if no label is provided.
response_containers[ ][ ].template string undefined The initial value in the formula field. If response containers are used, only they will be editable.
response_containers[ ][ ].width stringUnits undefined Width of an individual response container, in pixels. Individual container setting.
response_containers[ ][ ].height stringUnits undefined Height of an individual response container, in pixels. Individual container setting.
response_containers[ ][ ].aria_label string undefined The ARIA label for the response container. The label will be "Response area" by default if no label is provided.
response_container response container object undefined Define the template and dimensions for all response containers
response_container.template string undefined The initial value in the formula field. If response containers are used, only they will be editable.
response_container.height stringUnits undefined Height of the response container, in pixels. Global setting.
response_container.width stringUnits undefined Width of the response container, in pixels. Global setting.
response_container.aria_label string undefined The ARIA label for the response container. The label will be "Response area" by default if no label is provided.
showHints boolean true Disables hint, including keyboard shortcuts and group titles, shown on the keyboard's top left corner when hovering over a symbol group key.
horizontal_layout boolean false Enables a horizontal layout with ten columns and two rows.

Cloze chemistry formula example

{
	"response_id": "60009",
	"instant_feedback": true,
	"response_containers": [{
		"template": "25 + 45={{response}}"
	}],
	"stimulus": "It takes John 25 minutes to walk to the car park and 45 minutes to drive to work.",
	"template": "<p>{{response}} minutes = {{response}} hour and {{response}} minutes</p><p>John needs to get out of the house at {{response}}:{{response}}a.m. in order to get to work at 9:00a.m.</p>
",
	"type": "clozeformula",
	"ui_style": {
		"fontsize": "",
		"type": "block-on-focus-keyboard"
	},
	"validation": {
		"scoring_type": "exactMatch",
		"valid_response": {
			"score": 1,
			"value": [
				[{
					"method": "isTrue",
						"options": {
						"decimalPlaces": 10,
					}
				}],
				[{
					"method": "equivLiteral",
					"value": "1",
					"options": {
						"ignoreOrder": false
					}
				}],
				[{
					"method": "equivLiteral",
					"value": "10",
					"options": {
						"ignoreOrder": false
					}
				}],
				[{
					"method": "equivValue",
					"value": "7",
					"options": {
						"decimalPlaces": 10
					}
				}],
				[{
					"method": "equivLiteral",
					"value": "50",
					"options": {
						"ignoreOrder": false
					}
				}]
			]
		}
	}
}

Attributes

Key Type Default Description
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
metadata.distractor_rationale_response_level array undefined
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "clozedropdown" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.validation_stem_numeration string "number" Numeration character to be displayed to the left of the validation label.
feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
validation object undefined In this section, configure the correct answer(s) for the question.
validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.scoring_type string "exactMatch" Defines the scoring approach used. Possible options:
'exactMatch': Exact Match - Entire response must match exactly
'partialMatchV2': Partial Match - A relative part of the score will be given for each correct response area
'partialMatch': Partial Match per response - Cumulative Score value will be given for each correct response area
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
validation.valid_response object undefined An object containing the valid response score and value.
validation.valid_response.score number 1 Score awarded for the correct response(s).
validation.valid_response.value array undefined An array containing the valid responses for each {{response}} in the template in corresponding order.
validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ].value array undefined
validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ][ ].value array undefined
response_container response container object undefined Use Response Container (global) to make changes to all response boxes at once.
response_container.height stringUnits undefined
response_container.width stringUnits undefined
response_container.placeholder string "" Placeholder text that can be added into the response entry area, which disappears when user starts typing.
response_containers array [response container object] undefined Array containing objects defining each individual response container style.
response_containers[ ].height stringUnits undefined
response_containers[ ].width stringUnits undefined
response_containers[ ].placeholder string ""
response_containers[ ].aria_label string undefined Custom aria label text for the response container.
description string undefined Deprecated See stimulus_review.
Description of the question and its context to be displayed. It supports HTML entities.
template string undefined Text, tables, images and response boxes can be added to this area. Click on the Insert Response button in the Rich Text Editor to add a response box, or press the underscore button on your keyboard twice as a shortcut.
possible_responses array undefined Array of string arrays. They tie to the index position of the {{response}}s found in the HTML string and are rendered in order within the dropdown.
shuffle_options boolean false Use this to shuffle clozedropdown possible responses list order.
case_sensitive boolean false If true, responses will be compared against valid_responses considering the letters' case.

Cloze dropdown example

{
    "response_id": "60013",
    "type": "clozedropdown",
    "stimulus": "select the correct response for each blank ",
    "template": "<p>&ldquo;It&rsquo;s all clear,&rsquo; he {{response}}. &ldquo;Have you the chisel and the bags? Great Scott! Jump, Archie, jump, and I&rsquo;ll swing for it!&rsquo;</p><p>Sherlock {{response}} had sprung out and seized the {{response}} by the collar. The other dived down the hole, and I heard the sound of {{response}} cloth as Jones clutched at his skirts. The light flashed upon the barrel of a revolver, but Holmes&rsquo; {{response}} came down on the man&rsquo;s wrist, and the pistol {{response}} upon the stone floor.</p>",
    "instant_feedback": true,
    "possible_responses": [
        ["whispered", "sprinted", "joked"],
        ["Homes", "Holmes"],
        ["acquaintance", "intruder", "shopkeeper"],
        ["burning", "departing", "rending", "broken"],
        ["revolver", "hunting crop"],
        ["rattled", "clinked", "spilt"]
    ],
    "validation": {
        "scoring_type": "partialMatch",
        "valid_response": {
            "value": ["whispered", "Holmes", "intruder", "rending", "hunting crop", "clinked"]
        }
    }
}

Attributes

Key Type Default Description
text_blocks array [] List of custom text blocks. Maximum length 9 characters.
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
metadata.distractor_rationale_response_level array undefined Used to display individual response feedback/rationale to the learner, at the relevant response level. Note that this is a premium Learnosity feature, contact Learnosity support to have it enabled.
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "imageclozechemistry" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.validation_stem_numeration string "number" Numeration character to be displayed to the left of the validation label.
ui_style.response_font_scale string "boosted" This scales the font relative to the question's font size. Possible values:
  • "boosted" 150%
  • "normal" 100%
ui_style.type string "block-on-focus-keyboard" Keyboard style. See Keypad Customization for more information. Possible values:
  • "floating-keyboard"

    A movable keypad appears when the learner brings focus into the response box

  • "block-keyboard"

    A fixed keypad that is always visible

  • "block-on-focus-keyboard"

    A fixed keypad appears when the learner brings focus into the response box

  • "no-input-ui"

    No keypad

ui_style.min_width stringUnits "" Controls the minimum width of the response input area, e.g. 550px
ui_style.keyboard_below_response_area boolean false When enabled, this will position the floating keyboard below the last line of the response area. Otherwise, this will partially overlap the response area.
feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
validation object undefined In this section, configure the correct answer(s) for the question.
validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.scoring_type string "exactMatch" The way in which marks are distributed for the question. Possible options:
'exactMatch': Exact Match - All parts of the question must be answered correctly to receive a mark.
'partialMatchV2': Partial Match - Each correct response element will be scored individually, and the overall question score will be divided between the responses.
'partialMatch': Partial Match per Response - Each correct response element will be awarded an individual score.
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
validation.valid_response object undefined An object containing the valid response score and value.
validation.valid_response.score number 1 Score awarded for the correct response(s).
validation.valid_response.value array [] A collection of arrays containing objects with the valid response.
validation.valid_response.value[ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.valid_response.value[ ][ ].value string "" The value to match against
validation.valid_response.value[ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.valid_response.value[ ][ ].options object undefined Extra options for the selected method.
validation.valid_response.value[ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.valid_response.value[ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.valid_response.value[ ][ ].options.inverseResult boolean false Return the opposite result
validation.valid_response.value[ ][ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.valid_response.value[ ][ ][ ].value string "" The value to match against
validation.valid_response.value[ ][ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.valid_response.value[ ][ ][ ].options object undefined Extra options for the selected method.
validation.valid_response.value[ ][ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.valid_response.value[ ][ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.valid_response.value[ ][ ][ ].options.inverseResult boolean false Return the opposite result
validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ].value array [] An array of arrays that contain the valid responses.
validation.alt_responses[ ].value[ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ].value[ ][ ].value string "" The value to match against
validation.alt_responses[ ].value[ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ].value[ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ].value[ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.alt_responses[ ].value[ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.alt_responses[ ].value[ ][ ].options.inverseResult boolean false Return the opposite result
validation.alt_responses[ ].value[ ][ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ].value[ ][ ][ ].value string "" The value to match against
validation.alt_responses[ ].value[ ][ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ].value[ ][ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ].value[ ][ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.alt_responses[ ].value[ ][ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.alt_responses[ ].value[ ][ ][ ].options.inverseResult boolean false Return the opposite result
validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ][ ].value array [] An array of arrays that contain the valid responses.
validation.alt_responses[ ][ ].value[ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ][ ].value[ ][ ].value string "" The value to match against
validation.alt_responses[ ][ ].value[ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ][ ].value[ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ][ ].value[ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.alt_responses[ ][ ].value[ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.alt_responses[ ][ ].value[ ][ ].options.inverseResult boolean false Return the opposite result
validation.alt_responses[ ][ ].value[ ][ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ][ ].value[ ][ ][ ].value string "" The value to match against
validation.alt_responses[ ][ ].value[ ][ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ][ ].value[ ][ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ][ ].value[ ][ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.alt_responses[ ][ ].value[ ][ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.alt_responses[ ][ ].value[ ][ ][ ].options.inverseResult boolean false Return the opposite result
handwriting_recognises string "standard" A string with the name of one of the available math grammar sets.
is_dynamic_content boolean false This attribute will be set to true when the Question has been created by the Math Question Generator.
response_containers array undefined Configure attributes, such as Height and Width, for each response container individually.
response_containers[ ].template string undefined The initial value in the formula field. If response containers are used, only they will be editable.
response_containers[ ].width stringUnits undefined Width of an individual response container, in pixels. Individual container setting.
response_containers[ ].height stringUnits undefined Height of an individual response container, in pixels. Individual container setting.
response_containers[ ].aria_label string undefined The ARIA label for the response container. The label will be "Response area" by default if no label is provided.
response_containers[ ][ ].template string undefined The initial value in the formula field. If response containers are used, only they will be editable.
response_containers[ ][ ].width stringUnits undefined Width of an individual response container, in pixels. Individual container setting.
response_containers[ ][ ].height stringUnits undefined Height of an individual response container, in pixels. Individual container setting.
response_containers[ ][ ].aria_label string undefined The ARIA label for the response container. The label will be "Response area" by default if no label is provided.
response_container response container object undefined Define the template and dimensions for all response containers
response_container.template string undefined The initial value in the formula field. If response containers are used, only they will be editable.
response_container.height stringUnits undefined Height of the response container, in pixels. Global setting.
response_container.width stringUnits undefined Width of the response container, in pixels. Global setting.
response_container.aria_label string undefined The ARIA label for the response container. The label will be "Response area" by default if no label is provided.
response_container.vertical_top boolean false This setting ensures that the position of the response boxes stays at the position set by the author, regardless of changes to the font size or container's size, i.e. it ensures that the position of the responses stays at top: 0, left: 0 of the container.
showHints boolean true Disables hint, including keyboard shortcuts and group titles, shown on the keyboard's top left corner when hovering over a symbol group key.
horizontal_layout boolean false Enables a horizontal layout with ten columns and two rows.
image object undefined Image settings are defined here.
image.src string undefined The URL to the image file.
image.alt textarea "" The alternative text of the image.
image.width number undefined Specify the width of the image, in pixels (optional).
image.height number undefined Specify the height of the image, in pixels (optional).
image.title string undefined The text to be shown on hover.
image.prevent_scale boolean undefined Prevent image to be scaled along with screen size change
image.scale boolean undefined Allow image to be scaled along with font size
image.preview hidden undefined Preview of the chosen image
response_positions array undefined Array of responsePosition objects (x and y) indicating the distance of the top left corner of the response field from the top left corner of the image.
response_positions[ ].x number undefined x value indicating the horizontal position of the top left corner of the response field on the image. The value is a percentage of the total width of the image.
response_positions[ ].y number undefined y value indicating the vertical position of the top left corner of the response field on the image. The value is a percentage of the total height of the image.
response_positions[ ][ ].x number undefined x value indicating the horizontal position of the top left corner of the response field on the image. The value is a percentage of the total width of the image.
response_positions[ ][ ].y number undefined y value indicating the vertical position of the top left corner of the response field on the image. The value is a percentage of the total height of the image.

Cloze image chemistry example

{
    "response_id": "60034",
    "type": "imageclozeformula",
    "image": {
        "alt": "Scalene triangle with sixty-four degree angle",
        "src": "//assets.learnosity.com/questiontypes/content/triangle.png"
    },
    "is_math" :true,
    "response_container": {
        "pointer": "",
        "template": ""
    },
    "response_containers": [{
        "template": "",
        "pointer": "left",
        "width": "100px",
        "height": "20px"
    } , {
        "template": "",
        "pointer": "right",
        "width": "100px",
        "height": "20px"
    }],
    "response_positions": [{
        "x":31.25,
        "y": 0
    } , {
        "x": 72.75,
        "y": 16.8
    }],
    "stimulus": "<p>Express the angles a &amp; b in terms of simple arithmetic involving all the angles of the given triangle.</p><p>E.g.&nbsp;\\(180-2\\left(64\\right)\\)</p>",
    "type": "imageclozeformula",
    "ui_style": {
        "type": "block-on-focus-keyboard"
    },
    "validation": {
        "scoring_type": "exactMatch",
        "valid_response": {
            "score": 2,
            "value": [
                [{
                    "method": "equivValue",
                    "value": "64",
                    "options": {
                        "decimalPlaces": 10
                    }
                }] , [{
                    "method": "equivValue",
                    "value": "52",
                    "options": {
                        "decimalPlaces": 10
                    }
                }]
            ]
        }
    }
}

Attributes

Key Type Default Description
text_blocks array [] List of custom text blocks. Maximum length 9 characters.
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
metadata.distractor_rationale_response_level array undefined Used to display individual response feedback/rationale to the learner, at the relevant response level. Note that this is a premium Learnosity feature, contact Learnosity support to have it enabled.
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "clozeformula" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.validation_stem_numeration string "number" Numeration character to be displayed to the left of the validation label.
ui_style.response_font_scale string "boosted" This scales the font relative to the question's font size. Possible values:
  • "boosted" 150%
  • "normal" 100%
ui_style.type string "block-on-focus-keyboard" Keyboard style. See Keypad Customization for more information. Possible values:
  • "floating-keyboard"

    A movable keypad appears when the learner brings focus into the response box

  • "block-keyboard"

    A fixed keypad that is always visible

  • "block-on-focus-keyboard"

    A fixed keypad appears when the learner brings focus into the response box

  • "no-input-ui"

    No keypad

ui_style.min_width stringUnits "" Controls the minimum width of the response input area, e.g. 550px
ui_style.keyboard_below_response_area boolean false When enabled, this will position the floating keyboard below the last line of the response area. Otherwise, this will partially overlap the response area.
feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
validation object undefined In this section, configure the correct answer(s) for the question.
validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.scoring_type string "exactMatch" The way in which marks are distributed for the question. Possible options:
'exactMatch': Exact Match - All parts of the question must be answered correctly to receive a mark.
'partialMatchV2': Partial Match - Each correct response element will be scored individually, and the overall question score will be divided between the responses.
'partialMatch': Partial Match per Response - Each correct response element will be awarded an individual score.
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
validation.valid_response object undefined An object containing the valid response score and value.
validation.valid_response.score number 1 Score awarded for the correct response(s).
validation.valid_response.value array [] A collection of arrays containing objects with the valid response.
validation.valid_response.value[ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.valid_response.value[ ][ ].value string "" The value to match against
validation.valid_response.value[ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.valid_response.value[ ][ ].options object undefined Extra options for the selected method.
validation.valid_response.value[ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.valid_response.value[ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.valid_response.value[ ][ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.valid_response.value[ ][ ][ ].value string "" The value to match against
validation.valid_response.value[ ][ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.valid_response.value[ ][ ][ ].options object undefined Extra options for the selected method.
validation.valid_response.value[ ][ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.valid_response.value[ ][ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ].value array [] An array of arrays that contain the valid responses.
validation.alt_responses[ ].value[ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ].value[ ][ ].value string "" The value to match against
validation.alt_responses[ ].value[ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ].value[ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ].value[ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.alt_responses[ ].value[ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.alt_responses[ ].value[ ][ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ].value[ ][ ][ ].value string "" The value to match against
validation.alt_responses[ ].value[ ][ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ].value[ ][ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ].value[ ][ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.alt_responses[ ].value[ ][ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ][ ].value array [] An array of arrays that contain the valid responses.
validation.alt_responses[ ][ ].value[ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ][ ].value[ ][ ].value string "" The value to match against
validation.alt_responses[ ][ ].value[ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ][ ].value[ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ][ ].value[ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.alt_responses[ ][ ].value[ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.alt_responses[ ][ ].value[ ][ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ][ ].value[ ][ ][ ].value string "" The value to match against
validation.alt_responses[ ][ ].value[ ][ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ][ ].value[ ][ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ][ ].value[ ][ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.alt_responses[ ][ ].value[ ][ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
handwriting_recognises string "standard" A string with the name of one of the available math grammar sets.
is_dynamic_content boolean false This attribute will be set to true when the Question has been created by the Math Question Generator.
template string undefined A string containing markup e.g. {{response}}, which define where response areas will be rendered. HTML supported tags
equiv_literal_legacy boolean false Allows equivLiteral (2)(x) evaluate to true.
response_containers array undefined Configure attributes, such as Height and Width, for each response container individually.
response_containers[ ].template string undefined The initial value in the formula field. If response containers are used, only they will be editable.
response_containers[ ].width stringUnits undefined Width of an individual response container, in pixels. Individual container setting.
response_containers[ ].height stringUnits undefined Height of an individual response container, in pixels. Individual container setting.
response_containers[ ].aria_label string undefined The ARIA label for the response container. The label will be "Response area" by default if no label is provided.
response_containers[ ][ ].template string undefined The initial value in the formula field. If response containers are used, only they will be editable.
response_containers[ ][ ].width stringUnits undefined Width of an individual response container, in pixels. Individual container setting.
response_containers[ ][ ].height stringUnits undefined Height of an individual response container, in pixels. Individual container setting.
response_containers[ ][ ].aria_label string undefined The ARIA label for the response container. The label will be "Response area" by default if no label is provided.
response_container response container object undefined Define the template and dimensions for all response containers
response_container.template string undefined The initial value in the formula field. If response containers are used, only they will be editable.
response_container.height stringUnits undefined Height of the response container, in pixels. Global setting.
response_container.width stringUnits undefined Width of the response container, in pixels. Global setting.
response_container.aria_label string undefined The ARIA label for the response container. The label will be "Response area" by default if no label is provided.
showHints boolean true Disables hint, including keyboard shortcuts and group titles, shown on the keyboard's top left corner when hovering over a symbol group key.
horizontal_layout boolean false Enables a horizontal layout with ten columns and two rows.

Cloze math formula example

{
	"response_id": "60009",
	"instant_feedback": true,
	"response_containers": [{
		"template": "25 + 45={{response}}"
	}],
	"stimulus": "It takes John 25 minutes to walk to the car park and 45 minutes to drive to work.",
	"template": "<p>{{response}} minutes = {{response}} hour and {{response}} minutes</p><p>John needs to get out of the house at {{response}}:{{response}}a.m. in order to get to work at 9:00a.m.</p>
",
	"type": "clozeformula",
	"ui_style": {
		"fontsize": "",
		"type": "block-on-focus-keyboard"
	},
	"validation": {
		"scoring_type": "exactMatch",
		"valid_response": {
			"score": 1,
			"value": [
				[{
					"method": "isTrue",
						"options": {
						"decimalPlaces": 10,
					}
				}],
				[{
					"method": "equivLiteral",
					"value": "1",
					"options": {
						"ignoreOrder": false
					}
				}],
				[{
					"method": "equivLiteral",
					"value": "10",
					"options": {
						"ignoreOrder": false
					}
				}],
				[{
					"method": "equivValue",
					"value": "7",
					"options": {
						"decimalPlaces": 10
					}
				}],
				[{
					"method": "equivLiteral",
					"value": "50",
					"options": {
						"ignoreOrder": false
					}
				}]
			]
		}
	}
}

Attributes

Key Type Default Description
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "custom" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.validation_stem_numeration string "number" Numeration character to be displayed to the left of the validation label.
custom_type string undefined A key that identifies this custom type.
js string undefined A URL to a JavaScript file which defines an AMD module for the question. See this knowledgebase article for more information.
css string undefined A URL to a CSS file containing styles for the question.
version string undefined A number that identifies the version of the question e.g. v0.1.0.

Custom Draft example

{
    "response_id": "60033",
    "type": "custom",
    "custom_type": "custom_shorttext",
    "js": "//docs.learnosity.com/demos/products/questionsapi/questiontypes/custom_shorttext.js",
    "stimulus": "What is the capital of Ireland?",
    "correct_answer": "Dublin",
    "score": 1
}

Attributes

Key Type Default Description
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
metadata.distractor_rationale_response_level array undefined Used to store the distractor rationales that map to responses in the same order for use/rendering by the host environment.
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "drawing" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
validation object undefined In this section, configure the correct answer(s) for the question.
validation.max_score number undefined The highest score a marker can award to this question response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
character_map array false The character map will display the default set of special characters.
If an Array, the character map button will show and display only the array of characters.
IMPORTANTThe HTML document will require a charset of utf-8: <meta charset="utf-8">
image imageObject undefined The absolute URL of the background image.
image.source string undefined The image that should be displayed.
image.alt textarea "" Alternative text that appears when the image cannot be rendered, and is used for accessibility purposes such as screen readers.
image.width number undefined Enter a numeric value for the width of the image. This value should be a pixel (px) value, but you do not need to type px into the field.
image.height number undefined Enter a numeric value for the height of the image. This value should be a pixel (px) value, but you do not need to type px into the field.
image.preview hidden undefined Preview of the chosen image, or of the selected background
drawing_tools array ["scribble","straightedge","compass","|","eraser","clear","undo","redo"] Select tools to toggle them on or off. Drag them to rearrange toolbar order
text_formatting_options array [] Select Text formating tools under the Text tool.
line_color array undefined Defines the color and opacity of the drawn line.
line_width number 5 Width of the painted line, in pixels.
spellcheck boolean true Enable or disable browser spellcheck, autocapitalize, autocomplete and autocorrect attributes on the user response area.

Drawing example

{
    "response_id": "60011",
    "type": "drawing",
    "img_src": "https://www.nayuki.io/res/triangle-solver-javascript/labelled-triangle-diagram.png",
    "drawing_tools": ["scribble", "straightedge", "compass", "text", "|", "clear", "undo", "redo"],
    "line_color": ["rgba(255, 0, 0, 0.8)"],
    "image": {
        "source": "https://www.nayuki.io/res/triangle-solver-javascript/labelled-triangle-diagram.png",
        "width": 500,
        "height": 250
    }
}

Attributes

Key Type Default Description
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "longtextV2" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.min_height stringUnits undefined The minimum height of the text entry area. Input as units. Example: "100px"
ui_style.max_height stringUnits undefined The max height of the text input including units. Example: "100px"
validation object undefined In this section, configure the correct answer(s) for the question.
validation.max_score number undefined The highest score a marker can award to this question response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
description string undefined Deprecated See stimulus_review.
Description of the question and its context to be displayed. It supports HTML entities.
formatting_options array ["bold","italic","underline","|","unorderedList","orderedList"] An array containing strings of text formatting options to make available. Available options:
  • bold
  • italic
  • underline
  • unorderedList
  • orderedList
  • removeFormat
  • codeInline
  • codeEditor
  • alignLeft
  • alignCenter
  • alignRight
  • alignJustify
  • superscript
  • subscript
  • indentIncrease
  • indentDecrease
  • textDirectionLtr
  • textDirectionRtl
  • insertHorizontalRule
  • table
  • charactermap
  • image
  • undo
  • redo
max_length number 10000 Maximum number of words that can be entered in the field. Maximum: 100,000 chars ~ 10,000 words
character_map array false The character map will display the default set of special characters.
If an Array, the character map button will show and display only the array of characters.
IMPORTANTThe HTML document will require a charset of utf-8: <meta charset="utf-8">
spellcheck boolean true Control the input/textarea attributes spellcheck, autocapitalize, autocomplete and autocorrect. See "Spell check MDN". "Autocapitalize MDN". "Autocomplete MDN" " Autocorrect ". Note these are browser features and may not always be available.
disable_auto_link boolean false Sets whether urls, entered by the user should automatically become clickable-links.
submit_over_limit boolean false Determines if the user is able to save/submit when the word limit has been exceeded.
placeholder string undefined Placeholder text that can be added into the response entry area, which disappears when user starts typing.
show_word_limit string "always" Determines how the word limit UI will display. Options are the following strings:
"always": Word limit is always shown and updated as the user types
"on-limit": Word limit is only displayed when the word limit is exceeded
"off": No word limit it shown.
text_blocks array [] List of custom text blocks. Maximum length 9 characters.
show_word_count boolean true Displays the word count underneath the entry dialog.
showHints boolean true Disables hints, including keyboard shortcuts and group titles, shown on the keypad's top left corner when hovering over a symbol group key.
horizontal_layout boolean false Enables a horizontal layout with ten columns and two rows.

Essay with rich text example

{
    "response_id": "60043-a",
    "type": "longtextV2",
    "stimulus": "write about their hobbies in no more than 400 words",
    "max_length": 400,
    "character_map": true
}

Attributes

Key Type Default Description
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "fileupload" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
validation object undefined In this section, configure the correct answer(s) for the question.
validation.max_score number undefined The highest score a marker can award to this question response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
photo_capture boolean false Allow the student to capture and upload a photo using the built-in camera of the device.
max_width string undefined Max width of the upload area. Define in em, px; or set to 'none' to stretch to full width of container.
max_files number 1 Select a value from the drop down to indicate the maximum amount of files that the student can upload. This value will be visible to the student.
allow_pdf boolean false Allow the student to upload .pdf files.
allow_jpg boolean false Allow the student to upload .jpg files.
allow_gif boolean false Allow the student to upload .gif files.
allow_png boolean false Allow the student to upload .png files.
allow_csv boolean false Allow the student to upload .csv files.
allow_rtf boolean false Allow the student to upload .rtf files.
allow_txt boolean false Allow the student to upload .txt files.
allow_xps boolean false Allow the student to upload .xps files.
allow_zip boolean false Allow the student to upload .zip files.
allow_ms_word boolean false Allow the student to upload Microsoft Word file types including: doc, docx, dot, dotx, docm, dotm.
allow_ms_excel boolean false Allow the student to upload Microsoft Excel file types including: xls, xlsx, xlt, xltm, xlsm.
allow_ms_powerpoint boolean false Allow the student to upload Microsoft Powerpoint file types including: ppt, pps, pot, pptx, pptm, potx, potm, ppsx, ppsm.
allow_ms_publisher boolean false Allow the student to upload Microsoft Publisher files.
allow_open_office boolean false Allow the student to upload Open Office file types including: odf, odt, ods, odp.
allow_video boolean false Allow the student to upload video file types including: mov, avi, mp4, webm, wmv. Uploaded videos will be automatically converted to the mp4 format.
Note: to access and use this file type option, please contact us.
allow_matlab boolean false Allow the student to upload MATLAB file types including: m, fig, mat.
allow_altera_quartus boolean false Allow the student to upload Quartus file types including: bdf, bsf.
allow_verilog boolean false Allow the student to upload Verilog file types including: .sv .
allow_c boolean false Allow the student to upload .c files.
allow_h boolean false Allow the student to upload .h files.
allow_s boolean false Allow the student to upload .s files.
allow_v boolean false Allow the student to upload .v files.
allow_cpp boolean false Allow the student to upload .cpp files.
allow_assembly boolean false Allow the student to upload .asm files.
allow_labview boolean false Allow the student to upload LabVIEW virtual instrument (.vi) files.

File upload example

{
    "response_id": "60038",
    "type": "fileupload",
    "stimulus": "[Some stimulus text here]",
    "max_files": 4,
    "allow_jpg": true,
    "allow_png": true,
    "allow_gif": true,
    "allow_pdf": true
}

Attributes

Key Type Default Description
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
metadata.distractor_rationale_response_level array undefined
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "clozetext" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.validation_stem_numeration string "number" Numeration character to be displayed to the left of the validation label.
feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
validation object undefined In this section, configure the correct answer(s) for the question.
validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.scoring_type string "exactMatch" Defines the scoring approach used. Possible options:
'exactMatch': Exact Match - Entire response must match exactly
'partialMatchV2': Partial Match - A relative part of the score will be given for each correct response area
'partialMatch': Partial Match per response - Cumulative Score value will be given for each correct response area
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
validation.valid_response object undefined An object containing the valid response score and value.
validation.valid_response.score number 1 Score awarded for the correct response(s).
validation.valid_response.value array [] An array containing the valid responses for each {{response}} in the template in corresponding order.
validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ].value array []
validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ][ ].value array []
validation.enable_fullwidth_scoring boolean false For languages such as Japanese, where full-width and half-width characters are used, validate responses with either type of character width. For example, in this question: What do we call '犬' in English? And you have set 'Dog' (full-width) as the correct answer, if the learner enters 'Dog' (full-width) or 'Dog' (half-width) these will both be marked as correct responses when this option is enabled.
response_container response container object undefined Use Response Container (global) to make changes to all response boxes at once.
response_container.height stringUnits undefined
response_container.width stringUnits undefined
response_container.placeholder string undefined Text to display as a hint to the user of what to enter
response_container.input_type string "text" Type of input
response_containers array [response container object] undefined Array containing objects defining each individual response container style.
response_containers[ ].height stringUnits undefined
response_containers[ ].width stringUnits undefined
response_containers[ ].placeholder string undefined Placeholder text that can be added into the response entry area, which disappears when user starts typing.
response_containers[ ].input_type string "text" Type of input
response_containers[ ].aria_label string undefined Custom aria label text for the response container.
description string undefined Deprecated See stimulus_review.
Description of the question and its context to be displayed. It supports HTML entities.
template string undefined Text, tables, images and response boxes can be added to this area. Click on the Insert Response button in the Rich Text Editor to add a response box, or press the underscore button on your keyboard twice as a shortcut.
character_map boolean / array [characters] false If true, the character map button will display within the short text field. The character map will display the default set of special characters.
If an Array, the character map button will show and display only the array of characters.
IMPORTANT The HTML document will require a charset of utf-8: <meta charset="utf-8">
max_length number "15" Maximum number of characters that can be entered in the field. Maximum value is 250. For longer questions use longtext type.
multiple_line boolean false If true the response input will be a text area supporting multiple lines of input. If false the response input will be a text input only supporting one line responses.
spellcheck boolean false Control the input/textarea attributes spellcheck, autocapitalize, autocomplete and autocorrect. See "Spell check MDN". "Autocapitalize MDN". "Autocomplete MDN" " Autocorrect ". Note these are browser features and may not always be available.
case_sensitive boolean false If true, responses will be compared against valid_responses considering the letters' case.
ignore_leading_and_trailing_spaces boolean true Determines whether the automatic marking will ignore leading and trailing spaces. E.g. 'a' and ' a ' will be treated as the same.

Fill in the blanks example

{
    "case_sensitive": false,
    "instant_feedback": true,
    "max_length": 2,
    "response_id": "60011",
    "stimulus": "fill in the blanks",
    "template": "<table class=\"table table-bordered table-hover\"><thead><tr><th><strong>Multiply</strong></th><th><strong>_ x 1</strong></th><th><strong>_ x 2</strong></th><th><strong>_ x 3</strong></th><th><strong>_ x 4</strong></th><th><strong>_ x 5</strong></th></tr></thead><tbody><tr><td><strong>1 x _</strong></td><td>{{response}}</td><td>2</td><td>3</td><td>4</td><td>5</td></tr><tr><td><strong>2 x _</strong></td><td>2</td><td>{{response}}</td><td>6</td><td>8</td><td>10</td></tr><tr><td><strong>3 x _</strong></td><td>3</td><td>6</td><td>{{response}}</td><td>12</td><td>15</td></tr><tr><td><strong>4 x _</strong></td><td>4</td><td>8</td><td>12</td><td>{{response}}</td><td>20</td></tr><tr><td><strong>5 x _</strong></td><td>5</td><td>10</td><td>15</td><td>20</td><td>{{response}}</td></tr></tbody></table>",
    "type": "clozetext",
    "validation": {
        "scoring_type": "partialMatch",
        "valid_response": {
            "value": ["1", "4", "9", "16", "25"]
        }
    }
}

Attributes

Key Type Default Description
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "fillshape" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.validation_stem_numeration string "number" Numeration character to be displayed to the left of the validation label.
ui_style.possibility_list_position string "bottom" Defines where the possibility list sits relative to the input zone.
ui_style.show_labels boolean true Define whether the value label of the possible response should be shown or hidden from the student.
feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
validation object undefined In this section, configure the correct answer(s) for the question.
validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.scoring_type string "exactMatch" The way in which marks are distributed for the question.
  • Exact Match - All parts of the question must be answered correctly to receive a mark.
  • Partial Match Per Response - Each correct response element will be awarded an individual score.
  • Partial Match - Each correct response element will be scored individually, and the overall question score will be divided between responses.
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
validation.valid_response object undefined An object containing the valid response score and value.
validation.valid_response.score number 1 Score awarded for the correct response(s).
validation.valid_response.method string "countByValue" Define the scoring method.
validation.valid_response.value array undefined
validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ].method string "countByValue" Define the scoring method.
validation.alt_responses[ ].value array undefined An array containing a single valid response or many responses.
validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ][ ].method string "countByValue" Define the scoring method.
validation.alt_responses[ ][ ].value array undefined An array containing a single valid response or many responses.
duplicate_responses boolean false When true the items from the possible_responses will be reusable infinite times.
shape object undefined The data of the built shape.
shape.type string "circle" The main shape that will be displayed.
shape.parts array undefined Specify the value of each part on the shape that the student will drag and drop their responses into.
shape.parts[ ].value string "0"
shape.parts[ ][ ].value string "0"
shape.data_format string "fraction" The data format used to compare responses for validation.
shape.row_count number 3 Number of rows. This only applies for the Grid shape type. Values over 10 will be ignored.
shape.column_count number 3 Number of columns. This only applies for the Grid shape type. Values over 10 will be ignored.
possible_responses array undefined Configure the value and color for each possible response shape type that the student can select from.
possible_responses[ ].value string "0"
possible_responses[ ].fill string undefined Defines the color and opacity of the individual possible response.
possible_responses[ ].image object undefined Define the background image for the current possible response. Only supported in the Rectangle and Grid shapes.
possible_responses[ ].image.src string undefined
possible_responses[ ].shape string "rectangle" The shape of each possible response. Only supported in the Grid shape.
possible_responses[ ][ ].value string "0"
possible_responses[ ][ ].fill string undefined Defines the color and opacity of the individual possible response.
possible_responses[ ][ ].image object undefined Define the background image for the current possible response. Only supported in the Rectangle and Grid shapes.
possible_responses[ ][ ].image.src string undefined
possible_responses[ ][ ].shape string "rectangle" The shape of each possible response. Only supported in the Grid shape.

Fill shape Deprecated example

{
    "response_id": "60036",
    "type": "fillshape",
    "stimulus": "[Some stimulus text here.]",
    "instant_feedback": true,
    "duplicate_responses": true,
    "shape": {
        "type": "circle",
        "parts": [
            { "value": "45" },
            { "value": "45" }, 
            { "value": "120" } 
        ]
    }, 
    "possible_responses": [
        { "value": "30" }, 
        { "value": "120" }, 
        { "value": "15" }, 
        { "value": "15" }, 
        { "value": "45" }, 
        { "value": "20" } 
    ],
    "validation": {
        "scoring_type": "exactMatch", 
        "valid_response": { 
            "method": "countByValue",
            "score": 1,
            "value": "90"
        }
    }
}

Attributes

Key Type Default Description
text_blocks array [] List of custom text blocks. Maximum length 9 characters.
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "formulaessay" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.response_font_scale string "boosted" This scales the font relative to the question's font size. Possible values:
  • "boosted" 150%
  • "normal" 100%
ui_style.default_mode string "text" The default mode of the first line when question is first focused
ui_style.max_lines number "unlimited" Limits the number of lines of text / math that can be entered in the response area.
ui_style.text_formatting_options array ["bold","italic","underline","unorderedList"] Click on the icon button for each text formatting option to enable it in the student toolbar, and click again to disable. You can also click and drag the icon buttons to set the order that the options will appear to the student in the toolbar.
ui_style.keyboard_below_response_area boolean false If true, the floating formula keyboard will appear below the question as a whole (instead of below each individual math editor in the question).
validation object undefined In this section, configure the correct answer(s) for the question.
validation.max_score number undefined The highest score a marker can award to this question response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
handwriting_recognises string "standard" A string with the name of one of the available math grammar sets.
showHints boolean true Disables hint, including keyboard shortcuts and group titles, shown on the keyboard's top left corner when hovering over a symbol group key.
horizontal_layout boolean false Enables a horizontal layout with ten columns and two rows.
spellcheck boolean true Control the input/textarea attribute spellcheck. See "W3C article". Note this is a browser feature and may not always be available.
response_container object undefined Object that defines styles for the response container.
response_container.aria_label string undefined The ARIA label for the response container. The label will be "Response area" by default if no label is provided.

Formula essay Deprecated example

{
    "response_id": "60006",
    "type": "formulaessay",
    "stimulus": "[Some stimulus text here]"
}

Attributes

Key Type Default Description
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "graphplotting" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.validation_stem_numeration string "number" Numeration character to be displayed to the left of the validation label.
ui_style.height stringUnits "600px" The height of the graph with trailing px unit eg. "600px".
ui_style.width stringUnits "600px" The width of the graph with trailing px unit eg. "600px".
ui_style.margin stringUnits "0px" The margin around the graph to make room for labels. Can be a single value, e.g. "20px", or a CSS formatted string e.g. "20px 10px 20px" (for margins with different values on each side). Note: Margin will default to 20px if there is a label and the margin value is not set.
ui_style.graph_controls string undefined Deprecated This attribute has been deprecated; consider using toolbar.controls instead.
feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
validation object undefined In this section, configure the correct answer(s) for the question.
validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.scoring_type string "exactMatch" The way in which marks are distributed for the question.
  • Exact Match - All parts of the question must be answered correctly to receive a mark.
  • Partial Match Per Response - Each correct response element will be awarded an individual score.
  • Partial Match - Each correct response element will be scored individually, and the overall question score will be divided between responses.
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
validation.valid_response object undefined An object containing the valid response score and value.
validation.valid_response.score number 1 Score awarded for the correct response(s).
validation.valid_response.value array []
validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ].value array []
validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ][ ].value array []
validation.ignore_repeated_shapes string "no" When set to 'yes', scoring will ignore shapes which are plotted multiple times within the same composition (authored value is treated separately to student's response). When the value is set to 'strict', the shapes are only considered equal if the points are equivalent, not just the position and slope. See the knowledgebase article for more details: http://docs.learnosity.com/assessment/questions/knowledgebase/graphplotting_ignore_repeated_shapes
description string undefined Deprecated See stimulus_review.
Description of the question and its context to be displayed. It supports HTML entities.
mode string "all" Defines the plotting mode to load. Possible values are: "all", "point", "line"
axis_x object undefined Defines if Axis should be shown in the Cartesian plane
axis_x.ticks_distance string/number 1 The distance between the ticks displayed in the axis
axis_x.hide_ticks boolean false Defines if ticks are rendered in the axis
axis_x.draw_labels boolean false Defines if labels are rendered in the axis
axis_x.comma_in_label boolean false Inserts comma to separate thousands in a number
axis_x.show_first_arrow boolean false Defines if an arrow should be rendered in the lower end of the axis
axis_x.show_last_arrow boolean false Defines if an arrow should be rendered in the higher portion of the axis
axis_x.show_axis_label boolean false Defines if the axis label should be rendered
axis_x.axis_label string "X" Defines the label to be rendered next to X axis
axis_y object undefined Defines if Axis X should be shown in the Cartesian plane
axis_y.ticks_distance string/number 1 The distance between the ticks displayed in the axis
axis_y.hide_ticks boolean false Defines if ticks are rendered in the axis
axis_y.draw_labels boolean false Defines if labels are rendered in the axis
axis_y.comma_in_label boolean false Inserts comma to separate thousands in a number
axis_y.show_first_arrow boolean false Defines if an arrow should be rendered in the lower end of the axis
axis_y.show_last_arrow boolean false Defines if an arrow should be rendered in the higher end of the axis
axis_y.show_axis_label boolean false Defines if the axis label should be rendered
axis_y.axis_label string "Y" Defines the label to be rendered next to Y axis
canvas object undefined Specifies the canvas representing the Cartesian plane in which the user will be plotting
canvas.snap_to string/number undefined Defines the snap applied on points, possible values are: "grid", "ticks" or a numeric value
canvas.show_hover_position boolean false Defines if the position of a point should be displayed when hovering over or dragging it
canvas.x_min number -10 X axis lower value
canvas.x_max number 10 X axis higher value
canvas.y_min number -10 Y axis lower value
canvas.y_max number 10 Y axis higher value
grid object undefined Defines the Grid to be drawn in the Cartesian plane
grid.x_distance string/number 1 Distance between grid lines perpendicular to the X axis
grid.y_distance string/number 1 Distance between grid lines perpendicular to the Y axis
annotation object undefined Object used to add annotations to the question. Eg, labels, comments, titles
annotation.title string undefined The graph title
annotation.label_top string undefined Label for the top of the graph
annotation.label_right string undefined Label for the right of the graph
annotation.label_bottom string undefined Label for the bottom of the graph
annotation.label_left string undefined Label for the left of the graph
toolbar object undefined Object that defines which tools are available and other options for the toolbar.
toolbar.tools array ["move","point","line"] An array containing either strings or a nested array of strings, defining the buttons or dropdown groups of tools that are available in the toolbar for this question.
toolbar.default_tool string "Move" The tool that will be set when the question is loaded.
toolbar.controls array ["undo","redo","reset"] Determines options a user has for controlling graph elements.
draw_zero boolean false Defines whether to draw '0' label
background_image object undefined
background_image.src string undefined
background_image.x number 0 X coordinate of the image's centre
background_image.y number 0 Y coordinate of the image's centre
background_image.width number 100 Image width in percentage of the canvas width
background_image.height number 100 Image height in percentage of the canvas height
background_image.opacity number 100 Percentage value defining how opaque the image is
display_points boolean true Defines whether to show points for background shapes or not
background_shapes undefined Shapes that will be displayed as stimulus in the the background of the Canvas. Users will be able to see them but not be able to interact with them.

Graph plotting example

{
    "axis": {
        "draw_labels": true,
        "ticks_distance": 1
    },
    "canvas": {
        "snap_to": "grid",
        "x_max": 8,
        "x_min": -8,
        "y_max": 8,
        "y_min": -8
    },
    "grid": {
        "x_distance": 1,
        "y_distance": 1
    },
    "instant_feedback": true,
    "response_id": "60021",
    "type": "graphplotting",
    "ui_style": {
        "height": "400px",
        "width": "400px"
    },
    "validation": {
        "penalty_score": "0",
        "valid_response": [
            [{
                "id": "lrn_1",
                "type": "point",
                "coords": {
                    "x": -3,
                    "y": 4
                }
            }, {
                "id": "lrn_2",
                "type": "point",
                "coords": {
                    "x": 3,
                    "y": -2
                }
            }]
        ],
        "valid_score": "1"
    }
}

Attributes

Key Type Default Description
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "gridded" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.validation_stem_numeration string "number" Numeration character to be displayed to the left of the validation label.
feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
validation object undefined In this section, configure the correct answer(s) for the question.
validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.scoring_type string "exactMatch" The way in which marks are distributed for the question.
  • Exact Match - All parts of the question must be answered correctly to receive a mark.
  • Partial Match Per Response - Each correct response element will be awarded an individual score.
  • Partial Match - Each correct response element will be scored individually, and the overall question score will be divided between responses.
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
validation.valid_response object undefined An object containing the valid response score and value.
validation.valid_response.score number 1 Score awarded for the correct response(s).
validation.valid_response.value string undefined
validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ].value string undefined
validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ][ ].value string undefined
options object undefined Settings for the question.
options.columns number 5 Number of grid columns.
options.plus_minus_column boolean false Column used for indicating whether the number is positive or negative.
options.fixed_decimal boolean false Allows specifying the column number for fixed decimal position.
options.range string "0-9" Specifies the range of numbers to be displayed. By default the range is set to 0-9.
options.fraction_slash boolean false Allow user to enter fraction slash position. Can be used only once.
options.decimal_column number 0 Specify the column number for decimal. Overrides the floating decimal option.
options.floating_decimal boolean false Allow user to enter the decimal point position. Can not be used together with fixed decimal.

Gridded example

{
    "response_id": "60037",
    "type": "gridded",
    "stimulus": "<p>[Some stimulus text here.]</p>",
    "options": {
        "columns": 6,
        "range": "0-9",
        "floating_decimal": true
    },
    "instant_feedback": true,
    "validation": {
        "scoring_type": "exactMatch",
        "valid_response": {
            "score": 1
        }
    }
}

Attributes

Key Type Default Description
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "hotspot" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.validation_stem_numeration string "number" Numeration character to be displayed to the left of the validation label.
feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
validation object undefined In this section, configure the correct answer(s) for the question.
validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.scoring_type string "exactMatch" Defines the scoring approach used. Possible options:
'exactMatch': Exact Match - Entire response must match exactly
'partialMatchV2': Partial Match - A relative part of the score will be given for each correct response area
'partialMatch': Partial Match Per Response - Cumulative Score value will be given for each correct response area
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
validation.valid_response object undefined An object containing the valid response score and value.
validation.valid_response.score number 1 Score awarded for the correct response(s).
validation.valid_response.value array undefined
validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ].value array undefined
validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ][ ].value array undefined
image imageObject undefined Define an image to be annotated.
image.source string undefined The image that should be displayed.
image.alt textarea "" The alternative text of the image.
image.width number undefined Enter a numeric value for the width of the image. This value should be a pixel (px) value, but you do not need to type px into the field.
image.height number undefined Enter a numeric value for the height of the image. This value should be a pixel (px) value, but you do not need to type px into the field.
image.preview hidden undefined Preview of the chosen image
areas array undefined An array of validation areas for the stimulus image.
areas[ ][ ].x number undefined
areas[ ][ ].y number undefined
areas[ ][ ][ ].x number undefined
areas[ ][ ][ ].y number undefined
area_attributes object undefined
area_attributes.global object undefined Attributes for all hotspots.
area_attributes.global.fill string undefined An RGBA string defining the fill for all hotspots.
area_attributes.global.stroke string undefined An RGBA string defining the stroke for all hotspots.
area_attributes.global.selected_fill string undefined An RGBA string defining the fill for selected hotspots.
area_attributes.global.selected_stroke string undefined An RGBA string defining the stroke for selected hotspots.
area_attributes.global.focus_stroke string undefined An RGBA string defining the stroke for focused hotspots.
area_attributes.individual array undefined Individual attributes per hotspot that have precedence over the global hotspot attributes.
area_attributes.individual[ ].area string undefined
area_attributes.individual[ ].label string undefined A label for the hotspot that is not shown to the student (unless they are checking answers), but is useful when reviewing student responses.
area_attributes.individual[ ].aria_label string undefined A description of the hotspot that will be available to screen readers.
area_attributes.individual[ ].fill string undefined An RGBA string defining the fill for the hotspot
area_attributes.individual[ ].stroke string undefined An RGBA string defining the stroke for the hotspot
area_attributes.individual[ ].selected_fill string undefined An RGBA string defining the fill for the hotspot when selected
area_attributes.individual[ ].selected_stroke string undefined An RGBA string defining the stroke for the hotspot when selected
area_attributes.individual[ ].focus_stroke string undefined An RGBA string defining the stroke for focused hotspots.
area_attributes.individual[ ][ ].area string undefined
area_attributes.individual[ ][ ].label string undefined A label for the hotspot that is not shown to the student (unless they are checking answers), but is useful when reviewing student responses.
area_attributes.individual[ ][ ].aria_label string undefined A description of the hotspot that will be available to screen readers.
area_attributes.individual[ ][ ].fill string undefined An RGBA string defining the fill for the hotspot
area_attributes.individual[ ][ ].stroke string undefined An RGBA string defining the stroke for the hotspot
area_attributes.individual[ ][ ].selected_fill string undefined An RGBA string defining the fill for the hotspot when selected
area_attributes.individual[ ][ ].selected_stroke string undefined An RGBA string defining the stroke for the hotspot when selected
area_attributes.individual[ ][ ].focus_stroke string undefined An RGBA string defining the stroke for focused hotspots.
max_width stringUnits undefined Max width of response area. Define in em, px; or set to 'none' to stretch to full width of container.
multiple_responses boolean false If multiple_responses is true the user will be able to select multiple hotspots.

Hotspot example

{
    "response_id": "60000009",
    "type": "hotspot",
    "stimulus": "<p>[Enter question text here.]</p>",
    "image": {
        "source": "//s3-us-west-1.amazonaws.com/assets.staging.learnosity.com/organisations/1/277d3f25-85f2-4d1f-a4eb-f1ca30603d63.jpg",
        "width": 800,
        "height": 549
    },
    "areas": [
        [{
            "x": 19.875,
            "y": 37.15846994535519
        }, {
            "x": 20.25,
            "y": 46.26593806921676
        }, {
            "x": 26,
            "y": 61.56648451730419
        }, {
            "x": 34.25,
            "y": 69.76320582877959
        }, {
            "x": 43.5,
            "y": 68.48816029143899
        }, {
            "x": 50.74999999999999,
            "y": 59.56284153005464
        }, {
            "x": 51,
            "y": 45.90163934426229
        }, {
            "x": 55.625,
            "y": 34.06193078324226
        }, {
            "x": 52.625,
            "y": 23.497267759562842
        }, {
            "x": 42.125,
            "y": 12.932604735883423
        }, {
            "x": 31.374999999999996,
            "y": 14.207650273224044
        }, {
            "x": 23.375,
            "y": 24.772313296903462
        }, {
            "x": 20.625,
            "y": 31.329690346083787
        }],
        [{
            "x": 71,
            "y": 21.493624772313296
        }, {
            "x": 83.125,
            "y": 24.408014571949
        }, {
            "x": 93.125,
            "y": 36.79417122040073
        }, {
            "x": 96.875,
            "y": 54.826958105646625
        }, {
            "x": 93.875,
            "y": 74.31693989071039
        }, {
            "x": 83,
            "y": 88.70673952641167
        }, {
            "x": 73.375,
            "y": 91.98542805100182
        }, {
            "x": 59.25,
            "y": 85.97449908925319
        }, {
            "x": 51,
            "y": 68.6703096539162
        }, {
            "x": 51.125,
            "y": 59.74499089253188
        }, {
            "x": 51.5,
            "y": 45.90163934426229
        }, {
            "x": 58.62500000000001,
            "y": 28.77959927140255
        }]
    ],
    "area_attributes": {
        "global": {
            "fill": "rgba(255,255,255,0)",
            "stroke": "rgba(15,61,109,0.8)"
        },
        "individual": [{
            "area": "0",
            "label": "Apple"
        }, {
            "area": "1",
            "label": "Orange"
        }]
    },
    "validation": {
        "scoring_type": "exactMatch",
        "valid_response": {
            "score": 1,
            "value": ["1"]
        }
    }
}

Attributes

Key Type Default Description
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
metadata.distractor_rationale_response_level array undefined
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "imageclozeassociationV2" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.validation_stem_numeration string "number" Numeration character to be displayed to the left of the validation label.
ui_style.possibility_list_position string "bottom" Defines where the possibility list sits relative to the input zone.
ui_style.show_drag_handle boolean false Determines whether to show the drag handle.
ui_style.transparent_possible_responses boolean false Determines whether or not responses are transparent.
ui_style.possibility_list_width string false Determines the width of the possibility list in percent or pixels. (percent by default).
feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
validation object undefined In this section, configure the correct answer(s) for the question.
validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.scoring_type string "exactMatch" Defines the scoring approach used. Possible options:
'exactMatch': Exact Match - Entire response must match exactly
'partialMatchV2': Partial Match - A relative part of the score will be given for each correct response area
'partialMatch': Partial Match per response - Cumulative Score value will be given for each correct response area
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
validation.valid_response object undefined An object containing the valid response score and value.
validation.valid_response.score number 1 Score awarded for the correct response(s).
validation.valid_response.value array undefined An array containing the valid responses for each response in response_positions in corresponding order.
validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ].value array undefined
validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ][ ].value array undefined
response_container response container object undefined Use Response Container (global) to make changes to all response boxes at once.
response_container.height stringUnits undefined
response_container.width stringUnits undefined
response_container.pointer string "none" Add response pointer next to the response container. Values can be one of 'top', 'right', 'bottom', 'left'
response_container.vertical_top boolean false This setting ensures that the position of the response boxes stays at the position set by the author, regardless of changes to the font size or container's size, i.e. it ensures that the position of the responses stays at top: 0, left: 0 of the container.
response_container.wordwrap boolean false Determines if the possible response text should wrap or show an ellipsis when placed in a response container.
response_container.background_color string "rgba(255, 255, 255, 1)" An RGBA string defining the background color for all response containers.
response_container.show_border boolean true Determines whether or not borders are visible in response containers.
response_containers array undefined
response_containers[ ].x number 0 x value indicating the horizontal position of the top left corner of the response field on the image. The value is a percentage of the total width of the image.
response_containers[ ].y number 0 y value indicating the vertical position of the top left corner of the response field on the image. The value is a percentage of the total height of the image.
response_containers[ ].height string "44px" The height of the response container. By default any value you pass will be converted to percents notation, e.g. "100%". Passing any other notation (e.g. 5, or "5px") is supported for backwards compatibility, but it will be converted back to percents notation.
response_containers[ ].width string "150px" The width of the response container. By default any value you pass will be converted to percents notation, e.g. "100%". Passing any other notation (e.g. 5, or "5px") is supported for backwards compatibility, but it will be converted back to percents notation.
response_containers[ ].background_color string undefined An RGBA string defining the background color for a response container.
response_containers[ ].show_border boolean true Determines whether or not borders are visible on response containers.
response_containers[ ].aria_label stringOrderedList "" Accessibility booster
response_containers[ ][ ].x number 0 x value indicating the horizontal position of the top left corner of the response field on the image. The value is a percentage of the total width of the image.
response_containers[ ][ ].y number 0 y value indicating the vertical position of the top left corner of the response field on the image. The value is a percentage of the total height of the image.
response_containers[ ][ ].height string "44px" The height of the response container. By default any value you pass will be converted to percents notation, e.g. "100%". Passing any other notation (e.g. 5, or "5px") is supported for backwards compatibility, but it will be converted back to percents notation.
response_containers[ ][ ].width string "150px" The width of the response container. By default any value you pass will be converted to percents notation, e.g. "100%". Passing any other notation (e.g. 5, or "5px") is supported for backwards compatibility, but it will be converted back to percents notation.
response_containers[ ][ ].background_color string undefined An RGBA string defining the background color for a response container.
response_containers[ ][ ].show_border boolean true Determines whether or not borders are visible on response containers.
response_containers[ ][ ].aria_label stringOrderedList "" Accessibility booster
image imageObject undefined Image settings are defined here.
image.src string undefined The URL to the image file.
image.alt textarea "" The alternative text of the image.
image.width number undefined The width of the image as pixels (e.g. 100).
image.height number undefined The height of the image as pixels (e.g. 100).
image.title string undefined The text to be shown on hover.
image.prevent_scale boolean undefined Prevent image to be scaled along with screen size change
image.scale boolean undefined Allow image to be scaled along with font size
image.preview hidden undefined Preview of the chosen image
group_possible_responses groupPossibleResponses false Categorise possible responses into different groups, with each group having its own heading.
img_src string undefined Absolute URI for the background image.
duplicate_responses boolean false When true the items from the possible_responses will be reusable infinite times.
shuffle_options boolean false Use this to shuffle imageclozeassociation possible responses order.
max_response_per_zone number 1 Maximum number of responses allowed to be dropped per container.

Image association V2 example

{
    "response_id": "60015",
    "type": "imageclozeassociationV2",
    "duplicate_responses": true,
    "img_src": "//assets.learnosity.com/questiontypes/content/World_Map_AU_US_BR_RU.png",
    "instant_feedback": true,
    "possible_responses": ["<span style=\"font-size:20px;padding:5px;\">♂</span> Male", "<span style=\"font-size:20px;padding:5px;\">♀</span> Female"],
    "response_container": {
        "width": "105px"
    },
    "response_containers": [{
        "pointer": "top"
    }, {
        "pointer": "right"
    }, {
        "pointer": "bottom"
    }, {
        "pointer": "right"
    }],
    "response_positions": [{
        "x": 61.91,
        "y": 18.05
    }, {
        "x": 30.22,
        "y": 53.79
    }, {
        "x": 21.61,
        "y": 20.58
    }, {
        "x": 78.75,
        "y": 61.73
    }],
    "validation": {
        "scoring_type": "partialMatch",
        "valid_response": {
            "value": ["<span style=\"font-size:20px;padding:5px;\">♀</span> Female", "<span style=\"font-size:20px;padding:5px;\">♀</span> Female", "<span style=\"font-size:20px;padding:5px;\">♂</span> Male", "<span style=\"font-size:20px;padding:5px;\">♂</span> Male"]
        }
    }
}

Attributes

Key Type Default Description
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
metadata.distractor_rationale_response_level array undefined
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "imageclozeassociation" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.validation_stem_numeration string "number" Numeration character to be displayed to the left of the validation label.
ui_style.possibility_list_position string "bottom" Defines where the possibility list sits relative to the input zone.
ui_style.show_drag_handle boolean true Determines whether to show the drag handle.
feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
validation object undefined In this section, configure the correct answer(s) for the question.
validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.scoring_type string "exactMatch" Defines the scoring approach used. Possible options:
'exactMatch': Exact Match - Entire response must match exactly
'partialMatchV2': Partial Match - A relative part of the score will be given for each correct response area
'partialMatch': Partial Match per response - Cumulative Score value will be given for each correct response area
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
validation.valid_response object undefined An object containing the valid response score and value.
validation.valid_response.score number 1 Score awarded for the correct response(s).
validation.valid_response.value array undefined An array containing the valid responses for each response in response_positions in corresponding order.
validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ].value array undefined
validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ][ ].value array undefined
response_container response container object undefined Use Response Container (global) to make changes to all response boxes at once.
response_container.height stringUnits undefined
response_container.width stringUnits undefined
response_container.pointer string "none" Add response pointer next to the response container. Values can be one of 'top', 'right', 'bottom', 'left'
response_container.vertical_top boolean false This setting ensures that the position of the response boxes stays at the position set by the author, regardless of changes to the font size or container's size, i.e. it ensures that the position of the responses stays at top: 0, left: 0 of the container.
response_container.wordwrap boolean false Determines if the possible response text should wrap or show an ellipsis when placed in a response container.
response_containers array [response container object] undefined Array containing objects defining each individual response container style.
response_containers[ ].height stringUnits undefined
response_containers[ ].width stringUnits undefined
response_containers[ ].pointer string "none" Add response pointer next to the response container. Values can be one of 'top', 'right', 'bottom', 'left'
response_containers[ ].wordwrap boolean false Determines if the possible response text should wrap or show an ellipsis when placed in a response container.
image object undefined Image settings are defined here.
image.src string undefined The URL to the image file.
image.alt textarea "" The alternative text of the image.
image.width number undefined Specify the width of the image, in pixels (optional).
image.height number undefined Specify the height of the image, in pixels (optional).
image.title string undefined The text to be shown on hover.
image.prevent_scale boolean undefined Prevent image to be scaled along with screen size change
image.scale boolean undefined Allow image to be scaled along with font size
image.preview hidden undefined Preview of the chosen image
response_positions array undefined Array of responsePosition objects (x and y) indicating the distance of the top left corner of the response field from the top left corner of the image.
response_positions[ ].x number undefined x value indicating the horizontal position of the top left corner of the response field on the image. The value is a percentage of the total width of the image.
response_positions[ ].y number undefined y value indicating the vertical position of the top left corner of the response field on the image. The value is a percentage of the total height of the image.
response_positions[ ][ ].x number undefined x value indicating the horizontal position of the top left corner of the response field on the image. The value is a percentage of the total width of the image.
response_positions[ ][ ].y number undefined y value indicating the vertical position of the top left corner of the response field on the image. The value is a percentage of the total height of the image.
aria_labels array undefined Text entered here will help assistive technology (e.g. a screen reader) attach a label to the image for accessibility purposes.
group_possible_responses groupPossibleResponses false Categorise possible responses into different groups, with each group having its own heading.
img_src string undefined Absolute URI for the background image.
duplicate_responses boolean false When true the items from the possible_responses will be reusable infinite times.
shuffle_options boolean false Use this to shuffle imageclozeassociation possible responses order.

Image association Deprecated example

{
    "response_id": "60015",
    "type": "imageclozeassociation",
    "duplicate_responses": true,
    "img_src": "//assets.learnosity.com/questiontypes/content/World_Map_AU_US_BR_RU.png",
    "instant_feedback": true,
    "possible_responses": ["<span style=\"font-size:20px;padding:5px;\">♂</span> Male", "<span style=\"font-size:20px;padding:5px;\">♀</span> Female"],
    "response_container": {
        "width": "105px"
    },
    "response_containers": [{
        "pointer": "top"
    }, {
        "pointer": "right"
    }, {
        "pointer": "bottom"
    }, {
        "pointer": "right"
    }],
    "response_positions": [{
        "x": 61.91,
        "y": 18.05
    }, {
        "x": 30.22,
        "y": 53.79
    }, {
        "x": 21.61,
        "y": 20.58
    }, {
        "x": 78.75,
        "y": 61.73
    }],
    "validation": {
        "scoring_type": "partialMatch",
        "valid_response": {
            "value": ["<span style=\"font-size:20px;padding:5px;\">♀</span> Female", "<span style=\"font-size:20px;padding:5px;\">♀</span> Female", "<span style=\"font-size:20px;padding:5px;\">♂</span> Male", "<span style=\"font-size:20px;padding:5px;\">♂</span> Male"]
        }
    }
}

Attributes

Key Type Default Description
text_blocks array [] List of custom text blocks. Maximum length 9 characters.
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
metadata.distractor_rationale_response_level array undefined Used to display individual response feedback/rationale to the learner, at the relevant response level. Note that this is a premium Learnosity feature, contact Learnosity support to have it enabled.
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "imageclozeformula" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.validation_stem_numeration string "number" Numeration character to be displayed to the left of the validation label.
ui_style.response_font_scale string "boosted" This scales the font relative to the question's font size. Possible values:
  • "boosted" 150%
  • "normal" 100%
ui_style.type string "block-on-focus-keyboard" Keyboard style. See Keypad Customization for more information. Possible values:
  • "floating-keyboard"

    A movable keypad appears when the learner brings focus into the response box

  • "block-keyboard"

    A fixed keypad that is always visible

  • "block-on-focus-keyboard"

    A fixed keypad appears when the learner brings focus into the response box

  • "no-input-ui"

    No keypad

ui_style.min_width stringUnits "" Controls the minimum width of the response input area, e.g. 550px
ui_style.keyboard_below_response_area boolean false When enabled, this will position the floating keyboard below the last line of the response area. Otherwise, this will partially overlap the response area.
feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
validation object undefined In this section, configure the correct answer(s) for the question.
validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.scoring_type string "exactMatch" The way in which marks are distributed for the question. Possible options:
'exactMatch': Exact Match - All parts of the question must be answered correctly to receive a mark.
'partialMatchV2': Partial Match - Each correct response element will be scored individually, and the overall question score will be divided between the responses.
'partialMatch': Partial Match per Response - Each correct response element will be awarded an individual score.
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
validation.valid_response object undefined An object containing the valid response score and value.
validation.valid_response.score number 1 Score awarded for the correct response(s).
validation.valid_response.value array [] A collection of arrays containing objects with the valid response.
validation.valid_response.value[ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.valid_response.value[ ][ ].value string "" The value to match against
validation.valid_response.value[ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.valid_response.value[ ][ ].options object undefined Extra options for the selected method.
validation.valid_response.value[ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.valid_response.value[ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.valid_response.value[ ][ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.valid_response.value[ ][ ][ ].value string "" The value to match against
validation.valid_response.value[ ][ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.valid_response.value[ ][ ][ ].options object undefined Extra options for the selected method.
validation.valid_response.value[ ][ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.valid_response.value[ ][ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ].value array [] An array of arrays that contain the valid responses.
validation.alt_responses[ ].value[ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ].value[ ][ ].value string "" The value to match against
validation.alt_responses[ ].value[ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ].value[ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ].value[ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.alt_responses[ ].value[ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.alt_responses[ ].value[ ][ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ].value[ ][ ][ ].value string "" The value to match against
validation.alt_responses[ ].value[ ][ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ].value[ ][ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ].value[ ][ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.alt_responses[ ].value[ ][ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ][ ].value array [] An array of arrays that contain the valid responses.
validation.alt_responses[ ][ ].value[ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ][ ].value[ ][ ].value string "" The value to match against
validation.alt_responses[ ][ ].value[ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ][ ].value[ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ][ ].value[ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.alt_responses[ ][ ].value[ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.alt_responses[ ][ ].value[ ][ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ][ ].value[ ][ ][ ].value string "" The value to match against
validation.alt_responses[ ][ ].value[ ][ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ][ ].value[ ][ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ][ ].value[ ][ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.alt_responses[ ][ ].value[ ][ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
handwriting_recognises string "standard" A string with the name of one of the available math grammar sets.
is_dynamic_content boolean false This attribute will be set to true when the Question has been created by the Math Question Generator.
equiv_literal_legacy boolean false Allows equivLiteral (2)(x) evaluate to true.
response_containers array undefined Configure attributes, such as Height and Width, for each response container individually.
response_containers[ ].template string undefined The initial value in the formula field. If response containers are used, only they will be editable.
response_containers[ ].width stringUnits undefined Width of an individual response container, in pixels. Individual container setting.
response_containers[ ].height stringUnits undefined Height of an individual response container, in pixels. Individual container setting.
response_containers[ ].aria_label string undefined The ARIA label for the response container. The label will be "Response area" by default if no label is provided.
response_containers[ ][ ].template string undefined The initial value in the formula field. If response containers are used, only they will be editable.
response_containers[ ][ ].width stringUnits undefined Width of an individual response container, in pixels. Individual container setting.
response_containers[ ][ ].height stringUnits undefined Height of an individual response container, in pixels. Individual container setting.
response_containers[ ][ ].aria_label string undefined The ARIA label for the response container. The label will be "Response area" by default if no label is provided.
response_container response container object undefined Define the template and dimensions for all response containers
response_container.template string undefined The initial value in the formula field. If response containers are used, only they will be editable.
response_container.height stringUnits undefined Height of the response container, in pixels. Global setting.
response_container.width stringUnits undefined Width of the response container, in pixels. Global setting.
response_container.aria_label string undefined The ARIA label for the response container. The label will be "Response area" by default if no label is provided.
response_container.vertical_top boolean false This setting ensures that the position of the response boxes stays at the position set by the author, regardless of changes to the font size or container's size, i.e. it ensures that the position of the responses stays at top: 0, left: 0 of the container.
showHints boolean true Disables hint, including keyboard shortcuts and group titles, shown on the keyboard's top left corner when hovering over a symbol group key.
horizontal_layout boolean false Enables a horizontal layout with ten columns and two rows.
image object undefined Image settings are defined here.
image.src string undefined The URL to the image file.
image.alt textarea "" The alternative text of the image.
image.width number undefined Specify the width of the image, in pixels (optional).
image.height number undefined Specify the height of the image, in pixels (optional).
image.title string undefined The text to be shown on hover.
image.prevent_scale boolean undefined Prevent image to be scaled along with screen size change
image.scale boolean undefined Allow image to be scaled along with font size
image.preview hidden undefined Preview of the chosen image
response_positions array undefined Array of responsePosition objects (x and y) indicating the distance of the top left corner of the response field from the top left corner of the image.
response_positions[ ].x number undefined x value indicating the horizontal position of the top left corner of the response field on the image. The value is a percentage of the total width of the image.
response_positions[ ].y number undefined y value indicating the vertical position of the top left corner of the response field on the image. The value is a percentage of the total height of the image.
response_positions[ ][ ].x number undefined x value indicating the horizontal position of the top left corner of the response field on the image. The value is a percentage of the total width of the image.
response_positions[ ][ ].y number undefined y value indicating the vertical position of the top left corner of the response field on the image. The value is a percentage of the total height of the image.

Image cloze math formula example

{
    "response_id": "60034",
    "type": "imageclozeformula",
    "image": {
        "alt": "Scalene triangle with sixty-four degree angle",
        "src": "//assets.learnosity.com/questiontypes/content/triangle.png"
    },
    "is_math" :true,
    "response_container": {
        "pointer": "",
        "template": ""
    },
    "response_containers": [{
        "template": "",
        "pointer": "left",
        "width": "100px",
        "height": "20px"
    } , {
        "template": "",
        "pointer": "right",
        "width": "100px",
        "height": "20px"
    }],
    "response_positions": [{
        "x":31.25,
        "y": 0
    } , {
        "x": 72.75,
        "y": 16.8
    }],
    "stimulus": "<p>Express the angles a &amp; b in terms of simple arithmetic involving all the angles of the given triangle.</p><p>E.g.&nbsp;\\(180-2\\left(64\\right)\\)</p>",
    "type": "imageclozeformula",
    "ui_style": {
        "type": "block-on-focus-keyboard"
    },
    "validation": {
        "scoring_type": "exactMatch",
        "valid_response": {
            "score": 2,
            "value": [
                [{
                    "method": "equivValue",
                    "value": "64",
                    "options": {
                        "decimalPlaces": 10
                    }
                }] , [{
                    "method": "equivValue",
                    "value": "52",
                    "options": {
                        "decimalPlaces": 10
                    }
                }]
            ]
        }
    }
}

Attributes

Key Type Default Description
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
metadata.distractor_rationale_response_level array undefined
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "imageclozedropdown" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.validation_stem_numeration string "number" Numeration character to be displayed to the left of the validation label.
feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
validation object undefined In this section, configure the correct answer(s) for the question.
validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.scoring_type string "exactMatch" Defines the scoring approach used. Possible options:
'exactMatch': Exact Match - Entire response must match exactly
'partialMatchV2': Partial Match - A relative part of the score will be given for each correct response area
'partialMatch': Partial Match per response - Cumulative Score value will be given for each correct response area
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
validation.valid_response object undefined An object containing the valid response score and value.
validation.valid_response.score number 1 Score awarded for the correct response(s).
validation.valid_response.value array undefined An array containing the valid responses for each response in the template in corresponding order.
validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ].value array undefined
validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ][ ].value array undefined
response_container response container object undefined Use Response Container (global) to make changes to all response boxes at once.
response_container.height stringUnits undefined
response_container.width stringUnits undefined
response_container.pointer string "none" Add response pointer next to the response container. Values can be one of 'top', 'right', 'bottom', 'left'
response_container.vertical_top boolean false This setting ensures that the position of the response boxes stays at the position set by the author, regardless of changes to the font size or container's size, i.e. it ensures that the position of the responses stays at top: 0, left: 0 of the container.
response_container.placeholder string undefined Placeholder text that can be added into the response entry area, which disappears when user starts typing.
response_containers array [response container object] undefined Array containing objects defining each individual response container style.
response_containers[ ].height stringUnits undefined
response_containers[ ].width stringUnits undefined
response_containers[ ].pointer string "none" Add response pointer next to the response container. Values can be one of 'top', 'right', 'bottom', 'left'
response_containers[ ].placeholder string undefined Placeholder text that can be added into the response entry area, which disappears when user starts typing.
image imageObject undefined Image settings are defined here.
image.src string undefined The URL to the image file.
image.alt textarea "" The alternative text of the image.
image.width number undefined Enter a numeric value for the width of the image. This value should be a pixel (px) value, but you do not need to type px into the field.
image.height number undefined Enter a numeric value for the height of the image. This value should be a pixel (px) value, but you do not need to type px into the field.
image.title string undefined The text to be shown on hover.
image.prevent_scale boolean undefined Prevent image to be scaled along with screen size change
image.scale boolean undefined Allow image to be scaled along with font size
image.preview hidden undefined Preview of the chosen image
response_positions array undefined Array of responsePosition objects (x and y) indicating the distance of the top left corner of the response field from the top left corner of the image.
response_positions[ ].x number undefined x value indicating the horizontal position of the top left corner of the response field on the image. The value is a percentage of the total width of the image.
response_positions[ ].y number undefined y value indicating the vertical position of the top left corner of the response field on the image. The value is a percentage of the total height of the image.
response_positions[ ][ ].x number undefined x value indicating the horizontal position of the top left corner of the response field on the image. The value is a percentage of the total width of the image.
response_positions[ ][ ].y number undefined y value indicating the vertical position of the top left corner of the response field on the image. The value is a percentage of the total height of the image.
aria_labels array undefined Text entered here will help assistive technology (e.g. a screen reader) attach a label to the image for accessibility purposes.
img_src string undefined Absolute URI for the background image.
possible_responses array undefined Array of string arrays. They tie to the index position of the {{response}}s found in the HTML string and are rendered in order within the dropdown.
shuffle_options boolean false Use this to shuffle imageclozedropdown possible responses list order.

Image dropdown example

{
    "response_id": "60016",
    "type": "imageclozedropdown",
    "img_src": "//assets.learnosity.com/questiontypes/content/blank_us_map.png",
    "instant_feedback": true,
    "possible_responses": [
        ["Montana", "Alabama", "California", "Louisiana"],
        ["New Hampshire", "Pennsylvania", "Texas", "Idaho"],
        ["Florida", "New Jersey", "North Carolina"]
    ],
    "response_containers": [{
        "pointer": "top"
    }, {
        "pointer": "right"
    }, {
        "pointer": "bottom"
    }],
    "response_positions": [{
        "x": 5.68,
        "y": 45.86
    }, {
        "x": 35.16,
        "y": 66.27
    }, {
        "x": 71.25,
        "y": 68.64
    }],
    "validation": {
        "scoring_type": "partialMatch",
        "valid_response": {
            "value": ["California", "Texas", "Florida"]
        }
    }
}

Attributes

Key Type Default Description
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
metadata.distractor_rationale_response_level array undefined Used for storing the distractor rationales that map to responses in the same order for use/rendering by the host environment.
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "highlight" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
validation object undefined In this section, configure the correct answer(s) for the question.
validation.max_score number undefined The highest score a marker can award to this question response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
description string undefined Deprecated See stimulus_review.
Description of the question and its context to be displayed. It supports HTML entities.
img_src string undefined The absolute URL of the background image.
image imageObject undefined The absolute URL of the background image.
image.source string undefined The image that should be displayed.
image.alt textarea "" The alternative text of the image.
image.width number undefined Enter a numeric value for the width of the image. This value should be a pixel (px) value, but you do not need to type px into the field.
image.height number undefined Enter a numeric value for the height of the image. This value should be a pixel (px) value, but you do not need to type px into the field.
image.preview hidden undefined Preview of the chosen image
line_color array undefined Color of the painted line, expressed as a HTML color code. Examples of acceptable formats: '#FFFFFF', 'white', 'rgb(255, 255, 255)', 'rgba(255, 0, 0, 0.8)'. RGBA is not supported in IE8. If IE8 is required, create a QE template and change the rgba default value.
line_width number 5 Width of the painted line, in pixels.

Image highlight Deprecated example

{
    "response_id": "60010",
    "type": "highlight",
    "stimulus": "mark one of the flower's anthers in the image.",
    "img_src": "http://upload.wikimedia.org/wikipedia/commons/thumb/9/9c/Capparis_spinosa-IMG_3417.jpg/320px-Capparis_spinosa-IMG_3417.jpg",
    "line_color": "rgb(255, 20, 0)",
    "line_width": "4"
}

Attributes

Key Type Default Description
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "imageupload" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.validation_stem_numeration string "number" Numeration character to be displayed to the left of the validation label.
feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
validation object undefined In this section, configure the correct answer(s) for the question.
validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.scoring_type string "exactMatch" The way in which marks are distributed for the question. Possible options:
Exact Match - All parts of the question must be answered correctly to receive a mark.
Partial Match - Each correct response element will be scored individually, and the overall question score will be divided between responses.
Partial Match per Response - Each correct response element will be awarded an individual score.
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
validation.valid_response object undefined An object containing the valid response score and value.
validation.valid_response.score number 1 Score awarded for the correct response(s).
validation.valid_response.value array undefined An array containing the valid response for each validation area, in corresponding order.
validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
validation.enable_fullwidth_scoring boolean false For languages such as Japanese, where full-width and half-width characters are used, validate responses with either type of character width. For example, in this question: What do we call '犬' in English? And you have set 'Dog' (full-width) as the correct answer, if the learner enters 'Dog' (full-width) or 'Dog' (half-width) these will both be marked as correct responses when this option is enabled.
image imageObject undefined Define an image to be annotated.
image.source string undefined The image that should be displayed.
image.alt textarea "" The alternative text of the image.
image.width number undefined Enter a numeric value for the width of the image. This value should be a pixel (px) value, but you do not need to type px into the field.
image.height number undefined Enter a numeric value for the height of the image. This value should be a pixel (px) value, but you do not need to type px into the field.
image.preview hidden undefined Preview of the chosen image
imageValidationAreas array undefined Highlight the areas you want the student to place the text boxes inside of, using the hotspot tool.
imageValidationAreas[ ][ ].x number undefined
imageValidationAreas[ ][ ].y number undefined
imageValidationAreas[ ][ ][ ].x number undefined
imageValidationAreas[ ][ ][ ].y number undefined
max_width stringUnits undefined Max width of response area. Default units are "px" and will be appended if no units provided. For units other than "px", provide them in the field. E.g. "10em", or set to 'none' to stretch to full width of container.
spellcheck boolean true Enable or disable browser spellcheck, autocapitalize, autocomplete and autocorrect attributes on the user response area.
case_sensitive boolean false If true, responses will be compared against valid_responses considering the letters' case.

Image upload example

{
    "response_id": "60008",
    "type": "imageupload",
    "stimulus": "[Some stimulus text here]"
}

Attributes

Key Type Default Description
text_blocks array [] List of custom text blocks. Maximum length 9 characters.
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
metadata.distractor_rationale_response_level array undefined Used to display individual response feedback/rationale to the learner, at the relevant response level.
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "imageclozeformulaV2" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.validation_stem_numeration string "number" Numeration character to be displayed to the left of the validation label.
ui_style.response_font_scale string "boosted" This scales the font relative to the question's font size. Possible values:
  • "boosted" 150%
  • "normal" 100%
ui_style.type string "block-on-focus-keyboard" Keyboard style. See Keypad Customization for more information. Possible values:
  • "floating-keyboard"

    A movable keypad appears when the learner brings focus into the response box

  • "block-keyboard"

    A fixed keypad that is always visible

  • "block-on-focus-keyboard"

    A fixed keypad appears when the learner brings focus into the response box

  • "no-input-ui"

    No keypad

ui_style.min_width stringUnits "" Controls the minimum width of the response input area, e.g. 550px
ui_style.keyboard_below_response_area boolean false When enabled, this will position the floating keyboard below the last line of the response area. Otherwise, this will partially overlap the response area.
feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
validation object undefined In this section, configure the correct answer(s) for the question.
validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.scoring_type string "exactMatch" The way in which marks are distributed for the question. Possible options:
'exactMatch': Exact Match - All parts of the question must be answered correctly to receive a mark.
'partialMatchV2': Partial Match - Each correct response element will be scored individually, and the overall question score will be divided between the responses.
'partialMatch': Partial Match per Response - Each correct response element will be awarded an individual score.
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
validation.valid_response object undefined An object containing the valid response score and value.
validation.valid_response.score number 1 Score awarded for the correct response(s).
validation.valid_response.value array [] A collection of arrays containing objects with the valid response.
validation.valid_response.value[ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.valid_response.value[ ][ ].value string "" The value to match against
validation.valid_response.value[ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.valid_response.value[ ][ ].options object undefined Extra options for the selected method.
validation.valid_response.value[ ][ ].options.decimalPlaces number 10 Number of significant decimal places: default is 10. Max is 10.
validation.valid_response.value[ ][ ].options.setDecimalSeparator string "." Select a decimal separator. Options are: dot or comma.
validation.valid_response.value[ ][ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.valid_response.value[ ][ ][ ].value string "" The value to match against
validation.valid_response.value[ ][ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.valid_response.value[ ][ ][ ].options object undefined Extra options for the selected method.
validation.valid_response.value[ ][ ][ ].options.decimalPlaces number 10 Number of significant decimal places: default is 10. Max is 10.
validation.valid_response.value[ ][ ][ ].options.setDecimalSeparator string "." Select a decimal separator. Options are: dot or comma.
validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ].value array [] An array of arrays that contain the valid responses.
validation.alt_responses[ ].value[ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ].value[ ][ ].value string "" The value to match against
validation.alt_responses[ ].value[ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ].value[ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ].value[ ][ ].options.decimalPlaces number 10 Number of significant decimal places: default is 10. Max is 10.
validation.alt_responses[ ].value[ ][ ].options.setDecimalSeparator string "." Select a decimal separator. Options are: dot or comma.
validation.alt_responses[ ].value[ ][ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ].value[ ][ ][ ].value string "" The value to match against
validation.alt_responses[ ].value[ ][ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ].value[ ][ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ].value[ ][ ][ ].options.decimalPlaces number 10 Number of significant decimal places: default is 10. Max is 10.
validation.alt_responses[ ].value[ ][ ][ ].options.setDecimalSeparator string "." Select a decimal separator. Options are: dot or comma.
validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ][ ].value array [] An array of arrays that contain the valid responses.
validation.alt_responses[ ][ ].value[ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ][ ].value[ ][ ].value string "" The value to match against
validation.alt_responses[ ][ ].value[ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ][ ].value[ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ][ ].value[ ][ ].options.decimalPlaces number 10 Number of significant decimal places: default is 10. Max is 10.
validation.alt_responses[ ][ ].value[ ][ ].options.setDecimalSeparator string "." Select a decimal separator. Options are: dot or comma.
validation.alt_responses[ ][ ].value[ ][ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ][ ].value[ ][ ][ ].value string "" The value to match against
validation.alt_responses[ ][ ].value[ ][ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ][ ].value[ ][ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ][ ].value[ ][ ][ ].options.decimalPlaces number 10 Number of significant decimal places: default is 10. Max is 10.
validation.alt_responses[ ][ ].value[ ][ ][ ].options.setDecimalSeparator string "." Select a decimal separator. Options are: dot or comma.
handwriting_recognises string "standard" A string with the name of one of the available math grammar sets.
is_dynamic_content boolean false This attribute will be set to true when the Question has been created by the Math Question Generator.
equiv_literal_legacy boolean false Allows equivLiteral (2)(x) evaluate to true.
response_containers array undefined Configure attributes, such as Height and Width, for each response container individually.
response_containers[ ].template string undefined The initial value in the formula field. If response containers are used, only they will be editable.
response_containers[ ].width stringUnits undefined Width of an individual response container, in pixels. Individual container setting.
response_containers[ ].height stringUnits undefined Height of an individual response container, in pixels. Individual container setting.
response_containers[ ].aria_label string undefined The ARIA label for the response container. The label will be "Response area" by default if no label is provided.
response_containers[ ][ ].template string undefined The initial value in the formula field. If response containers are used, only they will be editable.
response_containers[ ][ ].width stringUnits undefined Width of an individual response container, in pixels. Individual container setting.
response_containers[ ][ ].height stringUnits undefined Height of an individual response container, in pixels. Individual container setting.
response_containers[ ][ ].aria_label string undefined The ARIA label for the response container. The label will be "Response area" by default if no label is provided.
response_container response container object undefined Define the template and dimensions for all response containers.
response_container.template string undefined The initial value in the formula field. If response containers are used, only they will be editable.
response_container.height stringUnits undefined Height of the response container, in pixels. Global setting.
response_container.width stringUnits undefined Width of the response container, in pixels. Global setting.
response_container.aria_label string undefined The ARIA label for the response container. The label will be "Response area" by default if no label is provided.
response_container.vertical_top boolean false This setting ensures that the position of the response boxes stays at the position set by the author, regardless of changes to the font size or container's size, i.e. it ensures that the position of the responses stays at top: 0, left: 0 of the container.
showHints boolean true Disables hint, including keyboard shortcuts and group titles, shown on the keyboard's top left corner when hovering over a symbol group key.
horizontal_layout boolean false Enables a horizontal layout with ten columns and two rows.
image object undefined Image settings are defined here.
image.src string undefined The URL to the image file.
image.alt textarea "" The alternative text of the image.
image.width number undefined Specify the width of the image, in pixels (optional).
image.height number undefined Specify the height of the image, in pixels (optional).
image.title string undefined The text to be shown on hover.
image.prevent_scale boolean undefined Prevent image to be scaled along with screen size change
image.scale boolean undefined Allow image to be scaled along with font size
image.preview hidden undefined Preview of the chosen image
response_positions array undefined Array of responsePosition objects (x and y) indicating the distance of the top left corner of the response field from the top left corner of the image.
response_positions[ ].x number undefined x value indicating the horizontal position of the top left corner of the response field on the image. The value is a percentage of the total width of the image.
response_positions[ ].y number undefined y value indicating the vertical position of the top left corner of the response field on the image. The value is a percentage of the total height of the image.
response_positions[ ][ ].x number undefined x value indicating the horizontal position of the top left corner of the response field on the image. The value is a percentage of the total width of the image.
response_positions[ ][ ].y number undefined y value indicating the vertical position of the top left corner of the response field on the image. The value is a percentage of the total height of the image.

Attributes

Key Type Default Description
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "longtext" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.min_height stringUnits undefined The minimum height of the text entry area. Input as units. Example: "100px"
ui_style.max_height stringUnits undefined The max height of the text input including units. Example: "100px"
validation object undefined In this section, configure the correct answer(s) for the question.
validation.max_score number undefined The highest score a marker can award to this question response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
description string undefined Deprecated See stimulus_review.
Description of the question and its context to be displayed. It supports HTML entities.
formatting_options array ["bold","italic","underline","unorderedList"] An array containing strings of text formatting options to make available.
max_length number 10000 Maximum number of words that can be entered in the field. Maximum: 100,000 chars ~ 10,000 words
character_map boolean / array [characters] false If true, the character map button will display in the long text editor toolbar. The character map will display the default set of special characters.
If an Array, the character map button will show and display only the array of characters.
IMPORTANTThe HTML document will require a charset of utf-8: <meta charset="utf-8">
spellcheck boolean true Control the input/textarea attributes spellcheck, autocapitalize, autocomplete and autocorrect. See "Spell check MDN". "Autocapitalize MDN". "Autocomplete MDN" " Autocorrect ". Note these are browser features and may not always be available.
disable_auto_link boolean false Sets whether urls, entered by the user should automatically become clickable-links.
submit_over_limit boolean false Determines if the user is able to save/submit when the word limit has been exceeded.
placeholder string undefined Placeholder text that can be added into the response entry area, which disappears when user starts typing.
show_word_limit string "always" Determines how the word limit UI will display. Options are the following strings:
"always": Word limit is always shown and updated as the user types
"on-limit": Word limit is only displayed when the word limit is exceeded
"off": No word limit it shown.

Long text (essay) Deprecated example

{
    "response_id": "60004",
    "type": "longtext",
    "stimulus": "write about their hobbies in no more than 400 words",
    "max_length": 400,
    "character_map": true
}

Attributes

Key Type Default Description
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
metadata.distractor_rationale_response_level array undefined Enter Distractor value for each response.
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "association" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.validation_stem_numeration string "number" Numeration character to be displayed to the left of the validation label.
ui_style.possibility_list_position string "bottom" Defines where the possibility list sits relative to the input zone.
ui_style.show_drag_handle boolean true
feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
validation object undefined In this section, configure the correct answer(s) for the question.
validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.scoring_type string "exactMatch" Defines the scoring approach used. Possible options:
'exactMatch': Exact Match - Entire response must match exactly
'partialMatchV2': Partial Match - A relative part of the score will be given for each correct response area
'partialMatch': Partial Match per response - Cumulative Score value will be given for each correct response area
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
validation.valid_response object undefined An object containing the valid response score and value.
validation.valid_response.score number 1 Score awarded for the correct response(s).
validation.valid_response.value array undefined An array containing the valid responses for each item in the stimulus_list in corresponding order.
validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ].value array undefined Alternate response.
validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ][ ].value array undefined Alternate response.
group_possible_responses groupPossibleResponses false Categorise possible responses into different groups, with each group having its own heading.
description string undefined Deprecated See stimulus_review.
Description of the question and its context to be displayed. It supports HTML entities.
shuffle_options boolean false Use this to shuffle Match List stimulus list options order.
duplicate_responses boolean false When true the items from the possible_responses will be reusable infinite times.
stimulus_list array undefined An array of strings containing the values to be displayed for the question list.

Match list example

{
    "stimulus": "Match the cities to the parent nation.",
    "instant_feedback": true,
    "possible_responses": ["United States", "Australia", "France", "Ireland", "England"],
    "response_id": "60005",
    "stimulus_list": ["London", "Dublin", "Paris", "Boston", "Sydney"],
    "type": "association",
    "validation": {
        "scoring_type": "partialMatch",
        "valid_response": {
            "value": ["England", "Ireland", "France", "United States", "Australia"]
        }
    }
}

Attributes

Key Type Default Description
text_blocks array [] List of custom text blocks. Maximum length 9 characters.
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
metadata.distractor_rationale_response_level array undefined Used to display individual response feedback/rationale to the learner, at the relevant response level.
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "clozeformulaV2" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.validation_stem_numeration string "number" Numeration character to be displayed to the left of the validation label.
ui_style.response_font_scale string "boosted" This scales the font relative to the question's font size. Possible values:
  • "boosted" 150%
  • "normal" 100%
ui_style.type string "block-on-focus-keyboard" Keyboard style. See Keypad Customization for more information. Possible values:
  • "floating-keyboard"

    A movable keypad appears when the learner brings focus into the response box

  • "block-keyboard"

    A fixed keypad that is always visible

  • "block-on-focus-keyboard"

    A fixed keypad appears when the learner brings focus into the response box

  • "no-input-ui"

    No keypad

ui_style.min_width stringUnits "" Controls the minimum width of the response input area, e.g. 550px
ui_style.keyboard_below_response_area boolean false When enabled, this will position the floating keyboard below the last line of the response area. Otherwise, this will partially overlap the response area.
feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
validation object undefined In this section, configure the correct answer(s) for the question.
validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.scoring_type string "exactMatch" The way in which marks are distributed for the question. Possible options:
'exactMatch': Exact Match - All parts of the question must be answered correctly to receive a mark.
'partialMatchV2': Partial Match - Each correct response element will be scored individually, and the overall question score will be divided between the responses.
'partialMatch': Partial Match per Response - Each correct response element will be awarded an individual score.
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
validation.valid_response object undefined An object containing the valid response score and value.
validation.valid_response.score number 1 Score awarded for the correct response(s).
validation.valid_response.value array [] A collection of arrays containing objects with the valid response.
validation.valid_response.value[ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.valid_response.value[ ][ ].value string "" The value to match against
validation.valid_response.value[ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.valid_response.value[ ][ ].options object undefined Extra options for the selected method.
validation.valid_response.value[ ][ ].options.decimalPlaces number 10 Number of significant decimal places: default is 10. Max is 10.
validation.valid_response.value[ ][ ].options.setDecimalSeparator string "." Select a decimal separator. Options are: dot or comma.
validation.valid_response.value[ ][ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.valid_response.value[ ][ ][ ].value string "" The value to match against
validation.valid_response.value[ ][ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.valid_response.value[ ][ ][ ].options object undefined Extra options for the selected method.
validation.valid_response.value[ ][ ][ ].options.decimalPlaces number 10 Number of significant decimal places: default is 10. Max is 10.
validation.valid_response.value[ ][ ][ ].options.setDecimalSeparator string "." Select a decimal separator. Options are: dot or comma.
validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ].value array [] An array of arrays that contain the valid responses.
validation.alt_responses[ ].value[ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ].value[ ][ ].value string "" The value to match against
validation.alt_responses[ ].value[ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ].value[ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ].value[ ][ ].options.decimalPlaces number 10 Number of significant decimal places: default is 10. Max is 10.
validation.alt_responses[ ].value[ ][ ].options.setDecimalSeparator string "." Select a decimal separator. Options are: dot or comma.
validation.alt_responses[ ].value[ ][ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ].value[ ][ ][ ].value string "" The value to match against
validation.alt_responses[ ].value[ ][ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ].value[ ][ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ].value[ ][ ][ ].options.decimalPlaces number 10 Number of significant decimal places: default is 10. Max is 10.
validation.alt_responses[ ].value[ ][ ][ ].options.setDecimalSeparator string "." Select a decimal separator. Options are: dot or comma.
validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ][ ].value array [] An array of arrays that contain the valid responses.
validation.alt_responses[ ][ ].value[ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ][ ].value[ ][ ].value string "" The value to match against
validation.alt_responses[ ][ ].value[ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ][ ].value[ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ][ ].value[ ][ ].options.decimalPlaces number 10 Number of significant decimal places: default is 10. Max is 10.
validation.alt_responses[ ][ ].value[ ][ ].options.setDecimalSeparator string "." Select a decimal separator. Options are: dot or comma.
validation.alt_responses[ ][ ].value[ ][ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ][ ].value[ ][ ][ ].value string "" The value to match against
validation.alt_responses[ ][ ].value[ ][ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ][ ].value[ ][ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ][ ].value[ ][ ][ ].options.decimalPlaces number 10 Number of significant decimal places: default is 10. Max is 10.
validation.alt_responses[ ][ ].value[ ][ ][ ].options.setDecimalSeparator string "." Select a decimal separator. Options are: dot or comma.
handwriting_recognises string "standard" A string with the name of one of the available math grammar sets.
is_dynamic_content boolean false This attribute will be set to true when the Question has been created by the Math Question Generator.
template string undefined A string containing markup e.g. {{response}}, which define where response areas will be rendered. HTML supported tags
equiv_literal_legacy boolean false Allows equivLiteral (2)(x) evaluate to true.
response_containers array undefined Configure attributes, such as Height and Width, for each response container individually.
response_containers[ ].template string undefined The initial value in the formula field. If response containers are used, only they will be editable.
response_containers[ ].width stringUnits undefined Width of an individual response container, in pixels. Individual container setting.
response_containers[ ].height stringUnits undefined Height of an individual response container, in pixels. Individual container setting.
response_containers[ ].aria_label string undefined The ARIA label for the response container. The label will be "Response area" by default if no label is provided.
response_containers[ ][ ].template string undefined The initial value in the formula field. If response containers are used, only they will be editable.
response_containers[ ][ ].width stringUnits undefined Width of an individual response container, in pixels. Individual container setting.
response_containers[ ][ ].height stringUnits undefined Height of an individual response container, in pixels. Individual container setting.
response_containers[ ][ ].aria_label string undefined The ARIA label for the response container. The label will be "Response area" by default if no label is provided.
response_container response container object undefined Define the template and dimensions for all response containers.
response_container.template string undefined The initial value in the formula field. If response containers are used, only they will be editable.
response_container.height stringUnits undefined Height of the response container, in pixels. Global setting.
response_container.width stringUnits undefined Width of the response container, in pixels. Global setting.
response_container.aria_label string undefined The ARIA label for the response container. The label will be "Response area" by default if no label is provided.
showHints boolean true Disables hint, including keyboard shortcuts and group titles, shown on the keyboard's top left corner when hovering over a symbol group key.
horizontal_layout boolean false Enables a horizontal layout with ten columns and two rows.

Attributes

Key Type Default Description
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "formulaessayV2" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.min_height stringUnits undefined The minimum height of the text entry area. Input as units. Example: "100px"
ui_style.max_height stringUnits undefined The max height of the text input including units. Example: "100px"
validation object undefined In this section, configure the correct answer(s) for the question.
validation.max_score number undefined The highest score a marker can award to this question response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
description string undefined Deprecated See stimulus_review.
Description of the question and its context to be displayed. It supports HTML entities.
formatting_options array ["bold","italic","underline","|","unorderedList","orderedList"] An array containing strings of text formatting options to make available. Available options:
  • bold
  • italic
  • underline
  • unorderedList
  • orderedList
  • removeFormat
  • alignLeft
  • alignCenter
  • alignRight
  • alignJustify
  • superscript
  • subscript
  • indentIncrease
  • indentDecrease
  • textDirectionLtr
  • textDirectionRtl
  • insertHorizontalRule
  • table
  • charactermap
  • image
  • formulaEditor
  • undo
  • redo
max_length number 10000 Maximum number of words that can be entered in the field. Maximum: 100,000 chars ~ 10,000 words
character_map array false The character map will display the default set of special characters.
If an Array, the character map button will show and display only the array of characters.
IMPORTANTThe HTML document will require a charset of utf-8: <meta charset="utf-8">
spellcheck boolean true Control the input/textarea attributes spellcheck, autocapitalize, autocomplete and autocorrect. See "Spell check MDN". "Autocapitalize MDN". "Autocomplete MDN" " Autocorrect ". Note these are browser features and may not always be available.
disable_auto_link boolean false Sets whether urls, entered by the user should automatically become clickable-links.
submit_over_limit boolean false Determines if the user is able to save/submit when the word limit has been exceeded.
placeholder string undefined Placeholder text that can be added into the response entry area, which disappears when user starts typing.
show_word_limit string "always" Determines how the word limit UI will display. Options are the following strings:
"always": Word limit is always shown and updated as the user types
"on-limit": Word limit is only displayed when the word limit is exceeded
"off": No word limit it shown.
text_blocks array [] List of custom text blocks. Maximum length 9 characters.
show_word_count boolean true Displays the word count underneath the entry dialog.
showHints boolean true Disables hints, including keyboard shortcuts and group titles, shown on the keypad's top left corner when hovering over a symbol group key.
horizontal_layout boolean false Enables a horizontal layout with ten columns and two rows.

Math essay with rich text example

{
    "response_id": "60043-a",
    "type": "longtextV2",
    "stimulus": "write about their hobbies in no more than 400 words",
    "max_length": 400,
    "character_map": true
}

Attributes

Key Type Default Description
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "formula" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.validation_stem_numeration string "number" Numeration character to be displayed to the left of the validation label.
feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
validation object undefined In this section, configure the correct answer(s) for the question.
validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.scoring_type string "exactMatch" The way in which marks are distributed for the question.
  • Exact Match - All parts of the question must be answered correctly to receive a mark.
  • Partial Match Per Response - Each correct response element will be awarded an individual score.
  • Partial Match - Each correct response element will be scored individually, and the overall question score will be divided between responses.
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
validation.valid_response object undefined An object containing the valid response score and value.
validation.valid_response.score number 1 Score awarded for the correct response(s).
validation.valid_response.value array [] An array of objects containing the valid response.
validation.valid_response.value[ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.valid_response.value[ ].value string "" The value to match against
validation.valid_response.value[ ].options object undefined Extra options for the selected method.
validation.valid_response.value[ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.valid_response.value[ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.valid_response.value[ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.valid_response.value[ ][ ].value string "" The value to match against
validation.valid_response.value[ ][ ].options object undefined Extra options for the selected method.
validation.valid_response.value[ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.valid_response.value[ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ].value array [] An array of objects containing the valid response.
validation.alt_responses[ ].value[ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ].value[ ].value string "" The value to match against
validation.alt_responses[ ].value[ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ].value[ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.alt_responses[ ].value[ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.alt_responses[ ].value[ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ].value[ ][ ].value string "" The value to match against
validation.alt_responses[ ].value[ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ].value[ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.alt_responses[ ].value[ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ][ ].value array [] An array of objects containing the valid response.
validation.alt_responses[ ][ ].value[ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ][ ].value[ ].value string "" The value to match against
validation.alt_responses[ ][ ].value[ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ][ ].value[ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.alt_responses[ ][ ].value[ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.alt_responses[ ][ ].value[ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ][ ].value[ ][ ].value string "" The value to match against
validation.alt_responses[ ][ ].value[ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ][ ].value[ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.alt_responses[ ][ ].value[ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
template string undefined A string containing latex math to be rendered on initialisation. The template markup tag {{response}} is also supported. If present, only the {{response}} areas will be editable.
symbols array undefined Custom symbols to appear in the math symbol toolbars (or keyboard on touch devices). The first item in each group is visible in the main toolbar. On hover, the other items are shown in a sub-toolbar.
symbols[ ].symbol string undefined Latex symbol
symbols[ ].group string undefined Determines which toolbar the symbol appears in
symbols[ ].title string undefined Symbol title (optional)
symbols[ ][ ].symbol string undefined Latex symbol
symbols[ ][ ].group string undefined Determines which toolbar the symbol appears in
symbols[ ][ ].title string undefined Symbol title (optional)
symbols_keyboard array undefined Custom symbols to appear in the math symbols keyboard on touch devices.
symbols_keyboard[ ].symbol string undefined Latex symbol
symbols_keyboard[ ].title string undefined Symbol title (optional)
symbols_keyboard[ ][ ].symbol string undefined Latex symbol
symbols_keyboard[ ][ ].title string undefined Symbol title (optional)
response_container object undefined Object that defines styles for the response container.
response_container.height stringUnits undefined
response_container.width stringUnits undefined
response_containers array undefined Array containing objects defining each individual response container style.
response_containers[ ].height stringUnits undefined
response_containers[ ].width stringUnits undefined
response_containers[ ][ ].height stringUnits undefined
response_containers[ ][ ].width stringUnits undefined

Math formula Deprecated example

{
    "response_id": "60023",
    "instant_feedback": true,
    "is_math": true,
    "stimulus": "Expand the equation \\((x + 7) ( x-3)\\)",
    "type": "formula",
    "validation": {
        "scoring_type": "exactMatch",
        "valid_response": {
            "score": 1,
            "value": [{
                "method": "equivSymbolic",
                "value": "(x + 7)(x-3)"
            }, {
                "method": "isExpanded"
            }]
        }
    }
}

Attributes

Key Type Default Description
text_blocks array [] List of custom text blocks. Maximum length 9 characters.
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "formulaV2" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.response_font_scale string "boosted" This scales the font relative to the question's font size. Possible values:
  • "boosted" 150%
  • "normal" 100%
ui_style.type string "floating-keyboard" Keyboard style. See Keypad Customization for more information. Possible values:
  • "floating-keyboard"

    A movable keypad appears when the learner brings focus into the response box

  • "block-keyboard"

    A fixed keypad that is always visible

  • "block-on-focus-keyboard"

    A fixed keypad appears when the learner brings focus into the response box

  • "no-input-ui"

    No keypad

ui_style.min_width stringUnits "" Controls the minimum width of the response input area, e.g. 550px
ui_style.transparent_background boolean false Determines whether the area housing nested response areas should be transparent
ui_style.keyboard_below_response_area boolean false If true, the floating formula keyboard will appear below the question as a whole (instead of below each individual math editor in the question).
feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
validation object undefined In this section, configure the correct answer(s) for the question.
validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.scoring_type string "exactMatch" The way in which marks are distributed for the question.
  • Exact Match - All parts of the question must be answered correctly to receive a mark.
  • Partial Match Per Response - Each correct response element will be awarded an individual score.
  • Partial Match - Each correct response element will be scored individually, and the overall question score will be divided between responses.
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
validation.valid_response object undefined An object containing the valid response score and value.
validation.valid_response.score number 1 Score awarded for the correct response(s).
validation.valid_response.value array [] An array of objects containing the valid response.
validation.valid_response.value[ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.valid_response.value[ ].value string "" The value to match against
validation.valid_response.value[ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.valid_response.value[ ].options object undefined Extra options for the selected method.
validation.valid_response.value[ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.valid_response.value[ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.valid_response.value[ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.valid_response.value[ ][ ].value string "" The value to match against
validation.valid_response.value[ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.valid_response.value[ ][ ].options object undefined Extra options for the selected method.
validation.valid_response.value[ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.valid_response.value[ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ].value array [] An array of objects containing the valid response.
validation.alt_responses[ ].value[ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ].value[ ].value string "" The value to match against
validation.alt_responses[ ].value[ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ].value[ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ].value[ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.alt_responses[ ].value[ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.alt_responses[ ].value[ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ].value[ ][ ].value string "" The value to match against
validation.alt_responses[ ].value[ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ].value[ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ].value[ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.alt_responses[ ].value[ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ][ ].value array [] An array of objects containing the valid response.
validation.alt_responses[ ][ ].value[ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ][ ].value[ ].value string "" The value to match against
validation.alt_responses[ ][ ].value[ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ][ ].value[ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ][ ].value[ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.alt_responses[ ][ ].value[ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
validation.alt_responses[ ][ ].value[ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ][ ].value[ ][ ].value string "" The value to match against
validation.alt_responses[ ][ ].value[ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ][ ].value[ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ][ ].value[ ][ ].options.ignoreLeadingAndTrailingSpaces boolean true Setting it to true allows treating ' a ' and 'a' as the same.
validation.alt_responses[ ][ ].value[ ][ ].options.treatMultipleSpacesAsOne boolean true Setting it to true allows treating 'a b' and 'a b' as the same.
handwriting_recognises string "standard" A string with the name of one of the available math grammar sets.
template string undefined A string containing latex math to be rendered on initialization. The template markup tag {{response}} is also supported. If present, only the {{response}} areas will be editable.
showHints boolean true Disables hint, including keyboard shortcuts and group titles, shown on the keyboard's top left corner when hovering over a symbol group key.
horizontal_layout boolean false Enables a horizontal layout with ten columns and two rows.
equiv_literal_legacy boolean false Allows equivLiteral (2)(x) evaluate to true.
response_container object undefined Object that defines styles for the response container.
response_container.height stringUnits undefined Height of the response container, in pixels. Global setting.
response_container.width stringUnits undefined Width of the response container, in pixels. Global setting.
response_container.aria_label string undefined The ARIA label for the response container. The label will be "Response area" by default if no label is provided.
response_containers array undefined Array containing objects defining each individual response container style.
response_containers[ ].height stringUnits undefined Height of the response container, in pixels. Individual container setting.
response_containers[ ].width stringUnits undefined Width of the response container, in pixels. Individual container setting.
response_containers[ ][ ].height stringUnits undefined Height of the response container, in pixels. Individual container setting.
response_containers[ ][ ].width stringUnits undefined Width of the response container, in pixels. Individual container setting.

Math formula v2 Deprecated example

{
    "response_id": "60031",
    "instant_feedback": true,
    "is_math": true,
    "stimulus": "Expand the equation \\((x + 7) ( x-3)\\)",
    "type": "formulaV2",
    "validation": {
        "scoring_type": "exactMatch",
        "valid_response": {
            "score": 1,
            "value": [{
                "method": "equivSymbolic",
                "value": "(x + 7)(x-3)"
            }, {
                "method": "isExpanded"
            }]
        }
    }
}

Attributes

Key Type Default Description
text_blocks array [] List of custom text blocks. Maximum length 9 characters.
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
metadata.distractor_rationale_response_level array undefined Used to display individual response feedback/rationale to the learner, at the relevant response level.
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "multistepmath" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.validation_stem_numeration string "number" Numeration character to be displayed to the left of the validation label.
ui_style.response_font_scale string "boosted" This scales the font relative to the question's font size. Possible values:
  • "boosted" 150%
  • "normal" 100%
ui_style.type string "block-on-focus-keyboard" Keyboard style. See Keypad Customization for more information. Possible values:
  • "floating-keyboard"

    A movable keypad appears when the learner brings focus into the response box

  • "block-keyboard"

    A fixed keypad that is always visible

  • "block-on-focus-keyboard"

    A fixed keypad appears when the learner brings focus into the response box

  • "no-input-ui"

    No keypad

ui_style.min_width stringUnits "" Controls the minimum width of the response input area, e.g. 550px
ui_style.keyboard_below_response_area boolean false When enabled, this will position the floating keyboard below the last line of the response area. Otherwise, this will partially overlap the response area.
feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
validation object undefined In this section, configure the correct answer(s) for the question.
validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
validation.scoring_type string "exactMatch" The way in which marks are distributed for the question. Possible options:
'exactMatch': Exact Match - All parts of the question must be answered correctly to receive a mark.
'partialMatchV2': Partial Match - Each correct response element will be scored individually, and the overall question score will be divided between the responses.
'partialMatch': Partial Match per Response - Each correct response element will be awarded an individual score.
validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
validation.valid_response object undefined An object containing the valid response score and value.
validation.valid_response.score number 1 Score awarded for the correct response(s).
validation.valid_response.value array [] A collection of arrays containing objects with the valid response.
validation.valid_response.value[ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.valid_response.value[ ][ ].value string "" The value to match against
validation.valid_response.value[ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.valid_response.value[ ][ ].options object undefined Extra options for the selected method.
validation.valid_response.value[ ][ ].options.decimalPlaces number 10 Number of significant decimal places: default is 10. Max is 10.
validation.valid_response.value[ ][ ].options.setDecimalSeparator string "." Select a decimal separator. Options are: dot or comma.
validation.valid_response.value[ ][ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.valid_response.value[ ][ ][ ].value string "" The value to match against
validation.valid_response.value[ ][ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.valid_response.value[ ][ ][ ].options object undefined Extra options for the selected method.
validation.valid_response.value[ ][ ][ ].options.decimalPlaces number 10 Number of significant decimal places: default is 10. Max is 10.
validation.valid_response.value[ ][ ][ ].options.setDecimalSeparator string "." Select a decimal separator. Options are: dot or comma.
validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ].value array [] An array of arrays that contain the valid responses.
validation.alt_responses[ ].value[ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ].value[ ][ ].value string "" The value to match against
validation.alt_responses[ ].value[ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ].value[ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ].value[ ][ ].options.decimalPlaces number 10 Number of significant decimal places: default is 10. Max is 10.
validation.alt_responses[ ].value[ ][ ].options.setDecimalSeparator string "." Select a decimal separator. Options are: dot or comma.
validation.alt_responses[ ].value[ ][ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ].value[ ][ ][ ].value string "" The value to match against
validation.alt_responses[ ].value[ ][ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ].value[ ][ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ].value[ ][ ][ ].options.decimalPlaces number 10 Number of significant decimal places: default is 10. Max is 10.
validation.alt_responses[ ].value[ ][ ][ ].options.setDecimalSeparator string "." Select a decimal separator. Options are: dot or comma.
validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
validation.alt_responses[ ][ ].value array [] An array of arrays that contain the valid responses.
validation.alt_responses[ ][ ].value[ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ][ ].value[ ][ ].value string "" The value to match against
validation.alt_responses[ ][ ].value[ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ][ ].value[ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ][ ].value[ ][ ].options.decimalPlaces number 10 Number of significant decimal places: default is 10. Max is 10.
validation.alt_responses[ ][ ].value[ ][ ].options.setDecimalSeparator string "." Select a decimal separator. Options are: dot or comma.
validation.alt_responses[ ][ ].value[ ][ ][ ].method string "equivLiteral" The method used to compare user input against the valid response value.
validation.alt_responses[ ][ ].value[ ][ ][ ].value string "" The value to match against
validation.alt_responses[ ][ ].value[ ][ ][ ].aria_label string "" A plain text version of the correct answer, available in review state for screen reader users
validation.alt_responses[ ][ ].value[ ][ ][ ].options object undefined Extra options for the selected method.
validation.alt_responses[ ][ ].value[ ][ ][ ].options.decimalPlaces number 10 Number of significant decimal places: default is 10. Max is 10.
validation.alt_responses[ ][ ].value[ ][ ][ ].options.setDecimalSeparator string "." Select a decimal separator. Options are: dot or comma.
handwriting_recognises string "standard" A string with the name of one of the available math grammar sets.
is_dynamic_content boolean false This attribute will be set to true when the Question has been created by the Math Question Generator.
template string undefined A string containing markup e.g. {{response}}, which define where response areas will be rendered. HTML supported tags
equiv_literal_legacy boolean false Allows equivLiteral (2)(x) evaluate to true.
response_containers array undefined Configure attributes, such as Height and Width, for each response container individually.
response_containers[ ].template string undefined The initial value in the formula field. If response containers are used, only they will be editable.
response_containers[ ].width stringUnits undefined Width of an individual response container, in pixels. Individual container setting.
response_containers[ ].height stringUnits undefined Height of an individual response container, in pixels. Individual container setting.
response_containers[ ].aria_label string undefined The ARIA label for the response container. The label will be "Response area" by default if no label is provided.
response_containers[ ][ ].template string undefined The initial value in the formula field. If response containers are used, only they will be editable.
response_containers[ ][ ].width stringUnits undefined Width of an individual response container, in pixels. Individual container setting.
response_containers[ ][ ].height stringUnits undefined Height of an individual response container, in pixels. Individual container setting.
response_containers[ ][ ].aria_label string undefined The ARIA label for the response container. The label will be "Response area" by default if no label is provided.
response_container response container object undefined Define the template and dimensions for all response containers.
response_container.template string undefined The initial value in the formula field. If response containers are used, only they will be editable.
response_container.height stringUnits undefined Height of the response container, in pixels. Global setting.
response_container.width stringUnits undefined Width of the response container, in pixels. Global setting.
response_container.aria_label string undefined The ARIA label for the response container. The label will be "Response area" by default if no label is provided.
showHints boolean true Disables hint, including keyboard shortcuts and group titles, shown on the keyboard's top left corner when hovering over a symbol group key.
horizontal_layout boolean false Enables a horizontal layout with ten columns and two rows.

Attributes

Key Type Default Description
is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
metadata object undefined Object containing additional information about the question.
metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
metadata.distractor_rationale_response_level array undefined Used to display individual response feedback/rationale to the student.
metadata.response_shuffle_seed string undefined A seed to use to randomise the order of response options. If set, the responses will be shuffled according to this seed, and all students will see the same randomised order.
stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
type string "mcq" Type of question being asked, e.g. 'association'
ui_style object undefined Object used to control different aspects of the UI
ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
ui_style.validation_stem_numeration string "number" Numeration character to be displayed to the left of the validation label.
ui_style.type string "horizontal" Formatting styles available for the question. Possible values:
  • "horizontal"

    Standard radio buttons beside response options

  • "block"

    No radio buttons, each response option becomes a large clickable element

  • "horizontal-input-bottom"

    Response text appears above radio buttons, vertically aligned and centered

ui_style.choice_label string "" Numeration character to be displayed to the left of the label content when using the "block" style. Possible values:
  • "number"

    Numbered starting from "1"

  • "upper-alpha"

    Uppercase letters starting from "A"

  • "lower-alpha"

    Lowercase letters starting from "a"

  • ui_style.columns number 1 The number of columns
    ui_style.orientation string "vertical" Sorts the order of the responses vertically or horizontally. Possible values:
    • "horizontal"
    • "vertical"
    feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
    instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
    validation object undefined In this section, configure the correct answer(s) for the question.
    validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
    validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
    validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
    validation.scoring_type string "exactMatch" Defines the scoring approach used. Possible options:
    'exactMatch': Exact Match - Entire response must match exactly
    'partialMatchV2': Partial Match - A relative part of the score will be given for each correct response area
    'partialMatch': Partial Match per response - Cumulative Score value will be given for each correct response area
    validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
    validation.valid_response object undefined An object containing the valid response score and value.
    validation.valid_response.score number 1 Score awarded for the correct response(s).
    validation.valid_response.value array []
    validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
    validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
    validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
    validation.alt_responses[ ].value array []
    validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
    validation.alt_responses[ ][ ].value array []
    description string undefined Deprecated See stimulus_review.
    Description of the question and its context to be displayed. It supports HTML entities.
    options array [option Object] undefined Array of option Objects that represent the possible options for this question. At least 2 options are required.
    options[ ].value editorMcqOptionValue undefined Value for this option that would be stored as the response if selected.
    options[ ].label editor undefined Label to be displayed for this option - plain string with HTML allowed for formatting or mathjax syntax.
    options[ ].assistive_label object undefined
    options[ ].assistive_label.label string "" A plain text description for accessibility users that is accessible by screen readers and assistive technologies when navigating to the response.
    options[ ].assistive_label.exposed_visible_label boolean false If this option is checked, then the visible text can be navigated and spoken by screen readers. If the option is not checked and the custom aria-label is empty, the content is flattened and will be read out as one piece of information to the learner.
    multiple_responses boolean false If multiple_responses is true the user will be able to select multiple responses using a checkbox for each response. Also author can set min_selection and max_selection to control the allowed minimum and maximum responses.
    shuffle_options boolean false Use this to shuffle Multiple Choice Question options order.

    Multiple choice example

    {
        "stimulus": "Which of the following has the smallest wavelength?",
        "feedback_attempts": 1,
        "instant_feedback": true,
        "multiple_responses": true,
        "options": [{
            "value": "red",
            "label": "Red"
        }, {
            "value": "violet",
            "label": "Violet"
        }, {
            "value": "blue",
            "label": "Blue"
        }, {
            "value": "orange",
            "label": "Orange"
        }],
        "penalty_score": -1,
        "response_id": "60003",
        "type": "mcq",
        "ui_style": {
            "type": "block"
        },
        "validation": {
            "scoring_type": "exactMatch",
            "valid_response": {
                "value": ["violet"]
            },
            "penalty": -1
        }
    }

    Attributes

    Key Type Default Description
    is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
    metadata object undefined Object containing additional information about the question.
    metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
    metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
    metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
    metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
    metadata.distractor_rationale_response_level array undefined Used for storing the distractor rationales that map to responses in the same order for use/rendering by the host environment.
    stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
    stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
    instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
    type string "numberline" Type of question being asked, e.g. 'association'
    ui_style object undefined Object used to control different aspects of the UI
    ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
    ui_style.height stringUnits "auto" The height of the drawn area with trailing px unit eg. "250px". If undefined or empty, the board's height will scaled automatically based on the contents
    ui_style.width stringUnits "550px" The width of the drawn area with trailing px unit eg. "550px".
    ui_style.number_line_margin stringUnits "5px" The distance from the number line's extremes to the sides with trailing px unit e.g. "5px"
    ui_style.points_distance_x stringUnits "10px" The distance in X axis between two points with trailing px unit eg. "10px"
    ui_style.points_distance_y stringUnits "20px" The distance in Y axis between two points with trailing px unit eg. "20px"
    ui_style.line_position number 35 At which percentage of the height should the Number Line appear
    ui_style.title_position number 50 At which percentage of the height should the Line's Title appear
    ui_style.points_box_position number 60 At which percentage of the height should the Points box container start
    feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
    instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
    validation object undefined In this section, configure the correct answer(s) for the question.
    validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
    validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
    validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
    validation.scoring_type string "exactMatch" The way in which marks are distributed for the question. Possible options:
    'exactMatch': Exact Match - All parts of the question must be answered correctly to receive a mark.
    'partialMatchV2': Partial Match - Each correct response element will be scored individually, and the overall question score will be divided between responses.
    'partialMatch': Partial Match per Response - Each correct response element will be awarded an individual score.
    validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
    validation.valid_response object undefined An object containing the valid response score and value.
    validation.valid_response.score number 1 Score awarded for the correct response(s).
    validation.valid_response.value array undefined An array containing objects defining the correct position for a given point, e.g. {point: '3', position: '3'}
    validation.valid_response.value[ ].point string undefined The point that should be validated.
    validation.valid_response.value[ ].position string undefined The position on the number line the point should represent.
    validation.valid_response.value[ ][ ].point string undefined The point that should be validated.
    validation.valid_response.value[ ][ ].position string undefined The position on the number line the point should represent.
    validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
    validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
    validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
    validation.alt_responses[ ].value array undefined
    validation.alt_responses[ ].value[ ].point string undefined The point that should be validated.
    validation.alt_responses[ ].value[ ].position string undefined The position on the number line the point should represent.
    validation.alt_responses[ ].value[ ][ ].point string undefined The point that should be validated.
    validation.alt_responses[ ].value[ ][ ].position string undefined The position on the number line the point should represent.
    validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
    validation.alt_responses[ ][ ].value array undefined
    validation.alt_responses[ ][ ].value[ ].point string undefined The point that should be validated.
    validation.alt_responses[ ][ ].value[ ].position string undefined The position on the number line the point should represent.
    validation.alt_responses[ ][ ].value[ ][ ].point string undefined The point that should be validated.
    validation.alt_responses[ ][ ].value[ ][ ].position string undefined The position on the number line the point should represent.
    validation.threshold number 0 Threshold for the distance a point can be from the valid and still be marked as correct.
    line object undefined Defines the minimum and maximum values on the number line.
    line.min number -10 The minimum value on the number line
    line.max number 10 The maximum value on the number line
    line.left_arrow boolean false Whether to draw an arrow on the left hand side of the line
    line.right_arrow boolean false Whether to draw an arrow on the right hand side of the line
    line.title string undefined Line's title to display underneath it
    ticks object undefined Defines the Number line ticks
    ticks.distance string/number 1 The distance between ticks on the number line
    ticks.fractions string "not-normalized-fractions"

    If the distance is set to a fraction this will determine in which format the fractions will be rendered on the Number Line. Select to display only:

    • Not normalized and mixed fractions.
    • Normalized and mixed fractions.
    • Improper fractions.

    ticks.base string "min-value-based" Value on the line, where rendering of ticks should start
    ticks.show boolean false Whether to draw ticks on the line or not
    labels object undefined Defines the labels to draw on the number line
    labels.frequency number undefined Frequency with which to draw labels
    labels.points string undefined Specific point at which labels need to be drawn. Separate values by commas, eg: -2.5, 2.5
    labels.show_min boolean false Whether to draw a label on the min value of the number line
    labels.show_max boolean false Whether to draw a label on the max value of the number line
    snap_to_ticks boolean false Whether dragged points should snap to the ticks specified by ticks.distance and labels.points
    snap_vertically boolean true Whether dragged points should snap to the line when dropped above it
    points array undefined Array containing the points the user has to position on the number line. Possible formats are: text, number, fraction and mixed fraction. The field doesn't support LaTeX because of rendering complexity.

    Number line association example

    {
        "instant_feedback": true,
        "labels": {
            "frequency": 20,
            "show_max": true,
            "show_min": true
        },
        "line": {
            "left_arrow": true,
            "max": 3,
            "min": 0,
            "right_arrow": true
        },
        "points": ["1.22", "2.2", "5"],
        "response_id": "60027",
        "snap_to_ticks": true,
        "stimulus": "Position the tokens at the closest points. If the number isn't on the line, do not place it.",
        "ticks": {
            "distance": ".2",
            "show": true
        },
        "type": "numberline",
        "ui_style": {
            "width": "370px"
        },
        "validation": {
            "scoring_type": "exactMatch",
            "valid_response": {
                "value": [{
                    "point": "1.22",
                    "position": "1.3"
                }, {
                    "point": "2.2",
                    "position": "2.2"
                }]
            },
            "threshold": 0.2
        }
    }

    Attributes

    Key Type Default Description
    is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
    metadata object undefined Object containing additional information about the question.
    metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
    metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
    metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
    metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
    metadata.distractor_rationale_response_level array undefined Used for storing the distractor rationales that map to responses in the same order for use/rendering by the host environment.
    stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
    stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
    instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
    type string "numberlineplot" Type of question being asked, e.g. 'association'
    ui_style object undefined Object used to control different aspects of the UI
    ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
    ui_style.layout string "horizontal" Allows author to decide between horizontal and vertical plotting.
    ui_style.spacing stringUnits "30px" Spacing between stacked responses with trailing px unit eg. "30px"
    ui_style.number_line_margin string "5px" Distance from the number line's extremes to the sides with trailing px unit eg. "5px"
    ui_style.width stringUnits "550px" Width of the drawn area with trailing px unit eg. "550px".
    ui_style.height stringUnits "500px" Height of the drawn area with trailing px unit eg. "500px".
    ui_style.min_width stringUnits "550px" Minimum width of the drawn area with trailing px unit eg. "550px". Width in vertical mode is being calculated automatically, but you can force width to take at least some amount of space. Note also that toolbox takes 55px.
    feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
    instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
    validation object undefined In this section, configure the correct answer(s) for the question.
    validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
    validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
    validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
    validation.scoring_type string "exactMatch" The way in which marks are distributed for the question. Possible options:
    'exactMatch': Exact Match - All parts of the question must be answered correctly to receive a mark.
    'partialMatchV2': Partial Match - Each correct response element will be scored individually, and the overall question score will be divided between responses.
    'partialMatch': Partial Match per Response - Each correct response element will be awarded an individual score.
    validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
    validation.valid_response object undefined An object containing the valid response score and value.
    validation.valid_response.score number 1 Score awarded for the correct response(s).
    validation.valid_response.value array undefined An array containing objects defining the correct response for a given tool, e.g. response: { type: 'segment', point1: { x: 0, y: 0 }, point2: { x: 0, y: 0 } }
    validation.valid_response.value[ ].type string undefined Type of the tool
    validation.valid_response.value[ ].point1 string undefined Position of the first point (from left)
    validation.valid_response.value[ ].point2 string undefined Position of the second point if necessary (from left)
    validation.valid_response.value[ ][ ].type string undefined Type of the tool
    validation.valid_response.value[ ][ ].point1 string undefined Position of the first point (from left)
    validation.valid_response.value[ ][ ].point2 string undefined Position of the second point if necessary (from left)
    validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
    validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
    validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
    validation.alt_responses[ ].value array undefined An array containing objects defining the correct response for a given tool, e.g. response: { type: 'segment', point1: { x: 0, y: 0 }, point2: { x: 0, y: 0 } }
    validation.alt_responses[ ].value[ ].type string undefined Type of the tool
    validation.alt_responses[ ].value[ ].point1 string undefined Position of the first point (from left)
    validation.alt_responses[ ].value[ ].point2 string undefined Position of the second point if necessary (from left)
    validation.alt_responses[ ].value[ ][ ].type string undefined Type of the tool
    validation.alt_responses[ ].value[ ][ ].point1 string undefined Position of the first point (from left)
    validation.alt_responses[ ].value[ ][ ].point2 string undefined Position of the second point if necessary (from left)
    validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
    validation.alt_responses[ ][ ].value array undefined An array containing objects defining the correct response for a given tool, e.g. response: { type: 'segment', point1: { x: 0, y: 0 }, point2: { x: 0, y: 0 } }
    validation.alt_responses[ ][ ].value[ ].type string undefined Type of the tool
    validation.alt_responses[ ][ ].value[ ].point1 string undefined Position of the first point (from left)
    validation.alt_responses[ ][ ].value[ ].point2 string undefined Position of the second point if necessary (from left)
    validation.alt_responses[ ][ ].value[ ][ ].type string undefined Type of the tool
    validation.alt_responses[ ][ ].value[ ][ ].point1 string undefined Position of the first point (from left)
    validation.alt_responses[ ][ ].value[ ][ ].point2 string undefined Position of the second point if necessary (from left)
    title string undefined Response area title
    line object undefined
    line.min number -10 Minimum value for the number line
    line.left_arrow boolean false Draw an arrow on the left hand side of the line
    line.max number 10 Maximum value for the number line
    line.right_arrow boolean false Draw an arrow on the right hand side of the line
    ticks object undefined
    ticks.distance string/number 1 The distance between ticks on the number line
    ticks.minor_ticks number 3 Number of minor ticks between major ticks
    ticks.base string "min-value-based" Value on the line, where rendering of ticks should start
    ticks.show boolean false Whether to draw ticks on the line or not
    ticks.show_min boolean false Whether to draw min tick on the line or not
    ticks.show_max boolean false Whether to draw max tick on the line or not
    labels object undefined
    labels.show boolean true Whether to show labels on the line or not (only when tick is shown)
    labels.show_min boolean true Whether to show min label on the line or not (only when tick is shown)
    labels.show_max boolean true Whether to show max label on the line or not (only when tick is shown)
    stacked boolean true Whether responses should be stacked, or plotted on the line
    stacked_elements number 1 Number of elements/responses user can add to the number line
    toolbar array undefined Allows you to choose toolbar buttons. By default all are available
    points string undefined Specific point at which labels need to be drawn. Separate values by commas, eg: -2.5, 2.5

    Number line plot example

    {
        "response_id": 60030,
        "instant_feedback": true,
        "stacked_elements": 2,
        "line": {
            "max": 10,
            "min": -10,
            "right_arrow": true
        },
        "stimulus": "Insert 2 points at following positions: 4, -9",
        "ticks": {
            "distance": 3,
            "minor_ticks": 2,
            "show": true
        },
        "type": "numberlineplot",
        "ui_style": {
            "width": "370px"
        },
        "validation": {
            "scoring_type": "exactMatch",
            "valid_response": {
                "score": 1,
                "value": [
                    {
                        "type": "point",
                        "point1": 4
                    },
                    {
                        "type": "point",
                        "point1": -9
                    }
                ]
            }
        }
    }

    Attributes

    Key Type Default Description
    is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
    metadata object undefined Object containing additional information about the question.
    metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
    metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
    metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
    metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
    stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
    stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
    instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
    type string "orderlist" Type of question being asked, e.g. 'association'
    ui_style object undefined Object used to control different aspects of the UI
    ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
    ui_style.validation_stem_numeration string "number" Numeration character to be displayed to the left of the validation label.
    ui_style.type string "button" The style of the list for the user interface. Supported types are 'button', 'list', and 'inline'.
    ui_style.show_drag_handle boolean true Determines whether to show the drag handle.
    feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
    instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
    validation object undefined In this section, configure the correct answer(s) for the question.
    validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
    validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
    validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
    validation.scoring_type string "exactMatch" The way in which marks are distributed for this question. Possible options:
    'exactMatch': Exact Match - All parts of the question must be answered correctly to receive a mark.
    'partialMatchV2': Partial Match - Each response entity will be scored individually, and the overall question score will be divided between the response items.
    'partialMatch': Partial Match Per Response - Each correct response entity will be awarded an individual score.
    'partialMatchPairwise': Partial Pairwise Per Response - Entities are compared in pairs to determine the score.
    validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
    validation.valid_response object undefined An object containing the valid response score and value.
    validation.valid_response.score number 1 Score awarded for the correct response(s).
    validation.valid_response.value questionOrderlist undefined
    validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
    validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
    validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
    validation.alt_responses[ ].value questionOrderlist undefined
    validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
    validation.alt_responses[ ][ ].value questionOrderlist undefined
    description string undefined Deprecated See stimulus_review.
    Description of the question and its context to be displayed. It supports HTML entities.
    list array undefined An unordered list of statements that the student must place in the correct order.
    shuffle_options boolean false When this is enabled, the list options will display in a different order each time the question is rendered.

    Order list example

    {
        "response_id": "60018",
        "type": "orderlist",
        "stimulus": "order the events, chronologically earliest to latest.",
        "list": ["Russian Revolution", "Discovery of the Americas", "Storming of the Bastille", "Battle of Plataea", "Founding of Rome", "First Crusade"],
        "ui_style": "button",
        "instant_feedback": true,
        "feedback_attempts": 2,
        "validation": {
            "scoring_type": "partialMatch",
            "valid_response": {
                "value": [4, 3, 5, 1, 2, 0]
            },
            "penalty": 1
        }
    }

    Attributes

    Key Type Default Description
    is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
    metadata object undefined Object containing additional information about the question.
    metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
    metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
    metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
    metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
    stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
    stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
    instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
    type string "plaintext" Type of question being asked, e.g. 'association'
    ui_style object undefined User interface style
    ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
    ui_style.min_height stringUnits undefined The minimum height of the text entry area, input as units. Example: "100px"
    ui_style.max_height stringUnits undefined The max height of the text input including units. Example: "100px"
    validation object undefined In this section, configure the correct answer(s) for the question.
    validation.max_score number undefined The highest score a marker can award to this question response.
    validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
    validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
    description string undefined Deprecated See stimulus_review.
    Description of the question and its context to be displayed. It supports HTML entities.
    character_map boolean / array [characters] false If true, the character map button will display within the short text field. The character map will display the default set of special characters.
    If an Array, the character map button will show and display only the array of characters.
    IMPORTANT The HTML document will require a charset of utf-8: <meta charset="utf-8">
    max_length number 10000 Maximum number of words that can be entered in the field. Maximum: 100,000 chars ~ 10,000 words
    show_copy boolean false When this is true the Copy Button is shown in the plain text toolbar.
    show_cut boolean false When this is true the Cut button is shown in the plain text toolbar.
    show_paste boolean false When this is true the Paste button is shown in the plain text toolbar.
    show_word_limit "always" Determines how the word limit UI will display. Options are the following strings:
    "always": Word limit is always shown and updated as the user types
    "on-limit": Word limit is only displayed when the word limit is exceeded
    "off": No word limit is shown.
    submit_over_limit boolean false Determines if the user is able to save/submit when the word limit has been exceeded.
    spellcheck boolean false Control the input/textarea attributes spellcheck, autocapitalize, autocomplete and autocorrect. See "Spell check MDN". "Autocapitalize MDN". "Autocomplete MDN" " Autocorrect ". Note these are browser features and may not always be available.
    placeholder string undefined Placeholder text that can be added into the response entry area, which disappears when user starts typing.

    Plain text (essay) example

    {
        "response_id": "60019",
        "type": "plaintext",
        "stimulus": "Write an essay, without formatting controls.",
        "show_word_limit": "always",
        "show_word_count": "on-limit",
        "max_length": 10,
        "show_copy": true,
        "show_cut": true,
        "show_paste": true,
        "character_map": "1"
    }

    Attributes

    Key Type Default Description
    is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
    metadata object undefined Object containing additional information about the question.
    metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
    metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
    metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
    metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
    stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
    stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
    instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
    type string "rating" Type of question being asked, e.g. 'association'
    ui_style object undefined Object used to control different aspects of the UI
    ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
    options array undefined The response options available for selection.
    options[ ].value string undefined Indicates the worth of the rating and is stored as the response when selected.
    options[ ].label string undefined The content that is displayed in the rating option button. This can be a percentage, number or a text label. It also supports unicode for emojis.
    options[ ].label_tooltip string undefined A message displayed above the rating option button when a user hovers over the button.
    options[ ].tint string undefined Sets the color for the response option tooltip, the text for that response option in the information tooltip, and the response when displayed in review state.
    options[ ].description string undefined Text that describes the rating criteria. It will be shown within the information tooltip, if enabled.
    options[ ][ ].value string undefined Indicates the worth of the rating and is stored as the response when selected.
    options[ ][ ].label string undefined The content that is displayed in the rating option button. This can be a percentage, number or a text label. It also supports unicode for emojis.
    options[ ][ ].label_tooltip string undefined A message displayed above the rating option button when a user hovers over the button.
    options[ ][ ].tint string undefined Sets the color for the response option tooltip, the text for that response option in the information tooltip, and the response when displayed in review state.
    options[ ][ ].description string undefined Text that describes the rating criteria. It will be shown within the information tooltip, if enabled.
    initial_value string undefined The value of the option that will be marked as selected on first rendering. Can be used to pre populate the score with an automatically assigned score
    hide_info_icon boolean false When enabled, this option hides the information button next to the rating options that have been set.

    Rating example

    {
        "response_id": "60007",
        "type": "rating",
        "options" : [
            {
                "value": 10,
                "label": "1",
                "tint": "#ff121c",
                "description": "Unsatisfactory"
            }, {
                "value": 20,
                "label": "2",
                "tint": "#ff9104",
                "description": "Satisfactory"
            }, {
                "value": 30,
                "label": "3",
                "tint": "#fdff30",
                "description": "Good"
            }, {
                "value": 40,
                "label": "4",
                "tint": "#cffa2e",
                "description": "Excellent"
            }
        ],
        "initial_value" : 30
    }

    Attributes

    Key Type Default Description
    is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
    metadata object undefined Object containing additional information about the question.
    metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
    metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
    metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
    metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
    stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
    stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
    instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
    type string "shorttext" Type of question being asked, e.g. 'association'
    ui_style object undefined Object used to control different aspects of the UI
    ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
    feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
    instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
    validation object undefined In this section, configure the correct answer(s) for the question.
    validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
    validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
    validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
    validation.scoring_type string "exactMatch" The way in which marks are distributed for the question.
    • Exact Match - All parts of the question must be answered correctly to receive a mark.
    • Partial Match Per Response - Each correct response element will be awarded an individual score.
    • Partial Match - Each correct response element will be scored individually, and the overall question score will be divided between responses.
    validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
    validation.valid_response object undefined An object containing the valid response score and value.
    validation.valid_response.score number 1 Score awarded for the correct response(s).
    validation.valid_response.matching_rule string "exact" Matching rule that will be used to evaluate student's input
    validation.valid_response.value string ""
    validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
    validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
    validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
    validation.alt_responses[ ].matching_rule string "exact" Matching rule that will be used to evaluate student's input
    validation.alt_responses[ ].value string ""
    validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
    validation.alt_responses[ ][ ].matching_rule string "exact" Matching rule that will be used to evaluate student's input
    validation.alt_responses[ ][ ].value string ""
    validation.enable_fullwidth_scoring boolean false For languages such as Japanese, where full-width and half-width characters are used, validate responses with either type of character width. For example, in this question: What do we call '犬' in English? And you have set 'Dog' (full-width) as the correct answer, if the learner enters 'Dog' (full-width) or 'Dog' (half-width) these will both be marked as correct responses when this option is enabled.
    description string undefined Deprecated See stimulus_review.
    Description of the question and its context to be displayed. It supports HTML entities.
    max_length number 50 Maximum number of characters that can be entered in the field. Maximum value is 250. For longer questions use longtext type.
    character_map boolean / array [characters] false If true, the character map button will display within the short text field. The character map will display the default set of special characters.
    If an Array, the character map button will show and display only the array of characters.
    IMPORTANT The HTML document will require a charset of utf-8: <meta charset="utf-8">
    spellcheck boolean false Control the input/textarea attributes spellcheck, autocapitalize, autocomplete and autocorrect. See "Spell check MDN". "Autocapitalize MDN". "Autocomplete MDN" " Autocorrect ". Note these are browser features and may not always be available.
    placeholder string undefined Placeholder text that can be added into the response entry area, which disappears when user starts typing.
    case_sensitive boolean false If true, responses will be compared against valid_responses considering the letters' case.
    ignore_leading_and_trailing_spaces boolean true Determines whether the automatic marking will ignore leading and trailing spaces. E.g. 'a' and ' a ' will be treated as the same.
    response_container array [response container object] undefined Array containing objects defining each individual response container style.
    response_container.input_type string "text" Type of input
    response_container.aria_label string undefined The ARIA label for the response container. It will have a default value if no label is provided.

    Short text example

    {
        "response_id": "60002",
        "type": "shorttext",
        "stimulus": "What is the capital of Ireland?",
        "instant_feedback": true,
        "case_sensitive": true,
        "validation": {
            "scoring_type": "exactMatch",
            "valid_response": {
                "value": "Dublin"
            },
            "alt_responses": [{
                "value": "Dubh Linn",
                "score": 2
            }, {
                "value": "Baile &Aacute;tha Cliath",
                "score": 3
            }, {
                "value": "Baile Atha Cliath",
                "score": 4
            }]
        }
    }

    Attributes

    Key Type Default Description
    is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
    metadata object undefined Object containing additional information about the question.
    metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
    metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
    metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
    metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
    stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
    stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
    instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
    type string "simplechart" Type of question being asked, e.g. 'association'
    ui_style object undefined Object used to control different aspects of the UI
    ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
    ui_style.validation_stem_numeration string "number" Numeration character to be displayed to the left of the validation label.
    ui_style.chart_type string "bar"
    ui_style.point_style string "dot"
    feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
    instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
    validation object undefined In this section, configure the correct answer(s) for the question.
    validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
    validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
    validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
    validation.scoring_type string "exactMatch" The way in which marks are distributed for the question.
    • Exact Match - All parts of the question must be answered correctly to receive a mark.
    • Partial Match Per Response - Each correct response element will be awarded an individual score.
    • Partial Match - Each correct response element will be scored individually, and the overall question score will be divided between responses.
    validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
    validation.valid_response object undefined An object containing the valid response score and value.
    validation.valid_response.score number 1 Score awarded for the correct response(s).
    validation.valid_response.value array [] An array containing the valid responses for each point in the template in corresponding order.
    validation.valid_response.value[ ].x string undefined
    validation.valid_response.value[ ].y number undefined
    validation.valid_response.value[ ][ ].x string undefined
    validation.valid_response.value[ ][ ].y number undefined
    validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
    validation.threshold number 0 Positive value indicating the correct value threshold.
    validation.ignore_order boolean true Boolean value indicating whether the points order should be ignored or not.
    max_y_value number undefined Defines the max value of the Y axis.
    chart_data object undefined Object containing chart data and its series name.
    chart_data.name string "Series title" The title of the chart.
    chart_data.data array []
    chart_data.data[ ].x string undefined Point label
    chart_data.data[ ].y number 0 Point value
    chart_data.data[ ].interactive boolean true Interactive point
    chart_data.data[ ][ ].x string undefined Point label
    chart_data.data[ ][ ].y number 0 Point value
    chart_data.data[ ][ ].interactive boolean true Interactive point
    add_point boolean false Enabled the ability to add points to the chart.
    resize_point boolean true Enable the ability to resize points in the chart.
    edit_label boolean false Enables the ability to edit point labels
    delete_point boolean false Enables the ability to delete points
    x_axis_label string undefined Set the x axis label name
    y_axis_label string undefined Set the Y axis label name
    snap_to_grid string/number true Specify snap to grid threshold. Snap to grid is disabled if set to 0 or if the tick format is float.
    stacked_fraction boolean false If checked, x-axis labels with numeric linear (slashed) fractions will be displayed as a stacked fraction with a vinculum (horizontal bar). Non numeric text will be stripped from the label.
    multicolour boolean true Enables the ability to specify if the bars have different colors. Currently only supported by histogram. Order Point has to be disabled.
    order_point boolean undefined Enables ability to order points
    show_gridlines string undefined Specify whether axes gridlines should be displayed for the chart. Currently only supported by histogram.
    new_point_name string undefined Enables the ability to specify new points default name.

    Simple chart example

    {
        "response_id": "60029",
        "type": "simplechart",
        "description": "Simple chart with defaults.",
        "chart_data": {
            "name": "Sample data",
            "data": [
                {
                    "x": "A",
                    "y": 10
                },
                {
                    "x": "B",
                    "y": 20
                },
                {
                    "x": "C",
                    "y": 30
                },
                {
                    "x": "D",
                    "y": 40
                }
            ]
        },
        "validation": {
            "scoring_type": "exactMatch",
            "valid_response": {
                "value": [
                    {
                        "x": "A",
                        "y": 20
                    },
                    {
                        "x": "B",
                        "y": 30
                    },
                    {
                        "x": "C",
                        "y": 40
                    },
                    {
                        "x": "D",
                        "y": 50
                    }
                ],
                "score": 1
            }
        },
        "instant_feedback": true
    }

    Attributes

    Key Type Default Description
    is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
    metadata object undefined Object containing additional information about the question.
    metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
    metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
    metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
    metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
    stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
    stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
    instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
    type string "simpleshading" Type of question being asked, e.g. 'association'
    ui_style object undefined Object used to control different aspects of the UI
    ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
    feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
    instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
    validation object undefined In this section, configure the correct answer(s) for the question.
    validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
    validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
    validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
    validation.scoring_type string "exactMatch" The way in which marks are distributed for the question. Possible options:
    'exactMatch': Exact Match - All parts of the question must be answered correctly to receive a mark.
    'partialMatchV2': Partial Match - Each correct cell will be scored individually, and the overall question score will be divided between the amount of correct cells.
    validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
    validation.valid_response object undefined An object containing the valid response score and value.
    validation.valid_response.score number 1 Score awarded for the correct response(s).
    validation.valid_response.value object undefined An object containing the state of valid responses for each locations.
    validation.valid_response.value.method string "byLocation" Score the response based on exact locations.
    validation.valid_response.value.value number undefined The value will be different types according to the method:
    'byLocation': value should be an array of form [y, x] that use 1-based indexing rather than 0-based, e.g. [1, 1] means the cell at first row, first column.
    'byCount': value should be a number.
    validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
    validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
    validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
    validation.alt_responses[ ].value object undefined An object containing the state of valid responses for each locations.
    validation.alt_responses[ ].value.method string "byLocation" Score the response based on exact locations.
    validation.alt_responses[ ].value.value number undefined
    validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
    validation.alt_responses[ ][ ].value object undefined An object containing the state of valid responses for each locations.
    validation.alt_responses[ ][ ].value.method string "byLocation" Score the response based on exact locations.
    validation.alt_responses[ ][ ].value.value number undefined
    max_selection number undefined How many elements can user select? If set to 0, user can select unlimited elements.
    border string "full" Defines how border displays.
    hover boolean true Defines whether to have hover state effect.
    canvas object undefined Object containing canvas options and configurations.
    canvas.row_count number 3 Number of rows
    canvas.column_count number 3 Number of columns
    canvas.cell_height number 1 Cell height ratio, eg 1.0 - 40px, 1.5 - 60px.
    canvas.cell_width number 1 Cell width ratio, eg 1.0 - 40px, 1.5 - 60px.
    canvas.shaded array [] Coordinates of the author-shaded canvas. Authors can define certain canvas elements to be pre-shaded before the assessment begins. The value is an array of arrays that contain the coordinate row and column groups, i.e. [ [row1, column1], [row2, column2], ... ]. Note the position is an array of form [y, x] that uses 1-based indexing rather than 0-based, e.g. [1, 3] means the cell at first row, third column.
    canvas.read_only_author_cells boolean false Prevents user from modifying Author Shaded
    canvas.hidden array [] Coordinates of the author-hidden canvas. Authors can hide certain canvas elements before the assessment begins. The value is an array of arrays that contain the coordinate row and column groups, i.e. [ [row1, column1], [row2, column2], ... ]. Note the position is an array of form [y, x] that uses 1-based indexing rather than 0-based, e.g. [1, 3] means the cell at first row, third column.
    canvas.img_src string undefined Shade with image
    canvas.alt textarea "" The alternative text of the shading image.
    canvas.title string undefined The title of the shading image
    canvas_container_style canvasContainerStyle undefined Object containing style options for the canvas container.
    background_image object undefined
    background_image.src string undefined
    background_image.width number 100 Image width in percentage of the canvas width
    background_image.height number 100 Image height in percentage of the canvas height
    background_image.opacity number 100 Percentage value defining how opaque the image is
    background_image.alt textarea "" The alternative text of the background image.
    background_image.title string undefined The title of the background image

    Simple shading example

    {
        "response_id": "60032",
        "type": "simpleshading",
        "description": "Simple Shading with defaults.",
        "instant_feedback": true,
        "stimulus": "<p>Use this model to solve the problem.</p><p>Click parts of the model to shade \\(\\dfrac{1}{3}\\) of the whole model.</p>",
        "is_math": true,
        "canvas": {
            "column_count": 6,
            "cell_width": 2,
            "row_count": 1,
            "cell_height": 4
            "shaded": [
                [1, 1],
                [1, 2]
            ],
            "hidden": [
                [1, 6],
                [1, 4]
            ]
        },
        "validation": {
            "scoring_type": "exactMatch",
            "valid_response": {
                "score": 1,
                "value": {
                    "method": "byCount",
                    "value": 3
                }
            }
        }
    }

    Attributes

    Key Type Default Description
    is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
    metadata object undefined Object containing additional information about the question.
    metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
    metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
    metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
    metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
    stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
    stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
    instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
    type string "sortlist" Type of question being asked, e.g. 'association'
    ui_style object undefined Object used to control different aspects of the UI
    ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
    ui_style.validation_stem_numeration string "number" Numeration character to be displayed to the left of the validation label.
    ui_style.show_drag_handle boolean "true" Determines whether to show the drag handle.
    feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
    instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
    validation object undefined In this section, configure the correct answer(s) for the question.
    validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
    validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
    validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
    validation.scoring_type string "exactMatch" Defines the scoring approach used. Possible options:
    'exactMatch': Exact Match - Entire response must match exactly
    'partialMatchV2': Partial Match - A relative part of the score will be given for each correct response area
    'partialMatch': Partial Match Per Response - Cumulative Score value will be given for each correct response area
    validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
    validation.valid_response object undefined An object containing the valid response score and value.
    validation.valid_response.score number 1 Score awarded for the correct response(s).
    validation.valid_response.value questionOrderlist undefined Array of integers indicating the correct order of indexes of the list
    validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
    validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
    validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
    validation.alt_responses[ ].value questionOrderlist undefined
    validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
    validation.alt_responses[ ][ ].value questionOrderlist undefined
    description string undefined Deprecated See stimulus_review.
    Description of the question and its context to be displayed. It supports HTML entities.
    list array undefined An unordered list of statements that the student must place in the correct order.
    shuffle_options boolean false Use this to shuffle Sort List stimulus list options order.

    Sort list example

    {
        "response_id": "60022",
        "type": "sortlist",
        "stimulus": "sort the events, chronologically earliest to latest.",
        "list": ["Russian Revolution", "Discovery of the Americas", "Storming of the Bastille", "Battle of Plataea", "Founding of Rome", "First Crusade"],
        "instant_feedback": true,
        "feedback_attempts": 2,
        "validation": {
            "scoring_type": "partialMatch",
            "valid_response": {
                "value": [4, 3, 5, 1, 2, 0]
            },
            "penalty": 1
        }
    }

    Attributes

    Key Type Default Description
    is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
    metadata object undefined Object containing additional information about the question.
    metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
    metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
    metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
    metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
    metadata.distractor_rationale_response_level string/number undefined Used for storing the distractor rationales that map to responses in the same order for use/rendering by the host environment.
    stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
    stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
    instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
    type string "texthighlight" Type of question being asked, e.g. 'association'
    ui_style object undefined Object used to control different aspects of the UI
    ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
    description string undefined Deprecated See stimulus_review.
    Description of the question and its context to be displayed. It supports HTML entities.
    template string undefined A string containing markup to be highlighted. HTML supported tags. Surround valid responses within a valid tag for automated marking.
    word_bound boolean true Highlighting partial words automatically highlights the nearest full word(s)
    drag_selection boolean true Setting this to false will force the user to only be able to select a single word and dragging to select multiple words will be disabled.
    validation object undefined In this section, configure the correct answer(s) for the question.
    validation.partial_scoring boolean true Determines if a partial score will be rewarded when not all responses are correct.
    validation.show_partial_ui boolean true When partial_scoring is false this determines if the valid UI is shown for each response or only for the whole question
    validation.valid_score number 1 The score for a single correct selection.
    validation.penalty_score number 0 Negative value indicating the marks deducted for an incorrect response.

    Text highlight Deprecated example

    {
        "response_id": "60017",
        "type": "texthighlight",
        "template": "Then he <valid>walked</valid> slowly up the street, and then down again to the corner, still <valid>looking</valid> keenly at the houses. Finally he <valid>returned</valid> to the pawnbroker's, and, having <valid>thumped</valid> vigorously upon the pavement with his stick two or three times, he <valid>went</valid> up to the door and <valid>knocked</valid>. It was instantly <valid>opened</valid> by a bright-looking, clean-shaven young fellow, who <valid>asked</valid> him to <valid>step</valid> in.",
        "instant_feedback": true,
        "feedback_attempts": 2,
        "word_bound": true,
        "validation": {
            "valid_score": 1,
            "partial_scoring": true,
            "penalty_score": -1
        }
    }

    Attributes

    Key Type Default Description
    is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
    metadata object undefined Object containing additional information about the question.
    metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
    metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
    metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
    metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
    metadata.distractor_rationale_response_level array undefined Used for storing the distractor rationales that map to responses in the same order for use/rendering by the host environment.
    stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
    stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
    instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
    type string "tokenhighlight" Type of question being asked, e.g. 'association'
    ui_style object undefined Object used to control different aspects of the UI
    ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
    feedback_attempts number 0 If instant_feedback is true, this field determines how many times the user can click on the 'Check Answer' button. 0 means unlimited.
    instant_feedback boolean false Flag to determine whether to display a 'Check Answer' button to provide instant feedback to the user.
    validation object undefined In this section, configure the correct answer(s) for the question.
    validation.allow_negative_scores boolean false Negative scores will be normalised to zero by default. Allowing negative scores, on the other hand, means that the score can drop below zero when penalties are applied.
    validation.penalty number 0 Value indicating the marks deducted for an incorrect response.
    validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
    validation.scoring_type string "exactMatch" Defines the scoring approach used. Possible options:
    'exactMatch': Exact Match - Entire response must match exactly
    'partialMatchV2': Partial Match - A relative part of the score will be given for each correct response area
    'partialMatch': Partial Match Per Response - Cumulative Score value will be given for each correct response area
    validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
    validation.valid_response object undefined An object containing the valid response score and value.
    validation.valid_response.score number 1 Score awarded for the correct response(s).
    validation.valid_response.value array undefined An array contains the index of valid token
    validation.automarkable boolean true Defines whether the question will be marked automatically, or must be marked manually.
    validation.alt_responses array undefined Add an alternate response if there is more than one correct overall solution to a question.
    validation.alt_responses[ ].score number 1 Score if the alternative response is correct.
    validation.alt_responses[ ].value array undefined An array contains the index of valid token
    validation.alt_responses[ ][ ].score number 1 Score if the alternative response is correct.
    validation.alt_responses[ ][ ].value array undefined An array contains the index of valid token
    template string undefined A string contains the mark up. Wrap words/phrases with <span class="lrn_token"> tag to create clickable token
    max_selection number undefined How many elements can user select
    tokenization string "custom" Type of tokenizaton. "sentence", "word", "paragraph" or "custom". Default is "custom".

    Token highlight example

    {
        "response_id": "60026",
        "stimulus": "<strong>Which sentence or sentences imply that the cheetahs run fast?</strong>",
        "template": "<p>Most cheetahs live in the wilds of Africa. There are also some in Iran and northwestern Afghanistan. The cheetah's head is smaller than the leopard's, and its body is longer. This cat is built for speed. Its legs are much longer than the leopard', allowing it to run at speeds of up to 70 miles per hour! This incredible ability helps the cheetahs catch their dinner, which is usually an unfortunate antelope. A cheetahs spots are simply black spots, not rosettes or circles.</p>",
        "tokenization": "sentence",
        "type": "tokenhighlight",
        "validation": {
            "scoring_type": "partialMatch",
            "valid_response": {
                "value": [3, 4]
            }
        },
        "instant_feedback": true
    }

    Attributes

    Key Type Default Description
    is_math boolean false Set to true to have LaTeX or MathML contents to be rendered with mathjax.
    metadata object undefined Object containing additional information about the question.
    metadata.distractor_rationale string undefined Used to display individual response feedback/rationale to the student.
    metadata.rubric_reference string undefined A unique identifier for the rubric to be used with the question - defaults to course rubric if assigned in activity
    metadata.sample_answer string undefined A sample answer to be displayed on the Learnosity Reports API. HTML is supported.
    metadata.acknowledgements string undefined References for any text passages, documents, images etc. used in the question.
    stimulus string undefined The question stimulus. This can include text, tables, images, resources and LaTeX entered via the Math Editor.
    stimulus_review string undefined HTML/Text content displayed only in review state rendered above the response area. Supports embedded Feature <span> tags. Will override stimulus in review state.
    instructor_stimulus string undefined HTML/Text content displayed when showInstructorStimulus is set to true on the activity. Supports embedded Feature <span> tags.
    type string "video" Type of question being asked, e.g. 'association'
    ui_style object undefined Object used to control different aspects of the UI
    ui_style.fontsize string "normal" Controls the size of base font for this question. Options are among 'small', 'normal', 'large', 'xlarge' and 'xxlarge'.
    validation object undefined In this section, configure the correct answer(s) for the question.
    validation.max_score number undefined The highest score a marker can award to this question response.
    validation.min_score_if_attempted number 0 Positive value indicating the minimum score if a student attempted the question.
    validation.unscored boolean false When enabled, this option will remove all scoring from the question. This is useful for creating practice questions.
    max_length number "600" The length of video, in seconds, allowed to be recorded by the student. Maximum value and default value is 600 (10 minutes)
    overwrite_warning boolean true Set to false to suppress the overwrite warning when user attempts to re-record.

    Video example

    {
        "response_id": "60045",
        "type": "video",
        "stimulus": "Recite the alphabet."
    }