Skip to content

Form Root Schema Properties

The root form object that contains all pages, questions, and global configuration.

Element type: survey Key properties: 37

  • Aliases: form schema root, survey JSON, complete form.
  • Use when: creating or updating the top-level form object.
  • Recommended properties: title, description, showQuestionNumbers, pages, calculatedValues, triggers.
{ "title": "Client intake", "showQuestionNumbers": "off", "pages": [{ "name": "page1", "elements": [] }] }

  • Use the root object for global form configuration and the pages array.
  • Use Page and Panel for nested layout objects.
  • Use Calculated Value and Trigger for root-level computed behavior.
  • Use Completion Behavior for thank-you pages, redirects, answer preview, and early completion patterns.
  • Type: string
  • Default:
  • Localizable: Yes

A title for the form element. If title is undefined, the name property value is displayed instead.

  • Type: text
  • Default:
  • Localizable: Yes

Explanatory text displayed under the title.

  • Type: surveypages
  • Default:

Returns an array of all pages in the survey.

  • Type: string
  • Default: "off"
  • Allowed values: on, onPage, recursive, off

Specifies whether to display form element numbers and how to calculate them.

  • Type: boolean
  • Default: true

Gets or sets the visibility of the Start, Next, Previous, and Complete navigation buttons.

This property does not control progress saving in Formspace. To let respondents save and continue later, use Progress saving in the form’s Publish → Settings panel instead.

  • Type: boolean
  • Default: false

Specifies the visibility of the progress bar.

  • Type: string
  • Default: "auto"
  • Allowed values: auto, aboveheader, belowheader, bottom, topbottom

Specifies the alignment of the progress bar. Applies only if the showProgressBar property is true.

  • Type: string
  • Default: "survey"
  • Allowed values: container, survey

Specifies whether the progress bar inherits its width from the outer container or the form. Formspace defaults this to "survey" so the progress bar aligns with the form content.

  • Type: boolean
  • Default: true

Specifies whether to show the complete page.

  • Type: html
  • Default:
  • Localizable: Yes

HTML content displayed on the complete page.

  • Type: htmlconditions
  • Default:

Array of { "expression": "...", "html": "..." } objects used to show different complete-page HTML based on respondent answers or calculated values.

  • Type: string
  • Default:
  • Localizable: Yes

Gets or sets a caption for the Complete button.

  • Type: string
  • Default:
  • Localizable: Yes

Caption for the Start button when firstPageIsStartPage is true.

  • Type: string
  • Default:
  • Localizable: Yes

Caption for the Previous button.

  • Type: string
  • Default:
  • Localizable: Yes

Caption for the Next button.

  • Type: string
  • Default:
  • Localizable: Yes

Caption for the Preview button when showPreviewBeforeComplete is enabled.

  • Type: string
  • Default:
  • Localizable: Yes

Caption for the Edit button on the answer preview page.

  • Type: calculatedvalues
  • Default:

An array of calculated values.

  • Type: triggers
  • Default:

A list of triggers in the survey.

  • Type: string
  • Default: "onComplete"
  • Allowed values: none, onComplete, onHidden, onHiddenContainer

Specifies when to remove values of invisible questions from survey results.

  • Type: string
  • Default: "top"
  • Allowed values: top, bottom, left

Gets or sets question title location relative to the input field: “top”, “bottom”, or “left”.

  • Type: string
  • Default: "underTitle"
  • Allowed values: underInput, underTitle, hidden

Specifies where to display question descriptions.

  • Type: string
  • Default: "top"
  • Allowed values: top, bottom

Specifies the error message position.

  • Type: string
  • Default: "initial"
  • Allowed values: initial, random

Specifies the sort order of questions in the survey.

  • Type: string
  • Default: "*"

Specifies one or multiple characters that designate required questions.

  • Type: string
  • Default:
  • Allowed values: ``

Specifies the survey’s locale.

  • Type: file
  • Default:
  • Localizable: Yes

An image URL or a Base64-encoded image to use as a survey logo.

  • Type: string
  • Default: "left"
  • Allowed values: none, left, right, top, bottom

A logo position relative to the survey title.

  • Type: string
  • Default: "800px"

A survey width in CSS values.

  • Type: string
  • Default: "static"
  • Allowed values: auto, static, responsive

Specifies how to calculate the survey width.

  • Type: string
  • Default:

A URL to which respondents should be navigated after survey completion.

  • Type: urlconditions
  • Default:

An array of { "expression": "...", "url": "..." } objects that navigate respondents to different URLs after survey completion.

  • Type: boolean
  • Default: false

Gets or sets a Boolean value that specifies whether the first page is a start page.

  • Type: boolean
  • Default: false

Shows a preview of answers before the respondent submits the form.

  • Type: string
  • Allowed values: allQuestions, answeredQuestions

Controls whether the answer preview shows every question or only questions the respondent answered.

  • Type: boolean
  • Default:

Enables the read-only mode. If you set this property to true, users cannot take the survey.

  • Type: string
  • Default: "onBlur"
  • Allowed values: onBlur, onTyping

Specifies when to update the question value in questions with a text input field.