---
title: "Creating a step"
method: POST
path: "/api/v2/steps/"
tags: ["Steps"]
---

# Creating a step

`POST /api/v2/steps/`

Create a new step.

## Request body

- union
  - V2AnswerPromptStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `value` string, required
  - AssertStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
    - `continueOnFailure` boolean
    - `assertionProperty` 'checked' | 'count' | 'customJavaScript' | 'exist' | 'notChecked' | 'notExist' | 'notVisible' | 'textContent' | 'hasAttribute' | 'hasNotAttribute' | 'value' | 'visible' | 'pageTitle' | 'pageShowsText' | 'pageDoesNotShowText' | 'pageUrlIs' | 'downloadStarted' | 'variableValue' | 'clipboardValue' | 'disabled' | 'notDisabled', required — * `checked` - Checked * `count` - Count * `customJavaScript` - Custom Javascript * `exist` - Exist * `notChecked` - Not Checked * `notExist` - Not Exist * `notVisible` - Not Visible * `textContent` - Text Content * `hasAttribute` - Has Attribute * `hasNotAttribute` - Has Not Attribute * `value` - Value * `visible` - Visible * `pageTitle` - Page Has Title * `pageShowsText` - Page Shows Text * `pageDoesNotShowText` - Page Does Not Show Text * `pageUrlIs` - Page Url Is * `downloadStarted` - Download Started * `variableValue` - Variable Value * `clipboardValue` - Clipboard Value * `disabled` - Disabled * `notDisabled` - Not Disabled
    - `assertionType` 'contain' | 'equal' | 'greaterThan' | 'lessThan' | 'match' | 'notContain' | 'notEqual' | 'notMatch' | 'any', required — * `contain` - Contain * `equal` - Equal * `greaterThan` - Greater Than * `lessThan` - Less Than * `match` - Match * `notContain` - Not Contain * `notEqual` - Not Equal * `notMatch` - Not Match * `any` - Any
    - `assertionAttributeName` string, nullable
    - `assertionExpectedValue` string, nullable, required
    - `assertionJavaScript` string, nullable, required — Required for assert and ifCondition steps. Send an empty string when unused.
    - `assertionVariableName` string, nullable, required — Required for assert and ifCondition steps. Send an empty string when unused.
  - PastFromClipboardStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
  - ChangeStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `value` string, required
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
  - ClearStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
  - ClickStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `interactionPosition` 'smart' | 'custom' | 'topLeft' | 'topCenter' | 'topRight' | 'middleLeft' | 'middleCenter' | 'middleRight' | 'bottomLeft' | 'bottomCenter' | 'bottomRight', required — Required interaction target position. auto is not supported. * `smart` - Smart * `custom` - Custom * `topLeft` - Top Left * `topCenter` - Top Center * `topRight` - Top Right * `middleLeft` - Middle Left * `middleCenter` - Middle Center * `middleRight` - Middle Right * `bottomLeft` - Bottom Left * `bottomCenter` - Bottom Center * `bottomRight` - Bottom Right
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
  - CloseTabStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
  - V2DragAndDropStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
    - `dndDropSelectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
    - `dndDragOn` 'coords' | 'element', required — * `coords` - coords * `element` - element
    - `interactionPosition` 'smart' | 'custom' | 'topLeft' | 'topCenter' | 'topRight' | 'middleLeft' | 'middleCenter' | 'middleRight' | 'bottomLeft' | 'bottomCenter' | 'bottomRight', required — Required interaction target position. auto is not supported. * `smart` - Smart * `custom` - Custom * `topLeft` - Top Left * `topCenter` - Top Center * `topRight` - Top Right * `middleLeft` - Middle Left * `middleCenter` - Middle Center * `middleRight` - Middle Right * `bottomLeft` - Bottom Left * `bottomCenter` - Bottom Center * `bottomRight` - Bottom Right
    - `dndDragX` number, double, nullable
    - `dndDragY` number, double, nullable
    - `dndDropOn` 'coords' | 'element', required — * `coords` - coords * `element` - element
    - `dndDropInteractionPosition` 'smart' | 'custom' | 'topLeft' | 'topCenter' | 'topRight' | 'middleLeft' | 'middleCenter' | 'middleRight' | 'bottomLeft' | 'bottomCenter' | 'bottomRight', required — Required interaction target position. auto is not supported. * `smart` - Smart * `custom` - Custom * `topLeft` - Top Left * `topCenter` - Top Center * `topRight` - Top Right * `middleLeft` - Middle Left * `middleCenter` - Middle Center * `middleRight` - Middle Right * `bottomLeft` - Bottom Left * `bottomCenter` - Bottom Center * `bottomRight` - Bottom Right
    - `dndDropX` number, double, nullable
    - `dndDropY` number, double, nullable
  - ElementVisualRegressionStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `visualRegressionMaxDiff` number, double, nullable
    - `visualRegressionRefScreenshots` object[], required
    - `selectorsPresets` UpdateSelectorsPresetGroup[], required
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
  - ExecuteStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `code` string, required
  - GotoStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `url` string, required
    - `username` string, nullable
    - `password` string, nullable
    - `frameLocation` string
  - GoBackStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
  - GoForwardStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
  - HoverStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `interactionPosition` 'smart' | 'custom' | 'topLeft' | 'topCenter' | 'topRight' | 'middleLeft' | 'middleCenter' | 'middleRight' | 'bottomLeft' | 'bottomCenter' | 'bottomRight', required — Required interaction target position. auto is not supported. * `smart` - Smart * `custom` - Custom * `topLeft` - Top Left * `topCenter` - Top Center * `topRight` - Top Right * `middleLeft` - Middle Left * `middleCenter` - Middle Center * `middleRight` - Middle Right * `bottomLeft` - Bottom Left * `bottomCenter` - Bottom Center * `bottomRight` - Bottom Right
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
  - IfConditionStep — If condition steps reuse assertion_* fields as the branch condition.
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
    - `assertionProperty` 'checked' | 'count' | 'customJavaScript' | 'exist' | 'notChecked' | 'notExist' | 'notVisible' | 'textContent' | 'hasAttribute' | 'hasNotAttribute' | 'value' | 'visible' | 'pageTitle' | 'pageShowsText' | 'pageDoesNotShowText' | 'pageUrlIs' | 'downloadStarted' | 'variableValue' | 'clipboardValue' | 'disabled' | 'notDisabled', required — * `checked` - Checked * `count` - Count * `customJavaScript` - Custom Javascript * `exist` - Exist * `notChecked` - Not Checked * `notExist` - Not Exist * `notVisible` - Not Visible * `textContent` - Text Content * `hasAttribute` - Has Attribute * `hasNotAttribute` - Has Not Attribute * `value` - Value * `visible` - Visible * `pageTitle` - Page Has Title * `pageShowsText` - Page Shows Text * `pageDoesNotShowText` - Page Does Not Show Text * `pageUrlIs` - Page Url Is * `downloadStarted` - Download Started * `variableValue` - Variable Value * `clipboardValue` - Clipboard Value * `disabled` - Disabled * `notDisabled` - Not Disabled
    - `assertionType` 'contain' | 'equal' | 'greaterThan' | 'lessThan' | 'match' | 'notContain' | 'notEqual' | 'notMatch' | 'any', required — * `contain` - Contain * `equal` - Equal * `greaterThan` - Greater Than * `lessThan` - Less Than * `match` - Match * `notContain` - Not Contain * `notEqual` - Not Equal * `notMatch` - Not Match * `any` - Any
    - `assertionAttributeName` string, nullable
    - `assertionExpectedValue` string, nullable, required
    - `assertionJavaScript` string, nullable, required — Required for assert and ifCondition steps. Send an empty string when unused.
    - `assertionVariableName` string, nullable, required — Required for assert and ifCondition steps. Send an empty string when unused.
  - MouseDownStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `interactionPosition` 'smart' | 'custom' | 'topLeft' | 'topCenter' | 'topRight' | 'middleLeft' | 'middleCenter' | 'middleRight' | 'bottomLeft' | 'bottomCenter' | 'bottomRight', required — Required interaction target position. auto is not supported. * `smart` - Smart * `custom` - Custom * `topLeft` - Top Left * `topCenter` - Top Center * `topRight` - Top Right * `middleLeft` - Middle Left * `middleCenter` - Middle Center * `middleRight` - Middle Right * `bottomLeft` - Bottom Left * `bottomCenter` - Bottom Center * `bottomRight` - Bottom Right
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
  - MouseUpStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `interactionPosition` 'smart' | 'custom' | 'topLeft' | 'topCenter' | 'topRight' | 'middleLeft' | 'middleCenter' | 'middleRight' | 'bottomLeft' | 'bottomCenter' | 'bottomRight', required — Required interaction target position. auto is not supported. * `smart` - Smart * `custom` - Custom * `topLeft` - Top Left * `topCenter` - Top Center * `topRight` - Top Right * `middleLeft` - Middle Left * `middleCenter` - Middle Center * `middleRight` - Middle Right * `bottomLeft` - Bottom Left * `bottomCenter` - Bottom Center * `bottomRight` - Bottom Right
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
  - NewTabStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `url` string, nullable
    - `username` string, nullable
    - `password` string, nullable
  - PageVisualRegressionStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `visualRegressionMaxDiff` number, double, nullable
    - `visualRegressionRefScreenshots` object[], required
  - ReloadPageStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
  - ScrollStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
    - `scrollX` number, double, nullable
    - `scrollY` number, double, nullable
    - `scrollEdge` 'topLeft' | 'topCenter' | 'topRight' | 'middleLeft' | 'middleCenter' | 'middleRight' | 'bottomLeft' | 'bottomCenter' | 'bottomRight' | 'null', nullable — * `topLeft` - Top Left * `topCenter` - Top Center * `topRight` - Top Right * `middleLeft` - Middle Left * `middleCenter` - Middle Center * `middleRight` - Middle Right * `bottomLeft` - Bottom Left * `bottomCenter` - Bottom Center * `bottomRight` - Bottom Right
    - `scrollDirection` 'down' | 'up' | 'right' | 'left' | 'null', nullable — * `down` - Down * `up` - Up * `right` - Right * `left` - Left
    - `scrollTo` 'coords' | 'edge' | 'untilNextStepElementIsVisible' | 'elementIntoView', required — * `coords` - Coords * `edge` - Edge * `untilNextStepElementIsVisible` - Until Next Step Element Is Visible * `elementIntoView` - Element Into View
    - `scrollInside` 'window' | 'element', required — * `window` - window * `element` - element
  - SelectStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
    - `value` string, required
    - `selectType` 'text' | 'index' | 'value', required — * `text` - text * `index` - index * `value` - value
    - `selectIsMultiple` boolean
  - SetLocalVariableStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
    - `value` string
    - `code` string, nullable
    - `localVariableName` string, required
    - `localVariableSource` 'element' | 'value' | 'evaluate', required — * `element` - element * `value` - value * `evaluate` - evaluate
  - SwitchContext
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
    - `tabNo` integer, required
    - `value` 'topFrame' | 'iframe', required — * `topFrame` - Top Frame * `iframe` - Iframe
  - TypeStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `value` string, required
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
  - UploadStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `projectArtifactId` string, uuid, required
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling

## Response `201`

- union
  - V2AnswerPromptStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `value` string, required
  - AssertStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
    - `continueOnFailure` boolean
    - `assertionProperty` 'checked' | 'count' | 'customJavaScript' | 'exist' | 'notChecked' | 'notExist' | 'notVisible' | 'textContent' | 'hasAttribute' | 'hasNotAttribute' | 'value' | 'visible' | 'pageTitle' | 'pageShowsText' | 'pageDoesNotShowText' | 'pageUrlIs' | 'downloadStarted' | 'variableValue' | 'clipboardValue' | 'disabled' | 'notDisabled', required — * `checked` - Checked * `count` - Count * `customJavaScript` - Custom Javascript * `exist` - Exist * `notChecked` - Not Checked * `notExist` - Not Exist * `notVisible` - Not Visible * `textContent` - Text Content * `hasAttribute` - Has Attribute * `hasNotAttribute` - Has Not Attribute * `value` - Value * `visible` - Visible * `pageTitle` - Page Has Title * `pageShowsText` - Page Shows Text * `pageDoesNotShowText` - Page Does Not Show Text * `pageUrlIs` - Page Url Is * `downloadStarted` - Download Started * `variableValue` - Variable Value * `clipboardValue` - Clipboard Value * `disabled` - Disabled * `notDisabled` - Not Disabled
    - `assertionType` 'contain' | 'equal' | 'greaterThan' | 'lessThan' | 'match' | 'notContain' | 'notEqual' | 'notMatch' | 'any', required — * `contain` - Contain * `equal` - Equal * `greaterThan` - Greater Than * `lessThan` - Less Than * `match` - Match * `notContain` - Not Contain * `notEqual` - Not Equal * `notMatch` - Not Match * `any` - Any
    - `assertionAttributeName` string, nullable
    - `assertionExpectedValue` string, nullable, required
    - `assertionJavaScript` string, nullable, required — Required for assert and ifCondition steps. Send an empty string when unused.
    - `assertionVariableName` string, nullable, required — Required for assert and ifCondition steps. Send an empty string when unused.
  - PastFromClipboardStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
  - ChangeStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `value` string, required
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
  - ClearStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
  - ClickStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `interactionPosition` 'smart' | 'custom' | 'topLeft' | 'topCenter' | 'topRight' | 'middleLeft' | 'middleCenter' | 'middleRight' | 'bottomLeft' | 'bottomCenter' | 'bottomRight', required — Required interaction target position. auto is not supported. * `smart` - Smart * `custom` - Custom * `topLeft` - Top Left * `topCenter` - Top Center * `topRight` - Top Right * `middleLeft` - Middle Left * `middleCenter` - Middle Center * `middleRight` - Middle Right * `bottomLeft` - Bottom Left * `bottomCenter` - Bottom Center * `bottomRight` - Bottom Right
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
  - CloseTabStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
  - V2DragAndDropStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
    - `dndDropSelectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
    - `dndDragOn` 'coords' | 'element', required — * `coords` - coords * `element` - element
    - `interactionPosition` 'smart' | 'custom' | 'topLeft' | 'topCenter' | 'topRight' | 'middleLeft' | 'middleCenter' | 'middleRight' | 'bottomLeft' | 'bottomCenter' | 'bottomRight', required — Required interaction target position. auto is not supported. * `smart` - Smart * `custom` - Custom * `topLeft` - Top Left * `topCenter` - Top Center * `topRight` - Top Right * `middleLeft` - Middle Left * `middleCenter` - Middle Center * `middleRight` - Middle Right * `bottomLeft` - Bottom Left * `bottomCenter` - Bottom Center * `bottomRight` - Bottom Right
    - `dndDragX` number, double, nullable
    - `dndDragY` number, double, nullable
    - `dndDropOn` 'coords' | 'element', required — * `coords` - coords * `element` - element
    - `dndDropInteractionPosition` 'smart' | 'custom' | 'topLeft' | 'topCenter' | 'topRight' | 'middleLeft' | 'middleCenter' | 'middleRight' | 'bottomLeft' | 'bottomCenter' | 'bottomRight', required — Required interaction target position. auto is not supported. * `smart` - Smart * `custom` - Custom * `topLeft` - Top Left * `topCenter` - Top Center * `topRight` - Top Right * `middleLeft` - Middle Left * `middleCenter` - Middle Center * `middleRight` - Middle Right * `bottomLeft` - Bottom Left * `bottomCenter` - Bottom Center * `bottomRight` - Bottom Right
    - `dndDropX` number, double, nullable
    - `dndDropY` number, double, nullable
  - ElementVisualRegressionStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `visualRegressionMaxDiff` number, double, nullable
    - `visualRegressionRefScreenshots` object[], required
    - `selectorsPresets` UpdateSelectorsPresetGroup[], required
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
  - ExecuteStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `code` string, required
  - GotoStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `url` string, required
    - `username` string, nullable
    - `password` string, nullable
    - `frameLocation` string
  - GoBackStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
  - GoForwardStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
  - HoverStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `interactionPosition` 'smart' | 'custom' | 'topLeft' | 'topCenter' | 'topRight' | 'middleLeft' | 'middleCenter' | 'middleRight' | 'bottomLeft' | 'bottomCenter' | 'bottomRight', required — Required interaction target position. auto is not supported. * `smart` - Smart * `custom` - Custom * `topLeft` - Top Left * `topCenter` - Top Center * `topRight` - Top Right * `middleLeft` - Middle Left * `middleCenter` - Middle Center * `middleRight` - Middle Right * `bottomLeft` - Bottom Left * `bottomCenter` - Bottom Center * `bottomRight` - Bottom Right
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
  - IfConditionStep — If condition steps reuse assertion_* fields as the branch condition.
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
    - `assertionProperty` 'checked' | 'count' | 'customJavaScript' | 'exist' | 'notChecked' | 'notExist' | 'notVisible' | 'textContent' | 'hasAttribute' | 'hasNotAttribute' | 'value' | 'visible' | 'pageTitle' | 'pageShowsText' | 'pageDoesNotShowText' | 'pageUrlIs' | 'downloadStarted' | 'variableValue' | 'clipboardValue' | 'disabled' | 'notDisabled', required — * `checked` - Checked * `count` - Count * `customJavaScript` - Custom Javascript * `exist` - Exist * `notChecked` - Not Checked * `notExist` - Not Exist * `notVisible` - Not Visible * `textContent` - Text Content * `hasAttribute` - Has Attribute * `hasNotAttribute` - Has Not Attribute * `value` - Value * `visible` - Visible * `pageTitle` - Page Has Title * `pageShowsText` - Page Shows Text * `pageDoesNotShowText` - Page Does Not Show Text * `pageUrlIs` - Page Url Is * `downloadStarted` - Download Started * `variableValue` - Variable Value * `clipboardValue` - Clipboard Value * `disabled` - Disabled * `notDisabled` - Not Disabled
    - `assertionType` 'contain' | 'equal' | 'greaterThan' | 'lessThan' | 'match' | 'notContain' | 'notEqual' | 'notMatch' | 'any', required — * `contain` - Contain * `equal` - Equal * `greaterThan` - Greater Than * `lessThan` - Less Than * `match` - Match * `notContain` - Not Contain * `notEqual` - Not Equal * `notMatch` - Not Match * `any` - Any
    - `assertionAttributeName` string, nullable
    - `assertionExpectedValue` string, nullable, required
    - `assertionJavaScript` string, nullable, required — Required for assert and ifCondition steps. Send an empty string when unused.
    - `assertionVariableName` string, nullable, required — Required for assert and ifCondition steps. Send an empty string when unused.
  - MouseDownStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `interactionPosition` 'smart' | 'custom' | 'topLeft' | 'topCenter' | 'topRight' | 'middleLeft' | 'middleCenter' | 'middleRight' | 'bottomLeft' | 'bottomCenter' | 'bottomRight', required — Required interaction target position. auto is not supported. * `smart` - Smart * `custom` - Custom * `topLeft` - Top Left * `topCenter` - Top Center * `topRight` - Top Right * `middleLeft` - Middle Left * `middleCenter` - Middle Center * `middleRight` - Middle Right * `bottomLeft` - Bottom Left * `bottomCenter` - Bottom Center * `bottomRight` - Bottom Right
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
  - MouseUpStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `interactionPosition` 'smart' | 'custom' | 'topLeft' | 'topCenter' | 'topRight' | 'middleLeft' | 'middleCenter' | 'middleRight' | 'bottomLeft' | 'bottomCenter' | 'bottomRight', required — Required interaction target position. auto is not supported. * `smart` - Smart * `custom` - Custom * `topLeft` - Top Left * `topCenter` - Top Center * `topRight` - Top Right * `middleLeft` - Middle Left * `middleCenter` - Middle Center * `middleRight` - Middle Right * `bottomLeft` - Bottom Left * `bottomCenter` - Bottom Center * `bottomRight` - Bottom Right
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
  - NewTabStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `url` string, nullable
    - `username` string, nullable
    - `password` string, nullable
  - PageVisualRegressionStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `visualRegressionMaxDiff` number, double, nullable
    - `visualRegressionRefScreenshots` object[], required
  - ReloadPageStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
  - ScrollStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
    - `scrollX` number, double, nullable
    - `scrollY` number, double, nullable
    - `scrollEdge` 'topLeft' | 'topCenter' | 'topRight' | 'middleLeft' | 'middleCenter' | 'middleRight' | 'bottomLeft' | 'bottomCenter' | 'bottomRight' | 'null', nullable — * `topLeft` - Top Left * `topCenter` - Top Center * `topRight` - Top Right * `middleLeft` - Middle Left * `middleCenter` - Middle Center * `middleRight` - Middle Right * `bottomLeft` - Bottom Left * `bottomCenter` - Bottom Center * `bottomRight` - Bottom Right
    - `scrollDirection` 'down' | 'up' | 'right' | 'left' | 'null', nullable — * `down` - Down * `up` - Up * `right` - Right * `left` - Left
    - `scrollTo` 'coords' | 'edge' | 'untilNextStepElementIsVisible' | 'elementIntoView', required — * `coords` - Coords * `edge` - Edge * `untilNextStepElementIsVisible` - Until Next Step Element Is Visible * `elementIntoView` - Element Into View
    - `scrollInside` 'window' | 'element', required — * `window` - window * `element` - element
  - SelectStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
    - `value` string, required
    - `selectType` 'text' | 'index' | 'value', required — * `text` - text * `index` - index * `value` - value
    - `selectIsMultiple` boolean
  - SetLocalVariableStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
    - `value` string
    - `code` string, nullable
    - `localVariableName` string, required
    - `localVariableSource` 'element' | 'value' | 'evaluate', required — * `element` - element * `value` - value * `evaluate` - evaluate
  - SwitchContext
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
    - `tabNo` integer, required
    - `value` 'topFrame' | 'iframe', required — * `topFrame` - Top Frame * `iframe` - Iframe
  - TypeStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `value` string, required
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling
  - UploadStep
    - `id` string, uuid, required
    - `atIndex` integer, nullable
    - `type` string, required
    - `name` string, nullable
    - `blockId` string, uuid, nullable
    - `groupId` string, uuid, nullable
    - `originGroupId` string, required
    - `notes` string, nullable
    - `isActive` boolean
    - `runTimeout` number, double, nullable
    - `sleep` number, double, nullable
    - `waitingConditions` UpdateStepWaitingCondition[]
      - `type` 'documentComplete' | 'elementIsVisible' | 'elementIsNotCovered' | 'elementIsNotAnimating' | 'elementIsNotDisabled' | 'elementHasFocus' | 'networkIdle' | 'pageNavigationAfterExecution' | 'elementHasAttribute', required — * `documentComplete` - documentComplete * `elementIsVisible` - elementIsVisible * `elementIsNotCovered` - elementIsNotCovered * `elementIsNotAnimating` - elementIsNotAnimating * `elementIsNotDisabled` - elementIsNotDisabled * `elementHasFocus` - elementHasFocus * `networkIdle` - networkIdle * `pageNavigationAfterExecution` - pageNavigationAfterExecution * `elementHasAttribute` - elementHasAttribute
      - `expected` string, nullable
      - `isActive` boolean, required
      - `isOverridden` boolean, required — Required for each item when sending waitingConditions.
      - `timeout` integer, nullable
    - `projectArtifactId` string, uuid, required
    - `selectorsPresets` UpdateSelectorsPresetGroup[]
      - `id` string, uuid
      - `isActive` boolean
      - `isCustom` boolean
      - `selectorsGroups` UpdateSelectorsGroup[], required
        - `id` string, uuid
        - `selectors` UpdateSelector[], required
          - `id` string, uuid
          - `type` 'XPath' | 'customCSS' | 'customXPath' | '' | 'null', nullable, required — * `XPath` - Xpath * `customCSS` - Custom Css * `customXPath` - Custom Xpath
          - `selector` string, nullable, required
          - `isActive` boolean, required
          - `score` string, nullable
        - `relation` 'descendant' | 'ancestor' | 'sibling', required — * `descendant` - Descendant * `ancestor` - Ancestor * `sibling` - Sibling

## Other responses

- `400` — Request body failed validation.
- `401` — Authentication credentials were missing or invalid.

---

[API](https://skmtc.dev/bugbug/apis/bugbug-io-public-api.md) · [All operations](https://skmtc.dev/bugbug/apis/bugbug-io-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/bugbug/bugbug-io-public-api/revisions/ed479395857f/schema)
