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. Click here to see how each question type render.

Latest version 2.132.0



Important for full examples and details on UI Styling and other options, please see 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 Enter Distractor value for each response.
stimulus string undefined The question stimulus. This can include text, tables, images, 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
validation.alt_responses[ ].value* array undefined Alternate response.
validation.alt_responses[ ][ ].score* number 1
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.
{
    "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"]
        }
    }
}

Important for full examples and details on UI Styling and other options, please see 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, 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 false 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.
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.
{
    "response_id": "60001",
    "type": "audio",
    "stimulus": "Talk about yourself."
}

Important for full examples and details on UI Styling and other options, please see 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.
stimulus string undefined The question stimulus. This can include text, tables, images, 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.
ui_style.type* string "floating-keyboard" Keyboard style. See the knowledgebase article on formula keyboard types for more information.
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
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
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.
numberPad array ["7","8","9","\u00f7","4","5","6","multiply","1","2","3","minus","0","decimal","comma","plus","left","right","backspace","="]
symbols array ["chemistry","basic","qwerty"] An array containing either strings or a nested objects of symbol definitions.
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
{
    "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"
            }]
        }
    }
}

Important for full examples and details on UI Styling and other options, please see 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.
stimulus string undefined The question stimulus. This can include text, tables, images, 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.
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.
numberPad array ["7","8","9","\u00f7","4","5","6","multiply","1","2","3","minus","0","decimal","comma","plus","left","right","backspace","="]
spellcheck boolean true Control the input/textarea attribute spellcheck. See "W3C article". Note this is a browser feature and may not always be available.
symbols array ["basic","qwerty"] An array containing either strings or a nested objects of symbol definitions.
{
    "response_id": "60006",
    "type": "formulaessay",
    "stimulus": "[Some stimulus text here]"
}

Important for full examples and details on UI Styling and other options, please see 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 Used to display individual response feedback/rationale to the student.
stimulus string undefined The question stimulus. This can include text, tables, images, 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
validation.alt_responses[ ].value* array []
validation.alt_responses[ ][ ].score* number 1
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.
{
    "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"
    }
}

Important for full examples and details on UI Styling and other options, please see 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 Used to display individual response feedback/rationale to the student.
stimulus string undefined The question stimulus. This can include text, tables, images, 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
validation.alt_responses[ ].value* array undefined
validation.alt_responses[ ][ ].score* number 1
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
{
    "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
}

Important for full examples and details on UI Styling and other options, please see 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, 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
validation.alt_responses[ ].value* array undefined
validation.alt_responses[ ][ ].score* number 1
validation.alt_responses[ ][ ].value* array undefined
validation.match_all_possible_responses boolean false If true, the responses will be matched against all combinations of valid and alternate responses for the response position. Otherwise, responses will be scored from the valid responses, or one of the alternate responses, but never a combination of them.
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.
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.
{
    "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"]
        }
    }
}

Important for full examples and details on UI Styling and other options, please see 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
stimulus string undefined The question stimulus. This can include text, tables, images, 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 undefined 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.
ui_style.type* string "block-on-focus-keyboard" Keyboard style. See the knowledgebase article on formula keyboard types for more information.
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
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
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.
template* string undefined A string containing markup e.g. {{response}}, which define where response areas will be rendered. HTML supported tags
numberPad array ["7","8","9","\u00f7","4","5","6","multiply","1","2","3","minus","0","decimal","comma","plus","left","right","backspace","="]
response_containers* array undefined Configure attributes, such as Height and Width, for each response container individually.
response_containers[ ].template* string undefined
response_containers[ ].width stringUnits undefined
response_containers[ ].height stringUnits undefined
response_containers[ ][ ].template* string undefined
response_containers[ ][ ].width stringUnits undefined
response_containers[ ][ ].height stringUnits undefined
response_container response container object undefined Define the template and dimensions for all response containers
response_container.template* string undefined
response_container.height stringUnits undefined
response_container.width stringUnits undefined
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.
symbols array ["basic","qwerty"] An array containing either strings or a nested objects of symbol definitions.
{
	"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
					}
				}]
			]
		}
	}
}

Important for full examples and details on UI Styling and other options, please see 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, 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
validation.alt_responses[ ].value* array undefined
validation.alt_responses[ ][ ].score* number 1
validation.alt_responses[ ][ ].value* array undefined
validation.match_all_possible_responses boolean false If true, the responses will be matched against all combinations of valid and alternate responses for the response position. Otherwise, responses will be scored from the valid responses, or one of the alternate responses, but never a combination of them.
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 ""
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.
{
    "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"]
        }
    }
}

Important for full examples and details on UI Styling and other options, please see 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
stimulus string undefined The question stimulus. This can include text, tables, images, 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 undefined 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.
ui_style.type* string "block-on-focus-keyboard" Keyboard style. See the knowledgebase article on formula keyboard types for more information.
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 "equivSymbolic" 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 "equivSymbolic" 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
validation.alt_responses[ ].value* array [] An array of arrays that contain the valid responses.
validation.alt_responses[ ].value[ ][ ].method* string "equivSymbolic" 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 "equivSymbolic" 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
validation.alt_responses[ ][ ].value* array [] An array of arrays that contain the valid responses.
validation.alt_responses[ ][ ].value[ ][ ].method* string "equivSymbolic" 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 "equivSymbolic" 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 markup e.g. {{response}}, which define where response areas will be rendered. HTML supported tags
numberPad array ["7","8","9","\u00f7","4","5","6","multiply","1","2","3","minus","0","decimal","comma","plus","left","right","backspace","="]
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
response_containers[ ].width stringUnits undefined
response_containers[ ].height stringUnits undefined
response_containers[ ][ ].template* string undefined
response_containers[ ][ ].width stringUnits undefined
response_containers[ ][ ].height stringUnits undefined
response_container response container object undefined Define the template and dimensions for all response containers
response_container.template* string undefined
response_container.height stringUnits undefined
response_container.width stringUnits undefined
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.
symbols array ["basic","qwerty"] An array containing either strings or a nested objects of symbol definitions.
{
	"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, 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 "clozeinlinetext" 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
validation.alt_responses[ ].value* array undefined
validation.alt_responses[ ][ ].score* number 1
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 undefined Text to display as a hint to the user of what to enter
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 Text to display as a hint to the user of what to enter
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 undefined Maximum number of characters that can be entered in the field. Maximum value is 250. For longer questions use longtext type.
spellcheck boolean true Control the input/textarea attribute spellcheck. See "W3C article". Note this is a browser feature and may not always be available.
case_sensitive boolean false If true, responses will be compared against valid_responses considering the letters' case.
{
    "response_id": "60025",
    "type": "clozeinlinetext",
    "stimulus": "fill in the blanks ",
    "template": "<p>Sherlock Homes 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’ {{response}} came down on the man’s wrist, and the pistol {{response}} upon the stone floor.</p>",
    "instant_feedback": true,
    "case_sensitive": false,
    "validation": {
        "scoring_type": "partialMatch",
        "valid_response": {
            "value": ["intruder", "rending", "hunting crop", "clinked"]
        }
    }
}

Important for full examples and details on UI Styling and other options, please see 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, 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 undefined 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
validation.alt_responses[ ].value* array []
validation.alt_responses[ ][ ].score* number 1
validation.alt_responses[ ][ ].value* array []
validation.match_all_possible_responses boolean false If true, the responses will be matched against all combinations of valid and alternate responses for the response position. Otherwise, responses will be scored from the valid responses, or one of the alternate responses, but never a combination of them.
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
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 attribute spellcheck. See "W3C article". Note this is a browser feature and may not always be available.
case_sensitive boolean false If true, responses will be compared against valid_responses considering the letters' case.
{
    "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, 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.
{
    "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.
stimulus string undefined The question stimulus. This can include text, tables, images, 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.
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. Uploaded videos will be automatically converted to the mp4 format.
Note: to access and use this file type option, please contact us.
{
    "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.
stimulus string undefined The question stimulus. This can include text, tables, images, 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
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
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.
{
    "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
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, 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 "equivSymbolic" 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 "equivSymbolic" 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
validation.alt_responses[ ].value* array [] An array of objects containing the valid response.
validation.alt_responses[ ].value[ ].method* string "equivSymbolic" 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 "equivSymbolic" 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
validation.alt_responses[ ][ ].value* array [] An array of objects containing the valid response.
validation.alt_responses[ ][ ].value[ ].method* string "equivSymbolic" 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 "equivSymbolic" 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
{
    "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"
            }]
        }
    }
}

Important for full examples and details on UI Styling and other options, please see 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.
stimulus string undefined The question stimulus. This can include text, tables, images, 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.
ui_style.type* string "floating-keyboard" Keyboard style. See the knowledgebase article on formula keyboard types for more information.
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 "equivSymbolic" 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 "equivSymbolic" 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
validation.alt_responses[ ].value* array [] An array of objects containing the valid response.
validation.alt_responses[ ].value[ ].method* string "equivSymbolic" 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 "equivSymbolic" 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
validation.alt_responses[ ][ ].value* array [] An array of objects containing the valid response.
validation.alt_responses[ ][ ].value[ ].method* string "equivSymbolic" 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 "equivSymbolic" 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.
numberPad array ["7","8","9","\u00f7","4","5","6","multiply","1","2","3","minus","0","decimal","comma","plus","left","right","backspace","="]
equiv_literal_legacy boolean false Allows equivLiteral (2)(x) evaluate to true.
symbols array ["basic","qwerty"] An array containing either strings or a nested objects of symbol definitions.
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
{
    "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.
stimulus string undefined The question stimulus. This can include text, tables, images, 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_dev" 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.
ui_style.type* string "floating-keyboard" Keyboard style. See the knowledgebase article on formula keyboard types for more information.
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 "equivSymbolic" 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 "equivSymbolic" 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
validation.alt_responses[ ].value* array [] An array of objects containing the valid response.
validation.alt_responses[ ].value[ ].method* string "equivSymbolic" 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 "equivSymbolic" 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
validation.alt_responses[ ][ ].value* array [] An array of objects containing the valid response.
validation.alt_responses[ ][ ].value[ ].method* string "equivSymbolic" 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 "equivSymbolic" 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.
numberPad array ["7","8","9","\u00f7","4","5","6","multiply","1","2","3","minus","0","decimal","comma","plus","left","right","backspace","="]
equiv_literal_legacy boolean false Allows equivLiteral (2)(x) evaluate to true.
symbols array ["basic","qwerty"] An array containing either strings or a nested objects of symbol definitions.
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
{
    "response_id": "60024",
    "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"
            }]
        }
    }
}

Important for full examples and details on UI Styling and other options, please see 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.
stimulus string undefined The question stimulus. This can include text, tables, images, 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.
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.
numberPad array ["7","8","9","\u00f7","4","5","6","multiply","1","2","3","minus","0","decimal","comma","plus","left","right","backspace","="]
spellcheck boolean true Control the input/textarea attribute spellcheck. See "W3C article". Note this is a browser feature and may not always be available.
symbols array ["basic","qwerty"] An array containing either strings or a nested objects of symbol definitions.
{
    "response_id": "60006",
    "type": "formulaessay",
    "stimulus": "[Some stimulus text here]"
}

Important for full examples and details on UI Styling and other options, please see 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, 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
validation.alt_responses[ ].value* array []
validation.alt_responses[ ][ ].score* number 1
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.
{
    "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, 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
validation.alt_responses[ ].value* string undefined
validation.alt_responses[ ][ ].score* number 1
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.
{
    "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
        }
    }
}

Important for full examples and details on UI Styling and other options, please see 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 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, 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 string undefined 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.
{
    "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, 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
validation.alt_responses[ ].value* array undefined
validation.alt_responses[ ][ ].score* number 1
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 string undefined 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.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[ ][ ].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
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.
{
    "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"]
        }
    }
}

Important for full examples and details on UI Styling and other options, please see 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, 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
validation.alt_responses[ ].value* array undefined
validation.alt_responses[ ][ ].score* number 1
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
image.alt string undefined
image.title string undefined
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.
{
    "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
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, 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
validation.alt_responses[ ].value* array undefined
validation.alt_responses[ ][ ].score* number 1
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
image.alt string undefined
image.title string undefined
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
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).
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.
{
    "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"]
        }
    }
}

Important for full examples and details on UI Styling and other options, please see 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
stimulus string undefined The question stimulus. This can include text, tables, images, 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.
ui_style.type* string "block-on-focus-keyboard" Keyboard style. See the knowledgebase article on formula keyboard types for more information.
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
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
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.
numberPad array ["7","8","9","\u00f7","4","5","6","multiply","1","2","3","minus","0","decimal","comma","plus","left","right","backspace","="]
response_containers* array undefined Configure attributes, such as Height and Width, for each response container individually.
response_containers[ ].template* string undefined
response_containers[ ].width stringUnits undefined
response_containers[ ].height stringUnits undefined
response_containers[ ][ ].template* string undefined
response_containers[ ][ ].width stringUnits undefined
response_containers[ ][ ].height stringUnits undefined
response_container response container object undefined Define the template and dimensions for all response containers
response_container.template* string undefined
response_container.height stringUnits undefined
response_container.width stringUnits undefined
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.
symbols array ["basic","qwerty"] An array containing either strings or a nested objects of symbol definitions.
image* object undefined Image settings are defined here.
image.src* string undefined
image.alt string undefined
image.title string undefined
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.
{
    "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
                    }
                }]
            ]
        }
    }
}

Important for full examples and details on UI Styling and other options, please see 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, 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
validation.alt_responses[ ].value* array undefined
validation.alt_responses[ ][ ].score* number 1
validation.alt_responses[ ][ ].value* array undefined
validation.match_all_possible_responses boolean false If true, the responses will be matched against all combinations of valid and alternate responses for the response position. Otherwise, responses will be scored from the valid responses, or one of the alternate responses, but never a combination of them.
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* object undefined Image settings are defined here.
image.src* string undefined
image.alt string undefined
image.title string undefined
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.
{
    "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"]
        }
    }
}

Important for full examples and details on UI Styling and other options, please see 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
stimulus string undefined The question stimulus. This can include text, tables, images, 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.
ui_style.type* string "block-on-focus-keyboard" Keyboard style. See the knowledgebase article on formula keyboard types for more information.
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 "equivSymbolic" 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 "equivSymbolic" 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
validation.alt_responses[ ].value* array [] An array of arrays that contain the valid responses.
validation.alt_responses[ ].value[ ][ ].method* string "equivSymbolic" 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 "equivSymbolic" 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
validation.alt_responses[ ][ ].value* array [] An array of arrays that contain the valid responses.
validation.alt_responses[ ][ ].value[ ][ ].method* string "equivSymbolic" 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 "equivSymbolic" 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.
numberPad array ["7","8","9","\u00f7","4","5","6","multiply","1","2","3","minus","0","decimal","comma","plus","left","right","backspace","="]
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
response_containers[ ].width stringUnits undefined
response_containers[ ].height stringUnits undefined
response_containers[ ][ ].template* string undefined
response_containers[ ][ ].width stringUnits undefined
response_containers[ ][ ].height stringUnits undefined
response_container response container object undefined Define the template and dimensions for all response containers
response_container.template* string undefined
response_container.height stringUnits undefined
response_container.width stringUnits undefined
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.
symbols array ["basic","qwerty"] An array containing either strings or a nested objects of symbol definitions.
image* object undefined Image settings are defined here.
image.src* string undefined
image.alt string undefined
image.title string undefined
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.
{
    "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
                    }
                }]
            ]
        }
    }
}

Important for full examples and details on UI Styling and other options, please see 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, 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
validation.alt_responses[ ].value* array undefined
validation.alt_responses[ ][ ].score* number 1
validation.alt_responses[ ][ ].value* array undefined
validation.match_all_possible_responses boolean false If true, the responses will be matched against all combinations of valid and alternate responses for the response position. Otherwise, responses will be scored from the valid responses, or one of the alternate responses, but never a combination of them.
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* object undefined Image settings are defined here.
image.src* string undefined
image.alt string undefined
image.title string undefined
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 attribute spellcheck. See "W3C article". Note this is a browser feature and may not always be available.
case_sensitive boolean false If true, responses will be compared against valid_responses considering the letters' case.
{
    "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"]
        }
    }
}

Important for full examples and details on UI Styling and other options, please see 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, 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.
image imageObject undefined Define an image to be annotated.
image.source* string undefined The image that should be displayed.
image.alt string undefined 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.
case_sensitive boolean false If true, responses will be compared against valid_responses considering the letters' case.
{
    "response_id": "60008",
    "type": "imageupload",
    "stimulus": "[Some stimulus text here]"
}

Important for full examples and details on UI Styling and other options, please see 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, 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 attribute spellcheck. See "W3C article". Note this is a browser feature and may not always be available.
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.
{
    "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.
stimulus string undefined The question stimulus. This can include text, tables, images, 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.
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 attribute spellcheck. See "W3C article". Note this is a browser feature and may not always be available.
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.
show_word_count boolean true
{
    "response_id": "60043-a",
    "type": "longtextV2",
    "stimulus": "write about their hobbies in no more than 400 words",
    "max_length": 400,
    "character_map": true
}

Important for full examples and details on UI Styling and other options, please see 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 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, 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.type* string undefined
ui_style.choice_label string undefined
ui_style.columns number 1 The number of columns
ui_style.orientation string "vertical" Sorts the order of the responses vertically or horizontally
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
validation.alt_responses[ ].value* array []
validation.alt_responses[ ][ ].score* number 1
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* string undefined Value for this option that would be stored as the response if selected.
options[ ].label* string undefined Label to be displayed for this option - plain string with HTML allowed for formatting or mathjax syntax.
multiple_responses boolean false If multiple_responses is true the user will be able to select multiple responses using a checkbox for each response.
shuffle_options boolean false Use this to shuffle Multiple Choice Question options order.
{
    "stimulus": "Which of this 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
    }
}

Important for full examples and details on UI Styling and other options, please see 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 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, 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
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
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.
validation.rounding string "floor" Method for rounding the score after it has been calculated as a fraction of score. none: No rounding applied, floor: Rounded down to the nearest whole number.
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.
{
    "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
    }
}

Important for full examples and details on UI Styling and other options, please see 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 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, 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
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
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.rounding string "floor" Method for rounding the score after it has been calculated as a fraction of score. none: No rounding applied, floor: Rounded down to the nearest whole number.
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
{
    "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
                }
            ]
        }
    }
}

Important for full examples and details on UI Styling and other options, please see 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, 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
validation.alt_responses[ ].value* questionOrderlist undefined
validation.alt_responses[ ][ ].score* number 1
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.
{
    "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
    }
}

Important for full examples and details on UI Styling and other options, please see 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, 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 it shown.
submit_over_limit boolean false Determines if the user is able to save/submit when the word limit has been exceeded.
spellcheck boolean undefined Control the input/textarea attribute spellcheck. See "W3C article". Note this is a browser feature 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.
{
    "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, 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 Array of option Objects that represent the possible options for this question.
options[ ].value* string undefined Value for this option that would be stored as the response if selected.
options[ ].label* string undefined Number to be displayed for this option.
options[ ].label_tooltip string undefined Label to be displayed in the tooltip at the beginning of the description for this option.
options[ ].tint string undefined Color to be displayed for this value on selection, in review state and within the tooltip
options[ ].description string undefined Ranking / criteria, this will be shown within the tooltip along side
options[ ][ ].value* string undefined Value for this option that would be stored as the response if selected.
options[ ][ ].label* string undefined Number to be displayed for this option.
options[ ][ ].label_tooltip string undefined Label to be displayed in the tooltip at the beginning of the description for this option.
options[ ][ ].tint string undefined Color to be displayed for this value on selection, in review state and within the tooltip
options[ ][ ].description string undefined Ranking / criteria, this will be shown within the tooltip along side
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
{
    "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
}

Important for full examples and details on UI Styling and other options, please see 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, 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 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
validation.alt_responses[ ].matching_rule string "exact" Matching rule that will be used to evaluate student's input
validation.alt_responses[ ].value* string undefined
validation.alt_responses[ ][ ].score* number 1
validation.alt_responses[ ][ ].matching_rule string "exact" Matching rule that will be used to evaluate student's input
validation.alt_responses[ ][ ].value* string undefined
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 undefined Control the input/textarea attribute spellcheck. See "W3C article". Note this is a browser feature 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.
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_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
        }]
    }
}

Important for full examples and details on UI Styling and other options, please see 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, 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.
multicolour boolean false 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 "y_only" 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.
{
    "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
}

Important for full examples and details on UI Styling and other options, please see 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, 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
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
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
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 0 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 [] Author shaded canvas
canvas.read_only_author_cells boolean false Prevents user from modifying Author Shaded
canvas.hidden array [] Author hidden canvas
canvas.img_src string undefined Shade with image
canvas.alt string undefined The alternative text of the shading image.
canvas.title string undefined The title of the shading image
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 string undefined The alternative text of the background image.
background_image.title string undefined The title of the background image
{
    "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
    },
    "validation": {
        "scoring_type": "exactMatch",
        "valid_response": {
            "score": 1,
            "value": {
                "method": "byCount",
                "value": 3
            }
        }
    }
}

Important for full examples and details on UI Styling and other options, please see 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, 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
validation.alt_responses[ ].value* questionOrderlist undefined
validation.alt_responses[ ][ ].score* number 1
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.
{
    "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, 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.
{
    "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
    }
}

Important for full examples and details on UI Styling and other options, please see 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 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, 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
validation.alt_responses[ ].value* array undefined An array contains the index of valid token
validation.alt_responses[ ][ ].score* number 1
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 0 How many elements can user select
tokenization string "custom" Type of tokenizaton. "sentence", "word", "paragraph" or "custom". Default is "custom".
{
    "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, 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.
{
    "response_id": "60045",
    "type": "video",
    "stimulus": "Recite the alphabet."
}