json_schema: {
      "$schema": "http://json-schema.org/draft-04/schema#",
      "title": "Survey",
      "type": "object",
      "properties": {
          "title": {
              "type": "string"
          },
          "pages": {
              "type": "array",
              "items": {
                  "title": "Page",
                  "type": "object",
                  "properties": {
                      "actions": {
                          "type": "array",
                          "items": {
                              "type": "string"
                          },
                          "default": [
                              "continue"
                          ],
                          "options": {
                              "collapsed": true
                          }
                      },
                      "timelimit": {
                          "type": [
                              "object",
                              "null"
                          ],
                          "oneOf": [
                              {
                                  "title": "Yes",
                                  "type": "object",
                                  "properties": {
                                      "group": {
                                          "type": [
                                              "string",
                                              "null"
                                          ],
                                          "default": null,
                                          "oneOf": [
                                              {
                                                  "title": "yes",
                                                  "type": "string"
                                              },
                                              {
                                                  "title": "no",
                                                  "type": "null"
                                              }
                                          ]
                                      },
                                      "seconds": {
                                          "type": "number",
                                          "default": 5
                                      },
                                      "timeoutnotice": {
                                          "type": "boolean",
                                          "default": true
                                      }
                                  },
                                  "required": [
                                      "group",
                                      "seconds",
                                      "timeoutnotice"
                                  ],
                                  "additionalProperties": false
                              },
                              {
                                  "title": "None",
                                  "type": "null"
                              }
                          ],
                          "default": null
                      },
                      "items": {
                          "type": "array",
                          "items": {
                              "title": "Page Item",
                              "type": "object",
                              "oneOf": [
                                  {
                                      "title": "Text Message",
                                      "type": "object",
                                      "properties": {
                                          "type": {
                                              "type": "string",
                                              "enum": [
                                                  "textmessage"
                                              ],
                                              "options": {
                                                  "hidden": true
                                              }
                                          },
                                          "content": {
                                              "type": "string"
                                          }
                                      },
                                      "required": [
                                          "type",
                                          "content"
                                      ],
                                      "additionalProperties": false
                                  },
                                  {
                                      "title": "Text Input",
                                      "type": "object",
                                      "properties": {
                                          "type": {
                                              "type": "string",
                                              "enum": [
                                                  "textinput"
                                              ],
                                              "options": {
                                                  "hidden": true
                                              }
                                          },
                                          "id": {
                                              "type": "string"
                                          }
                                      },
                                      "required": [
                                          "type",
                                          "id"
                                      ],
                                      "additionalProperties": false
                                  },
                                  {
                                      "title": "Image",
                                      "type": "object",
                                      "properties": {
                                          "type": {
                                              "type": "string",
                                              "enum": [
                                                  "image"
                                              ],
                                              "options": {
                                                  "hidden": true
                                              }
                                          },
                                          "path": {
                                              "type": "string",
                                              "description": "Just enter the unique filename here. Later you have to upload the image in the images section that you'll find on the dashboard."
                                          }
                                      },
                                      "required": [
                                          "type",
                                          "path"
                                      ],
                                      "additionalProperties": false
                                  },
                                  {
                                      "title": "Multiple Choice",
                                      "type": "object",
                                      "properties": {
                                          "type": {
                                              "type": "string",
                                              "enum": [
                                                  "multiplechoice"
                                              ],
                                              "options": {
                                                  "hidden": true
                                              }
                                          },
                                          "id": {
                                              "type": "string"
                                          },
                                          "answers": {
                                              "type": "array",
                                              "items": {
                                                  "title": "answer",
                                                  "type": "object",
                                                  "properties": {
                                                      "value": {
                                                          "type": "string",
                                                          "description": "Value displayed in the report."
                                                      },
                                                      "text": {
                                                          "type": "string",
                                                          "description": "Message displayed to the user."
                                                      }
                                                  },
                                                  "required": [
                                                      "value",
                                                      "text"
                                                  ],
                                                  "additionalProperties": false
                                              }
                                          }
                                      },
                                      "required": [
                                          "type",
                                          "id",
                                          "answers"
                                      ],
                                      "additionalProperties": false
                                  },
                                  {
                                      "title": "Page Stopwatch",
                                      "description": "Measures time a participant spends on a given page in seconds",
                                      "properties": {
                                          "type": {
                                              "enum": [
                                                  "pagestopwatch"
                                              ],
                                              "type": "string",
                                              "options": {
                                                  "hidden": true
                                              }
                                          },
                                          "id": {
                                              "type": "string"
                                          }
                                      },
                                      "required": [
                                          "type",
                                          "id"
                                      ],
                                      "additionalProperties": false
                                  }
                              ]
                          }
                      }
                  },
                  "required": [
                      "actions",
                      "items",
                      "timelimit"
                  ],
                  "additionalProperties": false
              },
              "options": {
                  "disable_collapse": true
              }
          }
      },
      "required": [
          "title",
          "pages"
      ],
      "additionalProperties": false,
      "options": {
          "disable_collapse": true,
          "disable_properties": true
      }
  }