---
title: "Retrieve a form"
method: GET
path: "/forms/{formId}"
---

# Retrieve a form

`GET /forms/{formId}`

Returns a single form by its ID with all its blocks and settings.

## Path parameters

- `formId` string, required

## Response `200`

Form retrieved successfully

- object
  - `id` string, required
  - `name` string, required
  - `workspaceId` string, required
  - `status` 'BLANK' | 'DRAFT' | 'PUBLISHED', required — Deleting a form is done through DELETE /forms/{formId}, which moves it to the trash so it can be restored.
  - `numberOfSubmissions` number, required
  - `isClosed` boolean, required
  - `payments` object[]
    - `amount` number
    - `currency` string
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required
  - `settings` FormSettings
    - `language` string, nullable
    - `isClosed` boolean
    - `closeMessageTitle` string, nullable
    - `closeMessageDescription` string, nullable
    - `closeTimezone` string, nullable
    - `closeDate` string, nullable
    - `closeTime` string, nullable
    - `submissionsLimit` integer, nullable
    - `uniqueSubmissionKey` RichText, nullable — Rich text value represented as HTML with optional field mentions.
      - `html` string, required — Rich text content. Supports basic formatting: bold, italic, underline, links, and mentions.
      - `mentions` Mention[]
        - `uuid` string, uuid, required — Unique identifier for this mention.
        - `field` Field, required — A reference to a form field, used to dynamically access another field's value (e.g., for default answers or mentions).
          - `uuid` union, required — Unique identifier of the referenced field. A UUID for regular fields, or a UtilityUuid value when type is UTILITY.
            - string, uuid
            - 'utility::today()' — Identifier used as uuid and blockGroupUuid for utility field references.
          - `type` 'INPUT_FIELD' | 'CALCULATED_FIELD' | 'HIDDEN_FIELD' | 'UTILITY' | 'PLACEHOLDER' | 'METADATA', required — The category of a field reference.
          - `questionType` 'INPUT_TEXT' | 'INPUT_NUMBER' | 'INPUT_EMAIL' | 'INPUT_LINK' | 'INPUT_PHONE_NUMBER' | 'INPUT_DATE' | 'INPUT_TIME' | 'TEXTAREA' | 'RATING' | 'LINEAR_SCALE' | 'CHECKBOX' | 'MULTIPLE_CHOICE_OPTION' | 'DROPDOWN_OPTION' | 'RANKING_OPTION' | 'MULTI_SELECT_OPTION' | 'HIDDEN_FIELDS' | 'CALCULATED_FIELDS', required — Block types that produce answer values and can be referenced as field sources.
          - `blockGroupUuid` union, required — Identifier of the block group containing the referenced field. A UUID for regular fields, or a UtilityUuid value when type is UTILITY.
            - string, uuid
            - 'utility::today()' — Identifier used as uuid and blockGroupUuid for utility field references.
          - `title` string, required — Display title of the referenced field.
          - `calculatedFieldType` 'NUMBER' | 'TEXT' — Choose whether the value will be text or a numeric value (number).
          - `payload` object — Additional configuration for utility fields. Only present when type is UTILITY.
        - `defaultValue` unknown
    - `redirectOnCompletion` RichText, nullable — Rich text value represented as HTML with optional field mentions.
      - `html` string, required — Rich text content. Supports basic formatting: bold, italic, underline, links, and mentions.
      - `mentions` Mention[]
        - `uuid` string, uuid, required — Unique identifier for this mention.
        - `field` Field, required — A reference to a form field, used to dynamically access another field's value (e.g., for default answers or mentions).
          - `uuid` union, required — Unique identifier of the referenced field. A UUID for regular fields, or a UtilityUuid value when type is UTILITY.
            - string, uuid
            - 'utility::today()' — Identifier used as uuid and blockGroupUuid for utility field references.
          - `type` 'INPUT_FIELD' | 'CALCULATED_FIELD' | 'HIDDEN_FIELD' | 'UTILITY' | 'PLACEHOLDER' | 'METADATA', required — The category of a field reference.
          - `questionType` 'INPUT_TEXT' | 'INPUT_NUMBER' | 'INPUT_EMAIL' | 'INPUT_LINK' | 'INPUT_PHONE_NUMBER' | 'INPUT_DATE' | 'INPUT_TIME' | 'TEXTAREA' | 'RATING' | 'LINEAR_SCALE' | 'CHECKBOX' | 'MULTIPLE_CHOICE_OPTION' | 'DROPDOWN_OPTION' | 'RANKING_OPTION' | 'MULTI_SELECT_OPTION' | 'HIDDEN_FIELDS' | 'CALCULATED_FIELDS', required — Block types that produce answer values and can be referenced as field sources.
          - `blockGroupUuid` union, required — Identifier of the block group containing the referenced field. A UUID for regular fields, or a UtilityUuid value when type is UTILITY.
            - string, uuid
            - 'utility::today()' — Identifier used as uuid and blockGroupUuid for utility field references.
          - `title` string, required — Display title of the referenced field.
          - `calculatedFieldType` 'NUMBER' | 'TEXT' — Choose whether the value will be text or a numeric value (number).
          - `payload` object — Additional configuration for utility fields. Only present when type is UTILITY.
        - `defaultValue` unknown
    - `hasSelfEmailNotifications` boolean
    - `selfEmailTo` RichText, nullable — Rich text value represented as HTML with optional field mentions.
      - `html` string, required — Rich text content. Supports basic formatting: bold, italic, underline, links, and mentions.
      - `mentions` Mention[]
        - `uuid` string, uuid, required — Unique identifier for this mention.
        - `field` Field, required — A reference to a form field, used to dynamically access another field's value (e.g., for default answers or mentions).
          - `uuid` union, required — Unique identifier of the referenced field. A UUID for regular fields, or a UtilityUuid value when type is UTILITY.
            - string, uuid
            - 'utility::today()' — Identifier used as uuid and blockGroupUuid for utility field references.
          - `type` 'INPUT_FIELD' | 'CALCULATED_FIELD' | 'HIDDEN_FIELD' | 'UTILITY' | 'PLACEHOLDER' | 'METADATA', required — The category of a field reference.
          - `questionType` 'INPUT_TEXT' | 'INPUT_NUMBER' | 'INPUT_EMAIL' | 'INPUT_LINK' | 'INPUT_PHONE_NUMBER' | 'INPUT_DATE' | 'INPUT_TIME' | 'TEXTAREA' | 'RATING' | 'LINEAR_SCALE' | 'CHECKBOX' | 'MULTIPLE_CHOICE_OPTION' | 'DROPDOWN_OPTION' | 'RANKING_OPTION' | 'MULTI_SELECT_OPTION' | 'HIDDEN_FIELDS' | 'CALCULATED_FIELDS', required — Block types that produce answer values and can be referenced as field sources.
          - `blockGroupUuid` union, required — Identifier of the block group containing the referenced field. A UUID for regular fields, or a UtilityUuid value when type is UTILITY.
            - string, uuid
            - 'utility::today()' — Identifier used as uuid and blockGroupUuid for utility field references.
          - `title` string, required — Display title of the referenced field.
          - `calculatedFieldType` 'NUMBER' | 'TEXT' — Choose whether the value will be text or a numeric value (number).
          - `payload` object — Additional configuration for utility fields. Only present when type is UTILITY.
        - `defaultValue` unknown
    - `selfEmailReplyTo` RichText, nullable — Rich text value represented as HTML with optional field mentions.
      - `html` string, required — Rich text content. Supports basic formatting: bold, italic, underline, links, and mentions.
      - `mentions` Mention[]
        - `uuid` string, uuid, required — Unique identifier for this mention.
        - `field` Field, required — A reference to a form field, used to dynamically access another field's value (e.g., for default answers or mentions).
          - `uuid` union, required — Unique identifier of the referenced field. A UUID for regular fields, or a UtilityUuid value when type is UTILITY.
            - string, uuid
            - 'utility::today()' — Identifier used as uuid and blockGroupUuid for utility field references.
          - `type` 'INPUT_FIELD' | 'CALCULATED_FIELD' | 'HIDDEN_FIELD' | 'UTILITY' | 'PLACEHOLDER' | 'METADATA', required — The category of a field reference.
          - `questionType` 'INPUT_TEXT' | 'INPUT_NUMBER' | 'INPUT_EMAIL' | 'INPUT_LINK' | 'INPUT_PHONE_NUMBER' | 'INPUT_DATE' | 'INPUT_TIME' | 'TEXTAREA' | 'RATING' | 'LINEAR_SCALE' | 'CHECKBOX' | 'MULTIPLE_CHOICE_OPTION' | 'DROPDOWN_OPTION' | 'RANKING_OPTION' | 'MULTI_SELECT_OPTION' | 'HIDDEN_FIELDS' | 'CALCULATED_FIELDS', required — Block types that produce answer values and can be referenced as field sources.
          - `blockGroupUuid` union, required — Identifier of the block group containing the referenced field. A UUID for regular fields, or a UtilityUuid value when type is UTILITY.
            - string, uuid
            - 'utility::today()' — Identifier used as uuid and blockGroupUuid for utility field references.
          - `title` string, required — Display title of the referenced field.
          - `calculatedFieldType` 'NUMBER' | 'TEXT' — Choose whether the value will be text or a numeric value (number).
          - `payload` object — Additional configuration for utility fields. Only present when type is UTILITY.
        - `defaultValue` unknown
    - `selfEmailSubject` RichText, nullable — Rich text value represented as HTML with optional field mentions.
      - `html` string, required — Rich text content. Supports basic formatting: bold, italic, underline, links, and mentions.
      - `mentions` Mention[]
        - `uuid` string, uuid, required — Unique identifier for this mention.
        - `field` Field, required — A reference to a form field, used to dynamically access another field's value (e.g., for default answers or mentions).
          - `uuid` union, required — Unique identifier of the referenced field. A UUID for regular fields, or a UtilityUuid value when type is UTILITY.
            - string, uuid
            - 'utility::today()' — Identifier used as uuid and blockGroupUuid for utility field references.
          - `type` 'INPUT_FIELD' | 'CALCULATED_FIELD' | 'HIDDEN_FIELD' | 'UTILITY' | 'PLACEHOLDER' | 'METADATA', required — The category of a field reference.
          - `questionType` 'INPUT_TEXT' | 'INPUT_NUMBER' | 'INPUT_EMAIL' | 'INPUT_LINK' | 'INPUT_PHONE_NUMBER' | 'INPUT_DATE' | 'INPUT_TIME' | 'TEXTAREA' | 'RATING' | 'LINEAR_SCALE' | 'CHECKBOX' | 'MULTIPLE_CHOICE_OPTION' | 'DROPDOWN_OPTION' | 'RANKING_OPTION' | 'MULTI_SELECT_OPTION' | 'HIDDEN_FIELDS' | 'CALCULATED_FIELDS', required — Block types that produce answer values and can be referenced as field sources.
          - `blockGroupUuid` union, required — Identifier of the block group containing the referenced field. A UUID for regular fields, or a UtilityUuid value when type is UTILITY.
            - string, uuid
            - 'utility::today()' — Identifier used as uuid and blockGroupUuid for utility field references.
          - `title` string, required — Display title of the referenced field.
          - `calculatedFieldType` 'NUMBER' | 'TEXT' — Choose whether the value will be text or a numeric value (number).
          - `payload` object — Additional configuration for utility fields. Only present when type is UTILITY.
        - `defaultValue` unknown
    - `selfEmailFromName` RichText, nullable — Rich text value represented as HTML with optional field mentions.
      - `html` string, required — Rich text content. Supports basic formatting: bold, italic, underline, links, and mentions.
      - `mentions` Mention[]
        - `uuid` string, uuid, required — Unique identifier for this mention.
        - `field` Field, required — A reference to a form field, used to dynamically access another field's value (e.g., for default answers or mentions).
          - `uuid` union, required — Unique identifier of the referenced field. A UUID for regular fields, or a UtilityUuid value when type is UTILITY.
            - string, uuid
            - 'utility::today()' — Identifier used as uuid and blockGroupUuid for utility field references.
          - `type` 'INPUT_FIELD' | 'CALCULATED_FIELD' | 'HIDDEN_FIELD' | 'UTILITY' | 'PLACEHOLDER' | 'METADATA', required — The category of a field reference.
          - `questionType` 'INPUT_TEXT' | 'INPUT_NUMBER' | 'INPUT_EMAIL' | 'INPUT_LINK' | 'INPUT_PHONE_NUMBER' | 'INPUT_DATE' | 'INPUT_TIME' | 'TEXTAREA' | 'RATING' | 'LINEAR_SCALE' | 'CHECKBOX' | 'MULTIPLE_CHOICE_OPTION' | 'DROPDOWN_OPTION' | 'RANKING_OPTION' | 'MULTI_SELECT_OPTION' | 'HIDDEN_FIELDS' | 'CALCULATED_FIELDS', required — Block types that produce answer values and can be referenced as field sources.
          - `blockGroupUuid` union, required — Identifier of the block group containing the referenced field. A UUID for regular fields, or a UtilityUuid value when type is UTILITY.
            - string, uuid
            - 'utility::today()' — Identifier used as uuid and blockGroupUuid for utility field references.
          - `title` string, required — Display title of the referenced field.
          - `calculatedFieldType` 'NUMBER' | 'TEXT' — Choose whether the value will be text or a numeric value (number).
          - `payload` object — Additional configuration for utility fields. Only present when type is UTILITY.
        - `defaultValue` unknown
    - `selfEmailBody` RichText, nullable — Rich text value represented as HTML with optional field mentions.
      - `html` string, required — Rich text content. Supports basic formatting: bold, italic, underline, links, and mentions.
      - `mentions` Mention[]
        - `uuid` string, uuid, required — Unique identifier for this mention.
        - `field` Field, required — A reference to a form field, used to dynamically access another field's value (e.g., for default answers or mentions).
          - `uuid` union, required — Unique identifier of the referenced field. A UUID for regular fields, or a UtilityUuid value when type is UTILITY.
            - string, uuid
            - 'utility::today()' — Identifier used as uuid and blockGroupUuid for utility field references.
          - `type` 'INPUT_FIELD' | 'CALCULATED_FIELD' | 'HIDDEN_FIELD' | 'UTILITY' | 'PLACEHOLDER' | 'METADATA', required — The category of a field reference.
          - `questionType` 'INPUT_TEXT' | 'INPUT_NUMBER' | 'INPUT_EMAIL' | 'INPUT_LINK' | 'INPUT_PHONE_NUMBER' | 'INPUT_DATE' | 'INPUT_TIME' | 'TEXTAREA' | 'RATING' | 'LINEAR_SCALE' | 'CHECKBOX' | 'MULTIPLE_CHOICE_OPTION' | 'DROPDOWN_OPTION' | 'RANKING_OPTION' | 'MULTI_SELECT_OPTION' | 'HIDDEN_FIELDS' | 'CALCULATED_FIELDS', required — Block types that produce answer values and can be referenced as field sources.
          - `blockGroupUuid` union, required — Identifier of the block group containing the referenced field. A UUID for regular fields, or a UtilityUuid value when type is UTILITY.
            - string, uuid
            - 'utility::today()' — Identifier used as uuid and blockGroupUuid for utility field references.
          - `title` string, required — Display title of the referenced field.
          - `calculatedFieldType` 'NUMBER' | 'TEXT' — Choose whether the value will be text or a numeric value (number).
          - `payload` object — Additional configuration for utility fields. Only present when type is UTILITY.
        - `defaultValue` unknown
    - `hasRespondentEmailNotifications` boolean
    - `respondentEmailTo` RichText, nullable — Rich text value represented as HTML with optional field mentions.
      - `html` string, required — Rich text content. Supports basic formatting: bold, italic, underline, links, and mentions.
      - `mentions` Mention[]
        - `uuid` string, uuid, required — Unique identifier for this mention.
        - `field` Field, required — A reference to a form field, used to dynamically access another field's value (e.g., for default answers or mentions).
          - `uuid` union, required — Unique identifier of the referenced field. A UUID for regular fields, or a UtilityUuid value when type is UTILITY.
            - string, uuid
            - 'utility::today()' — Identifier used as uuid and blockGroupUuid for utility field references.
          - `type` 'INPUT_FIELD' | 'CALCULATED_FIELD' | 'HIDDEN_FIELD' | 'UTILITY' | 'PLACEHOLDER' | 'METADATA', required — The category of a field reference.
          - `questionType` 'INPUT_TEXT' | 'INPUT_NUMBER' | 'INPUT_EMAIL' | 'INPUT_LINK' | 'INPUT_PHONE_NUMBER' | 'INPUT_DATE' | 'INPUT_TIME' | 'TEXTAREA' | 'RATING' | 'LINEAR_SCALE' | 'CHECKBOX' | 'MULTIPLE_CHOICE_OPTION' | 'DROPDOWN_OPTION' | 'RANKING_OPTION' | 'MULTI_SELECT_OPTION' | 'HIDDEN_FIELDS' | 'CALCULATED_FIELDS', required — Block types that produce answer values and can be referenced as field sources.
          - `blockGroupUuid` union, required — Identifier of the block group containing the referenced field. A UUID for regular fields, or a UtilityUuid value when type is UTILITY.
            - string, uuid
            - 'utility::today()' — Identifier used as uuid and blockGroupUuid for utility field references.
          - `title` string, required — Display title of the referenced field.
          - `calculatedFieldType` 'NUMBER' | 'TEXT' — Choose whether the value will be text or a numeric value (number).
          - `payload` object — Additional configuration for utility fields. Only present when type is UTILITY.
        - `defaultValue` unknown
    - `respondentEmailReplyTo` RichText, nullable — Rich text value represented as HTML with optional field mentions.
      - `html` string, required — Rich text content. Supports basic formatting: bold, italic, underline, links, and mentions.
      - `mentions` Mention[]
        - `uuid` string, uuid, required — Unique identifier for this mention.
        - `field` Field, required — A reference to a form field, used to dynamically access another field's value (e.g., for default answers or mentions).
          - `uuid` union, required — Unique identifier of the referenced field. A UUID for regular fields, or a UtilityUuid value when type is UTILITY.
            - string, uuid
            - 'utility::today()' — Identifier used as uuid and blockGroupUuid for utility field references.
          - `type` 'INPUT_FIELD' | 'CALCULATED_FIELD' | 'HIDDEN_FIELD' | 'UTILITY' | 'PLACEHOLDER' | 'METADATA', required — The category of a field reference.
          - `questionType` 'INPUT_TEXT' | 'INPUT_NUMBER' | 'INPUT_EMAIL' | 'INPUT_LINK' | 'INPUT_PHONE_NUMBER' | 'INPUT_DATE' | 'INPUT_TIME' | 'TEXTAREA' | 'RATING' | 'LINEAR_SCALE' | 'CHECKBOX' | 'MULTIPLE_CHOICE_OPTION' | 'DROPDOWN_OPTION' | 'RANKING_OPTION' | 'MULTI_SELECT_OPTION' | 'HIDDEN_FIELDS' | 'CALCULATED_FIELDS', required — Block types that produce answer values and can be referenced as field sources.
          - `blockGroupUuid` union, required — Identifier of the block group containing the referenced field. A UUID for regular fields, or a UtilityUuid value when type is UTILITY.
            - string, uuid
            - 'utility::today()' — Identifier used as uuid and blockGroupUuid for utility field references.
          - `title` string, required — Display title of the referenced field.
          - `calculatedFieldType` 'NUMBER' | 'TEXT' — Choose whether the value will be text or a numeric value (number).
          - `payload` object — Additional configuration for utility fields. Only present when type is UTILITY.
        - `defaultValue` unknown
    - `respondentEmailSubject` RichText, nullable — Rich text value represented as HTML with optional field mentions.
      - `html` string, required — Rich text content. Supports basic formatting: bold, italic, underline, links, and mentions.
      - `mentions` Mention[]
        - `uuid` string, uuid, required — Unique identifier for this mention.
        - `field` Field, required — A reference to a form field, used to dynamically access another field's value (e.g., for default answers or mentions).
          - `uuid` union, required — Unique identifier of the referenced field. A UUID for regular fields, or a UtilityUuid value when type is UTILITY.
            - string, uuid
            - 'utility::today()' — Identifier used as uuid and blockGroupUuid for utility field references.
          - `type` 'INPUT_FIELD' | 'CALCULATED_FIELD' | 'HIDDEN_FIELD' | 'UTILITY' | 'PLACEHOLDER' | 'METADATA', required — The category of a field reference.
          - `questionType` 'INPUT_TEXT' | 'INPUT_NUMBER' | 'INPUT_EMAIL' | 'INPUT_LINK' | 'INPUT_PHONE_NUMBER' | 'INPUT_DATE' | 'INPUT_TIME' | 'TEXTAREA' | 'RATING' | 'LINEAR_SCALE' | 'CHECKBOX' | 'MULTIPLE_CHOICE_OPTION' | 'DROPDOWN_OPTION' | 'RANKING_OPTION' | 'MULTI_SELECT_OPTION' | 'HIDDEN_FIELDS' | 'CALCULATED_FIELDS', required — Block types that produce answer values and can be referenced as field sources.
          - `blockGroupUuid` union, required — Identifier of the block group containing the referenced field. A UUID for regular fields, or a UtilityUuid value when type is UTILITY.
            - string, uuid
            - 'utility::today()' — Identifier used as uuid and blockGroupUuid for utility field references.
          - `title` string, required — Display title of the referenced field.
          - `calculatedFieldType` 'NUMBER' | 'TEXT' — Choose whether the value will be text or a numeric value (number).
          - `payload` object — Additional configuration for utility fields. Only present when type is UTILITY.
        - `defaultValue` unknown
    - `respondentEmailFromName` RichText, nullable — Rich text value represented as HTML with optional field mentions.
      - `html` string, required — Rich text content. Supports basic formatting: bold, italic, underline, links, and mentions.
      - `mentions` Mention[]
        - `uuid` string, uuid, required — Unique identifier for this mention.
        - `field` Field, required — A reference to a form field, used to dynamically access another field's value (e.g., for default answers or mentions).
          - `uuid` union, required — Unique identifier of the referenced field. A UUID for regular fields, or a UtilityUuid value when type is UTILITY.
            - string, uuid
            - 'utility::today()' — Identifier used as uuid and blockGroupUuid for utility field references.
          - `type` 'INPUT_FIELD' | 'CALCULATED_FIELD' | 'HIDDEN_FIELD' | 'UTILITY' | 'PLACEHOLDER' | 'METADATA', required — The category of a field reference.
          - `questionType` 'INPUT_TEXT' | 'INPUT_NUMBER' | 'INPUT_EMAIL' | 'INPUT_LINK' | 'INPUT_PHONE_NUMBER' | 'INPUT_DATE' | 'INPUT_TIME' | 'TEXTAREA' | 'RATING' | 'LINEAR_SCALE' | 'CHECKBOX' | 'MULTIPLE_CHOICE_OPTION' | 'DROPDOWN_OPTION' | 'RANKING_OPTION' | 'MULTI_SELECT_OPTION' | 'HIDDEN_FIELDS' | 'CALCULATED_FIELDS', required — Block types that produce answer values and can be referenced as field sources.
          - `blockGroupUuid` union, required — Identifier of the block group containing the referenced field. A UUID for regular fields, or a UtilityUuid value when type is UTILITY.
            - string, uuid
            - 'utility::today()' — Identifier used as uuid and blockGroupUuid for utility field references.
          - `title` string, required — Display title of the referenced field.
          - `calculatedFieldType` 'NUMBER' | 'TEXT' — Choose whether the value will be text or a numeric value (number).
          - `payload` object — Additional configuration for utility fields. Only present when type is UTILITY.
        - `defaultValue` unknown
    - `respondentEmailBody` RichText, nullable — Rich text value represented as HTML with optional field mentions.
      - `html` string, required — Rich text content. Supports basic formatting: bold, italic, underline, links, and mentions.
      - `mentions` Mention[]
        - `uuid` string, uuid, required — Unique identifier for this mention.
        - `field` Field, required — A reference to a form field, used to dynamically access another field's value (e.g., for default answers or mentions).
          - `uuid` union, required — Unique identifier of the referenced field. A UUID for regular fields, or a UtilityUuid value when type is UTILITY.
            - string, uuid
            - 'utility::today()' — Identifier used as uuid and blockGroupUuid for utility field references.
          - `type` 'INPUT_FIELD' | 'CALCULATED_FIELD' | 'HIDDEN_FIELD' | 'UTILITY' | 'PLACEHOLDER' | 'METADATA', required — The category of a field reference.
          - `questionType` 'INPUT_TEXT' | 'INPUT_NUMBER' | 'INPUT_EMAIL' | 'INPUT_LINK' | 'INPUT_PHONE_NUMBER' | 'INPUT_DATE' | 'INPUT_TIME' | 'TEXTAREA' | 'RATING' | 'LINEAR_SCALE' | 'CHECKBOX' | 'MULTIPLE_CHOICE_OPTION' | 'DROPDOWN_OPTION' | 'RANKING_OPTION' | 'MULTI_SELECT_OPTION' | 'HIDDEN_FIELDS' | 'CALCULATED_FIELDS', required — Block types that produce answer values and can be referenced as field sources.
          - `blockGroupUuid` union, required — Identifier of the block group containing the referenced field. A UUID for regular fields, or a UtilityUuid value when type is UTILITY.
            - string, uuid
            - 'utility::today()' — Identifier used as uuid and blockGroupUuid for utility field references.
          - `title` string, required — Display title of the referenced field.
          - `calculatedFieldType` 'NUMBER' | 'TEXT' — Choose whether the value will be text or a numeric value (number).
          - `payload` object — Additional configuration for utility fields. Only present when type is UTILITY.
        - `defaultValue` unknown
    - `hasProgressBar` boolean
    - `hasPartialSubmissions` boolean
    - `pageAutoJump` boolean
    - `saveForLater` boolean
    - `styles` string, nullable
    - `password` string, nullable
    - `submissionsDataRetentionDuration` integer, nullable
    - `submissionsDataRetentionUnit` string, nullable
  - `blocks` Block[]
    - union
      - FormTitleBlock — A block with type FORM_TITLE. Used for the main form title with optional logo and cover image.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'FORM_TITLE', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'FORM_TITLE' | 'TEXT', required
        - `payload` FormTitlePayload, required — Payload for FORM_TITLE block type. Used for the main form title with optional logo and cover image.
          - `html` string — Rich text content. Supports basic formatting: bold, italic, underline, links, and mentions.
          - `title` string, nullable — Plain-text form title. Used as the form name when provided.
          - `logo` string, uri — URL of the logo image displayed as form branding. Recommended size: 200x200 pixels. Rendered as a circular image.
          - `cover` string, uri — URL of a full-width cover image displayed at the top of the form. Recommended minimum width: 1500 pixels.
          - `coverSettings` object
            - `objectPositionYPercent` number — Vertical position of the cover image as a percentage. Controls the CSS object-position property. 0 shows the top edge, 50 centers the image, and 100 shows the bottom edge.
          - `mentions` Mention[]
            - `uuid` string, uuid, required — Unique identifier for this mention.
            - `field` Field, required — A reference to a form field, used to dynamically access another field's value (e.g., for default answers or mentions).
              - …
            - `defaultValue` unknown
          - `button` Button — Customizes the button text for form navigation.
            - `label` string — The text displayed on the button (e.g., "Start", "Next", "Submit").
      - TitleBlock — A block with type TITLE. Used for section titles within the form.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'TITLE', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'TITLE' | 'QUESTION', required
        - `payload` TitlePayload, required — Payload for TITLE block type. Used for title elements.
          - `html` string — Rich text content. Supports basic formatting: bold, italic, underline, links, and mentions.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `isFolded` boolean — When true, collapses the question group in the form builder UI, hiding child blocks while showing a count indicator. Only applies to Title and Label blocks.
          - `columnListUuid` string, uuid — Groups blocks into a column layout row. Blocks sharing the same columnListUuid are displayed side-by-side.
          - `columnUuid` string, uuid — Identifies which column within a row this block belongs to. Blocks with the same columnUuid stack vertically within that column.
          - `columnRatio` number — The width percentage of a column within a column layout row. Valid values range from 10 to 90, where the sum of all column ratios in a row should equal 100.
      - TextBlock — A block with type TEXT. Used for rich text content within the form.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'TEXT', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'TEXT' | 'PAGE_BREAK' | 'DIVIDER', required
        - `payload` TextPayload, required — Payload for TEXT block type. Used for text content blocks.
          - `html` string — Rich text content. Supports basic formatting: bold, italic, underline, links, and mentions.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `columnListUuid` string, uuid — Groups blocks into a column layout row. Blocks sharing the same columnListUuid are displayed side-by-side.
          - `columnUuid` string, uuid — Identifies which column within a row this block belongs to. Blocks with the same columnUuid stack vertically within that column.
          - `columnRatio` number — The width percentage of a column within a column layout row. Valid values range from 10 to 90, where the sum of all column ratios in a row should equal 100.
      - LabelBlock — A block with type LABEL. Used for form field labels.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'LABEL', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'LABEL', required
        - `payload` LabelPayload, required — Payload for LABEL block type. Used for label elements.
          - `html` string — Rich text content. Supports basic formatting: bold, italic, underline, links, and mentions.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `isFolded` boolean — When true, collapses the question group in the form builder UI, hiding child blocks while showing a count indicator. Only applies to Title and Label blocks.
          - `columnListUuid` string, uuid — Groups blocks into a column layout row. Blocks sharing the same columnListUuid are displayed side-by-side.
          - `columnUuid` string, uuid — Identifies which column within a row this block belongs to. Blocks with the same columnUuid stack vertically within that column.
          - `columnRatio` number — The width percentage of a column within a column layout row. Valid values range from 10 to 90, where the sum of all column ratios in a row should equal 100.
      - Heading1Block — A block with type HEADING_1. Used for large headings.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'HEADING_1', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'HEADING_1', required
        - `payload` Heading1Payload, required — Payload for HEADING_1 block type. Used for H1 headings.
          - `html` string — Rich text content. Supports basic formatting: bold, italic, underline, links, and mentions.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `columnListUuid` string, uuid — Groups blocks into a column layout row. Blocks sharing the same columnListUuid are displayed side-by-side.
          - `columnUuid` string, uuid — Identifies which column within a row this block belongs to. Blocks with the same columnUuid stack vertically within that column.
          - `columnRatio` number — The width percentage of a column within a column layout row. Valid values range from 10 to 90, where the sum of all column ratios in a row should equal 100.
      - Heading2Block — A block with type HEADING_2. Used for medium headings.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'HEADING_2', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'HEADING_2', required
        - `payload` Heading2Payload, required — Payload for HEADING_2 block type. Used for H2 headings.
          - `html` string — Rich text content. Supports basic formatting: bold, italic, underline, links, and mentions.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `columnListUuid` string, uuid — Groups blocks into a column layout row. Blocks sharing the same columnListUuid are displayed side-by-side.
          - `columnUuid` string, uuid — Identifies which column within a row this block belongs to. Blocks with the same columnUuid stack vertically within that column.
          - `columnRatio` number — The width percentage of a column within a column layout row. Valid values range from 10 to 90, where the sum of all column ratios in a row should equal 100.
      - Heading3Block — A block with type HEADING_3. Used for small headings.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'HEADING_3', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'HEADING_3', required
        - `payload` Heading3Payload, required — Payload for HEADING_3 block type. Used for H3 headings.
          - `html` string — Rich text content. Supports basic formatting: bold, italic, underline, links, and mentions.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `columnListUuid` string, uuid — Groups blocks into a column layout row. Blocks sharing the same columnListUuid are displayed side-by-side.
          - `columnUuid` string, uuid — Identifies which column within a row this block belongs to. Blocks with the same columnUuid stack vertically within that column.
          - `columnRatio` number — The width percentage of a column within a column layout row. Valid values range from 10 to 90, where the sum of all column ratios in a row should equal 100.
      - ImageBlock — A block with type IMAGE. Used for displaying images in the form.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'IMAGE', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'IMAGE', required
        - `payload` ImagePayload, required — Payload for IMAGE block type. Used for displaying images.
          - `images` object[]
            - `name` string, required — The filename of the image.
            - `url` string, uri, required
          - `hasCaption` boolean — Set to true to enable caption; caption must be present if hasCaption is true.
          - `caption` string — The caption text to display below the image.
          - `hasLink` boolean — Set to true to enable link; link must be present if hasLink is true.
          - `link` string, uri — The URL to link to when the image is clicked.
          - `hasAltText` boolean — Set to true to enable alt text; altText must be present if hasAltText is true.
          - `altText` string — The alternative text for the image.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `columnListUuid` string, uuid — Groups blocks into a column layout row. Blocks sharing the same columnListUuid are displayed side-by-side.
          - `columnUuid` string, uuid — Identifies which column within a row this block belongs to. Blocks with the same columnUuid stack vertically within that column.
          - `columnRatio` number — The width percentage of a column within a column layout row. Valid values range from 10 to 90, where the sum of all column ratios in a row should equal 100.
      - EmbedBlock — A block with type EMBED. Used for embedding external content.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'EMBED', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'EMBED', required
        - `payload` EmbedPayload, required — Payload for EMBED block type. Used for embedding external content.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `type` 'rich' | 'video' | 'photo' | 'link' | 'pdf' | 'gist' | 'image/*' | 'video/*' | 'audio/*', required
          - `provider` string, required — The name of the content provider. Auto-detected from the URL via oEmbed protocol or pattern matching. Common values include: YouTube, Loom, Twitch, Twitter, Canva, Google Maps, Imgur, JSFiddle, GitHub Gist, Video, Audio, Image, PDF. May also be any other oEmbed-supported provider.
          - `title` string, required
          - `inputUrl` string, uri, required
          - `display` object, required
            - `url` string, uri
          - `width` union
            - string
            - number
          - `height` union
            - string
            - number
          - `columnListUuid` string, uuid — Groups blocks into a column layout row. Blocks sharing the same columnListUuid are displayed side-by-side.
          - `columnUuid` string, uuid — Identifies which column within a row this block belongs to. Blocks with the same columnUuid stack vertically within that column.
          - `columnRatio` number — The width percentage of a column within a column layout row. Valid values range from 10 to 90, where the sum of all column ratios in a row should equal 100.
      - EmbedVideoBlock — A block with type EMBED_VIDEO. Used for embedding video content.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'EMBED_VIDEO', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'EMBED_VIDEO', required
        - `payload` EmbedVideoPayload, required — Payload for EMBED_VIDEO block type. Used for embedding video content.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `type` 'video' | 'video/*', required
          - `provider` string, required — The name of the content provider. Auto-detected from the URL via oEmbed protocol or pattern matching. Common values include: YouTube, Loom, Twitch, Twitter, Canva, Google Maps, Imgur, JSFiddle, GitHub Gist, Video, Audio, Image, PDF. May also be any other oEmbed-supported provider.
          - `title` string, required
          - `inputUrl` string, uri, required — The URL of the content to embed. Supports video platforms (YouTube, Loom, Twitch, etc.) and audio platforms. The URL is used to auto-detect the provider and fetch embed data via oEmbed.
          - `display` object, required
            - `url` string, uri
          - `width` union
            - string
            - number
          - `height` union
            - string
            - number
          - `columnListUuid` string, uuid — Groups blocks into a column layout row. Blocks sharing the same columnListUuid are displayed side-by-side.
          - `columnUuid` string, uuid — Identifies which column within a row this block belongs to. Blocks with the same columnUuid stack vertically within that column.
          - `columnRatio` number — The width percentage of a column within a column layout row. Valid values range from 10 to 90, where the sum of all column ratios in a row should equal 100.
      - EmbedAudioBlock — A block with type EMBED_AUDIO. Used for embedding audio content.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'EMBED_AUDIO', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'EMBED_AUDIO', required
        - `payload` EmbedAudioPayload, required — Payload for EMBED_AUDIO block type. Used for embedding audio content.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `type` 'audio/*', required
          - `provider` string, required — The name of the content provider. Auto-detected from the URL via oEmbed protocol or pattern matching. Common values include: YouTube, Loom, Twitch, Twitter, Canva, Google Maps, Imgur, JSFiddle, GitHub Gist, Video, Audio, Image, PDF. May also be any other oEmbed-supported provider.
          - `title` string, required
          - `inputUrl` string, uri, required — The URL of the content to embed. Supports video platforms (YouTube, Loom, Twitch, etc.) and audio platforms. The URL is used to auto-detect the provider and fetch embed data via oEmbed.
          - `display` object, required
            - `url` string, uri
          - `width` union
            - string
            - number
          - `height` union
            - string
            - number
          - `columnListUuid` string, uuid — Groups blocks into a column layout row. Blocks sharing the same columnListUuid are displayed side-by-side.
          - `columnUuid` string, uuid — Identifies which column within a row this block belongs to. Blocks with the same columnUuid stack vertically within that column.
          - `columnRatio` number — The width percentage of a column within a column layout row. Valid values range from 10 to 90, where the sum of all column ratios in a row should equal 100.
      - DividerBlock — A block with type DIVIDER. Used for visual separation between sections.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'DIVIDER', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'DIVIDER', required
        - `payload` DividerPayload, required — Payload for DIVIDER block type. Used for visual separators.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `columnListUuid` string, uuid — Groups blocks into a column layout row. Blocks sharing the same columnListUuid are displayed side-by-side.
          - `columnUuid` string, uuid — Identifies which column within a row this block belongs to. Blocks with the same columnUuid stack vertically within that column.
          - `columnRatio` number — The width percentage of a column within a column layout row. Valid values range from 10 to 90, where the sum of all column ratios in a row should equal 100.
      - PageBreakBlock — A block with type PAGE_BREAK. Used for creating multi-page forms.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'PAGE_BREAK', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'PAGE_BREAK', required
        - `payload` PageBreakPayload, required — Payload for PAGE_BREAK block type. Used for multi-page form navigation.
          - `index` number — Sequential position of this page break within the form, starting from 0.
          - `isFirst` boolean — When true, indicates this is the first page break in the form.
          - `isLast` boolean — When true, indicates this is the last page break in the form.
          - `name` string — Optional identifier for this block. Can be used to reference the block in integrations or conditional logic.
          - `isThankYouPage` boolean — When true, indicates this page break represents a custom thank-you page shown after form submission.
          - `isFolded` boolean — When true, indicates this page is collapsed in the form builder.
          - `isQualifiedForThankYouPage` boolean — When true, this page qualifies as the thank-you page target.
          - `button` object — Customizes the button text for form navigation. When provided, label is required.
            - `label` string, required — The text displayed on the button (e.g., "Start", "Next", "Submit").
      - InputTextBlock — A block with type INPUT_TEXT. Used for single-line text input.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'INPUT_TEXT', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'INPUT_TEXT', required
        - `payload` InputTextPayload, required — Payload for INPUT_TEXT block type. Used for short text input fields.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `isRequired` boolean — When true, the field must be filled out before the form can be submitted. Respondents will see a required indicator.
          - `hasDefaultAnswer` boolean — When true, the field is pre-populated with the value from defaultAnswer when the form loads.
          - `defaultAnswer` union — The default value for this field. Can be either a raw string value or a Field reference to dynamically populate from another field's answer.
            - Field — A reference to a form field, used to dynamically access another field's value (e.g., for default answers or mentions).
              - …
            - string
          - `placeholder` string
          - `hasMinCharacters` boolean — Set to true to enable minCharacters validation. When true, minCharacters must be provided.
          - `minCharacters` number — The minimum number of characters allowed. Required when hasMinCharacters is true.
          - `hasMaxCharacters` boolean — Set to true to enable maxCharacters validation. When true, maxCharacters must be provided.
          - `maxCharacters` number — The maximum number of characters allowed. Required when hasMaxCharacters is true.
          - `columnListUuid` string, uuid — Groups blocks into a column layout row. Blocks sharing the same columnListUuid are displayed side-by-side.
          - `columnUuid` string, uuid — Identifies which column within a row this block belongs to. Blocks with the same columnUuid stack vertically within that column.
          - `columnRatio` number — The width percentage of a column within a column layout row. Valid values range from 10 to 90, where the sum of all column ratios in a row should equal 100.
          - `name` string — Optional identifier for this block. Can be used to reference the block in integrations or conditional logic.
      - TextareaBlock — A block with type TEXTAREA. Used for multi-line text input.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'TEXTAREA', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'TEXTAREA', required
        - `payload` TextareaPayload, required — Payload for TEXTAREA block type. Used for long text input fields.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `isRequired` boolean — When true, the field must be filled out before the form can be submitted. Respondents will see a required indicator.
          - `hasDefaultAnswer` boolean — When true, the field is pre-populated with the value from defaultAnswer when the form loads.
          - `defaultAnswer` union — The default value for this field. Can be either a raw string value or a Field reference to dynamically populate from another field's answer.
            - Field — A reference to a form field, used to dynamically access another field's value (e.g., for default answers or mentions).
              - …
            - string
          - `placeholder` string
          - `hasMinCharacters` boolean — Set to true to enable minCharacters validation. When true, minCharacters must be provided.
          - `minCharacters` number — The minimum number of characters allowed. Required when hasMinCharacters is true.
          - `hasMaxCharacters` boolean — Set to true to enable maxCharacters validation. When true, maxCharacters must be provided.
          - `maxCharacters` number — The maximum number of characters allowed. Required when hasMaxCharacters is true.
          - `columnListUuid` string, uuid — Groups blocks into a column layout row. Blocks sharing the same columnListUuid are displayed side-by-side.
          - `columnUuid` string, uuid — Identifies which column within a row this block belongs to. Blocks with the same columnUuid stack vertically within that column.
          - `columnRatio` number — The width percentage of a column within a column layout row. Valid values range from 10 to 90, where the sum of all column ratios in a row should equal 100.
          - `name` string — Optional identifier for this block. Can be used to reference the block in integrations or conditional logic.
      - InputNumberBlock — A block with type INPUT_NUMBER. Used for numeric input.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'INPUT_NUMBER', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'INPUT_NUMBER', required
        - `payload` InputNumberPayload, required — Payload for INPUT_NUMBER block type. Used for numeric input fields.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `isRequired` boolean — When true, the field must be filled out before the form can be submitted. Respondents will see a required indicator.
          - `hasDefaultAnswer` boolean — When true, the field is pre-populated with the value from defaultAnswer when the form loads.
          - `defaultAnswer` union — The default value for this field. Can be either a raw number value or a Field reference to dynamically populate from another field's answer.
            - Field — A reference to a form field, used to dynamically access another field's value (e.g., for default answers or mentions).
              - …
            - number
          - `placeholder` string
          - `hasMinNumber` boolean — Set to true to enable minNumber; minNumber must be present if hasMinNumber is true.
          - `minNumber` number — The minimum allowed value (required if hasMinNumber is true).
          - `hasMaxNumber` boolean — Set to true to enable maxNumber; maxNumber must be present if hasMaxNumber is true.
          - `maxNumber` number — The maximum allowed value (required if hasMaxNumber is true).
          - `decimalSeparator` '.' | ',' — The literal character used as decimal separator.
          - `thousandsSeparator` '' | '.' | ',' | ' ' — The literal character used as thousands separator. An empty string means no separator.
          - `format` 'NUMBER' | 'PERCENT' | 'US_DOLLAR' | 'EURO' | 'POUND' | 'CUSTOM'
          - `prefix` string — Custom prefix to display before the number (e.g., currency symbol). Used with NumberFormat.Custom.
          - `suffix` string — Custom suffix to display after the number (e.g., unit). Used with NumberFormat.Custom.
          - `columnListUuid` string, uuid — Groups blocks into a column layout row. Blocks sharing the same columnListUuid are displayed side-by-side.
          - `columnUuid` string, uuid — Identifies which column within a row this block belongs to. Blocks with the same columnUuid stack vertically within that column.
          - `columnRatio` number — The width percentage of a column within a column layout row. Valid values range from 10 to 90, where the sum of all column ratios in a row should equal 100.
          - `name` string — Optional identifier for this block. Can be used to reference the block in integrations or conditional logic.
      - InputEmailBlock — A block with type INPUT_EMAIL. Used for email address input.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'INPUT_EMAIL', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'INPUT_EMAIL', required
        - `payload` InputEmailPayload, required — Payload for INPUT_EMAIL block type. Used for email input fields.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `isRequired` boolean — When true, the field must be filled out before the form can be submitted. Respondents will see a required indicator.
          - `hasDefaultAnswer` boolean — When true, the field is pre-populated with the value from defaultAnswer when the form loads.
          - `defaultAnswer` union — The default value for this field. Can be either a raw string value or a Field reference to dynamically populate from another field's answer.
            - Field — A reference to a form field, used to dynamically access another field's value (e.g., for default answers or mentions).
              - …
            - string
          - `requireVerification` boolean — When true, respondents must verify their email address before submitting.
          - `placeholder` string
          - `columnListUuid` string, uuid — Groups blocks into a column layout row. Blocks sharing the same columnListUuid are displayed side-by-side.
          - `columnUuid` string, uuid — Identifies which column within a row this block belongs to. Blocks with the same columnUuid stack vertically within that column.
          - `columnRatio` number — The width percentage of a column within a column layout row. Valid values range from 10 to 90, where the sum of all column ratios in a row should equal 100.
          - `name` string — Optional identifier for this block. Can be used to reference the block in integrations or conditional logic.
      - InputLinkBlock — A block with type INPUT_LINK. Used for URL input.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'INPUT_LINK', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'INPUT_LINK', required
        - `payload` InputLinkPayload, required — Payload for INPUT_LINK block type. Used for URL input fields.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `isRequired` boolean — When true, the field must be filled out before the form can be submitted. Respondents will see a required indicator.
          - `hasDefaultAnswer` boolean — When true, the field is pre-populated with the value from defaultAnswer when the form loads.
          - `defaultAnswer` union — The default value for this field. Can be either a raw string value or a Field reference to dynamically populate from another field's answer.
            - Field — A reference to a form field, used to dynamically access another field's value (e.g., for default answers or mentions).
              - …
            - string
          - `placeholder` string
          - `columnListUuid` string, uuid — Groups blocks into a column layout row. Blocks sharing the same columnListUuid are displayed side-by-side.
          - `columnUuid` string, uuid — Identifies which column within a row this block belongs to. Blocks with the same columnUuid stack vertically within that column.
          - `columnRatio` number — The width percentage of a column within a column layout row. Valid values range from 10 to 90, where the sum of all column ratios in a row should equal 100.
          - `name` string — Optional identifier for this block. Can be used to reference the block in integrations or conditional logic.
      - InputPhoneNumberBlock — A block with type INPUT_PHONE_NUMBER. Used for phone number input.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'INPUT_PHONE_NUMBER', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'INPUT_PHONE_NUMBER', required
        - `payload` InputPhoneNumberPayload, required — Payload for INPUT_PHONE_NUMBER block type. Used for phone number input fields.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `isRequired` boolean — When true, the field must be filled out before the form can be submitted. Respondents will see a required indicator.
          - `hasDefaultAnswer` boolean — When true, the field is pre-populated with the value from defaultAnswer when the form loads.
          - `defaultAnswer` union — The default value for this field. Can be either a raw string value or a Field reference to dynamically populate from another field's answer.
            - Field — A reference to a form field, used to dynamically access another field's value (e.g., for default answers or mentions).
              - …
            - string
          - `placeholder` string
          - `internationalFormat` boolean — When true, allows international phone numbers from any country. When false, restricts input to the default country.
          - `defaultCountryCode` string — ISO 3166-1 alpha-2 country code (e.g., 'US', 'GB', 'DE') that sets the default country for the phone number input.
          - `columnListUuid` string, uuid — Groups blocks into a column layout row. Blocks sharing the same columnListUuid are displayed side-by-side.
          - `columnUuid` string, uuid — Identifies which column within a row this block belongs to. Blocks with the same columnUuid stack vertically within that column.
          - `columnRatio` number — The width percentage of a column within a column layout row. Valid values range from 10 to 90, where the sum of all column ratios in a row should equal 100.
          - `name` string — Optional identifier for this block. Can be used to reference the block in integrations or conditional logic.
      - InputDateBlock — A block with type INPUT_DATE. Used for date selection.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'INPUT_DATE', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'INPUT_DATE', required
        - `payload` InputDatePayload, required — Payload for INPUT_DATE block type. Used for date picker fields.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `isRequired` boolean — When true, the field must be filled out before the form can be submitted. Respondents will see a required indicator.
          - `hasDefaultAnswer` boolean — When true, the field is pre-populated with the value from defaultAnswer when the form loads.
          - `defaultAnswer` union — The default value for this field. Can be either a raw string value or a Field reference to dynamically populate from another field's answer.
            - Field — A reference to a form field, used to dynamically access another field's value (e.g., for default answers or mentions).
              - …
            - string
          - `placeholder` string
          - `disableDays` DisableDays[] — Array of days or date ranges to disable in the date picker.
          - `format` 'MM/dd/yyyy' | 'dd/MM/yyyy' | 'yyyy/MM/dd' | 'dd.MM.yyyy' | 'yyyy-MM-dd' — Display format for the date.
          - `beforeDate` string, date — Disable dates before this date.
          - `afterDate` string, date — Disable dates after this date.
          - `dateRange` object — Restrict selectable dates to a specific range.
            - `from` string, date — Start date of the allowed range.
            - `to` string, date — End date of the allowed range.
          - `specificDates` string[] — Array of specific dates to disable.
          - `startWeekOn` '0' | '1' | '2' | '3' | '4' | '5' | '6' — Day the week starts on in the calendar view. 0=Sunday, 1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday.
          - `columnListUuid` string, uuid — Groups blocks into a column layout row. Blocks sharing the same columnListUuid are displayed side-by-side.
          - `columnUuid` string, uuid — Identifies which column within a row this block belongs to. Blocks with the same columnUuid stack vertically within that column.
          - `columnRatio` number — The width percentage of a column within a column layout row. Valid values range from 10 to 90, where the sum of all column ratios in a row should equal 100.
          - `name` string — Optional identifier for this block. Can be used to reference the block in integrations or conditional logic.
      - InputTimeBlock — A block with type INPUT_TIME. Used for time selection.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'INPUT_TIME', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'INPUT_TIME', required
        - `payload` InputTimePayload, required — Payload for INPUT_TIME block type. Used for time picker fields.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `isRequired` boolean — When true, the field must be filled out before the form can be submitted. Respondents will see a required indicator.
          - `hasDefaultAnswer` boolean — When true, the field is pre-populated with the value from defaultAnswer when the form loads.
          - `defaultAnswer` union — The default value for this field. Can be either a raw string value or a Field reference to dynamically populate from another field's answer.
            - Field — A reference to a form field, used to dynamically access another field's value (e.g., for default answers or mentions).
              - …
            - string
          - `placeholder` string
          - `columnListUuid` string, uuid — Groups blocks into a column layout row. Blocks sharing the same columnListUuid are displayed side-by-side.
          - `columnUuid` string, uuid — Identifies which column within a row this block belongs to. Blocks with the same columnUuid stack vertically within that column.
          - `columnRatio` number — The width percentage of a column within a column layout row. Valid values range from 10 to 90, where the sum of all column ratios in a row should equal 100.
          - `name` string — Optional identifier for this block. Can be used to reference the block in integrations or conditional logic.
      - MultipleChoiceOptionBlock — A block with type MULTIPLE_CHOICE_OPTION. Individual option within a multiple choice question.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'MULTIPLE_CHOICE_OPTION', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'MULTIPLE_CHOICE', required
        - `payload` MultipleChoiceOptionPayload, required — Payload for MULTIPLE_CHOICE_OPTION block type. Used for single-select radio questions.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `isRequired` boolean — When true, the field must be filled out before the form can be submitted. Respondents will see a required indicator.
          - `hasDefaultAnswer` boolean — When true, the field is pre-populated with the value from defaultAnswer when the form loads.
          - `defaultAnswer` union — The default value for this field. Can be either a raw string value or a Field reference to dynamically populate from another field's answer.
            - Field — A reference to a form field, used to dynamically access another field's value (e.g., for default answers or mentions).
              - …
            - string
          - `index` number, required — Position of this option within the group (0-indexed).
          - `isFirst` boolean, required — True if this is the first option in the group.
          - `isLast` boolean, required — True if this is the last option in the group.
          - `allowMultiple` boolean — Allow selecting multiple options. Only needs to be set on the first option in the group.
          - `hasMinChoices` boolean — Set to true to enable minChoices validation. When true, minChoices must be provided.
          - `minChoices` number — Minimum number of selections required. Required when hasMinChoices is true.
          - `hasMaxChoices` boolean — Set to true to enable maxChoices validation. When true, maxChoices must be provided.
          - `maxChoices` number — Maximum number of selections allowed. Required when hasMaxChoices is true.
          - `colorCodeOptions` boolean — Enable color-coded options display. Only needs to be set on the first option in the group.
          - `color` 'red' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'gray' — Color name for this option when colorCodeOptions is enabled.
          - `hasBadge` boolean — Enable option badges (numbers or letters). Only needs to be set on the first option in the group.
          - `badgeType` 'OFF' | 'NUMBERS' | 'LETTERS' — Badge display type. Only needs to be set on the first option in the group.
          - `hasOtherOption` boolean — True if the question group has an 'Other' option enabled.
          - `isOtherOption` boolean — True if this specific option is the 'Other' free-text field.
          - `randomize` boolean — Randomize option order. Only needs to be set on the first option in the group.
          - `lockInPlace` string[] — Array of option UUIDs that should stay in their original position when randomize is enabled. Only needs to be set on the first option in the group.
          - `image` string — URL of an image to display alongside the option.
          - `name` string — Optional identifier for this block. Can be used to reference the block in integrations or conditional logic.
          - `text` string — The display text of the option.
          - `columnListUuid` string, uuid — Groups blocks into a column layout row. Blocks sharing the same columnListUuid are displayed side-by-side.
          - `columnUuid` string, uuid — Identifies which column within a row this block belongs to. Blocks with the same columnUuid stack vertically within that column.
          - `columnRatio` number — The width percentage of a column within a column layout row. Valid values range from 10 to 90, where the sum of all column ratios in a row should equal 100.
      - CheckboxBlock — A block with type CHECKBOX. Individual checkbox option within a checkboxes group.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'CHECKBOX', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'CHECKBOXES', required
        - `payload` CheckboxPayload, required — Payload for CHECKBOX block type. Used for individual checkbox options within a checkbox group.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `isRequired` boolean — When true, the field must be filled out before the form can be submitted. Respondents will see a required indicator.
          - `hasDefaultAnswer` boolean — When true, the field is pre-populated with the value from defaultAnswer when the form loads.
          - `defaultAnswer` union — The default value for this field. Can be either a raw string value or a Field reference to dynamically populate from another field's answer.
            - Field — A reference to a form field, used to dynamically access another field's value (e.g., for default answers or mentions).
              - …
            - string
          - `index` number, required — Position of this option within the group (0-indexed).
          - `isFirst` boolean, required — True if this is the first option in the group.
          - `isLast` boolean, required — True if this is the last option in the group.
          - `image` string, uri — URL of an image displayed alongside this checkbox option.
          - `hasMinChoices` boolean — Set to true to enable minChoices validation. When true, minChoices must be provided.
          - `minChoices` number — Minimum number of selections required. Required when hasMinChoices is true.
          - `hasMaxChoices` boolean — Set to true to enable maxChoices validation. When true, maxChoices must be provided.
          - `maxChoices` number — Maximum number of selections allowed. Required when hasMaxChoices is true.
          - `hasOtherOption` boolean — True if the question group has an 'Other' option enabled.
          - `isOtherOption` boolean — True if this specific option is the 'Other' free-text field.
          - `randomize` boolean — Randomize option order. Only needs to be set on the first option in the group.
          - `lockInPlace` string[] — Array of option UUIDs that stay in their original position when randomize is enabled.
          - `name` string — Optional identifier for this block. Can be used to reference the block in integrations or conditional logic.
          - `text` string — The display text of the checkbox option.
          - `columnListUuid` string, uuid — Groups blocks into a column layout row. Blocks sharing the same columnListUuid are displayed side-by-side.
          - `columnUuid` string, uuid — Identifies which column within a row this block belongs to. Blocks with the same columnUuid stack vertically within that column.
          - `columnRatio` number — The width percentage of a column within a column layout row. Valid values range from 10 to 90, where the sum of all column ratios in a row should equal 100.
      - DropdownOptionBlock — A block with type DROPDOWN_OPTION. Individual option within a dropdown.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'DROPDOWN_OPTION', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'DROPDOWN', required
        - `payload` DropdownOptionPayload, required — Payload for DROPDOWN_OPTION block type. Used for dropdown select questions.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `isRequired` boolean — When true, the field must be filled out before the form can be submitted. Respondents will see a required indicator.
          - `hasDefaultAnswer` boolean — When true, the field is pre-populated with the value from defaultAnswer when the form loads.
          - `defaultAnswer` union — The default value for this field. Can be either a raw string value or a Field reference to dynamically populate from another field's answer.
            - Field — A reference to a form field, used to dynamically access another field's value (e.g., for default answers or mentions).
              - …
            - string
          - `placeholder` string
          - `index` number, required — Position of this option within the group (0-indexed).
          - `isFirst` boolean, required — True if this is the first option in the group.
          - `isLast` boolean, required — True if this is the last option in the group.
          - `allowMultiple` boolean — Allow selecting multiple options. Only needs to be set on the first option in the group.
          - `hasMinChoices` boolean — Set to true to enable minChoices validation. When true, minChoices must be provided.
          - `minChoices` number — Minimum number of selections required. Required when hasMinChoices is true.
          - `hasMaxChoices` boolean — Set to true to enable maxChoices validation. When true, maxChoices must be provided.
          - `maxChoices` number — Maximum number of selections allowed. Required when hasMaxChoices is true.
          - `hasOtherOption` boolean — True if the question group has an 'Other' option enabled.
          - `isOtherOption` boolean — True if this specific option is the 'Other' free-text field.
          - `randomize` boolean — Randomize option order. Only needs to be set on the first option in the group.
          - `lockInPlace` string[] — Array of option UUIDs that should stay in their original position when randomize is enabled. Only needs to be set on the first option in the group.
          - `name` string — Optional identifier for this block. Can be used to reference the block in integrations or conditional logic.
          - `text` string — The display text of the dropdown option.
          - `columnListUuid` string, uuid — Groups blocks into a column layout row. Blocks sharing the same columnListUuid are displayed side-by-side.
          - `columnUuid` string, uuid — Identifies which column within a row this block belongs to. Blocks with the same columnUuid stack vertically within that column.
          - `columnRatio` number — The width percentage of a column within a column layout row. Valid values range from 10 to 90, where the sum of all column ratios in a row should equal 100.
      - RankingOptionBlock — A block with type RANKING_OPTION. Individual option within a ranking question.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'RANKING_OPTION', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'RANKING', required
        - `payload` RankingOptionPayload, required — Payload for RANKING_OPTION block type. Used for ranking/ordering questions.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `isRequired` boolean — When true, the field must be filled out before the form can be submitted. Respondents will see a required indicator.
          - `hasDefaultAnswer` boolean — When true, the field is pre-populated with the value from defaultAnswer when the form loads.
          - `defaultAnswer` union — The default value for this field. Can be either a raw string value or a Field reference to dynamically populate from another field's answer.
            - Field — A reference to a form field, used to dynamically access another field's value (e.g., for default answers or mentions).
              - …
            - string
          - `index` number, required — Position of this option within the group (0-indexed).
          - `isFirst` boolean, required — True if this is the first option in the group.
          - `isLast` boolean, required — True if this is the last option in the group.
          - `columnListUuid` string, uuid — Groups blocks into a column layout row. Blocks sharing the same columnListUuid are displayed side-by-side.
          - `columnUuid` string, uuid — Identifies which column within a row this block belongs to. Blocks with the same columnUuid stack vertically within that column.
          - `columnRatio` number — The width percentage of a column within a column layout row. Valid values range from 10 to 90, where the sum of all column ratios in a row should equal 100.
          - `name` string — Optional identifier for this block. Can be used to reference the block in integrations or conditional logic.
          - `html` string — Rich text content. Supports basic formatting: bold, italic, underline, links, and mentions.
          - `text` string — The text of the ranking option.
          - `image` string — The image of the ranking option.
          - `randomize` boolean — Whether to randomize the ranking options. Only needs to be set on the first option in the group.
          - `lockInPlace` string[] — Array of option UUIDs that should stay in their original position when randomize is enabled. Only needs to be set on the first option in the group.
      - MultiSelectOptionBlock — A block with type MULTI_SELECT_OPTION. Individual option within a multi-select dropdown.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'MULTI_SELECT_OPTION', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'MULTI_SELECT', required
        - `payload` MultiSelectOptionPayload, required — Payload for MULTI_SELECT_OPTION block type. Used for multi-select checkbox questions.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `isRequired` boolean — When true, the field must be filled out before the form can be submitted. Respondents will see a required indicator.
          - `hasDefaultAnswer` boolean — When true, the field is pre-populated with the value from defaultAnswer when the form loads.
          - `defaultAnswer` union — The default value for this field. Can be either a raw string value or a Field reference to dynamically populate from another field's answer.
            - Field — A reference to a form field, used to dynamically access another field's value (e.g., for default answers or mentions).
              - …
            - string
          - `index` number, required — Position of this option within the group (0-indexed).
          - `isFirst` boolean, required — True if this is the first option in the group.
          - `isLast` boolean, required — True if this is the last option in the group.
          - `color` 'red' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'gray' — Color name for this option when colorCodeOptions is enabled.
          - `hasOtherOption` boolean — True if the question group has an 'Other' option enabled.
          - `isOtherOption` boolean — True if this specific option is the 'Other' free-text field.
          - `randomize` boolean — Randomize option order. Only needs to be set on the first option in the group.
          - `lockInPlace` string[] — Array of option UUIDs that should stay in their original position when randomize is enabled. Only needs to be set on the first option in the group.
          - `hasMinChoices` boolean — Set to true to enable minChoices validation. When true, minChoices must be provided.
          - `minChoices` number — Minimum number of selections required. Required when hasMinChoices is true.
          - `hasMaxChoices` boolean — Set to true to enable maxChoices validation. When true, maxChoices must be provided.
          - `maxChoices` number — Maximum number of selections allowed. Required when hasMaxChoices is true.
          - `text` string — Display text for this option.
          - `placeholder` string — Placeholder text for the 'Other' option input field.
          - `columnListUuid` string, uuid — Groups blocks into a column layout row. Blocks sharing the same columnListUuid are displayed side-by-side.
          - `columnUuid` string, uuid — Identifies which column within a row this block belongs to. Blocks with the same columnUuid stack vertically within that column.
          - `columnRatio` number — The width percentage of a column within a column layout row. Valid values range from 10 to 90, where the sum of all column ratios in a row should equal 100.
          - `name` string — Optional identifier for this block. Can be used to reference the block in integrations or conditional logic.
      - LinearScaleBlock — A block with type LINEAR_SCALE. Used for numeric scale ratings (e.g., 1-10).
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'LINEAR_SCALE', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'LINEAR_SCALE', required
        - `payload` LinearScalePayload, required — Payload for LINEAR_SCALE block type. Used for scale/slider questions.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `isRequired` boolean — When true, the field must be filled out before the form can be submitted. Respondents will see a required indicator.
          - `hasDefaultAnswer` boolean — When true, the field is pre-populated with the value from defaultAnswer when the form loads.
          - `defaultAnswer` integer — Default selected value. Must be within the start-end range.
          - `start` integer — Starting value of the scale (0-100). Defaults to 0.
          - `end` integer — Ending value of the scale (0-100). Must be >= start. Defaults to 10.
          - `step` integer — Step increment between scale values. Must be >= 1. Defaults to 1.
          - `hasLeftLabel` boolean — When true, leftLabel must be provided.
          - `leftLabel` string — Label displayed at the start of the scale. Required when hasLeftLabel is true.
          - `hasCenterLabel` boolean — When true, centerLabel must be provided.
          - `centerLabel` string — Label displayed at the center of the scale. Required when hasCenterLabel is true.
          - `hasRightLabel` boolean — When true, rightLabel must be provided.
          - `rightLabel` string — Label displayed at the end of the scale. Required when hasRightLabel is true.
          - `columnListUuid` string, uuid — Groups blocks into a column layout row. Blocks sharing the same columnListUuid are displayed side-by-side.
          - `columnUuid` string, uuid — Identifies which column within a row this block belongs to. Blocks with the same columnUuid stack vertically within that column.
          - `columnRatio` number — The width percentage of a column within a column layout row. Valid values range from 10 to 90, where the sum of all column ratios in a row should equal 100.
          - `name` string — Optional identifier for this block. Can be used to reference the block in integrations or conditional logic.
      - RatingBlock — A block with type RATING. Used for star/emoji ratings.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'RATING', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'RATING', required
        - `payload` RatingPayload, required — Payload for RATING block type. Used for star rating questions.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `isRequired` boolean — When true, the field must be filled out before the form can be submitted. Respondents will see a required indicator.
          - `hasDefaultAnswer` boolean — When true, the field is pre-populated with the value from defaultAnswer when the form loads.
          - `defaultAnswer` union — The default value for this field. Can be either a raw number value or a Field reference to dynamically populate from another field's answer.
            - Field — A reference to a form field, used to dynamically access another field's value (e.g., for default answers or mentions).
              - …
            - number
          - `stars` integer — Number of stars for the rating scale (1-10). Defaults to 5.
          - `columnListUuid` string, uuid — Groups blocks into a column layout row. Blocks sharing the same columnListUuid are displayed side-by-side.
          - `columnUuid` string, uuid — Identifies which column within a row this block belongs to. Blocks with the same columnUuid stack vertically within that column.
          - `columnRatio` number — The width percentage of a column within a column layout row. Valid values range from 10 to 90, where the sum of all column ratios in a row should equal 100.
          - `name` string — Optional identifier for this block. Can be used to reference the block in integrations or conditional logic.
      - MatrixBlock — A block with type MATRIX. Container for matrix/grid questions.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'MATRIX', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'MATRIX', required
        - `payload` MatrixPayload, required — Payload for MATRIX block type. Used for matrix/grid questions.
          - `isRequired` boolean — When true, the field must be filled out before the form can be submitted. Respondents will see a required indicator.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `hasDefaultAnswer` boolean — When true, the field is pre-populated with the value from defaultAnswer when the form loads.
          - `defaultAnswer` union — The default value for this field. Can be either a raw string value or a Field reference to dynamically populate from another field's answer.
            - Field — A reference to a form field, used to dynamically access another field's value (e.g., for default answers or mentions).
              - …
            - string
          - `name` string — Optional identifier for this block. Can be used to reference the block in integrations or conditional logic.
      - MatrixRowBlock — A block with type MATRIX_ROW. Row within a matrix question.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'MATRIX_ROW', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'MATRIX', required
        - `payload` MatrixRowPayload, required — Payload for MATRIX_ROW block type. Used for matrix question rows.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `isRequired` boolean — When true, the field must be filled out before the form can be submitted. Respondents will see a required indicator.
          - `index` number, required — Position of this option within the group (0-indexed).
          - `isFirst` boolean, required — True if this is the first option in the group.
          - `isLast` boolean, required — True if this is the last option in the group.
          - `allowMultiple` boolean — True if respondents can select multiple columns per row.
          - `randomizeRows` boolean — True if the matrix rows are shown in random order.
          - `name` string — Optional identifier for this block. Can be used to reference the block in integrations or conditional logic.
          - `html` string — Rich text content. Supports basic formatting: bold, italic, underline, links, and mentions.
          - `text` string — Display text for this matrix row.
      - MatrixColumnBlock — A block with type MATRIX_COLUMN. Column within a matrix question.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'MATRIX_COLUMN', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'MATRIX', required
        - `payload` MatrixColumnPayload, required — Payload for MATRIX_COLUMN block type. Used for matrix question columns.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `isRequired` boolean — When true, the field must be filled out before the form can be submitted. Respondents will see a required indicator.
          - `index` number, required — Position of this option within the group (0-indexed).
          - `isFirst` boolean, required — True if this is the first option in the group.
          - `isLast` boolean, required — True if this is the last option in the group.
          - `allowMultiple` boolean — True if respondents can select multiple columns per row.
          - `randomizeRows` boolean — True if the matrix rows are shown in random order.
          - `name` string — Optional identifier for this block. Can be used to reference the block in integrations or conditional logic.
          - `html` string — Rich text content. Supports basic formatting: bold, italic, underline, links, and mentions.
          - `text` string — Display text for this matrix column.
      - FileUploadBlock — A block with type FILE_UPLOAD. Used for file upload input.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'FILE_UPLOAD', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'FILE_UPLOAD', required
        - `payload` FileUploadPayload, required — Payload for FILE_UPLOAD block type. Used for file upload fields.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `isRequired` boolean — When true, the field must be filled out before the form can be submitted. Respondents will see a required indicator.
          - `hasMultipleFiles` boolean — When true, allows uploading multiple files.
          - `hasMinFiles` boolean — Set to true to enable minFiles validation. When true, minFiles must be provided.
          - `minFiles` integer — Minimum number of files required. Required when hasMinFiles is true.
          - `hasMaxFiles` boolean — Set to true to enable maxFiles validation. When true, maxFiles must be provided.
          - `maxFiles` integer — Maximum number of files allowed. Required when hasMaxFiles is true.
          - `hasMaxFileSize` boolean — Set to true to enable maxFileSize validation. When true, maxFileSize and maxFileSizeUnit must be provided.
          - `maxFileSize` number — Maximum file size. Required when hasMaxFileSize is true.
          - `maxFileSizeUnit` 'KB' | 'MB' | 'GB' — Unit for maxFileSize. Required when hasMaxFileSize is true.
          - `allowedFiles` AllowedFiles — Allowed file types for upload. Keys are MIME type categories, values are arrays of file extensions or ['*'] for all types in that category.
            - `image/*` string[] — Image file extensions or ['*'] for all image types.
            - `video/*` string[] — Video file extensions or ['*'] for all video types.
            - `audio/*` string[] — Audio file extensions or ['*'] for all audio types.
            - `text/*` string[] — Text file extensions or ['*'] for all text types.
            - `application/*` string[] — Application/document file extensions or ['*'] for all application types.
          - `columnListUuid` string, uuid — Groups blocks into a column layout row. Blocks sharing the same columnListUuid are displayed side-by-side.
          - `columnUuid` string, uuid — Identifies which column within a row this block belongs to. Blocks with the same columnUuid stack vertically within that column.
          - `columnRatio` number — The width percentage of a column within a column layout row. Valid values range from 10 to 90, where the sum of all column ratios in a row should equal 100.
          - `name` string — Optional identifier for this block. Can be used to reference the block in integrations or conditional logic.
      - SignatureBlock — A block with type SIGNATURE. Used for capturing signatures.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'SIGNATURE', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'SIGNATURE', required
        - `payload` SignaturePayload, required — Payload for SIGNATURE block type. Used for signature collection.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `isRequired` boolean — When true, the field must be filled out before the form can be submitted. Respondents will see a required indicator.
          - `columnListUuid` string, uuid — Groups blocks into a column layout row. Blocks sharing the same columnListUuid are displayed side-by-side.
          - `columnUuid` string, uuid — Identifies which column within a row this block belongs to. Blocks with the same columnUuid stack vertically within that column.
          - `columnRatio` number — The width percentage of a column within a column layout row. Valid values range from 10 to 90, where the sum of all column ratios in a row should equal 100.
          - `name` string — Optional identifier for this block. Can be used to reference the block in integrations or conditional logic.
          - `label` string — Custom label text displayed below the signature pad.
      - PaymentBlock — A block with type PAYMENT. Used for payment collection.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'PAYMENT', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'PAYMENT', required
        - `payload` PaymentPayload, required — Payload for PAYMENT block type. Used for payment collection.
          - `isHidden` boolean — When true, hides the field from respondents. Hidden fields don't appear on the form but can be shown via conditional logic.
          - `isRequired` boolean — When true, the field must be filled out before the form can be submitted. Respondents will see a required indicator.
          - `amount` union — Payment amount. Can be a fixed number or a Field reference for dynamic pricing based on another form field's value.
            - number — Fixed payment amount in the smallest currency unit (e.g., cents for USD).
            - Field — A reference to a form field, used to dynamically access another field's value (e.g., for default answers or mentions).
              - …
          - `currency` 'AED' | 'AUD' | 'BGN' | 'BRL' | 'CAD' | 'CHF' | 'CNY' | 'CZK' | 'DKK' | 'EUR' | 'GBP' | 'HKD' | 'HRK' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'ISK' | 'JPY' | 'KRW' | 'MAD' | 'MXN' | 'MYR' | 'NOK' | 'NZD' | 'PHP' | 'PLN' | 'RON' | 'RSD' | 'RUB' | 'SAR' | 'SEK' | 'SGD' | 'THB' | 'TRY' | 'TWD' | 'UAH' | 'USD' | 'VND' | 'ZAR', required
          - `isConfigured` boolean, required — True once the payment block is connected to a payment provider (e.g., Stripe).
          - `stateUuid` string, uuid
          - `columnListUuid` string, uuid — Groups blocks into a column layout row. Blocks sharing the same columnListUuid are displayed side-by-side.
          - `columnUuid` string, uuid — Identifies which column within a row this block belongs to. Blocks with the same columnUuid stack vertically within that column.
          - `columnRatio` number — The width percentage of a column within a column layout row. Valid values range from 10 to 90, where the sum of all column ratios in a row should equal 100.
          - `name` string — Optional identifier for this block. Can be used to reference the block in integrations or conditional logic.
      - HiddenFieldsBlock — A block with type HIDDEN_FIELDS. Used for hidden form fields.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'HIDDEN_FIELDS', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'HIDDEN_FIELDS', required
        - `payload` HiddenFieldsPayload, required — Payload for HIDDEN_FIELDS block type. Used for hidden form fields.
          - `hiddenFields` HiddenField[], required — Array of hidden fields. Each hidden field captures a value from URL query parameters matching the field name.
            - `uuid` string, uuid, required
            - `name` string — Optional identifier for this block. Can be used to reference the block in integrations or conditional logic.
      - ConditionalLogicBlock — A block with type CONDITIONAL_LOGIC. Used for form branching logic.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'CONDITIONAL_LOGIC', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'CONDITIONAL_LOGIC', required
        - `payload` ConditionalLogicPayload, required — Payload for CONDITIONAL_LOGIC block type. Used for form logic and branching.
          - `conditionals` Conditional[], required — Conditions that must be satisfied before actions run.
            - union — Union of single and group conditionals.
              - …
          - `actions` ConditionalAction[], required — Actions executed when conditions are satisfied.
            - `uuid` string, uuid, required
            - `type` 'JUMP_TO_PAGE' | 'CALCULATE' | 'REQUIRE_ANSWER' | 'SHOW_BLOCKS' | 'HIDE_BLOCKS' | 'HIDE_BUTTON_TO_DISABLE_COMPLETION', required — Action type; determines which payload fields are relevant.
            - `payload` object — Action details executed when conditions match.
              - …
          - `logicalOperator` 'AND' | 'OR', required — How to combine top-level conditions (AND/OR).
          - `updateUuid` string, uuid, nullable — UUID of the logic block being updated; null when creating.
      - CalculatedFieldsBlock — A block with type CALCULATED_FIELDS. Used for computed/calculated values.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'CALCULATED_FIELDS', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'CALCULATED_FIELDS', required
        - `payload` CalculatedFieldsPayload, required — Payload for CALCULATED_FIELDS block type. Used for computed/calculated values.
          - `calculatedFields` CalculatedField[], required
            - `uuid` string, uuid, required
            - `name` string — Optional identifier for this block. Can be used to reference the block in integrations or conditional logic.
            - `type` 'NUMBER' | 'TEXT' — Choose whether the value will be text or a numeric value (number).
            - `value` union — An initial value as a starting point of your calculation. This can be zero (for numbers) or left blank (for text).
              - …
      - CaptchaBlock — A block with type CAPTCHA. Used for bot protection.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'CAPTCHA', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'CAPTCHA', required
        - `payload` CaptchaPayload, required — Payload for CAPTCHA block type. Used for bot protection.
          - `columnListUuid` string, uuid — Groups blocks into a column layout row. Blocks sharing the same columnListUuid are displayed side-by-side.
          - `columnUuid` string, uuid — Identifies which column within a row this block belongs to. Blocks with the same columnUuid stack vertically within that column.
          - `columnRatio` number — The width percentage of a column within a column layout row. Valid values range from 10 to 90, where the sum of all column ratios in a row should equal 100.
      - RespondentCountryBlock — A block with type RESPONDENT_COUNTRY. Used for capturing respondent location.
        - `uuid` string, uuid, required — Unique identifier for this block.
        - `type` 'RESPONDENT_COUNTRY', required
        - `groupUuid` string, uuid, required — Groups related blocks together. For standalone blocks, use the block's own uuid. For child blocks (e.g., dropdown options, multiple choice options), use the parent block's uuid so all children share the same groupUuid.
        - `groupType` 'RESPONDENT_COUNTRY', required
        - `payload` RespondentCountryPayload, required — Payload for RESPONDENT_COUNTRY block type. Used for capturing respondent location.

## Other responses

- `401` — Unauthorized
- `404` — Form not found

---

[API](https://skmtc.net/tally/apis/openapi.md) · [All operations](https://skmtc.net/tally/apis/openapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tally/openapi/versions/3ae813325ad6/schema)
