{
    "type": "choice_checkbox",           // string, must be "choice_checkbox"
    "name": "el4",                       // string, not empty, unique
    "required": false,                   // boolean
    "label": "Label",                    // string, not empty
    "microcopy": "",                     // string
    "options": [ /* element options */ ] // array, must have at least one option
}

Option structure##

All options must be valid JSON objects. Again, all attributes provided within the examples below are required and no additional attributes are allowed.

Most options will look like this:

{
    "name": "op1",                       // string, not empty, unique
    "label": "Option 1",                 // string, not empty
    "selected": false                    // boolean
}

The only exception is the last option for choice_radio element if the other_option attribute is true:

{
    "name": "op1",                       // string, not empty, unique
    "label": "Other",                    // string, not empty
    "selected": true,                    // boolean
    "value": "Something"                 // string
}

The value attribute for “other” option must be empty if the option is not selected.

Also, choice_radio must not have more than one option selected.