edubase_post_question
Create or update a question with rich formatting, answer options, scoring, and support for multiple types like multiple choice, hotspots, and expressions.
Instructions
Publish or update a question. Questions are the atomic building blocks of the EduBase Quiz system and represent the lowest level in the hierarchy (Questions -> Quiz sets -> Exams). Always check what the fields named like the type of the question do and consider using them, for example if creating a HOTSPOT question, both hotspot_zones and hotspot_image will be required!
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | External unique question identifier for question management. | |
| path | No | Path where question will be stored in personal QuestionBase. | |
| type | Yes | Type of the question. | |
| content | Yes | The main question text that will be displayed to the test taker. Supports rich formatting options, including LaTeX, parameters, quick expressions, and EduTags for styling. This is documented as `question` in the Developer Documentation, but named `content` in the API for better clarity. | |
| question_format | No | Controls question text rendering. | |
| answer | Yes | The correct answer(s) for the question. For multiple answers, separate with triple-and operator ("&&&"). The solution and the corresponding label can also be specified together using the triple arrow (">>>") operator | |
| language | No | The language of the question, in Alpha-2 code format (according to ISO 639-1). | |
| image | No | Attach an image to the question. Supported formats: PNG, JPEG, WebP. Format: filename=data, where data is either a temporary filebin storage external identifier (preferred), a base64-encoded image (whole data string) or a URL. | |
| answer_order | No | Controls whether the sequence of multiple answers matters. | |
| answer_label | No | Text displayed in/above the input field during the test. Separate multiple labels with triple-and operators ("&&&"). Automatically activates the answer_order function. | |
| answer_hide | No | Controls whether correct answers are hidden on the results page. | |
| answer_indefinite | No | Allows users to add any number of input fields using + and - buttons. | |
| answer_format | No | Defines how to display the answer on the results page. Only applicable for FREE-TEXT questions. | |
| answer_require | No | Number of answers required for maximum score. Only applicable for questions with multiple valid answers where only a subset needs to be provided. | |
| subject | No | Subject classification for organizing questions. | |
| category | No | Category, another layer of organization as seen in SUBJECT | |
| main_category | No | The name of the category (for which CATEGORY will be a subcategory). | |
| difficulty | No | Difficulty level of the question. Scale: 1 (very easy) - 5 (very difficult). Default: 0 (not classified). | |
| options | No | Incorrect options or false statements for choice-based question types. Only applicable for CHOICE, MULTIPLE-CHOICE, and TRUE/FALSE questions. Separate multiple options with triple-and operators ("&&&"). | |
| options_fix | No | Controls the arrangement of answers and options. | |
| options_order | No | Define exact presentation order of answers and options. | |
| maximum_choices | No | Maximum number of options the test taker can select. Only applicable for MULTIPLE-CHOICE questions. | |
| points | No | Maximum points for a fully correct answer. Default: 1 point. | |
| subscoring | No | Method for calculating partial credit for partially correct answers. Not applicable for CHOICE, READING and FREE-TEXT questions. | |
| subpoints | No | Define specific point values for each answer in percentages. Only used when subscoring=CUSTOM. Specify percentage values separated by triple-and operators ("&&&"). Not applicable for CHOICE, READING and FREE-TEXT questions. Values should sum to 100 (for percentage). | |
| penalty_scoring | No | Controls how penalty points should be applied. | |
| penalty_points | No | Points deducted for completely incorrect answers. | |
| hint_penalty | No | Point deduction for using hints/solutions/videos during a test. | |
| solution_penalty | No | Point deduction for viewing steps of the solution (NONE, ONCE:N%). Default: NONE. | |
| solution_image | No | Attach an image to the solution steps. Supported formats: PNG, JPEG, WebP. Format: filename=data, where data is either a temporary filebin storage external identifier (preferred), a base64-encoded image (whole data string) or a URL. | |
| video_penalty | No | Point deduction for video assistance used (NONE, ONCE:N%). Default: NONE. | |
| manual_scoring | No | Controls when to enable manual scoring. Not applicable for READING and FREE-TEXT questions. | |
| graph | No | Attach a graph to the question. | |
| parameters | No | Parameter definitions for dynamic question generation. Separate multiple parameters with triple-and operators ("&&&"). Up to 128 parameters can be defined! | |
| parameters_sync | No | Controls synchronization of LIST parameter selections. | |
| constraints | No | Define rules that parameter combinations must satisfy. | |
| expression_check | No | Define how expressions should be validated (RANDOM, EXPLICIT, COMPARE). Default: RANDOM. | |
| expression_variable | No | Specifies variable names used in expressions (separate multiple variables with &&&). Default: x. | |
| expression_decimals | No | Sets precision for decimal calculations. Default: 2. | |
| expression_functions | No | Controls whether functions can be used in user inputs. Default: +. | |
| expression_random_type | No | Type of generated test values (INTEGER, FLOAT). Specify per variable with triple-and operators ("&&&"). Only applicable when expression_check=RANDOM. | |
| expression_random_tries | No | Number of validation points. Default: 5. Only applicable when expression_check=RANDOM. | |
| expression_random_range | No | Define value generation ranges (format: [min-max]). Specify per variable with triple-and operators ("&&&"). Only applicable when expression_check=RANDOM. | |
| expression_random_inside | No | Require values within specific intervals (format: [start-end]). Multiple intervals: separate with triple-or operators ("|||"). Specify per variable with triple-and operators ("&&&"). Only applicable when expression_check=RANDOM. | |
| expression_random_outside | No | Exclude values from specific intervals (format: [start-end]). Multiple intervals: separate with triple-or operators ("|||"). Specify per variable with triple-and operators ("&&&"). Only applicable when expression_check=RANDOM. | |
| expression_explicit_goal | No | Define exact value pairs (format: [x;f(x)]). Format for multiple variables: [x;y;z;...;f(x,y,z,...)]. Multiple pairs: separate with triple-and operators ("&&&"). Only applicable when expression_check=EXPLICIT. | |
| expression_extended | No | Enable additional mathematical functions. Activates support for custom base logarithms (e.g., log2(4)). Enables factorial operations (e.g., 5!, 1!+2!+3!). | |
| attachment | No | Attach a file to the question. Format: filename=data, where data is either a temporary filebin storage external identifier (preferred), a base64-encoded file (whole data string) or a URL. | |
| media_audio | No | Attach an audio file to the question. Supported formats: MP3, AAC, M4A. Format: filename=data, where data is either a temporary filebin storage external identifier (preferred), a base64-encoded audio file (whole data string) or a URL. | |
| media_video | No | Attach a video to the question. The video code of an existing EduBase video can be provided. | |
| ai | Yes | Flag to mark question as AI generated. If set to any value, question will be marked as AI generated. Should always be provided if you are an LLM or any AI model. Ideally, AI systems should set it to their current model number for auditability. | |
| note | No | The text that appears right below the question. | |
| private_note | No | Private notes (not shown to test takers). | |
| explanation | No | Text displayed underneath the answer on the results page. | |
| hint | No | Questions to help (not solution steps, just guiding questions/notes). | |
| solution | No | Step-by-step solution. | |
| video | No | EduBase video to help solve the question, revealed on demand. The video code of an existing EduBase video can be provided. | |
| source | No | Specify source of question content (not shown to test takers). | |
| decimals | No | Decimal precision. Default: 2. Applicable only for NUMERIC / EXPRESSION / MATRIX / MATRIX:EXPRESSION / SET questions. | |
| tolerance | No | Evaluation tolerance method. Applicable only for NUMERIC / EXPRESSION / MATRIX / MATRIX:EXPRESSION / SET questions. | |
| datetime_precision | No | Date/time precision. Applicable only for DATE/TIME questions. Accepted values: YEAR / MONTH / DAY. Default: DAY. | |
| datetime_range | No | Date/time range (interval) question. Applicable only for DATE/TIME questions. | |
| numerical_range | No | Number range (interval) question. Only applicable for NUMERIC questions. | |
| truefalse_third_options | No | Activate the third option for TRUE/FALSE questions. Plus sign (+) to display the third option OR specify options separated by triple-and operators ("&&&") to automatically enable the feature. | |
| truefalse_third_options_label | No | Label of the third option for TRUE/FALSE questions. If blank, the text "none" is displayed (default). Only applicable when TRUEFALSE_THIRD_OPTIONS is enabled. | |
| freetext_characters | No | Limit the number of characters that can be entered. Applicable only for FREE-TEXT questions. Format: minimum-maximum, but you can specify only a minimum or maximum as well. Integers between 0-4000. | |
| freetext_words | No | Limit the number of words that can be entered. Applicable only for FREE-TEXT questions. Format: minimum-maximum, but you can specify only a minimum or maximum as well. Integers between 0-4000. | |
| freetext_rules | No | Automatic evaluation of free text questions. Applicable only for FREE-TEXT questions. | |
| file_count | No | Limit the number of files that can be uploaded. Applicable only for FILE questions. Integer between 1-25. | |
| file_types | No | Limit the filetypes that can be uploaded. Applicable only for FILE questions. File extensions separated by triple-and operators ("&&&"). | |
| hotspot_image | No | The image on which the points must be marked. Applicable only for HOTSPOT questions. Supported formats: PNG, JPEG, WebP. Format: filename=data, where data is either a temporary filebin storage external identifier (preferred), a base64-encoded image (whole data string) or a URL. | |
| hotspot_zones | No | Zones accepted as answers. Applicable only for HOTSPOT questions. | |
| tags | No | Tag questions with custom user-defined tags. Use ID or code of pre-registered tags. Multiple tags separated by triple-and operators ("&&&"). | |
| label | No | Categorize questions with instance-level labels. Pre-defined values specific to each EduBase instance. Multiple labels separated by triple-and operators ("&&&"). | |
| grouping | No | Used with type=choice or type=multiple-choice when incorrect options should be pulled from other questions assigned to the same grouping number. Not the same as type=grouping or the group field. | |
| group | No | Add a question to a question group in a Quiz set. If the group doesn't exist, it will be created automatically as a complex task with default settings. Only applicable when uploading directly to a Quiz set! Existing group settings will not be changed when adding more questions. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| question | Yes | question identification string |