{
  "components": {
    "schemas": {
      "AIFallbackMode": {
        "description": "Controls how an action block uses a CSS/XPath selector relative to AI.\n\n- `fallback`: attempt the selector first; fall back to AI on failure.\n- `proactive`: always use AI; the selector (if any) is a hint only.\n\nWhen `selector` is None, both modes degrade to AI-only — the difference\nis purely semantic (whether the author expected to have a selector here).",
        "enum": [
          "fallback",
          "proactive"
        ],
        "title": "AIFallbackMode",
        "type": "string"
      },
      "AWSSecretParameter": {
        "properties": {
          "aws_key": {
            "title": "Aws Key",
            "type": "string"
          },
          "aws_secret_parameter_id": {
            "title": "Aws Secret Parameter Id",
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "deleted_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Deleted At"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "key": {
            "title": "Key",
            "type": "string"
          },
          "modified_at": {
            "format": "date-time",
            "title": "Modified At",
            "type": "string"
          },
          "parameter_type": {
            "const": "aws_secret",
            "default": "aws_secret",
            "title": "Parameter Type",
            "type": "string"
          },
          "workflow_id": {
            "title": "Workflow Id",
            "type": "string"
          }
        },
        "required": [
          "aws_key",
          "aws_secret_parameter_id",
          "created_at",
          "key",
          "modified_at",
          "parameter_type",
          "workflow_id"
        ],
        "title": "AWSSecretParameter",
        "type": "object"
      },
      "AWSSecretParameterYAML": {
        "properties": {
          "aws_key": {
            "title": "Aws Key",
            "type": "string"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "key": {
            "title": "Key",
            "type": "string"
          },
          "parameter_type": {
            "const": "aws_secret",
            "default": "aws_secret",
            "title": "Parameter Type",
            "type": "string"
          }
        },
        "required": [
          "aws_key",
          "key",
          "parameter_type"
        ],
        "title": "AWSSecretParameterYAML",
        "type": "object"
      },
      "ActAction": {
        "description": "AI act action parameters.",
        "properties": {
          "data": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Additional context data",
            "title": "Data"
          },
          "intention": {
            "default": "",
            "description": "Natural language prompt for the action",
            "title": "Intention",
            "type": "string"
          },
          "type": {
            "const": "ai_act",
            "default": "ai_act",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "type"
        ],
        "title": "ActAction",
        "type": "object"
      },
      "Action": {
        "properties": {
          "action_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Action Id"
          },
          "action_order": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Action Order"
          },
          "action_type": {
            "$ref": "#/components/schemas/ActionType"
          },
          "click_context": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ClickContext"
              },
              {
                "type": "null"
              }
            ]
          },
          "confidence_float": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Confidence Float"
          },
          "created_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created At"
          },
          "created_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created By"
          },
          "data_extraction_goal": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data Extraction Goal"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "download": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Download"
          },
          "download_triggered": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Download Triggered"
          },
          "download_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Origin URL recorded by a download action.",
            "title": "Download Url"
          },
          "downloaded_files": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Downloaded Files"
          },
          "element_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Element Id"
          },
          "errors": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/UserDefinedError"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Errors"
          },
          "file_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "File Name"
          },
          "file_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "File Url"
          },
          "finished_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Finished At"
          },
          "has_mini_agent": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Has Mini Agent"
          },
          "input_or_select_context": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/InputOrSelectContext"
              },
              {
                "type": "null"
              }
            ]
          },
          "intention": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Intention"
          },
          "is_checked": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Checked"
          },
          "is_upload_file_tag": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Upload File Tag"
          },
          "modified_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Modified At"
          },
          "option": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/SelectOption"
              },
              {
                "type": "null"
              }
            ]
          },
          "organization_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Organization Id"
          },
          "output": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Output"
          },
          "reasoning": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reasoning"
          },
          "response": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Response"
          },
          "screenshot_artifact_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Screenshot Artifact Id"
          },
          "skip_auto_complete_tab": {
            "default": false,
            "title": "Skip Auto Complete Tab",
            "type": "boolean"
          },
          "skyvern_element_data": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Skyvern Element Data"
          },
          "skyvern_element_hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Skyvern Element Hash"
          },
          "source_action_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Source Action Id"
          },
          "started_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Started At"
          },
          "status": {
            "$ref": "#/components/schemas/ActionStatus",
            "default": "pending"
          },
          "step_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Step Id"
          },
          "step_order": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Step Order"
          },
          "task_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Task Id"
          },
          "terminal_user_errors": {
            "default": false,
            "title": "Terminal User Errors",
            "type": "boolean"
          },
          "text": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Text"
          },
          "tool_call_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tool Call Id"
          },
          "totp_timing_info": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Timing Info"
          },
          "verified": {
            "default": false,
            "title": "Verified",
            "type": "boolean"
          },
          "workflow_run_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Workflow Run Id"
          },
          "xpath": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Xpath"
          }
        },
        "required": [
          "action_type"
        ],
        "title": "Action",
        "type": "object"
      },
      "ActionBlock": {
        "properties": {
          "ai_fallback": {
            "$ref": "#/components/schemas/AIFallbackMode",
            "default": "fallback"
          },
          "block_type": {
            "const": "action",
            "default": "action",
            "title": "Block Type",
            "type": "string"
          },
          "complete_criterion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Complete Criterion"
          },
          "complete_criterion_is_untrusted": {
            "default": false,
            "title": "Complete Criterion Is Untrusted",
            "type": "boolean"
          },
          "complete_on_download": {
            "default": false,
            "title": "Complete On Download",
            "type": "boolean"
          },
          "complete_verification": {
            "default": true,
            "title": "Complete Verification",
            "type": "boolean"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "data_extraction_goal": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data Extraction Goal"
          },
          "data_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data Schema"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "download_suffix": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Download Suffix"
          },
          "download_timeout": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Download Timeout"
          },
          "engine": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RunEngine"
              },
              {
                "type": "null"
              }
            ]
          },
          "engine_pinned": {
            "default": false,
            "title": "Engine Pinned",
            "type": "boolean"
          },
          "error_code_mapping": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Code Mapping"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "include_action_history_in_verification": {
            "default": false,
            "title": "Include Action History In Verification",
            "type": "boolean"
          },
          "include_extracted_text": {
            "default": true,
            "title": "Include Extracted Text",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "max_retries": {
            "default": 0,
            "title": "Max Retries",
            "type": "integer"
          },
          "max_steps_per_run": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Steps Per Run"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "navigation_goal": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Navigation Goal"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "parameters": {
            "default": [],
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/WorkflowParameter"
                },
                {
                  "$ref": "#/components/schemas/ContextParameter"
                },
                {
                  "$ref": "#/components/schemas/AWSSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenLoginCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenSensitiveInformationParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenCreditCardDataParameter"
                },
                {
                  "$ref": "#/components/schemas/OnePasswordCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureVaultCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/OutputParameter"
                },
                {
                  "$ref": "#/components/schemas/CredentialParameter"
                }
              ]
            },
            "title": "Parameters",
            "type": "array"
          },
          "selector": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Selector"
          },
          "task_type": {
            "default": "general",
            "title": "Task Type",
            "type": "string"
          },
          "terminate_criterion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Terminate Criterion"
          },
          "title": {
            "default": "",
            "title": "Title",
            "type": "string"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Identifier"
          },
          "totp_verification_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Verification Url"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          }
        },
        "required": [
          "block_type",
          "label",
          "output_parameter"
        ],
        "title": "ActionBlock",
        "type": "object"
      },
      "ActionBlockYAML": {
        "properties": {
          "ai_fallback": {
            "$ref": "#/components/schemas/AIFallbackMode",
            "default": "fallback"
          },
          "block_type": {
            "const": "action",
            "default": "action",
            "title": "Block Type",
            "type": "string"
          },
          "complete_on_download": {
            "default": false,
            "title": "Complete On Download",
            "type": "boolean"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "download_suffix": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Download Suffix"
          },
          "engine": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RunEngine"
              },
              {
                "type": "null"
              }
            ]
          },
          "engine_pinned": {
            "default": false,
            "description": "Set to true only when skyvern-1.0 was explicitly chosen for this block; leave it unset otherwise.",
            "title": "Engine Pinned",
            "type": "boolean"
          },
          "error_code_mapping": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Code Mapping"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "max_retries": {
            "default": 0,
            "title": "Max Retries",
            "type": "integer"
          },
          "max_steps_per_run": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Steps Per Run"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "navigation_goal": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Navigation Goal"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "parameter_keys": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parameter Keys"
          },
          "selector": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Selector"
          },
          "title": {
            "default": "",
            "title": "Title",
            "type": "string"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Identifier"
          },
          "totp_verification_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Verification Url"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          }
        },
        "required": [
          "block_type",
          "label"
        ],
        "title": "ActionBlockYAML",
        "type": "object"
      },
      "ActionStatus": {
        "enum": [
          "pending",
          "skipped",
          "failed",
          "completed"
        ],
        "title": "ActionStatus",
        "type": "string"
      },
      "ActionType": {
        "enum": [
          "click",
          "input_text",
          "paste_text",
          "upload_file",
          "download_file",
          "select_option",
          "checkbox",
          "wait",
          "hover",
          "null_action",
          "solve_captcha",
          "terminate",
          "complete",
          "reload_page",
          "close_page",
          "new_tab",
          "switch_tab",
          "extract",
          "verification_code",
          "goto_url",
          "go_back",
          "go_forward",
          "scroll",
          "keypress",
          "move",
          "drag",
          "left_mouse",
          "execute_js"
        ],
        "title": "ActionType",
        "type": "string"
      },
      "AgentStepBlock": {
        "properties": {
          "block_type": {
            "const": "agent_step",
            "default": "agent_step",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "data_schema": {
            "additionalProperties": true,
            "title": "Data Schema",
            "type": "object"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "max_turns": {
            "default": 25,
            "title": "Max Turns",
            "type": "integer"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "parameters": {
            "default": [],
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/WorkflowParameter"
                },
                {
                  "$ref": "#/components/schemas/ContextParameter"
                },
                {
                  "$ref": "#/components/schemas/AWSSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenLoginCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenSensitiveInformationParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenCreditCardDataParameter"
                },
                {
                  "$ref": "#/components/schemas/OnePasswordCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureVaultCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/OutputParameter"
                },
                {
                  "$ref": "#/components/schemas/CredentialParameter"
                }
              ]
            },
            "title": "Parameters",
            "type": "array"
          },
          "prompt": {
            "title": "Prompt",
            "type": "string"
          },
          "tools": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Tools"
          }
        },
        "required": [
          "block_type",
          "data_schema",
          "label",
          "output_parameter",
          "prompt"
        ],
        "title": "AgentStepBlock",
        "type": "object"
      },
      "AgentStepBlockYAML": {
        "properties": {
          "block_type": {
            "const": "agent_step",
            "default": "agent_step",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "data_schema": {
            "additionalProperties": true,
            "description": "JSON Schema (type object) of the answer the step returns through its finish tool. Later blocks read the answer as {{ <label>_output.output }}.",
            "title": "Data Schema",
            "type": "object"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "max_turns": {
            "default": 25,
            "description": "Model turns the step may take. When they run out, the step gets one more turn in which only finish runs.",
            "maximum": 200,
            "minimum": 1,
            "title": "Max Turns",
            "type": "integer"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "parameter_keys": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "description": "Keys of the workflow parameters and earlier block outputs the step uses.",
            "title": "Parameter Keys"
          },
          "prompt": {
            "description": "What the step must work out or get done. Rendered as a Jinja template against the run's parameters and earlier block outputs before the step starts.",
            "title": "Prompt",
            "type": "string"
          },
          "tools": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "description": "The tools the step may call. A block it runs through run_block is named by its block type, such as http_request. finish and read_run_data are always offered, and login only when the run has a credential parameter. Without a list the step has no other tools.",
            "title": "Tools"
          }
        },
        "required": [
          "block_type",
          "label",
          "prompt"
        ],
        "title": "AgentStepBlockYAML",
        "type": "object"
      },
      "Artifact": {
        "properties": {
          "ai_suggestion_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ai Suggestion Id"
          },
          "archived": {
            "default": false,
            "title": "Archived",
            "type": "boolean"
          },
          "artifact_id": {
            "title": "Artifact Id",
            "type": "string"
          },
          "artifact_type": {
            "$ref": "#/components/schemas/ArtifactType"
          },
          "browser_session_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Browser Session Id"
          },
          "bundle_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bundle Key"
          },
          "checksum": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Checksum"
          },
          "created_at": {
            "description": "The creation datetime of the task.",
            "examples": [
              "2023-01-01T00:00:00Z"
            ],
            "title": "Created At",
            "type": "string"
          },
          "file_size": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "File Size"
          },
          "modified_at": {
            "description": "The modification datetime of the task.",
            "examples": [
              "2023-01-01T00:00:00Z"
            ],
            "title": "Modified At",
            "type": "string"
          },
          "observer_cruise_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Observer Cruise Id"
          },
          "observer_thought_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Observer Thought Id"
          },
          "organization_id": {
            "title": "Organization Id",
            "type": "string"
          },
          "run_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Run Id"
          },
          "signed_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Signed Url"
          },
          "step_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Step Id"
          },
          "task_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Task Id"
          },
          "uri": {
            "title": "Uri",
            "type": "string"
          },
          "workflow_run_block_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Workflow Run Block Id"
          },
          "workflow_run_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Workflow Run Id"
          }
        },
        "required": [
          "created_at",
          "modified_at",
          "artifact_id",
          "artifact_type",
          "uri",
          "organization_id"
        ],
        "title": "Artifact",
        "type": "object"
      },
      "ArtifactType": {
        "enum": [
          "recording",
          "audio",
          "session_replay",
          "eval_score",
          "eval_trajectory",
          "eval_rubrics",
          "browser_console_log",
          "browser_session_action_log",
          "skyvern_log",
          "skyvern_log_raw",
          "screenshot",
          "screenshot_llm",
          "screenshot_action",
          "screenshot_final",
          "screenshot_proxy",
          "screenshot_pre_submit",
          "llm_prompt",
          "llm_request",
          "llm_response",
          "llm_response_parsed",
          "llm_response_rendered",
          "visible_elements_id_css_map",
          "visible_elements_id_frame_map",
          "visible_elements_tree",
          "visible_elements_tree_trimmed",
          "visible_elements_tree_in_prompt",
          "hashed_href_map",
          "visible_elements_id_xpath_map",
          "html",
          "html_scrape",
          "html_action",
          "html_pre_submit",
          "trace",
          "har",
          "script_file",
          "pdf",
          "step_archive",
          "task_archive",
          "download",
          "unknown"
        ],
        "title": "ArtifactType",
        "type": "string"
      },
      "AuditEventExportResponse": {
        "properties": {
          "next": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next"
          },
          "rows": {
            "items": {
              "$ref": "#/components/schemas/AuditEventExportRow"
            },
            "title": "Rows",
            "type": "array"
          }
        },
        "required": [
          "rows",
          "next"
        ],
        "title": "AuditEventExportResponse",
        "type": "object"
      },
      "AuditEventExportRow": {
        "properties": {
          "action": {
            "title": "Action",
            "type": "string"
          },
          "actor_user_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Actor User Id"
          },
          "audit_event_id": {
            "title": "Audit Event Id",
            "type": "string"
          },
          "auth_kind": {
            "title": "Auth Kind",
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "details": {
            "additionalProperties": true,
            "title": "Details",
            "type": "object"
          },
          "impersonated_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Impersonated By"
          },
          "org_role": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Org Role"
          },
          "organization_id": {
            "title": "Organization Id",
            "type": "string"
          },
          "request_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Request Id"
          },
          "resource_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Resource Id"
          },
          "resource_type": {
            "title": "Resource Type",
            "type": "string"
          }
        },
        "required": [
          "audit_event_id",
          "created_at",
          "organization_id",
          "actor_user_id",
          "impersonated_by",
          "auth_kind",
          "org_role",
          "action",
          "resource_type",
          "resource_id",
          "request_id",
          "details"
        ],
        "title": "AuditEventExportRow",
        "type": "object"
      },
      "AuditExportDenialDetail": {
        "properties": {
          "action": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Action"
          },
          "caller_has": {
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "title": "Caller Has",
            "type": "object"
          },
          "error_code": {
            "const": "organization_admin_required",
            "title": "Error Code",
            "type": "string"
          },
          "message": {
            "title": "Message",
            "type": "string"
          },
          "next_action": {
            "title": "Next Action",
            "type": "string"
          },
          "reason_kind": {
            "const": "role",
            "title": "Reason Kind",
            "type": "string"
          },
          "required": {
            "additionalProperties": {
              "type": "string"
            },
            "title": "Required",
            "type": "object"
          },
          "role": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Role"
          }
        },
        "required": [
          "error_code",
          "message",
          "reason_kind",
          "required",
          "caller_has",
          "next_action"
        ],
        "title": "AuditExportDenialDetail",
        "type": "object"
      },
      "AuditExportDenialResponse": {
        "properties": {
          "detail": {
            "$ref": "#/components/schemas/AuditExportDenialDetail"
          }
        },
        "required": [
          "detail"
        ],
        "title": "AuditExportDenialResponse",
        "type": "object"
      },
      "AvailableManagedPhoneNumber": {
        "properties": {
          "friendly_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Friendly Name"
          },
          "iso_country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Iso Country"
          },
          "locality": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Locality"
          },
          "monthly_price_cents": {
            "title": "Monthly Price Cents",
            "type": "integer"
          },
          "phone_number": {
            "title": "Phone Number",
            "type": "string"
          },
          "region": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Region"
          }
        },
        "required": [
          "phone_number",
          "monthly_price_cents"
        ],
        "title": "AvailableManagedPhoneNumber",
        "type": "object"
      },
      "AzureSecretParameter": {
        "properties": {
          "azure_key": {
            "title": "Azure Key",
            "type": "string"
          },
          "azure_secret_parameter_id": {
            "title": "Azure Secret Parameter Id",
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "deleted_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Deleted At"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "key": {
            "title": "Key",
            "type": "string"
          },
          "modified_at": {
            "format": "date-time",
            "title": "Modified At",
            "type": "string"
          },
          "parameter_type": {
            "const": "azure_secret",
            "default": "azure_secret",
            "title": "Parameter Type",
            "type": "string"
          },
          "workflow_id": {
            "title": "Workflow Id",
            "type": "string"
          }
        },
        "required": [
          "azure_key",
          "azure_secret_parameter_id",
          "created_at",
          "key",
          "modified_at",
          "parameter_type",
          "workflow_id"
        ],
        "title": "AzureSecretParameter",
        "type": "object"
      },
      "AzureVaultCredentialParameter": {
        "properties": {
          "azure_vault_credential_parameter_id": {
            "title": "Azure Vault Credential Parameter Id",
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "deleted_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Deleted At"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "key": {
            "title": "Key",
            "type": "string"
          },
          "modified_at": {
            "format": "date-time",
            "title": "Modified At",
            "type": "string"
          },
          "parameter_type": {
            "const": "azure_vault_credential",
            "default": "azure_vault_credential",
            "title": "Parameter Type",
            "type": "string"
          },
          "password_key": {
            "title": "Password Key",
            "type": "string"
          },
          "totp_secret_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Secret Key"
          },
          "username_key": {
            "title": "Username Key",
            "type": "string"
          },
          "vault_name": {
            "title": "Vault Name",
            "type": "string"
          },
          "workflow_id": {
            "title": "Workflow Id",
            "type": "string"
          }
        },
        "required": [
          "azure_vault_credential_parameter_id",
          "created_at",
          "key",
          "modified_at",
          "parameter_type",
          "password_key",
          "username_key",
          "vault_name",
          "workflow_id"
        ],
        "title": "AzureVaultCredentialParameter",
        "type": "object"
      },
      "AzureVaultCredentialParameterYAML": {
        "properties": {
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "key": {
            "title": "Key",
            "type": "string"
          },
          "parameter_type": {
            "const": "azure_vault_credential",
            "default": "azure_vault_credential",
            "title": "Parameter Type",
            "type": "string"
          },
          "password_key": {
            "title": "Password Key",
            "type": "string"
          },
          "totp_secret_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Secret Key"
          },
          "username_key": {
            "title": "Username Key",
            "type": "string"
          },
          "vault_name": {
            "title": "Vault Name",
            "type": "string"
          }
        },
        "required": [
          "key",
          "parameter_type",
          "password_key",
          "username_key",
          "vault_name"
        ],
        "title": "AzureVaultCredentialParameterYAML",
        "type": "object"
      },
      "BitwardenCreditCardDataParameter": {
        "properties": {
          "bitwarden_client_id_aws_secret_key": {
            "title": "Bitwarden Client Id Aws Secret Key",
            "type": "string"
          },
          "bitwarden_client_secret_aws_secret_key": {
            "title": "Bitwarden Client Secret Aws Secret Key",
            "type": "string"
          },
          "bitwarden_collection_id": {
            "title": "Bitwarden Collection Id",
            "type": "string"
          },
          "bitwarden_credit_card_data_parameter_id": {
            "title": "Bitwarden Credit Card Data Parameter Id",
            "type": "string"
          },
          "bitwarden_item_id": {
            "title": "Bitwarden Item Id",
            "type": "string"
          },
          "bitwarden_master_password_aws_secret_key": {
            "title": "Bitwarden Master Password Aws Secret Key",
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "deleted_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Deleted At"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "key": {
            "title": "Key",
            "type": "string"
          },
          "modified_at": {
            "format": "date-time",
            "title": "Modified At",
            "type": "string"
          },
          "parameter_type": {
            "const": "bitwarden_credit_card_data",
            "default": "bitwarden_credit_card_data",
            "title": "Parameter Type",
            "type": "string"
          },
          "workflow_id": {
            "title": "Workflow Id",
            "type": "string"
          }
        },
        "required": [
          "bitwarden_client_id_aws_secret_key",
          "bitwarden_client_secret_aws_secret_key",
          "bitwarden_collection_id",
          "bitwarden_credit_card_data_parameter_id",
          "bitwarden_item_id",
          "bitwarden_master_password_aws_secret_key",
          "created_at",
          "key",
          "modified_at",
          "parameter_type",
          "workflow_id"
        ],
        "title": "BitwardenCreditCardDataParameter",
        "type": "object"
      },
      "BitwardenCreditCardDataParameterYAML": {
        "properties": {
          "bitwarden_client_id_aws_secret_key": {
            "title": "Bitwarden Client Id Aws Secret Key",
            "type": "string"
          },
          "bitwarden_client_secret_aws_secret_key": {
            "title": "Bitwarden Client Secret Aws Secret Key",
            "type": "string"
          },
          "bitwarden_collection_id": {
            "title": "Bitwarden Collection Id",
            "type": "string"
          },
          "bitwarden_item_id": {
            "title": "Bitwarden Item Id",
            "type": "string"
          },
          "bitwarden_master_password_aws_secret_key": {
            "title": "Bitwarden Master Password Aws Secret Key",
            "type": "string"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "key": {
            "title": "Key",
            "type": "string"
          },
          "parameter_type": {
            "const": "bitwarden_credit_card_data",
            "default": "bitwarden_credit_card_data",
            "title": "Parameter Type",
            "type": "string"
          }
        },
        "required": [
          "bitwarden_client_id_aws_secret_key",
          "bitwarden_client_secret_aws_secret_key",
          "bitwarden_collection_id",
          "bitwarden_item_id",
          "bitwarden_master_password_aws_secret_key",
          "key",
          "parameter_type"
        ],
        "title": "BitwardenCreditCardDataParameterYAML",
        "type": "object"
      },
      "BitwardenLoginCredentialParameter": {
        "properties": {
          "bitwarden_client_id_aws_secret_key": {
            "title": "Bitwarden Client Id Aws Secret Key",
            "type": "string"
          },
          "bitwarden_client_secret_aws_secret_key": {
            "title": "Bitwarden Client Secret Aws Secret Key",
            "type": "string"
          },
          "bitwarden_collection_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bitwarden Collection Id"
          },
          "bitwarden_item_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bitwarden Item Id"
          },
          "bitwarden_login_credential_parameter_id": {
            "title": "Bitwarden Login Credential Parameter Id",
            "type": "string"
          },
          "bitwarden_master_password_aws_secret_key": {
            "title": "Bitwarden Master Password Aws Secret Key",
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "deleted_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Deleted At"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "key": {
            "title": "Key",
            "type": "string"
          },
          "modified_at": {
            "format": "date-time",
            "title": "Modified At",
            "type": "string"
          },
          "parameter_type": {
            "const": "bitwarden_login_credential",
            "default": "bitwarden_login_credential",
            "title": "Parameter Type",
            "type": "string"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Identifier"
          },
          "url_parameter_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url Parameter Key"
          },
          "workflow_id": {
            "title": "Workflow Id",
            "type": "string"
          }
        },
        "required": [
          "bitwarden_client_id_aws_secret_key",
          "bitwarden_client_secret_aws_secret_key",
          "bitwarden_login_credential_parameter_id",
          "bitwarden_master_password_aws_secret_key",
          "created_at",
          "key",
          "modified_at",
          "parameter_type",
          "workflow_id"
        ],
        "title": "BitwardenLoginCredentialParameter",
        "type": "object"
      },
      "BitwardenLoginCredentialParameterYAML": {
        "properties": {
          "bitwarden_client_id_aws_secret_key": {
            "title": "Bitwarden Client Id Aws Secret Key",
            "type": "string"
          },
          "bitwarden_client_secret_aws_secret_key": {
            "title": "Bitwarden Client Secret Aws Secret Key",
            "type": "string"
          },
          "bitwarden_collection_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bitwarden Collection Id"
          },
          "bitwarden_item_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Bitwarden Item Id"
          },
          "bitwarden_master_password_aws_secret_key": {
            "title": "Bitwarden Master Password Aws Secret Key",
            "type": "string"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "key": {
            "title": "Key",
            "type": "string"
          },
          "parameter_type": {
            "const": "bitwarden_login_credential",
            "default": "bitwarden_login_credential",
            "title": "Parameter Type",
            "type": "string"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Identifier"
          },
          "url_parameter_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url Parameter Key"
          }
        },
        "required": [
          "bitwarden_client_id_aws_secret_key",
          "bitwarden_client_secret_aws_secret_key",
          "bitwarden_master_password_aws_secret_key",
          "key",
          "parameter_type"
        ],
        "title": "BitwardenLoginCredentialParameterYAML",
        "type": "object"
      },
      "BitwardenSensitiveInformationParameter": {
        "properties": {
          "bitwarden_client_id_aws_secret_key": {
            "title": "Bitwarden Client Id Aws Secret Key",
            "type": "string"
          },
          "bitwarden_client_secret_aws_secret_key": {
            "title": "Bitwarden Client Secret Aws Secret Key",
            "type": "string"
          },
          "bitwarden_collection_id": {
            "title": "Bitwarden Collection Id",
            "type": "string"
          },
          "bitwarden_identity_fields": {
            "items": {
              "type": "string"
            },
            "title": "Bitwarden Identity Fields",
            "type": "array"
          },
          "bitwarden_identity_key": {
            "title": "Bitwarden Identity Key",
            "type": "string"
          },
          "bitwarden_master_password_aws_secret_key": {
            "title": "Bitwarden Master Password Aws Secret Key",
            "type": "string"
          },
          "bitwarden_sensitive_information_parameter_id": {
            "title": "Bitwarden Sensitive Information Parameter Id",
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "deleted_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Deleted At"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "key": {
            "title": "Key",
            "type": "string"
          },
          "modified_at": {
            "format": "date-time",
            "title": "Modified At",
            "type": "string"
          },
          "parameter_type": {
            "const": "bitwarden_sensitive_information",
            "default": "bitwarden_sensitive_information",
            "title": "Parameter Type",
            "type": "string"
          },
          "workflow_id": {
            "title": "Workflow Id",
            "type": "string"
          }
        },
        "required": [
          "bitwarden_client_id_aws_secret_key",
          "bitwarden_client_secret_aws_secret_key",
          "bitwarden_collection_id",
          "bitwarden_identity_fields",
          "bitwarden_identity_key",
          "bitwarden_master_password_aws_secret_key",
          "bitwarden_sensitive_information_parameter_id",
          "created_at",
          "key",
          "modified_at",
          "parameter_type",
          "workflow_id"
        ],
        "title": "BitwardenSensitiveInformationParameter",
        "type": "object"
      },
      "BitwardenSensitiveInformationParameterYAML": {
        "properties": {
          "bitwarden_client_id_aws_secret_key": {
            "title": "Bitwarden Client Id Aws Secret Key",
            "type": "string"
          },
          "bitwarden_client_secret_aws_secret_key": {
            "title": "Bitwarden Client Secret Aws Secret Key",
            "type": "string"
          },
          "bitwarden_collection_id": {
            "title": "Bitwarden Collection Id",
            "type": "string"
          },
          "bitwarden_identity_fields": {
            "items": {
              "type": "string"
            },
            "title": "Bitwarden Identity Fields",
            "type": "array"
          },
          "bitwarden_identity_key": {
            "title": "Bitwarden Identity Key",
            "type": "string"
          },
          "bitwarden_master_password_aws_secret_key": {
            "title": "Bitwarden Master Password Aws Secret Key",
            "type": "string"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "key": {
            "title": "Key",
            "type": "string"
          },
          "parameter_type": {
            "const": "bitwarden_sensitive_information",
            "default": "bitwarden_sensitive_information",
            "title": "Parameter Type",
            "type": "string"
          }
        },
        "required": [
          "bitwarden_client_id_aws_secret_key",
          "bitwarden_client_secret_aws_secret_key",
          "bitwarden_collection_id",
          "bitwarden_identity_fields",
          "bitwarden_identity_key",
          "bitwarden_master_password_aws_secret_key",
          "key",
          "parameter_type"
        ],
        "title": "BitwardenSensitiveInformationParameterYAML",
        "type": "object"
      },
      "BlockType": {
        "enum": [
          "task",
          "task_v2",
          "for_loop",
          "while_loop",
          "conditional",
          "code",
          "text_prompt",
          "download_to_s3",
          "upload_to_s3",
          "file_upload",
          "send_email",
          "file_url_parser",
          "validation",
          "action",
          "navigation",
          "extraction",
          "login",
          "wait",
          "file_download",
          "goto_url",
          "pdf_parser",
          "http_request",
          "web_search",
          "human_interaction",
          "print_page",
          "workflow_trigger",
          "google_sheets_read",
          "google_sheets_write",
          "powerbi_query",
          "pdf_fill",
          "split_pdf",
          "email_inbox",
          "data_export",
          "terminate",
          "agent_step"
        ],
        "title": "BlockType",
        "type": "string"
      },
      "Body_upload_file_v1_upload_file_post": {
        "properties": {
          "file": {
            "format": "binary",
            "title": "File",
            "type": "string"
          },
          "retention_days": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Number of days to keep the file before it is deleted automatically. Omit to keep the file until the organization's data retention policy removes it.",
            "title": "Retention Days"
          }
        },
        "required": [
          "file"
        ],
        "title": "Body_upload_file_v1_upload_file_post",
        "type": "object"
      },
      "BranchCondition": {
        "description": "Represents a single conditional branch edge within a ConditionalBlock.",
        "properties": {
          "criteria": {
            "anyOf": [
              {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/JinjaBranchCriteria"
                  },
                  {
                    "$ref": "#/components/schemas/PromptBranchCriteria"
                  }
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Criteria"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "is_default": {
            "default": false,
            "title": "Is Default",
            "type": "boolean"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Block Label"
          }
        },
        "title": "BranchCondition",
        "type": "object"
      },
      "BranchConditionYAML": {
        "properties": {
          "criteria": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BranchCriteriaYAML"
              },
              {
                "type": "null"
              }
            ]
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "is_default": {
            "default": false,
            "title": "Is Default",
            "type": "boolean"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Block Label"
          }
        },
        "title": "BranchConditionYAML",
        "type": "object"
      },
      "BranchCriteriaYAML": {
        "properties": {
          "criteria_type": {
            "default": "jinja2_template",
            "enum": [
              "jinja2_template",
              "prompt"
            ],
            "title": "Criteria Type",
            "type": "string"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "expression": {
            "title": "Expression",
            "type": "string"
          }
        },
        "required": [
          "expression"
        ],
        "title": "BranchCriteriaYAML",
        "type": "object"
      },
      "BrowserProfile": {
        "properties": {
          "browser_profile_id": {
            "title": "Browser Profile Id",
            "type": "string"
          },
          "browser_profile_key_digest": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Browser Profile Key Digest"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "deleted_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Deleted At"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "is_managed": {
            "default": false,
            "title": "Is Managed",
            "type": "boolean"
          },
          "last_verified_login_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Verified Login At"
          },
          "linked_credential_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Linked Credential Id"
          },
          "linked_credential_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Linked Credential Name"
          },
          "modified_at": {
            "format": "date-time",
            "title": "Modified At",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          },
          "organization_id": {
            "title": "Organization Id",
            "type": "string"
          },
          "proxy_location": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ProxyLocation"
              },
              {
                "$ref": "#/components/schemas/GeoTarget"
              },
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Proxy Location"
          },
          "proxy_session_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Proxy Session Id"
          },
          "source_browser_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Source Browser Type"
          },
          "workflow_permanent_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Workflow Permanent Id"
          }
        },
        "required": [
          "browser_profile_id",
          "organization_id",
          "name",
          "created_at",
          "modified_at"
        ],
        "title": "BrowserProfile",
        "type": "object"
      },
      "BrowserProfileUsage": {
        "properties": {
          "credentials": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/BrowserProfileUsageCredential"
            },
            "title": "Credentials",
            "type": "array"
          },
          "recent_seeded_run_count": {
            "default": 0,
            "title": "Recent Seeded Run Count",
            "type": "integer"
          },
          "workflows": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/BrowserProfileUsageWorkflow"
            },
            "title": "Workflows",
            "type": "array"
          }
        },
        "title": "BrowserProfileUsage",
        "type": "object"
      },
      "BrowserProfileUsageCredential": {
        "properties": {
          "credential_id": {
            "title": "Credential Id",
            "type": "string"
          },
          "name": {
            "title": "Name",
            "type": "string"
          }
        },
        "required": [
          "credential_id",
          "name"
        ],
        "title": "BrowserProfileUsageCredential",
        "type": "object"
      },
      "BrowserProfileUsageWorkflow": {
        "properties": {
          "title": {
            "title": "Title",
            "type": "string"
          },
          "via": {
            "title": "Via",
            "type": "string"
          },
          "workflow_permanent_id": {
            "title": "Workflow Permanent Id",
            "type": "string"
          }
        },
        "required": [
          "workflow_permanent_id",
          "title",
          "via"
        ],
        "title": "BrowserProfileUsageWorkflow",
        "type": "object"
      },
      "BrowserSeedSource": {
        "description": "Which layer of the seed-precedence chain seeded a run's browser (provenance).\n\nResolved once at run setup, before any browser creation, for all run types (C-semantics).\n- override: explicit request browser_profile_id (one-run-only pick via API)\n- picked: the workflow's explicit profile pick (workflows.browser_profile_id) — \"always start here\"\n- own_memory: the workflow's own auto-profile (no pick + persist_browser_session)\n- credential: the run's selected credential's profile (rotation-aware; also the empty-own boot)\n- fresh: no seed profile\n- degraded_fresh: a resolved profile failed to load; ran fresh",
        "enum": [
          "override",
          "picked",
          "own_memory",
          "credential",
          "fresh",
          "degraded_fresh"
        ],
        "title": "BrowserSeedSource",
        "type": "string"
      },
      "BrowserSessionResponse": {
        "description": "Response model for browser session information.",
        "properties": {
          "app_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Url for the browser session page",
            "examples": [
              "https://app.skyvern.com/browser-session/pbs_123456"
            ],
            "title": "App Url"
          },
          "browser_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Url for connecting to the browser",
            "examples": [
              "http://localhost:9222",
              "https://3.12.10.11/browser/123456"
            ],
            "title": "Browser Address"
          },
          "browser_profile_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "ID of the browser profile loaded into this session, if any. browser_profile_id starts with `bp_`.",
            "title": "Browser Profile Id"
          },
          "browser_session_id": {
            "description": "Unique identifier for the browser session. browser_session_id starts with `pbs_`.",
            "examples": [
              "pbs_123456"
            ],
            "title": "Browser Session Id",
            "type": "string"
          },
          "browser_settings": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BrowserSettings"
              },
              {
                "type": "null"
              }
            ],
            "description": "Browser settings requested when the session was created."
          },
          "browser_settings_receipt": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BrowserSettingsReceipt"
              },
              {
                "type": "null"
              }
            ],
            "description": "What the browser reported after launch for the requested settings. Null until it is measured, and always null when no settings were requested."
          },
          "browser_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PersistentBrowserType"
              },
              {
                "type": "null"
              }
            ],
            "description": "The type of browser used for the session."
          },
          "completed_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Timestamp when the session was completed",
            "title": "Completed At"
          },
          "created_at": {
            "description": "Timestamp when the session was created (the timestamp for the initial request)",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "created_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "ID of the user who created the session",
            "title": "Created By"
          },
          "deleted_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Timestamp when the session was deleted, if applicable",
            "title": "Deleted At"
          },
          "download_path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The path where the browser session downloads files",
            "title": "Download Path"
          },
          "downloaded_files": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/FileInfo"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "description": "The list of files downloaded by the browser session",
            "title": "Downloaded Files"
          },
          "extensions": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/Extensions"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "description": "A list of extensions installed in the browser session.",
            "title": "Extensions"
          },
          "generate_browser_profile": {
            "default": false,
            "description": "Whether this session's browser profile will be saved when it ends so it can become a reusable browser profile.",
            "title": "Generate Browser Profile",
            "type": "boolean"
          },
          "modified_at": {
            "description": "Timestamp when the session was last modified",
            "format": "date-time",
            "title": "Modified At",
            "type": "string"
          },
          "organization_id": {
            "description": "ID of the organization that owns this session",
            "title": "Organization Id",
            "type": "string"
          },
          "recordings": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/FileInfo"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "description": "The list of video recordings from the browser session",
            "title": "Recordings"
          },
          "remaining_lifetime_seconds": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Seconds left before a registered external browser's fixed deadline. Null for managed sessions and once the session has ended.",
            "title": "Remaining Lifetime Seconds"
          },
          "runnable_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "ID of the current runnable",
            "examples": [
              "tsk_123456",
              "wr_123456"
            ],
            "title": "Runnable Id"
          },
          "runnable_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Type of the current runnable associated with this session (workflow, task etc)",
            "examples": [
              "task",
              "workflow_run"
            ],
            "title": "Runnable Type"
          },
          "source": {
            "default": "managed",
            "description": "\"external\" for a browser the caller registered and runs itself; \"managed\" for one Skyvern runs.",
            "enum": [
              "managed",
              "external"
            ],
            "title": "Source",
            "type": "string"
          },
          "started_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Timestamp when the session was started",
            "title": "Started At"
          },
          "status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Current status of the browser session",
            "examples": [
              "created",
              "running",
              "completed",
              "failed",
              "timeout"
            ],
            "title": "Status"
          },
          "stream_transport": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Live-view transport for this session: \"vnc\" or \"cdp\". Resolved on the single-session fetch only; null elsewhere.",
            "examples": [
              "vnc",
              "cdp"
            ],
            "title": "Stream Transport"
          },
          "timeout": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Timeout in minutes for the session. Timeout is applied after the session is started. Defaults to 60 minutes.",
            "examples": [
              60,
              120
            ],
            "title": "Timeout"
          },
          "vnc_streaming_supported": {
            "default": false,
            "description": "Whether the browser session supports VNC streaming",
            "title": "Vnc Streaming Supported",
            "type": "boolean"
          },
          "warning": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Advisory message about how the request was adjusted, if it was. Set when a requested timeout above the maximum was capped at creation, when an extension was granted less than it asked for, or when an extension was accepted but not yet confirmed; null otherwise.",
            "title": "Warning"
          }
        },
        "required": [
          "browser_session_id",
          "organization_id",
          "created_at",
          "modified_at"
        ],
        "title": "BrowserSessionResponse",
        "type": "object"
      },
      "BrowserSettings": {
        "properties": {
          "timezone_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "IANA timezone the browser reports to pages, for example `America/New_York`. Applied when a browser is created and takes precedence over any timezone implied by the proxy location. Offsets such as `+03:00` are rejected. Omit or set to null to keep the default behavior.",
            "examples": [
              "America/New_York"
            ],
            "title": "Timezone Id"
          }
        },
        "title": "BrowserSettings",
        "type": "object"
      },
      "BrowserSettingsReceipt": {
        "properties": {
          "actual_timezone_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The timezone the browser reported when measured, or null when it could not be measured.",
            "title": "Actual Timezone Id"
          },
          "requested_timezone_id": {
            "description": "The timezone that was requested.",
            "title": "Requested Timezone Id",
            "type": "string"
          },
          "source": {
            "$ref": "#/components/schemas/BrowserSettingsSource",
            "description": "Where the requested setting came from."
          },
          "status": {
            "$ref": "#/components/schemas/BrowserSettingsStatus",
            "description": "`verified` when the browser reported the requested timezone or an IANA alias of it (Chromium reports `Asia/Calcutta` for `Asia/Kolkata`), `mismatch` when it reported another zone, `unapplied` when the browser already existed and was left unchanged, `unknown` when it could not be measured."
          },
          "warning": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Warning"
          }
        },
        "required": [
          "requested_timezone_id",
          "source",
          "status"
        ],
        "title": "BrowserSettingsReceipt",
        "type": "object"
      },
      "BrowserSettingsSource": {
        "enum": [
          "workflow_version",
          "session_request",
          "existing_session"
        ],
        "title": "BrowserSettingsSource",
        "type": "string"
      },
      "BrowserSettingsStatus": {
        "enum": [
          "verified",
          "mismatch",
          "unapplied",
          "unknown"
        ],
        "title": "BrowserSettingsStatus",
        "type": "string"
      },
      "BrowserTypeOption": {
        "properties": {
          "label": {
            "title": "Label",
            "type": "string"
          },
          "value": {
            "title": "Value",
            "type": "string"
          }
        },
        "required": [
          "value",
          "label"
        ],
        "title": "BrowserTypeOption",
        "type": "object"
      },
      "BulkCancelRunsRequest": {
        "properties": {
          "run_ids": {
            "description": "List of run IDs to cancel",
            "items": {
              "type": "string"
            },
            "maxItems": 100,
            "title": "Run Ids",
            "type": "array"
          }
        },
        "required": [
          "run_ids"
        ],
        "title": "BulkCancelRunsRequest",
        "type": "object"
      },
      "BulkCancelRunsResponse": {
        "properties": {
          "cancelled": {
            "description": "Run IDs that were successfully cancelled",
            "items": {
              "type": "string"
            },
            "title": "Cancelled",
            "type": "array"
          },
          "failed": {
            "description": "Run IDs that could not be cancelled",
            "items": {
              "type": "string"
            },
            "title": "Failed",
            "type": "array"
          }
        },
        "required": [
          "cancelled",
          "failed"
        ],
        "title": "BulkCancelRunsResponse",
        "type": "object"
      },
      "ClearOrganizationAuthTokenResponse": {
        "description": "Response model for clearing an organization auth token.",
        "properties": {
          "success": {
            "description": "Whether the token was cleared successfully",
            "title": "Success",
            "type": "boolean"
          }
        },
        "required": [
          "success"
        ],
        "title": "ClearOrganizationAuthTokenResponse",
        "type": "object"
      },
      "ClickAction": {
        "description": "Click action parameters.",
        "properties": {
          "data": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Additional context data",
            "title": "Data"
          },
          "intention": {
            "default": "",
            "description": "The intention or goal of the click",
            "title": "Intention",
            "type": "string"
          },
          "selector": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": "",
            "description": "CSS selector for the element",
            "title": "Selector"
          },
          "timeout": {
            "default": 10000,
            "description": "Timeout in milliseconds",
            "title": "Timeout",
            "type": "number"
          },
          "type": {
            "const": "ai_click",
            "default": "ai_click",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "type"
        ],
        "title": "ClickAction",
        "type": "object"
      },
      "ClickContext": {
        "properties": {
          "desired_state": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Desired State"
          },
          "single_option_click": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Single Option Click"
          },
          "thought": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Thought"
          }
        },
        "title": "ClickContext",
        "type": "object"
      },
      "CodeBlock": {
        "properties": {
          "block_type": {
            "const": "code",
            "default": "code",
            "title": "Block Type",
            "type": "string"
          },
          "code": {
            "title": "Code",
            "type": "string"
          },
          "code_edited_by_hand": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Code Edited By Hand"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "data_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data Schema"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "error_code_mapping": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Code Mapping"
          },
          "goal_needs_regeneration": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Goal Needs Regeneration"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "parameters": {
            "default": [],
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/WorkflowParameter"
                },
                {
                  "$ref": "#/components/schemas/ContextParameter"
                },
                {
                  "$ref": "#/components/schemas/AWSSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenLoginCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenSensitiveInformationParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenCreditCardDataParameter"
                },
                {
                  "$ref": "#/components/schemas/OnePasswordCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureVaultCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/OutputParameter"
                },
                {
                  "$ref": "#/components/schemas/CredentialParameter"
                }
              ]
            },
            "title": "Parameters",
            "type": "array"
          },
          "prompt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Prompt"
          },
          "steps": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/CodeBlockStep"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Steps"
          },
          "user_owned_goal": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Owned Goal"
          }
        },
        "required": [
          "block_type",
          "code",
          "label",
          "output_parameter"
        ],
        "title": "CodeBlock",
        "type": "object"
      },
      "CodeBlockStep": {
        "properties": {
          "action_type": {
            "$ref": "#/components/schemas/ActionType",
            "default": "null_action"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "line_end": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Line End"
          },
          "line_start": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Line Start"
          }
        },
        "title": "CodeBlockStep",
        "type": "object"
      },
      "CodeBlockStepYAML": {
        "properties": {
          "action_type": {
            "default": "null_action",
            "title": "Action Type",
            "type": "string"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "line_end": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Line End"
          },
          "line_start": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Line Start"
          }
        },
        "title": "CodeBlockStepYAML",
        "type": "object"
      },
      "CodeBlockYAML": {
        "properties": {
          "block_type": {
            "const": "code",
            "default": "code",
            "title": "Block Type",
            "type": "string"
          },
          "code": {
            "title": "Code",
            "type": "string"
          },
          "code_edited_by_hand": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "description": "True when a person edited this block's code in the editor's code field since the Goal was last confirmed, so the Goal may no longer describe the code. Set by the editor; a value the copilot submits is ignored in favour of the stored one",
            "title": "Code Edited By Hand"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "data_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "JSON schema of the object this block's return produces; keys match the return keys; null when the block returns nothing",
            "title": "Data Schema"
          },
          "error_code_mapping": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Code Mapping"
          },
          "goal_needs_regeneration": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "description": "True when a person edited the Goal and the code has not been rebuilt from it yet. Set by the editor or the workflow API; a value the copilot submits is ignored in favour of the stored one",
            "title": "Goal Needs Regeneration"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "parameter_keys": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parameter Keys"
          },
          "prompt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Plain-language goal of this code block, shown as the block's Goal in the editor",
            "title": "Prompt"
          },
          "steps": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/CodeBlockStepYAML"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "description": "Plain-language step outline mapped to code line ranges; always rebuilt from the code on save, so any value sent is ignored",
            "title": "Steps"
          },
          "user_owned_goal": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "description": "True when a person wrote this block's Goal, so copilot regenerations keep their text. Set by the editor or the workflow API; a value the copilot submits is ignored in favour of the stored one",
            "title": "User Owned Goal"
          }
        },
        "required": [
          "block_type",
          "code",
          "label"
        ],
        "title": "CodeBlockYAML",
        "type": "object"
      },
      "ConditionalBlock": {
        "description": "Branching block that selects the next block label based on list-ordered conditions.",
        "properties": {
          "block_type": {
            "const": "conditional",
            "default": "conditional",
            "title": "Block Type",
            "type": "string"
          },
          "branch_conditions": {
            "items": {
              "$ref": "#/components/schemas/BranchCondition"
            },
            "title": "Branch Conditions",
            "type": "array"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          }
        },
        "required": [
          "block_type",
          "label",
          "output_parameter"
        ],
        "title": "ConditionalBlock",
        "type": "object"
      },
      "ConditionalBlockYAML": {
        "properties": {
          "block_type": {
            "const": "conditional",
            "default": "conditional",
            "title": "Block Type",
            "type": "string"
          },
          "branch_conditions": {
            "items": {
              "$ref": "#/components/schemas/BranchConditionYAML"
            },
            "title": "Branch Conditions",
            "type": "array"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          }
        },
        "required": [
          "block_type",
          "label"
        ],
        "title": "ConditionalBlockYAML",
        "type": "object"
      },
      "ContextParameter": {
        "properties": {
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "key": {
            "title": "Key",
            "type": "string"
          },
          "parameter_type": {
            "const": "context",
            "default": "context",
            "title": "Parameter Type",
            "type": "string"
          },
          "source": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/WorkflowParameter"
              },
              {
                "$ref": "#/components/schemas/ContextParameter"
              },
              {
                "$ref": "#/components/schemas/AWSSecretParameter"
              },
              {
                "$ref": "#/components/schemas/AzureSecretParameter"
              },
              {
                "$ref": "#/components/schemas/BitwardenLoginCredentialParameter"
              },
              {
                "$ref": "#/components/schemas/BitwardenSensitiveInformationParameter"
              },
              {
                "$ref": "#/components/schemas/BitwardenCreditCardDataParameter"
              },
              {
                "$ref": "#/components/schemas/OnePasswordCredentialParameter"
              },
              {
                "$ref": "#/components/schemas/AzureVaultCredentialParameter"
              },
              {
                "$ref": "#/components/schemas/OutputParameter"
              },
              {
                "$ref": "#/components/schemas/CredentialParameter"
              }
            ],
            "title": "Source"
          },
          "value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "integer"
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              },
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Value"
          }
        },
        "required": [
          "key",
          "parameter_type",
          "source"
        ],
        "title": "ContextParameter",
        "type": "object"
      },
      "ContextParameterYAML": {
        "properties": {
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "key": {
            "title": "Key",
            "type": "string"
          },
          "parameter_type": {
            "const": "context",
            "default": "context",
            "title": "Parameter Type",
            "type": "string"
          },
          "source_parameter_key": {
            "title": "Source Parameter Key",
            "type": "string"
          }
        },
        "required": [
          "key",
          "parameter_type",
          "source_parameter_key"
        ],
        "title": "ContextParameterYAML",
        "type": "object"
      },
      "CreateBrowserProfileRequest": {
        "properties": {
          "browser_session_id": {
            "anyOf": [
              {
                "minLength": 1,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Persistent browser session to convert into a profile. Omit for a blank profile.",
            "title": "Browser Session Id"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional profile description",
            "title": "Description"
          },
          "name": {
            "description": "Name for the browser profile",
            "minLength": 1,
            "title": "Name",
            "type": "string"
          },
          "proxy_location": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ProxyLocation"
              },
              {
                "$ref": "#/components/schemas/GeoTarget"
              },
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional proxy location for this profile's pinned proxy identity.",
            "title": "Proxy Location"
          },
          "proxy_session_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Explicit sticky-session id for this profile's pinned proxy identity.",
            "title": "Proxy Session Id"
          },
          "workflow_run_id": {
            "anyOf": [
              {
                "minLength": 1,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Workflow run whose persisted session should be captured. Omit for a blank profile.",
            "title": "Workflow Run Id"
          }
        },
        "required": [
          "name"
        ],
        "title": "CreateBrowserProfileRequest",
        "type": "object"
      },
      "CreateBrowserSessionRequest": {
        "properties": {
          "browser_profile_id": {
            "anyOf": [
              {
                "pattern": "^bp_",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "ID of a browser profile to load into this session (restores cookies, localStorage, etc.). browser_profile_id starts with `bp_`.",
            "title": "Browser Profile Id"
          },
          "browser_settings": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BrowserSettings"
              },
              {
                "type": "null"
              }
            ],
            "description": "Settings applied when the session's browser is created. A timezone_id here takes precedence over the timezone implied by proxy_location."
          },
          "browser_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PersistentBrowserType"
              },
              {
                "type": "null"
              }
            ],
            "description": "The type of browser to use for the session."
          },
          "extensions": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/Extensions"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "description": "A list of extensions to install in the browser session.",
            "title": "Extensions"
          },
          "generate_browser_profile": {
            "default": false,
            "description": "When true, the session's browser profile (cookies, localStorage, etc.) is saved to storage when the session ends so it can be turned into a reusable browser profile. Defaults to false to avoid storing profiles for sessions that never need them. Sessions started with a browser_profile_id always persist their profile regardless of this flag.",
            "title": "Generate Browser Profile",
            "type": "boolean"
          },
          "needs_live_view": {
            "default": false,
            "description": "Whether a person will watch this session's browser live. Defaults to false, which suits unattended automation; the Skyvern app sets it because a session opened in the UI is watched. It requests a capability, not a particular browser, and cannot be used to select where the session runs.",
            "title": "Needs Live View",
            "type": "boolean"
          },
          "proxy_location": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ProxyLocation"
              },
              {
                "$ref": "#/components/schemas/GeoTarget"
              },
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "\nGeographic Proxy location to route the browser traffic through. This is only available in Skyvern Cloud.\n\nAvailable geotargeting options:\n- RESIDENTIAL: the default value. Skyvern Cloud uses a random US residential proxy.\n- RESIDENTIAL_ES: Spain\n- RESIDENTIAL_IE: Ireland\n- RESIDENTIAL_GB: United Kingdom\n- RESIDENTIAL_IN: India\n- RESIDENTIAL_JP: Japan\n- RESIDENTIAL_FR: France\n- RESIDENTIAL_DE: Germany\n- RESIDENTIAL_NZ: New Zealand\n- RESIDENTIAL_PH: Philippines\n- RESIDENTIAL_KR: South Korea\n- RESIDENTIAL_SA: Saudi Arabia\n- RESIDENTIAL_ZA: South Africa\n- RESIDENTIAL_AR: Argentina\n- RESIDENTIAL_AU: Australia\n- RESIDENTIAL_BR: Brazil\n- RESIDENTIAL_TR: Turkey\n- RESIDENTIAL_CA: Canada\n- RESIDENTIAL_MX: Mexico\n- RESIDENTIAL_IT: Italy\n- RESIDENTIAL_NL: Netherlands\n- RESIDENTIAL_ISP: ISP proxy\n- US-CA: California (deprecated, routes through RESIDENTIAL_ISP)\n- US-NY: New York (deprecated, routes through RESIDENTIAL_ISP)\n- US-TX: Texas (deprecated, routes through RESIDENTIAL_ISP)\n- US-FL: Florida (deprecated, routes through RESIDENTIAL_ISP)\n- US-WA: Washington (deprecated, routes through RESIDENTIAL_ISP)\n- NONE: No proxy\n\nFor self-hosted deployments, you can pass a custom proxy URL as a dict: {\"url\": \"http://user:password@proxy.example:8080\"}. This routes the browser through your own proxy server and takes precedence over any globally configured proxy pool.\n Can also be a GeoTarget object for granular city/state targeting: {\"country\": \"US\", \"subdivision\": \"CA\", \"city\": \"San Francisco\"}, or a custom proxy URL dict for self-hosted deployments: {\"url\": \"http://user:password@proxy.example:8080\"}",
            "title": "Proxy Location"
          },
          "proxy_session_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Opaque Skyvern-managed proxy sticky-session id for pinned Residential ISP sessions.",
            "title": "Proxy Session Id"
          },
          "timeout": {
            "anyOf": [
              {
                "minimum": 5,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "default": 60,
            "description": "Timeout in minutes for the session. Timeout is applied after the session is started. Must be between 5 and 240. Defaults to 60.",
            "title": "Timeout"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional URL to open when the standalone browser session starts.",
            "title": "Url"
          }
        },
        "title": "CreateBrowserSessionRequest",
        "type": "object"
      },
      "CreateCredentialRequest": {
        "description": "Request model for creating a new credential.",
        "properties": {
          "auto_profile_disabled": {
            "default": false,
            "description": "Disable automatic saving and reuse of this credential's browser profile.",
            "title": "Auto Profile Disabled",
            "type": "boolean"
          },
          "browser_profile_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional plain browser profile to link as this credential's saved profile. Must be an unmanaged profile in your organization that no other credential already owns.",
            "title": "Browser Profile Id"
          },
          "credential": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/NonEmptyPasswordCredential"
              },
              {
                "$ref": "#/components/schemas/NonEmptyCreditCardCredential"
              },
              {
                "$ref": "#/components/schemas/SecretCredential"
              }
            ],
            "description": "The credential data to store",
            "examples": [
              {
                "password": "securepassword123",
                "username": "user@example.com"
              }
            ],
            "title": "Credential"
          },
          "credential_type": {
            "$ref": "#/components/schemas/skyvern__forge__sdk__schemas__credentials__CredentialType",
            "description": "Type of credential to create"
          },
          "name": {
            "description": "Name of the credential",
            "examples": [
              "Amazon Login"
            ],
            "title": "Name",
            "type": "string"
          },
          "pin_saved_session_ip": {
            "default": false,
            "description": "Keep the same IP across sign-ins that reuse this credential's saved profile.",
            "title": "Pin Saved Session Ip",
            "type": "boolean"
          },
          "proxy_location": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ProxyLocation"
              },
              {
                "$ref": "#/components/schemas/GeoTarget"
              },
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional proxy location for this credential's pinned proxy identity.",
            "title": "Proxy Location"
          },
          "proxy_session_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional advanced reuse key for this credential's pinned proxy identity.",
            "title": "Proxy Session Id"
          },
          "rotate_proxy_session_id": {
            "default": false,
            "description": "Rotate the Skyvern-managed proxy sticky-session id when updating this credential.",
            "title": "Rotate Proxy Session Id",
            "type": "boolean"
          },
          "tested_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Login page URL used during the credential test",
            "title": "Tested Url"
          },
          "vault_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CredentialVaultType"
              },
              {
                "type": "null"
              }
            ],
            "description": "Which vault to store this credential in. If omitted, uses the instance default. Use this to mix Skyvern-hosted and custom credentials within the same organization.",
            "examples": [
              "skyvern",
              "custom",
              "azure_vault",
              "bitwarden"
            ]
          }
        },
        "required": [
          "name",
          "credential_type",
          "credential"
        ],
        "title": "CreateCredentialRequest",
        "type": "object"
      },
      "CreateScriptRequest": {
        "properties": {
          "files": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/ScriptFileCreate"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "description": "Array of files to include in the script",
            "examples": [
              {
                "content": "cHJpbnQoIkhlbGxvLCBXb3JsZCEiKQ==",
                "encoding": "base64",
                "mime_type": "text/x-python",
                "path": "main.py"
              },
              {
                "content": "cmVxdWVzdHM9PTIuMjguMQ==",
                "encoding": "base64",
                "mime_type": "text/plain",
                "path": "requirements.txt"
              }
            ],
            "title": "Files"
          },
          "run_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Associated run ID",
            "title": "Run Id"
          },
          "workflow_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Associated workflow ID",
            "title": "Workflow Id"
          }
        },
        "title": "CreateScriptRequest",
        "type": "object"
      },
      "CreateScriptResponse": {
        "properties": {
          "created_at": {
            "description": "Timestamp when the script was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "file_count": {
            "description": "Total number of files in the script",
            "title": "File Count",
            "type": "integer"
          },
          "file_tree": {
            "additionalProperties": {
              "$ref": "#/components/schemas/FileNode"
            },
            "description": "Hierarchical file tree structure",
            "title": "File Tree",
            "type": "object"
          },
          "run_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "ID of the workflow run or task run that generated this script",
            "title": "Run Id"
          },
          "script_id": {
            "description": "Unique script identifier",
            "examples": [
              "s_abc123"
            ],
            "title": "Script Id",
            "type": "string"
          },
          "version": {
            "description": "Script version number",
            "examples": [
              1
            ],
            "title": "Version",
            "type": "integer"
          }
        },
        "required": [
          "script_id",
          "version",
          "file_count",
          "file_tree",
          "created_at"
        ],
        "title": "CreateScriptResponse",
        "type": "object"
      },
      "CreateTwilioCredentialRequest": {
        "properties": {
          "credential": {
            "$ref": "#/components/schemas/TwilioCredential"
          }
        },
        "required": [
          "credential"
        ],
        "title": "CreateTwilioCredentialRequest",
        "type": "object"
      },
      "CredentialParameter": {
        "properties": {
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "credential_id": {
            "title": "Credential Id",
            "type": "string"
          },
          "credential_ids": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Credential Ids"
          },
          "credential_parameter_id": {
            "title": "Credential Parameter Id",
            "type": "string"
          },
          "deleted_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Deleted At"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "fallback_credential_ids": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fallback Credential Ids"
          },
          "fallback_trigger": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fallback Trigger"
          },
          "key": {
            "title": "Key",
            "type": "string"
          },
          "modified_at": {
            "format": "date-time",
            "title": "Modified At",
            "type": "string"
          },
          "parameter_type": {
            "const": "credential",
            "default": "credential",
            "title": "Parameter Type",
            "type": "string"
          },
          "selection_strategy": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Selection Strategy"
          },
          "workflow_id": {
            "title": "Workflow Id",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "credential_id",
          "credential_parameter_id",
          "key",
          "modified_at",
          "parameter_type",
          "workflow_id"
        ],
        "title": "CredentialParameter",
        "type": "object"
      },
      "CredentialParameterYAML": {
        "properties": {
          "credential_id": {
            "title": "Credential Id",
            "type": "string"
          },
          "credential_ids": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Credential Ids"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "fallback_credential_ids": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fallback Credential Ids"
          },
          "fallback_trigger": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fallback Trigger"
          },
          "key": {
            "title": "Key",
            "type": "string"
          },
          "parameter_type": {
            "const": "credential",
            "default": "credential",
            "title": "Parameter Type",
            "type": "string"
          },
          "selection_strategy": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Selection Strategy"
          }
        },
        "required": [
          "credential_id",
          "key",
          "parameter_type"
        ],
        "title": "CredentialParameterYAML",
        "type": "object"
      },
      "CredentialResponse": {
        "description": "Response model for credential operations.",
        "properties": {
          "auto_profile_disabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "description": "Whether automatic saving and reuse of this credential's browser profile is disabled.",
            "title": "Auto Profile Disabled"
          },
          "browser_profile_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Browser profile ID linked to this credential",
            "title": "Browser Profile Id"
          },
          "created_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "ID of the user who created the credential",
            "title": "Created By"
          },
          "credential": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PasswordCredentialResponse"
              },
              {
                "$ref": "#/components/schemas/CreditCardCredentialResponse"
              },
              {
                "$ref": "#/components/schemas/SecretCredentialResponse"
              }
            ],
            "description": "The credential data",
            "title": "Credential"
          },
          "credential_id": {
            "description": "Unique identifier for the credential",
            "examples": [
              "cred_1234567890"
            ],
            "title": "Credential Id",
            "type": "string"
          },
          "credential_type": {
            "$ref": "#/components/schemas/CredentialType-Output",
            "description": "Type of the credential"
          },
          "folder_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "ID of the credential folder this credential belongs to, if any",
            "examples": [
              "cfld_1234567890"
            ],
            "title": "Folder Id"
          },
          "item_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "1Password item ID for linked credentials",
            "title": "Item Id"
          },
          "name": {
            "description": "Name of the credential",
            "examples": [
              "Amazon Login"
            ],
            "title": "Name",
            "type": "string"
          },
          "pin_saved_session_ip": {
            "default": false,
            "description": "Whether sign-ins reusing this credential's saved profile keep the same IP",
            "title": "Pin Saved Session Ip",
            "type": "boolean"
          },
          "proxy_location": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ProxyLocation"
              },
              {
                "$ref": "#/components/schemas/GeoTarget"
              },
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional proxy location used for the credential's pinned proxy identity.",
            "title": "Proxy Location"
          },
          "proxy_session_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Opaque Skyvern-managed proxy sticky-session id.",
            "title": "Proxy Session Id"
          },
          "run_sequentially": {
            "default": false,
            "title": "Run Sequentially",
            "type": "boolean"
          },
          "save_browser_session_intent": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "description": "Whether the user intends to save a browser session, regardless of test outcome",
            "title": "Save Browser Session Intent"
          },
          "tested_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Login page URL used during the credential test",
            "title": "Tested Url"
          },
          "upstream_missing_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "When the linked 1Password item was last found missing upstream",
            "title": "Upstream Missing At"
          },
          "user_context": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "User-provided context describing the login sequence (e.g., 'click SSO button first')",
            "title": "User Context"
          },
          "vault_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "1Password vault ID for linked credentials",
            "title": "Vault Id"
          },
          "vault_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CredentialVaultType"
              },
              {
                "type": "null"
              }
            ],
            "description": "Which vault stores this credential (e.g., 'skyvern', 'bitwarden', 'azure_vault', 'custom')"
          }
        },
        "required": [
          "credential_id",
          "credential",
          "credential_type",
          "name"
        ],
        "title": "CredentialResponse",
        "type": "object"
      },
      "CredentialType-Output": {
        "description": "Type of credential stored in the system.",
        "enum": [
          "password",
          "credit_card",
          "secret"
        ],
        "title": "CredentialType",
        "type": "string"
      },
      "CredentialVaultType": {
        "enum": [
          "skyvern",
          "bitwarden",
          "azure_vault",
          "gcp",
          "custom",
          "onepassword",
          "bitwarden_connected"
        ],
        "title": "CredentialVaultType",
        "type": "string"
      },
      "CreditCardBillingAddress": {
        "description": "Optional billing address fields associated with a credit card credential.",
        "properties": {
          "city": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Billing city",
            "examples": [
              "San Francisco"
            ],
            "title": "City"
          },
          "country": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Billing country",
            "examples": [
              "United States"
            ],
            "title": "Country"
          },
          "country_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "ISO 3166-1 alpha-2 billing country code",
            "examples": [
              "US"
            ],
            "title": "Country Code"
          },
          "line1": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Billing address line 1",
            "examples": [
              "123 Main St"
            ],
            "title": "Line1"
          },
          "line2": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Billing address line 2",
            "examples": [
              "Apt 4B"
            ],
            "title": "Line2"
          },
          "postal_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Billing postal code",
            "examples": [
              "94105"
            ],
            "title": "Postal Code"
          },
          "state": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Billing state or region",
            "examples": [
              "California"
            ],
            "title": "State"
          },
          "state_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Billing state or region code",
            "examples": [
              "CA"
            ],
            "title": "State Code"
          }
        },
        "title": "CreditCardBillingAddress",
        "type": "object"
      },
      "CreditCardCredentialResponse": {
        "description": "Response model for credit card credentials — non-sensitive fields only.\n\nSECURITY: Must NEVER include full card number, CVV, expiration date, card holder name,\nbilling fields, or metadata.",
        "properties": {
          "brand": {
            "description": "Brand of the credit card",
            "examples": [
              "visa"
            ],
            "title": "Brand",
            "type": "string"
          },
          "last_four": {
            "description": "Last four digits of the credit card number",
            "examples": [
              "1234"
            ],
            "title": "Last Four",
            "type": "string"
          }
        },
        "required": [
          "last_four",
          "brand"
        ],
        "title": "CreditCardCredentialResponse",
        "type": "object"
      },
      "CustomLLM": {
        "properties": {
          "config": {
            "$ref": "#/components/schemas/CustomLLMConfig"
          },
          "created_at": {
            "title": "Created At",
            "type": "string"
          },
          "id": {
            "title": "Id",
            "type": "string"
          },
          "modified_at": {
            "title": "Modified At",
            "type": "string"
          },
          "organization_id": {
            "title": "Organization Id",
            "type": "string"
          },
          "valid": {
            "title": "Valid",
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "organization_id",
          "config",
          "created_at",
          "modified_at",
          "valid"
        ],
        "title": "CustomLLM",
        "type": "object"
      },
      "CustomLLMConfig": {
        "properties": {
          "add_assistant_prefix": {
            "default": false,
            "title": "Add Assistant Prefix",
            "type": "boolean"
          },
          "api_base": {
            "anyOf": [
              {
                "maxLength": 500,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Api Base"
          },
          "api_key": {
            "anyOf": [
              {
                "maxLength": 1000,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Api Key"
          },
          "api_version": {
            "anyOf": [
              {
                "maxLength": 100,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Api Version"
          },
          "display_name": {
            "maxLength": 120,
            "minLength": 1,
            "title": "Display Name",
            "type": "string"
          },
          "extra_parameters": {
            "additionalProperties": true,
            "title": "Extra Parameters",
            "type": "object"
          },
          "max_completion_tokens": {
            "anyOf": [
              {
                "maximum": 1000000,
                "minimum": 1,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Completion Tokens"
          },
          "model_name": {
            "maxLength": 250,
            "minLength": 1,
            "title": "Model Name",
            "type": "string"
          },
          "provider": {
            "$ref": "#/components/schemas/CustomLLMProvider"
          },
          "reasoning_effort": {
            "anyOf": [
              {
                "maxLength": 50,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reasoning Effort"
          },
          "supports_vision": {
            "default": true,
            "title": "Supports Vision",
            "type": "boolean"
          },
          "temperature": {
            "anyOf": [
              {
                "maximum": 2,
                "minimum": 0,
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Temperature"
          }
        },
        "required": [
          "display_name",
          "provider",
          "model_name"
        ],
        "title": "CustomLLMConfig",
        "type": "object"
      },
      "CustomLLMCreateRequest": {
        "properties": {
          "config": {
            "$ref": "#/components/schemas/CustomLLMConfig"
          }
        },
        "required": [
          "config"
        ],
        "title": "CustomLLMCreateRequest",
        "type": "object"
      },
      "CustomLLMListResponse": {
        "properties": {
          "custom_llms": {
            "items": {
              "$ref": "#/components/schemas/CustomLLM"
            },
            "title": "Custom Llms",
            "type": "array"
          }
        },
        "required": [
          "custom_llms"
        ],
        "title": "CustomLLMListResponse",
        "type": "object"
      },
      "CustomLLMProvider": {
        "enum": [
          "openai_compatible",
          "ollama",
          "openrouter",
          "gemini"
        ],
        "title": "CustomLLMProvider",
        "type": "string"
      },
      "CustomLLMResponse": {
        "properties": {
          "custom_llm": {
            "$ref": "#/components/schemas/CustomLLM"
          }
        },
        "required": [
          "custom_llm"
        ],
        "title": "CustomLLMResponse",
        "type": "object"
      },
      "CustomLLMUpdateRequest": {
        "properties": {
          "config": {
            "$ref": "#/components/schemas/CustomLLMConfig"
          }
        },
        "required": [
          "config"
        ],
        "title": "CustomLLMUpdateRequest",
        "type": "object"
      },
      "DataExportBlock": {
        "properties": {
          "block_type": {
            "const": "data_export",
            "default": "data_export",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "data": {
            "title": "Data",
            "type": "string"
          },
          "data_schema": {
            "additionalProperties": true,
            "title": "Data Schema",
            "type": "object"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "file_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "File Name"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "parameters": {
            "default": [],
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/WorkflowParameter"
                },
                {
                  "$ref": "#/components/schemas/ContextParameter"
                },
                {
                  "$ref": "#/components/schemas/AWSSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenLoginCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenSensitiveInformationParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenCreditCardDataParameter"
                },
                {
                  "$ref": "#/components/schemas/OnePasswordCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureVaultCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/OutputParameter"
                },
                {
                  "$ref": "#/components/schemas/CredentialParameter"
                }
              ]
            },
            "title": "Parameters",
            "type": "array"
          }
        },
        "required": [
          "block_type",
          "data",
          "data_schema",
          "label",
          "output_parameter"
        ],
        "title": "DataExportBlock",
        "type": "object"
      },
      "DataExportBlockYAML": {
        "properties": {
          "block_type": {
            "const": "data_export",
            "default": "data_export",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "data": {
            "title": "Data",
            "type": "string"
          },
          "data_schema": {
            "additionalProperties": true,
            "title": "Data Schema",
            "type": "object"
          },
          "file_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "File Name"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "parameter_keys": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parameter Keys"
          }
        },
        "required": [
          "block_type",
          "data",
          "data_schema",
          "label"
        ],
        "title": "DataExportBlockYAML",
        "type": "object"
      },
      "DeleteScheduleResponse": {
        "properties": {
          "ok": {
            "title": "Ok",
            "type": "boolean"
          }
        },
        "required": [
          "ok"
        ],
        "title": "DeleteScheduleResponse",
        "type": "object"
      },
      "DeployScriptRequest": {
        "description": "Request model for deploying a script with updated files.",
        "properties": {
          "files": {
            "description": "Array of files to include in the script",
            "examples": [
              {
                "content": "cHJpbnQoIkhlbGxvLCBXb3JsZCEiKQ==",
                "encoding": "base64",
                "mime_type": "text/x-python",
                "path": "src/main.py"
              }
            ],
            "items": {
              "$ref": "#/components/schemas/ScriptFileCreate"
            },
            "title": "Files",
            "type": "array"
          }
        },
        "required": [
          "files"
        ],
        "title": "DeployScriptRequest",
        "type": "object"
      },
      "DisablePhoneNumberRequest": {
        "properties": {
          "phone_number_id": {
            "title": "Phone Number Id",
            "type": "string"
          }
        },
        "required": [
          "phone_number_id"
        ],
        "title": "DisablePhoneNumberRequest",
        "type": "object"
      },
      "DownloadFilesRequest": {
        "properties": {
          "browser_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The CDP address for the task.",
            "examples": [
              "http://127.0.0.1:9222",
              "ws://127.0.0.1:9222/devtools/browser/1234567890"
            ],
            "title": "Browser Address"
          },
          "browser_profile_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "ID of a browser profile to reuse for this run",
            "title": "Browser Profile Id"
          },
          "browser_session_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "ID of the browser session to use, which is prefixed by `pbs_` e.g. `pbs_123456`",
            "examples": [
              "pbs_123456"
            ],
            "title": "Browser Session Id"
          },
          "cdp_connect_headers": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "HTTP headers attached ONLY to the CDP WebSocket handshake when connecting to a remote browser via browser_address. Never forwarded to target websites.",
            "title": "Cdp Connect Headers"
          },
          "download_suffix": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Complete filename for the downloaded file. Supports {{ original_filename }}, which keeps the name the site gave the file, so {{ original_filename }} alone preserves it and prefix_{{ original_filename }} prefixes it. The source extension is used unless the configured filename includes an extension, which overrides it. {{ original_filename }} must be a standalone interpolation without filters or other transformations.",
            "title": "Download Suffix"
          },
          "download_timeout": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "description": "Timeout in seconds for the download operation",
            "title": "Download Timeout"
          },
          "extra_http_headers": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Additional HTTP headers to include in requests",
            "title": "Extra Http Headers"
          },
          "max_screenshot_scrolling_times": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Maximum number of times to scroll for screenshots",
            "title": "Max Screenshot Scrolling Times"
          },
          "max_steps_per_run": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Maximum number of steps to execute",
            "title": "Max Steps Per Run"
          },
          "navigation_goal": {
            "description": "Instructions for navigating to and downloading the file",
            "title": "Navigation Goal",
            "type": "string"
          },
          "proxy_location": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ProxyLocation"
              },
              {
                "type": "null"
              }
            ],
            "description": "Proxy location to use"
          },
          "start_fresh_browser": {
            "default": false,
            "description": "When true, start this run from a fresh, empty browser and ignore any saved browser memory — no memory is read or written. A verified sign-in during the run still updates the credential's saved login.",
            "title": "Start Fresh Browser",
            "type": "boolean"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Identifier for TOTP (Time-based One-Time Password) if required",
            "title": "Totp Identifier"
          },
          "totp_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "TOTP URL to fetch one-time passwords",
            "title": "Totp Url"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Website URL",
            "title": "Url"
          },
          "webhook_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Webhook URL to send status updates",
            "title": "Webhook Url"
          }
        },
        "required": [
          "navigation_goal"
        ],
        "title": "DownloadFilesRequest",
        "type": "object"
      },
      "DownloadToS3Block": {
        "properties": {
          "block_type": {
            "const": "download_to_s3",
            "default": "download_to_s3",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "url": {
            "title": "Url",
            "type": "string"
          }
        },
        "required": [
          "block_type",
          "label",
          "output_parameter",
          "url"
        ],
        "title": "DownloadToS3Block",
        "type": "object"
      },
      "DownloadToS3BlockYAML": {
        "properties": {
          "block_type": {
            "const": "download_to_s3",
            "default": "download_to_s3",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "url": {
            "title": "Url",
            "type": "string"
          }
        },
        "required": [
          "block_type",
          "label",
          "url"
        ],
        "title": "DownloadToS3BlockYAML",
        "type": "object"
      },
      "EmailBodyFormat": {
        "enum": [
          "text",
          "html"
        ],
        "title": "EmailBodyFormat",
        "type": "string"
      },
      "EmailInboxBlock": {
        "properties": {
          "block_type": {
            "const": "email_inbox",
            "default": "email_inbox",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "credential_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Credential Id"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "download_attachments": {
            "default": false,
            "title": "Download Attachments",
            "type": "boolean"
          },
          "email_client": {
            "enum": [
              "gmail",
              "outlook"
            ],
            "title": "Email Client",
            "type": "string"
          },
          "folder": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Folder"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "include_body": {
            "default": true,
            "title": "Include Body",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "max_results": {
            "default": 25,
            "title": "Max Results",
            "type": "integer"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "newer_than_days": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Newer Than Days"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "parameters": {
            "default": [],
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/WorkflowParameter"
                },
                {
                  "$ref": "#/components/schemas/ContextParameter"
                },
                {
                  "$ref": "#/components/schemas/AWSSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenLoginCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenSensitiveInformationParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenCreditCardDataParameter"
                },
                {
                  "$ref": "#/components/schemas/OnePasswordCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureVaultCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/OutputParameter"
                },
                {
                  "$ref": "#/components/schemas/CredentialParameter"
                }
              ]
            },
            "title": "Parameters",
            "type": "array"
          },
          "prompt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Prompt"
          },
          "sender": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sender"
          },
          "subject": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Subject"
          }
        },
        "required": [
          "block_type",
          "email_client",
          "label",
          "output_parameter"
        ],
        "title": "EmailInboxBlock",
        "type": "object"
      },
      "EmailInboxBlockYAML": {
        "properties": {
          "block_type": {
            "const": "email_inbox",
            "default": "email_inbox",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "credential_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Credential Id"
          },
          "download_attachments": {
            "default": false,
            "description": "Download non-inline attachments from matched emails for downstream blocks.",
            "title": "Download Attachments",
            "type": "boolean"
          },
          "email_client": {
            "enum": [
              "gmail",
              "outlook"
            ],
            "title": "Email Client",
            "type": "string"
          },
          "folder": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Folder"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "include_body": {
            "default": true,
            "title": "Include Body",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "max_results": {
            "default": 25,
            "title": "Max Results",
            "type": "integer"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "newer_than_days": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Newer Than Days"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "parameter_keys": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parameter Keys"
          },
          "prompt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Prompt"
          },
          "sender": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sender"
          },
          "subject": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Subject"
          }
        },
        "required": [
          "block_type",
          "email_client",
          "label"
        ],
        "title": "EmailInboxBlockYAML",
        "type": "object"
      },
      "EmailTransport": {
        "enum": [
          "smtp",
          "gmail"
        ],
        "title": "EmailTransport",
        "type": "string"
      },
      "EnablePhoneNumberRequest": {
        "properties": {
          "confirm_takeover": {
            "default": false,
            "title": "Confirm Takeover",
            "type": "boolean"
          },
          "credential_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Credential Id"
          },
          "phone_number_sid": {
            "title": "Phone Number Sid",
            "type": "string"
          }
        },
        "required": [
          "phone_number_sid"
        ],
        "title": "EnablePhoneNumberRequest",
        "type": "object"
      },
      "ExtendBrowserSessionRequest": {
        "properties": {
          "additional_minutes": {
            "description": "Minutes to add to the session's current deadline. A session can be extended, one or more times, up to a total lifetime of 360 minutes (6 hours) counted from when it started; a request for more than the remaining headroom is granted the remainder and the response carries a warning.",
            "minimum": 1,
            "title": "Additional Minutes",
            "type": "integer"
          }
        },
        "required": [
          "additional_minutes"
        ],
        "title": "ExtendBrowserSessionRequest",
        "type": "object"
      },
      "Extensions": {
        "enum": [
          "ad-blocker",
          "captcha-solver"
        ],
        "title": "Extensions",
        "type": "string"
      },
      "ExtractAction": {
        "description": "Extract data action parameters.",
        "properties": {
          "data": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Additional context data",
            "title": "Data"
          },
          "error_code_mapping": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Error code mapping for extraction",
            "title": "Error Code Mapping"
          },
          "extract_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Schema for extraction",
            "title": "Extract Schema"
          },
          "intention": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The intention or goal of the extraction",
            "title": "Intention"
          },
          "prompt": {
            "default": "",
            "description": "Extraction prompt",
            "title": "Prompt",
            "type": "string"
          },
          "type": {
            "const": "extract",
            "default": "extract",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "type"
        ],
        "title": "ExtractAction",
        "type": "object"
      },
      "ExtractionBlock": {
        "properties": {
          "block_type": {
            "const": "extraction",
            "default": "extraction",
            "title": "Block Type",
            "type": "string"
          },
          "complete_criterion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Complete Criterion"
          },
          "complete_criterion_is_untrusted": {
            "default": false,
            "title": "Complete Criterion Is Untrusted",
            "type": "boolean"
          },
          "complete_on_download": {
            "default": false,
            "title": "Complete On Download",
            "type": "boolean"
          },
          "complete_verification": {
            "default": true,
            "title": "Complete Verification",
            "type": "boolean"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "data_extraction_goal": {
            "title": "Data Extraction Goal",
            "type": "string"
          },
          "data_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data Schema"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "download_suffix": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Download Suffix"
          },
          "download_timeout": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Download Timeout"
          },
          "engine": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RunEngine"
              },
              {
                "type": "null"
              }
            ]
          },
          "engine_pinned": {
            "default": false,
            "title": "Engine Pinned",
            "type": "boolean"
          },
          "error_code_mapping": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Code Mapping"
          },
          "export_data_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Export Data Schema"
          },
          "export_enabled": {
            "default": false,
            "title": "Export Enabled",
            "type": "boolean"
          },
          "export_file_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Export File Name"
          },
          "export_records": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Export Records"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "include_action_history_in_verification": {
            "default": false,
            "title": "Include Action History In Verification",
            "type": "boolean"
          },
          "include_extracted_text": {
            "default": false,
            "title": "Include Extracted Text",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "max_retries": {
            "default": 0,
            "title": "Max Retries",
            "type": "integer"
          },
          "max_steps_per_run": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Steps Per Run"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "navigation_goal": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Navigation Goal"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "parameters": {
            "default": [],
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/WorkflowParameter"
                },
                {
                  "$ref": "#/components/schemas/ContextParameter"
                },
                {
                  "$ref": "#/components/schemas/AWSSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenLoginCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenSensitiveInformationParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenCreditCardDataParameter"
                },
                {
                  "$ref": "#/components/schemas/OnePasswordCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureVaultCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/OutputParameter"
                },
                {
                  "$ref": "#/components/schemas/CredentialParameter"
                }
              ]
            },
            "title": "Parameters",
            "type": "array"
          },
          "task_type": {
            "default": "general",
            "title": "Task Type",
            "type": "string"
          },
          "terminate_criterion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Terminate Criterion"
          },
          "title": {
            "default": "",
            "title": "Title",
            "type": "string"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Identifier"
          },
          "totp_verification_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Verification Url"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          }
        },
        "required": [
          "block_type",
          "data_extraction_goal",
          "label",
          "output_parameter"
        ],
        "title": "ExtractionBlock",
        "type": "object"
      },
      "ExtractionBlockYAML": {
        "properties": {
          "block_type": {
            "const": "extraction",
            "default": "extraction",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "data_extraction_goal": {
            "title": "Data Extraction Goal",
            "type": "string"
          },
          "data_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data Schema"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "engine": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RunEngine"
              },
              {
                "type": "null"
              }
            ]
          },
          "engine_pinned": {
            "default": false,
            "description": "Set to true only when skyvern-1.0 was explicitly chosen for this block; leave it unset otherwise.",
            "title": "Engine Pinned",
            "type": "boolean"
          },
          "export_data_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Export Data Schema"
          },
          "export_enabled": {
            "default": false,
            "title": "Export Enabled",
            "type": "boolean"
          },
          "export_file_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Export File Name"
          },
          "export_records": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Export Records"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "max_retries": {
            "default": 0,
            "title": "Max Retries",
            "type": "integer"
          },
          "max_steps_per_run": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Steps Per Run"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "parameter_keys": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parameter Keys"
          },
          "title": {
            "default": "",
            "title": "Title",
            "type": "string"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          }
        },
        "required": [
          "block_type",
          "data_extraction_goal",
          "label"
        ],
        "title": "ExtractionBlockYAML",
        "type": "object"
      },
      "FileDownloadBlock": {
        "properties": {
          "aws_access_key_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Access Key Id"
          },
          "aws_secret_access_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Secret Access Key"
          },
          "azure_blob_container_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Azure Blob Container Name"
          },
          "azure_storage_account_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Azure Storage Account Key"
          },
          "azure_storage_account_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Azure Storage Account Name"
          },
          "block_type": {
            "const": "file_download",
            "default": "file_download",
            "title": "Block Type",
            "type": "string"
          },
          "complete_criterion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Complete Criterion"
          },
          "complete_criterion_is_untrusted": {
            "default": false,
            "title": "Complete Criterion Is Untrusted",
            "type": "boolean"
          },
          "complete_on_download": {
            "default": false,
            "title": "Complete On Download",
            "type": "boolean"
          },
          "complete_verification": {
            "default": true,
            "title": "Complete Verification",
            "type": "boolean"
          },
          "continue_on_empty": {
            "default": false,
            "description": "When the run download directory has no files, allow the empty upload only after confirming no registered, browser-session, or alternate candidate downloads exist (False, default). Set True to always allow an empty upload.",
            "title": "Continue On Empty",
            "type": "boolean"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "data_extraction_goal": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data Extraction Goal"
          },
          "data_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data Schema"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "download_suffix": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Download Suffix"
          },
          "download_target": {
            "$ref": "#/components/schemas/FileDownloadTarget",
            "default": "website"
          },
          "download_timeout": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Download Timeout"
          },
          "endpoint_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Endpoint Url"
          },
          "engine": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RunEngine"
              },
              {
                "type": "null"
              }
            ]
          },
          "engine_pinned": {
            "default": false,
            "title": "Engine Pinned",
            "type": "boolean"
          },
          "error_code_mapping": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Code Mapping"
          },
          "google_credential_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Google Credential Id"
          },
          "google_drive_folder_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Google Drive Folder Id"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "include_action_history_in_verification": {
            "default": false,
            "title": "Include Action History In Verification",
            "type": "boolean"
          },
          "include_extracted_text": {
            "default": true,
            "title": "Include Extracted Text",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "max_retries": {
            "default": 0,
            "title": "Max Retries",
            "type": "integer"
          },
          "max_steps_per_run": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Steps Per Run"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "navigation_goal": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Navigation Goal"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "parameters": {
            "default": [],
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/WorkflowParameter"
                },
                {
                  "$ref": "#/components/schemas/ContextParameter"
                },
                {
                  "$ref": "#/components/schemas/AWSSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenLoginCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenSensitiveInformationParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenCreditCardDataParameter"
                },
                {
                  "$ref": "#/components/schemas/OnePasswordCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureVaultCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/OutputParameter"
                },
                {
                  "$ref": "#/components/schemas/CredentialParameter"
                }
              ]
            },
            "title": "Parameters",
            "type": "array"
          },
          "path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Path"
          },
          "prompt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional natural-language control over which downloaded files are uploaded; empty means upload all.",
            "title": "Prompt"
          },
          "region_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Region Name"
          },
          "s3_bucket": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "S3 Bucket"
          },
          "sftp_host": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Host"
          },
          "sftp_host_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Host Key"
          },
          "sftp_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Password"
          },
          "sftp_port": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Port"
          },
          "sftp_private_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Private Key"
          },
          "sftp_private_key_passphrase": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Private Key Passphrase"
          },
          "sftp_remote_path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Remote Path"
          },
          "sftp_source_path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Source Path"
          },
          "sftp_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Username"
          },
          "task_type": {
            "default": "general",
            "title": "Task Type",
            "type": "string"
          },
          "terminate_criterion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Terminate Criterion"
          },
          "title": {
            "default": "",
            "title": "Title",
            "type": "string"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Identifier"
          },
          "totp_verification_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Verification Url"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          }
        },
        "required": [
          "block_type",
          "label",
          "output_parameter"
        ],
        "title": "FileDownloadBlock",
        "type": "object"
      },
      "FileDownloadBlockYAML": {
        "properties": {
          "aws_access_key_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Access Key Id"
          },
          "aws_secret_access_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Secret Access Key"
          },
          "azure_blob_container_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Azure Blob Container Name"
          },
          "azure_storage_account_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Azure Storage Account Key"
          },
          "azure_storage_account_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Azure Storage Account Name"
          },
          "block_type": {
            "const": "file_download",
            "default": "file_download",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_empty": {
            "default": false,
            "title": "Continue On Empty",
            "type": "boolean"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "download_suffix": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Download Suffix"
          },
          "download_target": {
            "$ref": "#/components/schemas/FileDownloadTarget",
            "default": "website"
          },
          "download_timeout": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Download Timeout"
          },
          "endpoint_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Endpoint Url"
          },
          "engine": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RunEngine"
              },
              {
                "type": "null"
              }
            ]
          },
          "engine_pinned": {
            "default": false,
            "description": "Set to true only when skyvern-1.0 was explicitly chosen for this block; leave it unset otherwise.",
            "title": "Engine Pinned",
            "type": "boolean"
          },
          "error_code_mapping": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Code Mapping"
          },
          "google_credential_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Google Credential Id"
          },
          "google_drive_folder_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Google Drive Folder Id"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "max_retries": {
            "default": 0,
            "title": "Max Retries",
            "type": "integer"
          },
          "max_steps_per_run": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Steps Per Run"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "navigation_goal": {
            "title": "Navigation Goal",
            "type": "string"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "parameter_keys": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parameter Keys"
          },
          "path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Path"
          },
          "prompt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Prompt"
          },
          "region_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Region Name"
          },
          "s3_bucket": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "S3 Bucket"
          },
          "sftp_host": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Host"
          },
          "sftp_host_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Host Key"
          },
          "sftp_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Password"
          },
          "sftp_port": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Port"
          },
          "sftp_private_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Private Key"
          },
          "sftp_private_key_passphrase": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Private Key Passphrase"
          },
          "sftp_remote_path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Remote Path"
          },
          "sftp_source_path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Source Path"
          },
          "sftp_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Username"
          },
          "title": {
            "default": "",
            "title": "Title",
            "type": "string"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Identifier"
          },
          "totp_verification_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Verification Url"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          }
        },
        "required": [
          "block_type",
          "label",
          "navigation_goal"
        ],
        "title": "FileDownloadBlockYAML",
        "type": "object"
      },
      "FileDownloadTarget": {
        "enum": [
          "website",
          "s3",
          "azure",
          "google_drive",
          "sftp"
        ],
        "title": "FileDownloadTarget",
        "type": "string"
      },
      "FileEncoding": {
        "description": "Supported file content encodings.",
        "enum": [
          "base64",
          "utf-8"
        ],
        "title": "FileEncoding",
        "type": "string"
      },
      "FileInfo": {
        "description": "Information about a downloaded file, including URL and checksum.",
        "properties": {
          "artifact_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Artifact row id for refresh-on-read",
            "title": "Artifact Id"
          },
          "checksum": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "SHA-256 checksum of the file",
            "title": "Checksum"
          },
          "file_size": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Size of the file in bytes",
            "title": "File Size"
          },
          "filename": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Original filename",
            "title": "Filename"
          },
          "modified_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Modified time of the file",
            "title": "Modified At"
          },
          "url": {
            "description": "URL to access the file",
            "title": "Url",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "title": "FileInfo",
        "type": "object"
      },
      "FileNode": {
        "description": "Model representing a file or directory in the file tree.",
        "properties": {
          "children": {
            "anyOf": [
              {
                "additionalProperties": {
                  "$ref": "#/components/schemas/FileNode"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Child nodes for directories",
            "title": "Children"
          },
          "content_hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "SHA256 hash of file content",
            "title": "Content Hash"
          },
          "created_at": {
            "description": "Timestamp when the file was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "mime_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "MIME type of the file",
            "title": "Mime Type"
          },
          "size": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "File size in bytes",
            "title": "Size"
          },
          "type": {
            "description": "Type of node: 'file' or 'directory'",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "type",
          "created_at"
        ],
        "title": "FileNode",
        "type": "object"
      },
      "FileParserBlock": {
        "properties": {
          "block_type": {
            "const": "file_url_parser",
            "default": "file_url_parser",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "file_type": {
            "$ref": "#/components/schemas/FileType",
            "default": "auto_detect"
          },
          "file_url": {
            "title": "File Url",
            "type": "string"
          },
          "force_ocr": {
            "default": false,
            "description": "PDF only: ignore the PDF's embedded text layer and read the pages with vision OCR instead. Use it when a PDF's text layer is unreadable in a way Skyvern does not detect on its own. OCR reads at most the first 50 pages, so a longer PDF loses the rest; leave this off unless the text layer is unusable.",
            "title": "Force Ocr",
            "type": "boolean"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "json_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Json Schema"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "worksheet": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Worksheet"
          }
        },
        "required": [
          "block_type",
          "file_url",
          "label",
          "output_parameter"
        ],
        "title": "FileParserBlock",
        "type": "object"
      },
      "FileParserBlockYAML": {
        "properties": {
          "block_type": {
            "const": "file_url_parser",
            "default": "file_url_parser",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "file_type": {
            "$ref": "#/components/schemas/FileType",
            "default": "auto_detect"
          },
          "file_url": {
            "title": "File Url",
            "type": "string"
          },
          "force_ocr": {
            "default": false,
            "description": "PDF only: ignore the PDF's embedded text layer and read the pages with vision OCR instead. Use it when a PDF's text layer is unreadable in a way Skyvern does not detect on its own. OCR reads at most the first 50 pages, so a longer PDF loses the rest; leave this off unless the text layer is unusable.",
            "title": "Force Ocr",
            "type": "boolean"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "json_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Json Schema"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "worksheet": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Worksheet"
          }
        },
        "required": [
          "block_type",
          "file_url",
          "label"
        ],
        "title": "FileParserBlockYAML",
        "type": "object"
      },
      "FileStorageType": {
        "enum": [
          "s3",
          "azure",
          "google_drive",
          "sftp"
        ],
        "title": "FileStorageType",
        "type": "string"
      },
      "FileType": {
        "enum": [
          "auto_detect",
          "csv",
          "excel",
          "pdf",
          "image",
          "docx",
          "zip"
        ],
        "title": "FileType",
        "type": "string"
      },
      "FileUploadBlock": {
        "properties": {
          "aws_access_key_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Access Key Id"
          },
          "aws_secret_access_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Secret Access Key"
          },
          "azure_blob_container_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Azure Blob Container Name"
          },
          "azure_storage_account_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Azure Storage Account Key"
          },
          "azure_storage_account_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Azure Storage Account Name"
          },
          "block_type": {
            "const": "file_upload",
            "default": "file_upload",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_empty": {
            "default": false,
            "description": "When the run download directory has no files, allow the empty upload only after confirming no registered, browser-session, or alternate candidate downloads exist (False, default). Set True to always allow an empty upload.",
            "title": "Continue On Empty",
            "type": "boolean"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "endpoint_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Endpoint Url"
          },
          "google_credential_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Google Credential Id"
          },
          "google_drive_folder_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Google Drive Folder Id"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Path"
          },
          "prompt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional natural-language control over which downloaded files are uploaded; empty means upload all.",
            "title": "Prompt"
          },
          "region_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Region Name"
          },
          "s3_bucket": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "S3 Bucket"
          },
          "sftp_host": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Host"
          },
          "sftp_host_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Host Key"
          },
          "sftp_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Password"
          },
          "sftp_port": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Port"
          },
          "sftp_private_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Private Key"
          },
          "sftp_private_key_passphrase": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Private Key Passphrase"
          },
          "sftp_remote_path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Remote Path"
          },
          "sftp_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Username"
          },
          "storage_type": {
            "$ref": "#/components/schemas/FileStorageType",
            "default": "s3"
          }
        },
        "required": [
          "block_type",
          "label",
          "output_parameter"
        ],
        "title": "FileUploadBlock",
        "type": "object"
      },
      "FileUploadBlockYAML": {
        "properties": {
          "aws_access_key_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Access Key Id"
          },
          "aws_secret_access_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Aws Secret Access Key"
          },
          "azure_blob_container_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Azure Blob Container Name"
          },
          "azure_folder_path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Azure Folder Path"
          },
          "azure_storage_account_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Azure Storage Account Key"
          },
          "azure_storage_account_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Azure Storage Account Name"
          },
          "block_type": {
            "const": "file_upload",
            "default": "file_upload",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "endpoint_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Endpoint Url"
          },
          "google_credential_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Google Credential Id"
          },
          "google_drive_folder_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Google Drive Folder Id"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Path"
          },
          "prompt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional natural-language control over which downloaded files are uploaded; empty means upload all.",
            "title": "Prompt"
          },
          "region_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Region Name"
          },
          "s3_bucket": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "S3 Bucket"
          },
          "sftp_host": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Host"
          },
          "sftp_host_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Host Key"
          },
          "sftp_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Password"
          },
          "sftp_port": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Port"
          },
          "sftp_private_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Private Key"
          },
          "sftp_private_key_passphrase": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Private Key Passphrase"
          },
          "sftp_remote_path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Remote Path"
          },
          "sftp_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sftp Username"
          },
          "storage_type": {
            "$ref": "#/components/schemas/FileStorageType",
            "default": "s3"
          }
        },
        "required": [
          "block_type",
          "label"
        ],
        "title": "FileUploadBlockYAML",
        "type": "object"
      },
      "Folder": {
        "description": "Response model for a folder",
        "properties": {
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Folder description",
            "title": "Description"
          },
          "folder_id": {
            "title": "Folder Id",
            "type": "string"
          },
          "modified_at": {
            "format": "date-time",
            "title": "Modified At",
            "type": "string"
          },
          "organization_id": {
            "title": "Organization Id",
            "type": "string"
          },
          "title": {
            "description": "Folder title",
            "maxLength": 255,
            "minLength": 1,
            "title": "Title",
            "type": "string"
          },
          "workflow_count": {
            "default": 0,
            "description": "Number of workflows in this folder",
            "title": "Workflow Count",
            "type": "integer"
          }
        },
        "required": [
          "title",
          "folder_id",
          "organization_id",
          "created_at",
          "modified_at"
        ],
        "title": "Folder",
        "type": "object"
      },
      "FolderCreate": {
        "description": "Request model for creating a folder",
        "properties": {
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Folder description",
            "title": "Description"
          },
          "title": {
            "description": "Folder title",
            "maxLength": 255,
            "minLength": 1,
            "title": "Title",
            "type": "string"
          }
        },
        "required": [
          "title"
        ],
        "title": "FolderCreate",
        "type": "object"
      },
      "FolderUpdate": {
        "description": "Request model for updating a folder",
        "properties": {
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Folder description",
            "title": "Description"
          },
          "title": {
            "anyOf": [
              {
                "maxLength": 255,
                "minLength": 1,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Folder title",
            "title": "Title"
          }
        },
        "title": "FolderUpdate",
        "type": "object"
      },
      "ForLoopBlock": {
        "properties": {
          "block_type": {
            "const": "for_loop",
            "default": "for_loop",
            "title": "Block Type",
            "type": "string"
          },
          "complete_if_empty": {
            "default": false,
            "title": "Complete If Empty",
            "type": "boolean"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "data_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data Schema"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "loop_blocks": {
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ConditionalBlock"
                },
                {
                  "$ref": "#/components/schemas/ForLoopBlock"
                },
                {
                  "$ref": "#/components/schemas/WhileLoopBlock"
                },
                {
                  "$ref": "#/components/schemas/TaskBlock"
                },
                {
                  "$ref": "#/components/schemas/CodeBlock"
                },
                {
                  "$ref": "#/components/schemas/TextPromptBlock"
                },
                {
                  "$ref": "#/components/schemas/DownloadToS3Block"
                },
                {
                  "$ref": "#/components/schemas/UploadToS3Block"
                },
                {
                  "$ref": "#/components/schemas/SendEmailBlock"
                },
                {
                  "$ref": "#/components/schemas/FileParserBlock"
                },
                {
                  "$ref": "#/components/schemas/PDFParserBlock"
                },
                {
                  "$ref": "#/components/schemas/ValidationBlock"
                },
                {
                  "$ref": "#/components/schemas/ActionBlock"
                },
                {
                  "$ref": "#/components/schemas/NavigationBlock"
                },
                {
                  "$ref": "#/components/schemas/ExtractionBlock"
                },
                {
                  "$ref": "#/components/schemas/LoginBlock"
                },
                {
                  "$ref": "#/components/schemas/WaitBlock"
                },
                {
                  "$ref": "#/components/schemas/HumanInteractionBlock"
                },
                {
                  "$ref": "#/components/schemas/FileDownloadBlock"
                },
                {
                  "$ref": "#/components/schemas/UrlBlock"
                },
                {
                  "$ref": "#/components/schemas/TaskV2Block"
                },
                {
                  "$ref": "#/components/schemas/FileUploadBlock"
                },
                {
                  "$ref": "#/components/schemas/HttpRequestBlock"
                },
                {
                  "$ref": "#/components/schemas/WebSearchBlock"
                },
                {
                  "$ref": "#/components/schemas/PrintPageBlock"
                },
                {
                  "$ref": "#/components/schemas/WorkflowTriggerBlock"
                },
                {
                  "$ref": "#/components/schemas/GoogleSheetsReadBlock"
                },
                {
                  "$ref": "#/components/schemas/EmailInboxBlock"
                },
                {
                  "$ref": "#/components/schemas/GoogleSheetsWriteBlock"
                },
                {
                  "$ref": "#/components/schemas/PowerBIQueryBlock"
                },
                {
                  "$ref": "#/components/schemas/PdfFillBlock"
                },
                {
                  "$ref": "#/components/schemas/SplitPdfBlock"
                },
                {
                  "$ref": "#/components/schemas/DataExportBlock"
                },
                {
                  "$ref": "#/components/schemas/TerminateBlock"
                },
                {
                  "$ref": "#/components/schemas/AgentStepBlock"
                }
              ]
            },
            "title": "Loop Blocks",
            "type": "array"
          },
          "loop_over": {
            "anyOf": [
              {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/WorkflowParameter"
                  },
                  {
                    "$ref": "#/components/schemas/ContextParameter"
                  },
                  {
                    "$ref": "#/components/schemas/AWSSecretParameter"
                  },
                  {
                    "$ref": "#/components/schemas/AzureSecretParameter"
                  },
                  {
                    "$ref": "#/components/schemas/BitwardenLoginCredentialParameter"
                  },
                  {
                    "$ref": "#/components/schemas/BitwardenSensitiveInformationParameter"
                  },
                  {
                    "$ref": "#/components/schemas/BitwardenCreditCardDataParameter"
                  },
                  {
                    "$ref": "#/components/schemas/OnePasswordCredentialParameter"
                  },
                  {
                    "$ref": "#/components/schemas/AzureVaultCredentialParameter"
                  },
                  {
                    "$ref": "#/components/schemas/OutputParameter"
                  },
                  {
                    "$ref": "#/components/schemas/CredentialParameter"
                  }
                ]
              },
              {
                "type": "null"
              }
            ],
            "title": "Loop Over"
          },
          "loop_variable_reference": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Loop Variable Reference"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          }
        },
        "required": [
          "block_type",
          "label",
          "loop_blocks",
          "output_parameter"
        ],
        "title": "ForLoopBlock",
        "type": "object"
      },
      "ForLoopBlockYAML": {
        "properties": {
          "block_type": {
            "const": "for_loop",
            "default": "for_loop",
            "title": "Block Type",
            "type": "string"
          },
          "complete_if_empty": {
            "default": false,
            "title": "Complete If Empty",
            "type": "boolean"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "data_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data Schema"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "loop_blocks": {
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/TaskBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/ForLoopBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/WhileLoopBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/CodeBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/TextPromptBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/DownloadToS3BlockYAML"
                },
                {
                  "$ref": "#/components/schemas/UploadToS3BlockYAML"
                },
                {
                  "$ref": "#/components/schemas/FileUploadBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/SendEmailBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/FileParserBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/ValidationBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/ActionBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/NavigationBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/ExtractionBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/LoginBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/WaitBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/HumanInteractionBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/FileDownloadBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/DataExportBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/TerminateBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/AgentStepBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/UrlBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/PDFParserBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/TaskV2BlockYAML"
                },
                {
                  "$ref": "#/components/schemas/HttpRequestBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/WebSearchBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/ConditionalBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/PrintPageBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/PdfFillBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/SplitPdfBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/WorkflowTriggerBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/GoogleSheetsReadBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/EmailInboxBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/GoogleSheetsWriteBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/PowerBIQueryBlockYAML"
                }
              ]
            },
            "title": "Loop Blocks",
            "type": "array"
          },
          "loop_over_parameter_key": {
            "default": "",
            "title": "Loop Over Parameter Key",
            "type": "string"
          },
          "loop_variable_reference": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Loop Variable Reference"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          }
        },
        "required": [
          "block_type",
          "label",
          "loop_blocks"
        ],
        "title": "ForLoopBlockYAML",
        "type": "object"
      },
      "GeoTarget": {
        "description": "Granular proxy geo-targeting request with country, optional subdivision, and optional city.",
        "properties": {
          "city": {
            "anyOf": [
              {
                "maxLength": 100,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "City name in English from GeoNames (e.g., 'New York', 'Los Angeles', 'London')",
            "examples": [
              "New York",
              "Los Angeles",
              "London",
              "Berlin"
            ],
            "title": "City"
          },
          "country": {
            "description": "ISO 3166-1 alpha-2 country code (e.g., 'US', 'GB', 'DE')",
            "examples": [
              "US",
              "GB",
              "DE",
              "FR"
            ],
            "maxLength": 2,
            "minLength": 2,
            "title": "Country",
            "type": "string"
          },
          "isISP": {
            "default": false,
            "description": "Whether this geo target is marked as an ISP proxy location.",
            "title": "Isisp",
            "type": "boolean"
          },
          "subdivision": {
            "anyOf": [
              {
                "maxLength": 10,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "ISO 3166-2 subdivision code without country prefix (e.g., 'CA' for California, 'NY' for New York)",
            "examples": [
              "CA",
              "NY",
              "TX",
              "ENG"
            ],
            "title": "Subdivision"
          }
        },
        "required": [
          "country"
        ],
        "title": "GeoTarget",
        "type": "object"
      },
      "GoogleSheetsReadBlock": {
        "properties": {
          "block_type": {
            "const": "google_sheets_read",
            "default": "google_sheets_read",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "credential_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Credential Id"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "has_header_row": {
            "default": true,
            "title": "Has Header Row",
            "type": "boolean"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "parameters": {
            "default": [],
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/WorkflowParameter"
                },
                {
                  "$ref": "#/components/schemas/ContextParameter"
                },
                {
                  "$ref": "#/components/schemas/AWSSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenLoginCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenSensitiveInformationParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenCreditCardDataParameter"
                },
                {
                  "$ref": "#/components/schemas/OnePasswordCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureVaultCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/OutputParameter"
                },
                {
                  "$ref": "#/components/schemas/CredentialParameter"
                }
              ]
            },
            "title": "Parameters",
            "type": "array"
          },
          "range": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Range"
          },
          "sheet_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sheet Name"
          },
          "spreadsheet_url": {
            "title": "Spreadsheet Url",
            "type": "string"
          }
        },
        "required": [
          "block_type",
          "label",
          "output_parameter",
          "spreadsheet_url"
        ],
        "title": "GoogleSheetsReadBlock",
        "type": "object"
      },
      "GoogleSheetsReadBlockYAML": {
        "properties": {
          "block_type": {
            "const": "google_sheets_read",
            "default": "google_sheets_read",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "credential_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Credential Id"
          },
          "has_header_row": {
            "default": true,
            "title": "Has Header Row",
            "type": "boolean"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "parameter_keys": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parameter Keys"
          },
          "range": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Range"
          },
          "sheet_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sheet Name"
          },
          "spreadsheet_url": {
            "title": "Spreadsheet Url",
            "type": "string"
          }
        },
        "required": [
          "block_type",
          "label",
          "spreadsheet_url"
        ],
        "title": "GoogleSheetsReadBlockYAML",
        "type": "object"
      },
      "GoogleSheetsWriteBlock": {
        "properties": {
          "block_type": {
            "const": "google_sheets_write",
            "default": "google_sheets_write",
            "title": "Block Type",
            "type": "string"
          },
          "column_mapping": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Column Mapping"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "create_sheet_if_missing": {
            "default": false,
            "title": "Create Sheet If Missing",
            "type": "boolean"
          },
          "credential_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Credential Id"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "parameters": {
            "default": [],
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/WorkflowParameter"
                },
                {
                  "$ref": "#/components/schemas/ContextParameter"
                },
                {
                  "$ref": "#/components/schemas/AWSSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenLoginCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenSensitiveInformationParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenCreditCardDataParameter"
                },
                {
                  "$ref": "#/components/schemas/OnePasswordCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureVaultCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/OutputParameter"
                },
                {
                  "$ref": "#/components/schemas/CredentialParameter"
                }
              ]
            },
            "title": "Parameters",
            "type": "array"
          },
          "range": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Range"
          },
          "sheet_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sheet Name"
          },
          "spreadsheet_url": {
            "title": "Spreadsheet Url",
            "type": "string"
          },
          "values": {
            "default": "",
            "title": "Values",
            "type": "string"
          },
          "write_mode": {
            "default": "append",
            "enum": [
              "append",
              "update"
            ],
            "title": "Write Mode",
            "type": "string"
          }
        },
        "required": [
          "block_type",
          "label",
          "output_parameter",
          "spreadsheet_url"
        ],
        "title": "GoogleSheetsWriteBlock",
        "type": "object"
      },
      "GoogleSheetsWriteBlockYAML": {
        "properties": {
          "block_type": {
            "const": "google_sheets_write",
            "default": "google_sheets_write",
            "title": "Block Type",
            "type": "string"
          },
          "column_mapping": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Column Mapping"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "create_sheet_if_missing": {
            "default": false,
            "title": "Create Sheet If Missing",
            "type": "boolean"
          },
          "credential_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Credential Id"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "parameter_keys": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parameter Keys"
          },
          "range": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Range"
          },
          "sheet_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sheet Name"
          },
          "spreadsheet_url": {
            "title": "Spreadsheet Url",
            "type": "string"
          },
          "values": {
            "default": "",
            "title": "Values",
            "type": "string"
          },
          "write_mode": {
            "default": "append",
            "enum": [
              "append",
              "update"
            ],
            "title": "Write Mode",
            "type": "string"
          }
        },
        "required": [
          "block_type",
          "label",
          "spreadsheet_url"
        ],
        "title": "GoogleSheetsWriteBlockYAML",
        "type": "object"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
          }
        },
        "title": "HTTPValidationError",
        "type": "object"
      },
      "HttpRequestBlock": {
        "properties": {
          "block_type": {
            "const": "http_request",
            "default": "http_request",
            "title": "Block Type",
            "type": "string"
          },
          "body": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Body"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "download_filename": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Download Filename"
          },
          "files": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Files"
          },
          "follow_redirects": {
            "default": true,
            "title": "Follow Redirects",
            "type": "boolean"
          },
          "headers": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Headers"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "method": {
            "default": "GET",
            "title": "Method",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "parameters": {
            "default": [],
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/WorkflowParameter"
                },
                {
                  "$ref": "#/components/schemas/ContextParameter"
                },
                {
                  "$ref": "#/components/schemas/AWSSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenLoginCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenSensitiveInformationParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenCreditCardDataParameter"
                },
                {
                  "$ref": "#/components/schemas/OnePasswordCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureVaultCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/OutputParameter"
                },
                {
                  "$ref": "#/components/schemas/CredentialParameter"
                }
              ]
            },
            "title": "Parameters",
            "type": "array"
          },
          "save_response_as_file": {
            "default": false,
            "title": "Save Response As File",
            "type": "boolean"
          },
          "secret_response_paths": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Secret Response Paths"
          },
          "timeout": {
            "default": 30,
            "title": "Timeout",
            "type": "integer"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          }
        },
        "required": [
          "block_type",
          "label",
          "output_parameter"
        ],
        "title": "HttpRequestBlock",
        "type": "object"
      },
      "HttpRequestBlockYAML": {
        "properties": {
          "block_type": {
            "const": "http_request",
            "default": "http_request",
            "title": "Block Type",
            "type": "string"
          },
          "body": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Body"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "download_filename": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Download Filename"
          },
          "files": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Files"
          },
          "follow_redirects": {
            "default": true,
            "title": "Follow Redirects",
            "type": "boolean"
          },
          "headers": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Headers"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "method": {
            "default": "GET",
            "title": "Method",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "parameter_keys": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parameter Keys"
          },
          "save_response_as_file": {
            "default": false,
            "title": "Save Response As File",
            "type": "boolean"
          },
          "secret_response_paths": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Secret Response Paths"
          },
          "timeout": {
            "default": 30,
            "title": "Timeout",
            "type": "integer"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          }
        },
        "required": [
          "block_type",
          "label"
        ],
        "title": "HttpRequestBlockYAML",
        "type": "object"
      },
      "HumanInteractionBlock": {
        "description": "A block for human/agent interaction.\n\nFor the first pass at this, the implicit behaviour is that the user is given a single binary\nchoice (a go//no-go).\n\nIf the human:\n  - chooses positively, the workflow continues\n  - chooses negatively, the workflow is terminated\n  - does not respond within the timeout period, the workflow terminates",
        "properties": {
          "block_type": {
            "const": "human_interaction",
            "default": "human_interaction",
            "title": "Block Type",
            "type": "string"
          },
          "body": {
            "default": "Your interaction is required for a workflow run!",
            "title": "Body",
            "type": "string"
          },
          "body_format": {
            "$ref": "#/components/schemas/EmailBodyFormat",
            "default": "text"
          },
          "complete_criterion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Complete Criterion"
          },
          "complete_criterion_is_untrusted": {
            "default": false,
            "title": "Complete Criterion Is Untrusted",
            "type": "boolean"
          },
          "complete_on_download": {
            "default": false,
            "title": "Complete On Download",
            "type": "boolean"
          },
          "complete_verification": {
            "default": true,
            "title": "Complete Verification",
            "type": "boolean"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "data_extraction_goal": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data Extraction Goal"
          },
          "data_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data Schema"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "download_suffix": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Download Suffix"
          },
          "download_timeout": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Download Timeout"
          },
          "engine": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RunEngine"
              },
              {
                "type": "null"
              }
            ],
            "default": "skyvern-1.0"
          },
          "engine_pinned": {
            "default": false,
            "title": "Engine Pinned",
            "type": "boolean"
          },
          "error_code_mapping": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Code Mapping"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "include_action_history_in_verification": {
            "default": false,
            "title": "Include Action History In Verification",
            "type": "boolean"
          },
          "include_extracted_text": {
            "default": true,
            "title": "Include Extracted Text",
            "type": "boolean"
          },
          "instructions": {
            "default": "Please review and approve or reject to continue the workflow.",
            "title": "Instructions",
            "type": "string"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "max_retries": {
            "default": 0,
            "title": "Max Retries",
            "type": "integer"
          },
          "max_steps_per_run": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Steps Per Run"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "navigation_goal": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Navigation Goal"
          },
          "negative_descriptor": {
            "default": "Reject",
            "title": "Negative Descriptor",
            "type": "string"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "parameters": {
            "default": [],
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/WorkflowParameter"
                },
                {
                  "$ref": "#/components/schemas/ContextParameter"
                },
                {
                  "$ref": "#/components/schemas/AWSSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenLoginCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenSensitiveInformationParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenCreditCardDataParameter"
                },
                {
                  "$ref": "#/components/schemas/OnePasswordCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureVaultCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/OutputParameter"
                },
                {
                  "$ref": "#/components/schemas/CredentialParameter"
                }
              ]
            },
            "title": "Parameters",
            "type": "array"
          },
          "positive_descriptor": {
            "default": "Approve",
            "title": "Positive Descriptor",
            "type": "string"
          },
          "recipients": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Recipients",
            "type": "array"
          },
          "sender": {
            "default": "hello at skyvern.com",
            "title": "Sender",
            "type": "string"
          },
          "subject": {
            "default": "Human interaction required for workflow run",
            "title": "Subject",
            "type": "string"
          },
          "task_type": {
            "default": "general",
            "title": "Task Type",
            "type": "string"
          },
          "terminate_criterion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Terminate Criterion"
          },
          "timeout_seconds": {
            "default": 7200,
            "title": "Timeout Seconds",
            "type": "integer"
          },
          "title": {
            "default": "",
            "title": "Title",
            "type": "string"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Identifier"
          },
          "totp_verification_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Verification Url"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          }
        },
        "required": [
          "block_type",
          "label",
          "output_parameter"
        ],
        "title": "HumanInteractionBlock",
        "type": "object"
      },
      "HumanInteractionBlockYAML": {
        "properties": {
          "block_type": {
            "const": "human_interaction",
            "default": "human_interaction",
            "title": "Block Type",
            "type": "string"
          },
          "body": {
            "default": "Your interaction is required for a workflow run!",
            "title": "Body",
            "type": "string"
          },
          "body_format": {
            "$ref": "#/components/schemas/EmailBodyFormat",
            "default": "text"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "instructions": {
            "default": "Please review and approve or reject to continue the workflow.",
            "title": "Instructions",
            "type": "string"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "negative_descriptor": {
            "default": "Reject",
            "title": "Negative Descriptor",
            "type": "string"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "positive_descriptor": {
            "default": "Approve",
            "title": "Positive Descriptor",
            "type": "string"
          },
          "recipients": {
            "items": {
              "type": "string"
            },
            "title": "Recipients",
            "type": "array"
          },
          "sender": {
            "default": "hello at skyvern.com",
            "title": "Sender",
            "type": "string"
          },
          "subject": {
            "default": "Human interaction required for workflow run",
            "title": "Subject",
            "type": "string"
          },
          "timeout_seconds": {
            "default": 7200,
            "title": "Timeout Seconds",
            "type": "integer"
          }
        },
        "required": [
          "block_type",
          "label",
          "recipients"
        ],
        "title": "HumanInteractionBlockYAML",
        "type": "object"
      },
      "InputOrSelectContext": {
        "properties": {
          "date_format": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Date Format"
          },
          "field": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Field"
          },
          "intention": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Intention"
          },
          "is_date_related": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Date Related"
          },
          "is_location_input": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Location Input"
          },
          "is_required": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Required"
          },
          "is_search_bar": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Search Bar"
          },
          "is_text_captcha": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Is Text Captcha"
          }
        },
        "title": "InputOrSelectContext",
        "type": "object"
      },
      "InputTextAction": {
        "description": "Input text action parameters.",
        "properties": {
          "data": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Additional context data",
            "title": "Data"
          },
          "intention": {
            "default": "",
            "description": "The intention or goal of the input",
            "title": "Intention",
            "type": "string"
          },
          "selector": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": "",
            "description": "CSS selector for the element",
            "title": "Selector"
          },
          "timeout": {
            "default": 10000,
            "description": "Timeout in milliseconds",
            "title": "Timeout",
            "type": "number"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "TOTP identifier for input_text actions",
            "title": "Totp Identifier"
          },
          "totp_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "TOTP URL for input_text actions",
            "title": "Totp Url"
          },
          "type": {
            "const": "ai_input_text",
            "default": "ai_input_text",
            "title": "Type",
            "type": "string"
          },
          "value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": "",
            "description": "Value to input",
            "title": "Value"
          }
        },
        "required": [
          "type"
        ],
        "title": "InputTextAction",
        "type": "object"
      },
      "JinjaBranchCriteria": {
        "description": "Jinja2-templated branch criteria (only supported criteria type for now).",
        "properties": {
          "criteria_type": {
            "const": "jinja2_template",
            "default": "jinja2_template",
            "title": "Criteria Type",
            "type": "string"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "expression": {
            "title": "Expression",
            "type": "string"
          }
        },
        "required": [
          "criteria_type",
          "expression"
        ],
        "title": "JinjaBranchCriteria",
        "type": "object"
      },
      "JobRecipeOutcome": {
        "enum": [
          "completed",
          "canceled",
          "job_unavailable",
          "login_required",
          "application_refused",
          "blocked_by_site",
          "invalid_input",
          "insufficient_credits",
          "incomplete",
          "failed"
        ],
        "title": "JobRecipeOutcome",
        "type": "string"
      },
      "JobRecipeRunListResponse": {
        "additionalProperties": false,
        "properties": {
          "has_next": {
            "title": "Has Next",
            "type": "boolean"
          },
          "page": {
            "title": "Page",
            "type": "integer"
          },
          "page_size": {
            "title": "Page Size",
            "type": "integer"
          },
          "runs": {
            "items": {
              "$ref": "#/components/schemas/JobRecipeRunSummary"
            },
            "title": "Runs",
            "type": "array"
          }
        },
        "required": [
          "runs",
          "page",
          "page_size",
          "has_next"
        ],
        "title": "JobRecipeRunListResponse",
        "type": "object"
      },
      "JobRecipeRunResponse": {
        "additionalProperties": false,
        "properties": {
          "workflow_run_id": {
            "pattern": "^wr_",
            "title": "Workflow Run Id",
            "type": "string"
          }
        },
        "required": [
          "workflow_run_id"
        ],
        "title": "JobRecipeRunResponse",
        "type": "object"
      },
      "JobRecipeRunSummary": {
        "additionalProperties": false,
        "properties": {
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "failure_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Failure Reason"
          },
          "job_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Job Url"
          },
          "next_step": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "What to do about an unsuccessful outcome; null for completed, canceled, and running runs.",
            "title": "Next Step"
          },
          "outcome": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/JobRecipeOutcome"
              },
              {
                "type": "null"
              }
            ],
            "description": "Typed result of a finished run; null while it is still running. Apply failures name their cause (job_unavailable, login_required, application_refused, blocked_by_site, invalid_input, insufficient_credits, incomplete); a cause Skyvern cannot classify is failed, and so is every Extract failure except one Skyvern itself reports, such as running out of credits."
          },
          "recipe": {
            "enum": [
              "apply",
              "extract"
            ],
            "title": "Recipe",
            "type": "string"
          },
          "status": {
            "title": "Status",
            "type": "string"
          },
          "workflow_permanent_id": {
            "title": "Workflow Permanent Id",
            "type": "string"
          },
          "workflow_run_id": {
            "pattern": "^wr_",
            "title": "Workflow Run Id",
            "type": "string"
          }
        },
        "required": [
          "workflow_run_id",
          "workflow_permanent_id",
          "recipe",
          "status",
          "created_at",
          "job_url",
          "failure_reason",
          "outcome",
          "next_step"
        ],
        "title": "JobRecipeRunSummary",
        "type": "object"
      },
      "LocateElementAction": {
        "description": "Locate element action parameters.",
        "properties": {
          "prompt": {
            "default": "",
            "description": "Natural language prompt to locate an element",
            "title": "Prompt",
            "type": "string"
          },
          "type": {
            "const": "locate_element",
            "default": "locate_element",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "type"
        ],
        "title": "LocateElementAction",
        "type": "object"
      },
      "LoginBlock": {
        "properties": {
          "block_type": {
            "const": "login",
            "default": "login",
            "title": "Block Type",
            "type": "string"
          },
          "complete_criterion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Complete Criterion"
          },
          "complete_criterion_is_untrusted": {
            "default": false,
            "title": "Complete Criterion Is Untrusted",
            "type": "boolean"
          },
          "complete_on_download": {
            "default": false,
            "title": "Complete On Download",
            "type": "boolean"
          },
          "complete_verification": {
            "default": true,
            "title": "Complete Verification",
            "type": "boolean"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "data_extraction_goal": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data Extraction Goal"
          },
          "data_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data Schema"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "download_suffix": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Download Suffix"
          },
          "download_timeout": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Download Timeout"
          },
          "engine": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RunEngine"
              },
              {
                "type": "null"
              }
            ]
          },
          "engine_pinned": {
            "default": false,
            "title": "Engine Pinned",
            "type": "boolean"
          },
          "error_code_mapping": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Code Mapping"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "include_action_history_in_verification": {
            "default": false,
            "title": "Include Action History In Verification",
            "type": "boolean"
          },
          "include_extracted_text": {
            "default": true,
            "title": "Include Extracted Text",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "max_retries": {
            "default": 0,
            "title": "Max Retries",
            "type": "integer"
          },
          "max_steps_per_run": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Steps Per Run"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "navigation_goal": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Navigation Goal"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "parameters": {
            "default": [],
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/WorkflowParameter"
                },
                {
                  "$ref": "#/components/schemas/ContextParameter"
                },
                {
                  "$ref": "#/components/schemas/AWSSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenLoginCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenSensitiveInformationParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenCreditCardDataParameter"
                },
                {
                  "$ref": "#/components/schemas/OnePasswordCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureVaultCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/OutputParameter"
                },
                {
                  "$ref": "#/components/schemas/CredentialParameter"
                }
              ]
            },
            "title": "Parameters",
            "type": "array"
          },
          "skip_saved_profile": {
            "default": false,
            "title": "Skip Saved Profile",
            "type": "boolean"
          },
          "task_type": {
            "default": "general",
            "title": "Task Type",
            "type": "string"
          },
          "terminate_criterion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Terminate Criterion"
          },
          "title": {
            "default": "",
            "title": "Title",
            "type": "string"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Identifier"
          },
          "totp_verification_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Verification Url"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          }
        },
        "required": [
          "block_type",
          "label",
          "output_parameter"
        ],
        "title": "LoginBlock",
        "type": "object"
      },
      "LoginBlockYAML": {
        "properties": {
          "block_type": {
            "const": "login",
            "default": "login",
            "title": "Block Type",
            "type": "string"
          },
          "complete_criterion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Complete Criterion"
          },
          "complete_verification": {
            "default": true,
            "title": "Complete Verification",
            "type": "boolean"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "engine": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RunEngine"
              },
              {
                "type": "null"
              }
            ]
          },
          "engine_pinned": {
            "default": false,
            "description": "Set to true only when skyvern-1.0 was explicitly chosen for this block; leave it unset otherwise.",
            "title": "Engine Pinned",
            "type": "boolean"
          },
          "error_code_mapping": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Code Mapping"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "include_action_history_in_verification": {
            "default": false,
            "title": "Include Action History In Verification",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "max_retries": {
            "default": 0,
            "title": "Max Retries",
            "type": "integer"
          },
          "max_steps_per_run": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Steps Per Run"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "navigation_goal": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Navigation Goal"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "parameter_keys": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parameter Keys"
          },
          "skip_saved_profile": {
            "default": false,
            "title": "Skip Saved Profile",
            "type": "boolean"
          },
          "terminate_criterion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Terminate Criterion"
          },
          "title": {
            "default": "",
            "title": "Title",
            "type": "string"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Identifier"
          },
          "totp_verification_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Verification Url"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          }
        },
        "required": [
          "block_type",
          "label"
        ],
        "title": "LoginBlockYAML",
        "type": "object"
      },
      "LoginRequest": {
        "properties": {
          "azure_vault_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Azure Vault Name",
            "title": "Azure Vault Name"
          },
          "azure_vault_password_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Azure Vault password key",
            "title": "Azure Vault Password Key"
          },
          "azure_vault_totp_secret_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Azure Vault TOTP secret key",
            "title": "Azure Vault Totp Secret Key"
          },
          "azure_vault_username_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Azure Vault username key",
            "title": "Azure Vault Username Key"
          },
          "bitwarden_collection_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Bitwarden collection ID. You can find it in the Bitwarden collection URL. e.g. `https://vault.bitwarden.com/vaults/collection_id/items`",
            "title": "Bitwarden Collection Id"
          },
          "bitwarden_item_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Bitwarden item ID",
            "title": "Bitwarden Item Id"
          },
          "browser_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The CDP address for the task.",
            "examples": [
              "http://127.0.0.1:9222",
              "ws://127.0.0.1:9222/devtools/browser/1234567890"
            ],
            "title": "Browser Address"
          },
          "browser_profile_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "ID of a browser profile to reuse for this run",
            "title": "Browser Profile Id"
          },
          "browser_session_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "ID of the browser session to use, which is prefixed by `pbs_` e.g. `pbs_123456`",
            "examples": [
              "pbs_123456"
            ],
            "title": "Browser Session Id"
          },
          "cdp_connect_headers": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "HTTP headers attached ONLY to the CDP WebSocket handshake when connecting to a remote browser via browser_address. Never forwarded to target websites.",
            "title": "Cdp Connect Headers"
          },
          "credential_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "ID of the Skyvern credential to use for login.",
            "examples": [
              "cred_123"
            ],
            "title": "Credential Id"
          },
          "credential_type": {
            "$ref": "#/components/schemas/skyvern__schemas__credential_type__CredentialType",
            "description": "Where to get the credential from"
          },
          "extra_http_headers": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Additional HTTP headers to include in requests",
            "title": "Extra Http Headers"
          },
          "max_screenshot_scrolling_times": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Maximum number of times to scroll for screenshots",
            "title": "Max Screenshot Scrolling Times"
          },
          "onepassword_item_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "1Password item ID",
            "title": "Onepassword Item Id"
          },
          "onepassword_totp_field_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "1Password item field id or label to treat as the TOTP secret, overriding 1Password's own field-type detection",
            "title": "Onepassword Totp Field Name"
          },
          "onepassword_vault_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "1Password vault ID",
            "title": "Onepassword Vault Id"
          },
          "prompt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Login instructions. Skyvern has default prompt/instruction for login if this field is not provided.",
            "title": "Prompt"
          },
          "proxy_location": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ProxyLocation"
              },
              {
                "type": "null"
              }
            ],
            "description": "Proxy location to use"
          },
          "start_fresh_browser": {
            "default": false,
            "description": "When true, start this run from a fresh, empty browser and ignore any saved browser memory — no memory is read or written. A verified sign-in during the run still updates the credential's saved login.",
            "title": "Start Fresh Browser",
            "type": "boolean"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Identifier for TOTP (Time-based One-Time Password) if required",
            "title": "Totp Identifier"
          },
          "totp_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "TOTP URL to fetch one-time passwords",
            "title": "Totp Url"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Website URL",
            "title": "Url"
          },
          "webhook_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Webhook URL to send status updates",
            "title": "Webhook Url"
          }
        },
        "required": [
          "credential_type"
        ],
        "title": "LoginRequest",
        "type": "object"
      },
      "NavigationBlock": {
        "properties": {
          "block_type": {
            "const": "navigation",
            "default": "navigation",
            "title": "Block Type",
            "type": "string"
          },
          "complete_criterion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Complete Criterion"
          },
          "complete_criterion_is_untrusted": {
            "default": false,
            "title": "Complete Criterion Is Untrusted",
            "type": "boolean"
          },
          "complete_on_download": {
            "default": false,
            "title": "Complete On Download",
            "type": "boolean"
          },
          "complete_verification": {
            "default": true,
            "title": "Complete Verification",
            "type": "boolean"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "data_extraction_goal": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data Extraction Goal"
          },
          "data_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data Schema"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "download_suffix": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Download Suffix"
          },
          "download_timeout": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Download Timeout"
          },
          "engine": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RunEngine"
              },
              {
                "type": "null"
              }
            ]
          },
          "engine_pinned": {
            "default": false,
            "title": "Engine Pinned",
            "type": "boolean"
          },
          "error_code_mapping": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Code Mapping"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "include_action_history_in_verification": {
            "default": false,
            "title": "Include Action History In Verification",
            "type": "boolean"
          },
          "include_extracted_text": {
            "default": true,
            "title": "Include Extracted Text",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "max_retries": {
            "default": 0,
            "title": "Max Retries",
            "type": "integer"
          },
          "max_steps_per_run": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Steps Per Run"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "navigation_goal": {
            "title": "Navigation Goal",
            "type": "string"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "parameters": {
            "default": [],
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/WorkflowParameter"
                },
                {
                  "$ref": "#/components/schemas/ContextParameter"
                },
                {
                  "$ref": "#/components/schemas/AWSSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenLoginCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenSensitiveInformationParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenCreditCardDataParameter"
                },
                {
                  "$ref": "#/components/schemas/OnePasswordCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureVaultCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/OutputParameter"
                },
                {
                  "$ref": "#/components/schemas/CredentialParameter"
                }
              ]
            },
            "title": "Parameters",
            "type": "array"
          },
          "task_type": {
            "default": "general",
            "title": "Task Type",
            "type": "string"
          },
          "terminate_criterion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Terminate Criterion"
          },
          "title": {
            "default": "",
            "title": "Title",
            "type": "string"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Identifier"
          },
          "totp_verification_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Verification Url"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          }
        },
        "required": [
          "block_type",
          "label",
          "navigation_goal",
          "output_parameter"
        ],
        "title": "NavigationBlock",
        "type": "object"
      },
      "NavigationBlockYAML": {
        "properties": {
          "block_type": {
            "const": "navigation",
            "default": "navigation",
            "title": "Block Type",
            "type": "string"
          },
          "complete_criterion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Complete Criterion"
          },
          "complete_criterion_is_untrusted": {
            "default": false,
            "title": "Complete Criterion Is Untrusted",
            "type": "boolean"
          },
          "complete_on_download": {
            "default": false,
            "title": "Complete On Download",
            "type": "boolean"
          },
          "complete_verification": {
            "default": true,
            "title": "Complete Verification",
            "type": "boolean"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "download_suffix": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Download Suffix"
          },
          "engine": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RunEngine"
              },
              {
                "type": "null"
              }
            ]
          },
          "engine_pinned": {
            "default": false,
            "description": "Set to true only when skyvern-1.0 was explicitly chosen for this block; leave it unset otherwise.",
            "title": "Engine Pinned",
            "type": "boolean"
          },
          "error_code_mapping": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Code Mapping"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "include_action_history_in_verification": {
            "default": false,
            "title": "Include Action History In Verification",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "max_retries": {
            "default": 0,
            "title": "Max Retries",
            "type": "integer"
          },
          "max_steps_per_run": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Steps Per Run"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "navigation_goal": {
            "title": "Navigation Goal",
            "type": "string"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "parameter_keys": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parameter Keys"
          },
          "terminate_criterion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Terminate Criterion"
          },
          "title": {
            "default": "",
            "title": "Title",
            "type": "string"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Identifier"
          },
          "totp_verification_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Verification Url"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          }
        },
        "required": [
          "block_type",
          "label",
          "navigation_goal"
        ],
        "title": "NavigationBlockYAML",
        "type": "object"
      },
      "NonEmptyCreditCardCredential": {
        "description": "Credit card credential model that requires non-empty values.",
        "properties": {
          "billing_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/CreditCardBillingAddress"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional billing address associated with the card"
          },
          "billing_email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional billing email address",
            "title": "Billing Email"
          },
          "billing_phone": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional billing phone number",
            "title": "Billing Phone"
          },
          "card_brand": {
            "description": "The card's brand (must not be empty)",
            "examples": [
              "visa"
            ],
            "minLength": 1,
            "title": "Card Brand",
            "type": "string"
          },
          "card_cvv": {
            "description": "The card's CVV (must not be empty)",
            "examples": [
              "123"
            ],
            "minLength": 1,
            "title": "Card Cvv",
            "type": "string"
          },
          "card_exp_month": {
            "description": "The card's expiration month (must not be empty)",
            "examples": [
              "12"
            ],
            "minLength": 1,
            "title": "Card Exp Month",
            "type": "string"
          },
          "card_exp_year": {
            "description": "The card's expiration year (must not be empty)",
            "examples": [
              "2025"
            ],
            "minLength": 1,
            "title": "Card Exp Year",
            "type": "string"
          },
          "card_holder_name": {
            "description": "The name of the card holder (must not be empty)",
            "examples": [
              "John Doe"
            ],
            "minLength": 1,
            "title": "Card Holder Name",
            "type": "string"
          },
          "card_number": {
            "description": "The full credit card number (must not be empty)",
            "examples": [
              "4111111111111111"
            ],
            "minLength": 1,
            "title": "Card Number",
            "type": "string"
          },
          "metadata": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional additional credit card metadata fields",
            "title": "Metadata"
          }
        },
        "required": [
          "card_number",
          "card_cvv",
          "card_exp_month",
          "card_exp_year",
          "card_brand",
          "card_holder_name"
        ],
        "title": "NonEmptyCreditCardCredential",
        "type": "object"
      },
      "NonEmptyPasswordCredential": {
        "description": "Password credential model for API writes: non-empty username, optionally empty password.",
        "properties": {
          "metadata": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional additional password credential metadata fields",
            "title": "Metadata"
          },
          "password": {
            "default": "",
            "description": "The password value; may be empty or omitted for logins that have no password",
            "examples": [
              "securepassword123"
            ],
            "title": "Password",
            "type": "string"
          },
          "totp": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional TOTP (Time-based One-Time Password) string used to generate 2FA codes",
            "examples": [
              "JBSWY3DPEHPK3PXP"
            ],
            "title": "Totp"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Identifier (email or phone number) used to fetch TOTP codes",
            "examples": [
              "user@example.com",
              "+14155550123"
            ],
            "title": "Totp Identifier"
          },
          "totp_type": {
            "$ref": "#/components/schemas/TotpType",
            "default": "none",
            "description": "Type of 2FA method used for this credential",
            "examples": [
              "authenticator"
            ]
          },
          "username": {
            "description": "The username associated with the credential (must not be empty)",
            "examples": [
              "user@example.com"
            ],
            "minLength": 1,
            "title": "Username",
            "type": "string"
          }
        },
        "required": [
          "username"
        ],
        "title": "NonEmptyPasswordCredential",
        "type": "object"
      },
      "OTPType": {
        "enum": [
          "totp",
          "magic_link"
        ],
        "title": "OTPType",
        "type": "string"
      },
      "OnePasswordCredentialParameter": {
        "properties": {
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "deleted_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Deleted At"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "item_id": {
            "title": "Item Id",
            "type": "string"
          },
          "key": {
            "title": "Key",
            "type": "string"
          },
          "modified_at": {
            "format": "date-time",
            "title": "Modified At",
            "type": "string"
          },
          "onepassword_credential_parameter_id": {
            "title": "Onepassword Credential Parameter Id",
            "type": "string"
          },
          "parameter_type": {
            "const": "onepassword",
            "default": "onepassword",
            "title": "Parameter Type",
            "type": "string"
          },
          "totp_field_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Field Name"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Identifier"
          },
          "vault_id": {
            "title": "Vault Id",
            "type": "string"
          },
          "workflow_id": {
            "title": "Workflow Id",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "item_id",
          "key",
          "modified_at",
          "onepassword_credential_parameter_id",
          "parameter_type",
          "vault_id",
          "workflow_id"
        ],
        "title": "OnePasswordCredentialParameter",
        "type": "object"
      },
      "OnePasswordCredentialParameterYAML": {
        "properties": {
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "item_id": {
            "title": "Item Id",
            "type": "string"
          },
          "key": {
            "title": "Key",
            "type": "string"
          },
          "parameter_type": {
            "const": "onepassword",
            "default": "onepassword",
            "title": "Parameter Type",
            "type": "string"
          },
          "totp_field_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Field Name"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Identifier"
          },
          "vault_id": {
            "title": "Vault Id",
            "type": "string"
          }
        },
        "required": [
          "item_id",
          "key",
          "parameter_type",
          "vault_id"
        ],
        "title": "OnePasswordCredentialParameterYAML",
        "type": "object"
      },
      "OneTimeDispatchStatus": {
        "enum": [
          "pending",
          "fired",
          "canceled",
          "failed"
        ],
        "title": "OneTimeDispatchStatus",
        "type": "string"
      },
      "OrganizationPhoneNumberResponse": {
        "description": "Safe phone-number metadata without provider routing or cost secrets.",
        "properties": {
          "billing_exempt": {
            "default": false,
            "title": "Billing Exempt",
            "type": "boolean"
          },
          "cancel_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cancel At"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "credential_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Credential Id"
          },
          "deleted_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Deleted At"
          },
          "modified_at": {
            "format": "date-time",
            "title": "Modified At",
            "type": "string"
          },
          "organization_id": {
            "title": "Organization Id",
            "type": "string"
          },
          "phone_number": {
            "title": "Phone Number",
            "type": "string"
          },
          "phone_number_id": {
            "title": "Phone Number Id",
            "type": "string"
          },
          "price_cents": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Price Cents"
          },
          "provider": {
            "title": "Provider",
            "type": "string"
          },
          "quarantined_until": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Quarantined Until"
          },
          "sms_config_id": {
            "title": "Sms Config Id",
            "type": "string"
          },
          "status": {
            "enum": [
              "active",
              "disabled",
              "released",
              "quarantined",
              "provisioning",
              "quarantining",
              "releasing",
              "surrendering",
              "reversal_pending"
            ],
            "title": "Status",
            "type": "string"
          }
        },
        "required": [
          "phone_number_id",
          "organization_id",
          "sms_config_id",
          "phone_number",
          "provider",
          "status",
          "created_at",
          "modified_at"
        ],
        "title": "OrganizationPhoneNumberResponse",
        "type": "object"
      },
      "OrganizationScheduleItem": {
        "description": "Compact schedule projection for the org-wide list endpoint.\n\nIntentionally omits `backend_schedule_id` — the list view is for browsing\nschedules in the dashboard, not for managing the underlying execution-backend\nbinding. Callers that need the backend id should fetch the individual\nschedule via the per-workflow get endpoint.",
        "properties": {
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "cron_expression": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cron Expression"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "dispatch_status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/OneTimeDispatchStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "enabled": {
            "title": "Enabled",
            "type": "boolean"
          },
          "first_fire_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "First Fire At"
          },
          "interval_seconds": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Interval Seconds"
          },
          "modified_at": {
            "format": "date-time",
            "title": "Modified At",
            "type": "string"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "next_run": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next Run"
          },
          "organization_id": {
            "title": "Organization Id",
            "type": "string"
          },
          "parameters": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parameters"
          },
          "run_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Run At"
          },
          "timezone": {
            "title": "Timezone",
            "type": "string"
          },
          "workflow_permanent_id": {
            "title": "Workflow Permanent Id",
            "type": "string"
          },
          "workflow_run_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Workflow Run Id"
          },
          "workflow_schedule_id": {
            "title": "Workflow Schedule Id",
            "type": "string"
          },
          "workflow_title": {
            "title": "Workflow Title",
            "type": "string"
          }
        },
        "required": [
          "workflow_schedule_id",
          "organization_id",
          "workflow_permanent_id",
          "workflow_title",
          "timezone",
          "enabled",
          "created_at",
          "modified_at"
        ],
        "title": "OrganizationScheduleItem",
        "type": "object"
      },
      "OrganizationScheduleListResponse": {
        "properties": {
          "page": {
            "title": "Page",
            "type": "integer"
          },
          "page_size": {
            "title": "Page Size",
            "type": "integer"
          },
          "schedules": {
            "items": {
              "$ref": "#/components/schemas/OrganizationScheduleItem"
            },
            "title": "Schedules",
            "type": "array"
          },
          "total_count": {
            "title": "Total Count",
            "type": "integer"
          }
        },
        "required": [
          "schedules",
          "total_count",
          "page",
          "page_size"
        ],
        "title": "OrganizationScheduleListResponse",
        "type": "object"
      },
      "OutputParameter": {
        "properties": {
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "deleted_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Deleted At"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "key": {
            "title": "Key",
            "type": "string"
          },
          "modified_at": {
            "format": "date-time",
            "title": "Modified At",
            "type": "string"
          },
          "output_parameter_id": {
            "title": "Output Parameter Id",
            "type": "string"
          },
          "parameter_type": {
            "const": "output",
            "default": "output",
            "title": "Parameter Type",
            "type": "string"
          },
          "workflow_id": {
            "title": "Workflow Id",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "key",
          "modified_at",
          "output_parameter_id",
          "parameter_type",
          "workflow_id"
        ],
        "title": "OutputParameter",
        "type": "object"
      },
      "OutputParameterYAML": {
        "properties": {
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "key": {
            "title": "Key",
            "type": "string"
          },
          "parameter_type": {
            "const": "output",
            "default": "output",
            "title": "Parameter Type",
            "type": "string"
          }
        },
        "required": [
          "key",
          "parameter_type"
        ],
        "title": "OutputParameterYAML",
        "type": "object"
      },
      "PDFFormat": {
        "enum": [
          "A4",
          "Letter",
          "Legal",
          "Tabloid"
        ],
        "title": "PDFFormat",
        "type": "string"
      },
      "PDFParserBlock": {
        "description": "DEPRECATED: Use FileParserBlock with file_type=FileType.PDF instead.\nThis block will be removed in a future version.",
        "properties": {
          "block_type": {
            "const": "pdf_parser",
            "default": "pdf_parser",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "file_url": {
            "title": "File Url",
            "type": "string"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "json_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Json Schema"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          }
        },
        "required": [
          "block_type",
          "file_url",
          "label",
          "output_parameter"
        ],
        "title": "PDFParserBlock",
        "type": "object"
      },
      "PDFParserBlockYAML": {
        "properties": {
          "block_type": {
            "const": "pdf_parser",
            "default": "pdf_parser",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "file_url": {
            "title": "File Url",
            "type": "string"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "json_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Json Schema"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          }
        },
        "required": [
          "block_type",
          "file_url",
          "label"
        ],
        "title": "PDFParserBlockYAML",
        "type": "object"
      },
      "PasswordCredentialResponse": {
        "description": "Response model for password credentials — non-sensitive fields only.\n\nSECURITY: Must NEVER include password or TOTP secret.",
        "properties": {
          "has_totp": {
            "default": false,
            "description": "Whether the stored password credential includes a non-empty TOTP seed. Legacy rows with an unknown value report false until the credential is updated.",
            "title": "Has Totp",
            "type": "boolean"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Identifier (email or phone number) used to fetch TOTP codes",
            "examples": [
              "user@example.com",
              "+14155550123"
            ],
            "title": "Totp Identifier"
          },
          "totp_type": {
            "$ref": "#/components/schemas/TotpType",
            "default": "none",
            "description": "Type of 2FA method used for this credential",
            "examples": [
              "authenticator"
            ]
          },
          "username": {
            "description": "The username associated with the credential",
            "examples": [
              "user@example.com"
            ],
            "title": "Username",
            "type": "string"
          }
        },
        "required": [
          "username"
        ],
        "title": "PasswordCredentialResponse",
        "type": "object"
      },
      "PdfFillBlock": {
        "properties": {
          "block_type": {
            "const": "pdf_fill",
            "default": "pdf_fill",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "file_url": {
            "title": "File Url",
            "type": "string"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "llm_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Llm Key"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "parameters": {
            "default": [],
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/WorkflowParameter"
                },
                {
                  "$ref": "#/components/schemas/ContextParameter"
                },
                {
                  "$ref": "#/components/schemas/AWSSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenLoginCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenSensitiveInformationParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenCreditCardDataParameter"
                },
                {
                  "$ref": "#/components/schemas/OnePasswordCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureVaultCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/OutputParameter"
                },
                {
                  "$ref": "#/components/schemas/CredentialParameter"
                }
              ]
            },
            "title": "Parameters",
            "type": "array"
          },
          "payload": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payload"
          },
          "prompt": {
            "title": "Prompt",
            "type": "string"
          }
        },
        "required": [
          "block_type",
          "file_url",
          "label",
          "output_parameter",
          "prompt"
        ],
        "title": "PdfFillBlock",
        "type": "object"
      },
      "PdfFillBlockYAML": {
        "properties": {
          "block_type": {
            "const": "pdf_fill",
            "default": "pdf_fill",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "file_url": {
            "title": "File Url",
            "type": "string"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "llm_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Llm Key"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "parameter_keys": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parameter Keys"
          },
          "payload": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payload"
          },
          "prompt": {
            "title": "Prompt",
            "type": "string"
          }
        },
        "required": [
          "block_type",
          "file_url",
          "label",
          "prompt"
        ],
        "title": "PdfFillBlockYAML",
        "type": "object"
      },
      "PersistentBrowserType": {
        "enum": [
          "msedge",
          "chrome",
          "stealth-chromium"
        ],
        "title": "PersistentBrowserType",
        "type": "string"
      },
      "PowerBIQueryBlock": {
        "properties": {
          "block_type": {
            "const": "powerbi_query",
            "default": "powerbi_query",
            "title": "Block Type",
            "type": "string"
          },
          "connection_id": {
            "title": "Connection Id",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "dataset_id": {
            "title": "Dataset Id",
            "type": "string"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "max_rows": {
            "default": 1000,
            "maximum": 100000,
            "minimum": 1,
            "title": "Max Rows",
            "type": "integer"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "parameters": {
            "default": [],
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/WorkflowParameter"
                },
                {
                  "$ref": "#/components/schemas/ContextParameter"
                },
                {
                  "$ref": "#/components/schemas/AWSSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenLoginCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenSensitiveInformationParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenCreditCardDataParameter"
                },
                {
                  "$ref": "#/components/schemas/OnePasswordCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureVaultCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/OutputParameter"
                },
                {
                  "$ref": "#/components/schemas/CredentialParameter"
                }
              ]
            },
            "title": "Parameters",
            "type": "array"
          },
          "query": {
            "title": "Query",
            "type": "string"
          }
        },
        "required": [
          "block_type",
          "connection_id",
          "dataset_id",
          "label",
          "output_parameter",
          "query"
        ],
        "title": "PowerBIQueryBlock",
        "type": "object"
      },
      "PowerBIQueryBlockYAML": {
        "description": "Documented ahead of release; saves are unavailable until the Power BI catalog status is live.",
        "properties": {
          "block_type": {
            "const": "powerbi_query",
            "default": "powerbi_query",
            "title": "Block Type",
            "type": "string"
          },
          "connection_id": {
            "description": "Microsoft OAuth credential ID for this user.",
            "minLength": 1,
            "title": "Connection Id",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "dataset_id": {
            "minLength": 1,
            "title": "Dataset Id",
            "type": "string"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "max_rows": {
            "default": 1000,
            "maximum": 100000,
            "minimum": 1,
            "title": "Max Rows",
            "type": "integer"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "parameter_keys": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parameter Keys"
          },
          "query": {
            "description": "A single read-only DAX query.",
            "minLength": 1,
            "title": "Query",
            "type": "string"
          }
        },
        "required": [
          "block_type",
          "connection_id",
          "dataset_id",
          "label",
          "query"
        ],
        "title": "PowerBIQueryBlockYAML",
        "type": "object"
      },
      "PrintPageBlock": {
        "properties": {
          "block_type": {
            "const": "print_page",
            "default": "print_page",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "custom_filename": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Custom Filename"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "format": {
            "default": "A4",
            "title": "Format",
            "type": "string"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "include_timestamp": {
            "default": true,
            "title": "Include Timestamp",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "landscape": {
            "default": false,
            "title": "Landscape",
            "type": "boolean"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "parameters": {
            "default": [],
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/WorkflowParameter"
                },
                {
                  "$ref": "#/components/schemas/ContextParameter"
                },
                {
                  "$ref": "#/components/schemas/AWSSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenLoginCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenSensitiveInformationParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenCreditCardDataParameter"
                },
                {
                  "$ref": "#/components/schemas/OnePasswordCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureVaultCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/OutputParameter"
                },
                {
                  "$ref": "#/components/schemas/CredentialParameter"
                }
              ]
            },
            "title": "Parameters",
            "type": "array"
          },
          "print_background": {
            "default": true,
            "title": "Print Background",
            "type": "boolean"
          }
        },
        "required": [
          "block_type",
          "label",
          "output_parameter"
        ],
        "title": "PrintPageBlock",
        "type": "object"
      },
      "PrintPageBlockYAML": {
        "properties": {
          "block_type": {
            "const": "print_page",
            "default": "print_page",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "custom_filename": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Custom Filename"
          },
          "format": {
            "$ref": "#/components/schemas/PDFFormat",
            "default": "A4"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "include_timestamp": {
            "default": true,
            "title": "Include Timestamp",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "landscape": {
            "default": false,
            "title": "Landscape",
            "type": "boolean"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "parameter_keys": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parameter Keys"
          },
          "print_background": {
            "default": true,
            "title": "Print Background",
            "type": "boolean"
          }
        },
        "required": [
          "block_type",
          "label"
        ],
        "title": "PrintPageBlockYAML",
        "type": "object"
      },
      "PromptAction": {
        "description": "Prompt action parameters.",
        "properties": {
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional model configuration",
            "title": "Model"
          },
          "prompt": {
            "description": "The prompt to send to the LLM",
            "title": "Prompt",
            "type": "string"
          },
          "response_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional JSON schema to structure the response",
            "title": "Response Schema"
          },
          "type": {
            "const": "prompt",
            "default": "prompt",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "prompt",
          "type"
        ],
        "title": "PromptAction",
        "type": "object"
      },
      "PromptBranchCriteria": {
        "description": "Natural language branch criteria.",
        "properties": {
          "criteria_type": {
            "const": "prompt",
            "default": "prompt",
            "title": "Criteria Type",
            "type": "string"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "expression": {
            "title": "Expression",
            "type": "string"
          }
        },
        "required": [
          "criteria_type",
          "expression"
        ],
        "title": "PromptBranchCriteria",
        "type": "object"
      },
      "ProvisionManagedNumberRequest": {
        "properties": {
          "phone_number": {
            "minLength": 1,
            "title": "Phone Number",
            "type": "string"
          }
        },
        "required": [
          "phone_number"
        ],
        "title": "ProvisionManagedNumberRequest",
        "type": "object"
      },
      "ProxyLocation": {
        "enum": [
          "RESIDENTIAL",
          "US-CA",
          "US-NY",
          "US-TX",
          "US-FL",
          "US-WA",
          "RESIDENTIAL_ES",
          "RESIDENTIAL_IE",
          "RESIDENTIAL_GB",
          "RESIDENTIAL_IN",
          "RESIDENTIAL_JP",
          "RESIDENTIAL_FR",
          "RESIDENTIAL_DE",
          "RESIDENTIAL_NZ",
          "RESIDENTIAL_ZA",
          "RESIDENTIAL_AR",
          "RESIDENTIAL_AU",
          "RESIDENTIAL_BR",
          "RESIDENTIAL_TR",
          "RESIDENTIAL_CA",
          "RESIDENTIAL_MX",
          "RESIDENTIAL_IT",
          "RESIDENTIAL_NL",
          "RESIDENTIAL_PH",
          "RESIDENTIAL_KR",
          "RESIDENTIAL_SA",
          "RESIDENTIAL_ISP",
          "NONE"
        ],
        "title": "ProxyLocation",
        "type": "string"
      },
      "RetryRunWebhookRequest": {
        "properties": {
          "webhook_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional webhook URL to send the payload to instead of the stored configuration",
            "title": "Webhook Url"
          }
        },
        "title": "RetryRunWebhookRequest",
        "type": "object"
      },
      "RunActivityExportResponse": {
        "properties": {
          "next": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Next"
          },
          "rows": {
            "items": {
              "$ref": "#/components/schemas/RunActivityExportRow"
            },
            "title": "Rows",
            "type": "array"
          }
        },
        "required": [
          "rows",
          "next"
        ],
        "title": "RunActivityExportResponse",
        "type": "object"
      },
      "RunActivityExportRow": {
        "properties": {
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "created_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created By"
          },
          "requested_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Requested By"
          },
          "retried_from_workflow_run_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Retried From Workflow Run Id"
          },
          "trigger_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Trigger Type"
          },
          "workflow_permanent_id": {
            "title": "Workflow Permanent Id",
            "type": "string"
          },
          "workflow_run_id": {
            "title": "Workflow Run Id",
            "type": "string"
          },
          "workflow_schedule_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Workflow Schedule Id"
          }
        },
        "required": [
          "workflow_run_id",
          "created_at",
          "workflow_permanent_id",
          "trigger_type",
          "created_by",
          "requested_by",
          "workflow_schedule_id",
          "retried_from_workflow_run_id"
        ],
        "title": "RunActivityExportRow",
        "type": "object"
      },
      "RunEngine": {
        "enum": [
          "skyvern-1.0",
          "skyvern-2.0",
          "skyvern-3.0",
          "openai-cua",
          "anthropic-cua",
          "ui-tars",
          "yutori-navigator"
        ],
        "title": "RunEngine",
        "type": "string"
      },
      "RunSdkActionRequest": {
        "description": "Request to run a single SDK action.",
        "properties": {
          "action": {
            "description": "The action to execute with its specific parameters",
            "oneOf": [
              {
                "$ref": "#/components/schemas/ClickAction"
              },
              {
                "$ref": "#/components/schemas/InputTextAction"
              },
              {
                "$ref": "#/components/schemas/SelectOptionAction"
              },
              {
                "$ref": "#/components/schemas/UploadFileAction"
              },
              {
                "$ref": "#/components/schemas/ActAction"
              },
              {
                "$ref": "#/components/schemas/ExtractAction"
              },
              {
                "$ref": "#/components/schemas/LocateElementAction"
              },
              {
                "$ref": "#/components/schemas/ValidateAction"
              },
              {
                "$ref": "#/components/schemas/PromptAction"
              }
            ],
            "title": "Action"
          },
          "browser_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The browser address",
            "title": "Browser Address"
          },
          "browser_session_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The browser session ID",
            "title": "Browser Session Id"
          },
          "url": {
            "description": "The URL where the action should be executed",
            "title": "Url",
            "type": "string"
          },
          "workflow_run_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional workflow run ID to continue an existing workflow run",
            "title": "Workflow Run Id"
          }
        },
        "required": [
          "url",
          "action"
        ],
        "title": "RunSdkActionRequest",
        "type": "object"
      },
      "RunSdkActionResponse": {
        "description": "Response from running an SDK action.",
        "properties": {
          "result": {
            "anyOf": [
              {},
              {
                "type": "null"
              }
            ],
            "description": "The result from the action (e.g., selector, value, extracted data)",
            "title": "Result"
          },
          "workflow_run_id": {
            "description": "The workflow run ID used for this action",
            "title": "Workflow Run Id",
            "type": "string"
          }
        },
        "required": [
          "workflow_run_id"
        ],
        "title": "RunSdkActionResponse",
        "type": "object"
      },
      "RunStatus": {
        "enum": [
          "created",
          "queued",
          "running",
          "paused",
          "timed_out",
          "failed",
          "terminated",
          "completed",
          "canceled"
        ],
        "title": "RunStatus",
        "type": "string"
      },
      "RunTagHistoryResponse": {
        "properties": {
          "events": {
            "items": {
              "$ref": "#/components/schemas/TagHistoryItem"
            },
            "title": "Events",
            "type": "array"
          },
          "workflow_run_id": {
            "title": "Workflow Run Id",
            "type": "string"
          }
        },
        "required": [
          "workflow_run_id",
          "events"
        ],
        "title": "RunTagHistoryResponse",
        "type": "object"
      },
      "RunTagSuggestionsResponse": {
        "description": "Response for ``GET /v1/run-tag-suggestions``: distinct (key, value) pairs\never set on a run for the org, sourced from the event log rather than the\ntag-key/tag-value registry so reserved ``skyvern.*`` system keys (never\nregistered) reach the pickers too.",
        "properties": {
          "keys": {
            "description": "Distinct grouped tag keys seen on runs.",
            "items": {
              "type": "string"
            },
            "title": "Keys",
            "type": "array"
          },
          "labels": {
            "description": "Distinct standalone (keyless) labels seen on runs.",
            "items": {
              "type": "string"
            },
            "title": "Labels",
            "type": "array"
          },
          "values_by_key": {
            "additionalProperties": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "description": "Values seen for each grouped key.",
            "title": "Values By Key",
            "type": "object"
          }
        },
        "title": "RunTagSuggestionsResponse",
        "type": "object"
      },
      "RunTagsBatchRequest": {
        "description": "Body for ``POST /v1/run-tags`` (used when the run-id list would exceed\nthe URL length cap).",
        "properties": {
          "workflow_run_ids": {
            "description": "Workflow run IDs to fetch tags for.",
            "items": {
              "type": "string"
            },
            "title": "Workflow Run Ids",
            "type": "array"
          }
        },
        "title": "RunTagsBatchRequest",
        "type": "object"
      },
      "RunTagsBatchResponse": {
        "description": "Response for the run-tags batch endpoint.\n\nRuns with no tags are present with an empty list so the frontend can\ndistinguish \"fetched, none set\" from \"not fetched\" without a second call.\nRuns outside the caller's org are silently absent (no leakage).",
        "properties": {
          "run_tags": {
            "additionalProperties": {
              "items": {
                "$ref": "#/components/schemas/TagItem"
              },
              "type": "array"
            },
            "title": "Run Tags",
            "type": "object"
          }
        },
        "required": [
          "run_tags"
        ],
        "title": "RunTagsBatchResponse",
        "type": "object"
      },
      "RunTagsResponse": {
        "description": "Current tags for a workflow run.",
        "properties": {
          "tags": {
            "items": {
              "$ref": "#/components/schemas/TagResponse"
            },
            "title": "Tags",
            "type": "array"
          },
          "workflow_run_id": {
            "title": "Workflow Run Id",
            "type": "string"
          }
        },
        "required": [
          "workflow_run_id",
          "tags"
        ],
        "title": "RunTagsResponse",
        "type": "object"
      },
      "RunType": {
        "enum": [
          "task_v1",
          "task_v2",
          "task_v3",
          "workflow_run",
          "openai_cua",
          "anthropic_cua",
          "ui_tars",
          "yutori_navigator"
        ],
        "title": "RunType",
        "type": "string"
      },
      "RunWebhookReplayResponse": {
        "properties": {
          "default_webhook_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Webhook URL stored on the original run configuration",
            "title": "Default Webhook Url"
          },
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Error message if the replay attempt failed",
            "title": "Error"
          },
          "headers": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Signed headers that were generated for the replay attempt",
            "title": "Headers",
            "type": "object"
          },
          "latency_ms": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Round-trip latency in milliseconds for the replay attempt",
            "title": "Latency Ms"
          },
          "payload": {
            "description": "JSON payload that was delivered during the replay attempt",
            "title": "Payload",
            "type": "string"
          },
          "response_body": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Body returned by the webhook receiver (truncated to 2KB)",
            "title": "Response Body"
          },
          "run_id": {
            "description": "Identifier of the run that was replayed",
            "title": "Run Id",
            "type": "string"
          },
          "run_type": {
            "description": "Run type associated with the payload",
            "title": "Run Type",
            "type": "string"
          },
          "status_code": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "HTTP status code returned by the webhook receiver, if available",
            "title": "Status Code"
          },
          "target_webhook_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Webhook URL that the replay attempted to reach",
            "title": "Target Webhook Url"
          }
        },
        "required": [
          "run_id",
          "run_type",
          "payload",
          "headers"
        ],
        "title": "RunWebhookReplayResponse",
        "type": "object"
      },
      "Script": {
        "properties": {
          "created_at": {
            "description": "Timestamp when the script was created",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "deleted_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Timestamp when the script was soft deleted",
            "title": "Deleted At"
          },
          "modified_at": {
            "description": "Timestamp when the script was last modified",
            "format": "date-time",
            "title": "Modified At",
            "type": "string"
          },
          "organization_id": {
            "description": "ID of the organization that owns this script",
            "title": "Organization Id",
            "type": "string"
          },
          "run_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "ID of the workflow run or task run that generated this script",
            "title": "Run Id"
          },
          "script_id": {
            "description": "User-facing script identifier, consistent across versions",
            "title": "Script Id",
            "type": "string"
          },
          "script_revision_id": {
            "description": "Unique identifier for this specific script revision",
            "title": "Script Revision Id",
            "type": "string"
          },
          "version": {
            "description": "Version number of the script",
            "title": "Version",
            "type": "integer"
          }
        },
        "required": [
          "script_revision_id",
          "script_id",
          "organization_id",
          "version",
          "created_at",
          "modified_at"
        ],
        "title": "Script",
        "type": "object"
      },
      "ScriptFileCreate": {
        "description": "Model representing a file in a script.",
        "properties": {
          "content": {
            "description": "Base64 encoded file content",
            "title": "Content",
            "type": "string"
          },
          "encoding": {
            "$ref": "#/components/schemas/FileEncoding",
            "default": "base64",
            "description": "Content encoding"
          },
          "mime_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "MIME type (auto-detected if not provided)",
            "title": "Mime Type"
          },
          "path": {
            "description": "File path relative to script root",
            "examples": [
              "src/main.py"
            ],
            "title": "Path",
            "type": "string"
          }
        },
        "required": [
          "path",
          "content"
        ],
        "title": "ScriptFileCreate",
        "type": "object"
      },
      "ScriptRunResponse": {
        "properties": {
          "ai_fallback_triggered": {
            "default": false,
            "title": "Ai Fallback Triggered",
            "type": "boolean"
          },
          "script_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Script Id"
          },
          "script_revision_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Script Revision Id"
          }
        },
        "title": "ScriptRunResponse",
        "type": "object"
      },
      "SecretCredential": {
        "description": "Generic secret credential.",
        "properties": {
          "secret_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional label describing the secret",
            "title": "Secret Label"
          },
          "secret_value": {
            "description": "The secret value",
            "examples": [
              "sk-abc123"
            ],
            "minLength": 1,
            "title": "Secret Value",
            "type": "string"
          }
        },
        "required": [
          "secret_value"
        ],
        "title": "SecretCredential",
        "type": "object"
      },
      "SecretCredentialResponse": {
        "description": "Response model for secret credentials — non-sensitive fields only.\n\nSECURITY: Must NEVER include the secret_value.",
        "properties": {
          "secret_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional label for the stored secret",
            "title": "Secret Label"
          }
        },
        "title": "SecretCredentialResponse",
        "type": "object"
      },
      "SelectOption": {
        "properties": {
          "index": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Index"
          },
          "label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Label"
          },
          "value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Value"
          }
        },
        "title": "SelectOption",
        "type": "object"
      },
      "SelectOptionAction": {
        "description": "Select option action parameters.",
        "properties": {
          "data": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Additional context data",
            "title": "Data"
          },
          "intention": {
            "default": "",
            "description": "The intention or goal of the selection",
            "title": "Intention",
            "type": "string"
          },
          "selector": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": "",
            "description": "CSS selector for the element",
            "title": "Selector"
          },
          "timeout": {
            "default": 10000,
            "description": "Timeout in milliseconds",
            "title": "Timeout",
            "type": "number"
          },
          "type": {
            "const": "ai_select_option",
            "default": "ai_select_option",
            "title": "Type",
            "type": "string"
          },
          "value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": "",
            "description": "Value to select",
            "title": "Value"
          }
        },
        "required": [
          "type"
        ],
        "title": "SelectOptionAction",
        "type": "object"
      },
      "SendEmailBlock": {
        "properties": {
          "bcc": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Bcc",
            "type": "array"
          },
          "block_type": {
            "const": "send_email",
            "default": "send_email",
            "title": "Block Type",
            "type": "string"
          },
          "body": {
            "title": "Body",
            "type": "string"
          },
          "body_format": {
            "$ref": "#/components/schemas/EmailBodyFormat",
            "default": "text"
          },
          "cc": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Cc",
            "type": "array"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "credential_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Credential Id"
          },
          "custom_smtp_host": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Custom Smtp Host"
          },
          "custom_smtp_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Custom Smtp Password"
          },
          "custom_smtp_port": {
            "anyOf": [
              {
                "maximum": 65535,
                "minimum": 1,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Custom Smtp Port"
          },
          "custom_smtp_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Custom Smtp Username"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "file_attachments": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "File Attachments",
            "type": "array"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "recipients": {
            "items": {
              "type": "string"
            },
            "title": "Recipients",
            "type": "array"
          },
          "sender": {
            "title": "Sender",
            "type": "string"
          },
          "smtp_host": {
            "$ref": "#/components/schemas/AWSSecretParameter"
          },
          "smtp_password": {
            "$ref": "#/components/schemas/AWSSecretParameter"
          },
          "smtp_port": {
            "$ref": "#/components/schemas/AWSSecretParameter"
          },
          "smtp_username": {
            "$ref": "#/components/schemas/AWSSecretParameter"
          },
          "subject": {
            "title": "Subject",
            "type": "string"
          },
          "transport": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/EmailTransport"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "block_type",
          "body",
          "label",
          "output_parameter",
          "recipients",
          "sender",
          "smtp_host",
          "smtp_password",
          "smtp_port",
          "smtp_username",
          "subject"
        ],
        "title": "SendEmailBlock",
        "type": "object"
      },
      "SendEmailBlockYAML": {
        "properties": {
          "bcc": {
            "description": "Bcc recipients. Only with transport 'gmail'.",
            "items": {
              "type": "string"
            },
            "title": "Bcc",
            "type": "array"
          },
          "block_type": {
            "const": "send_email",
            "default": "send_email",
            "title": "Block Type",
            "type": "string"
          },
          "body": {
            "title": "Body",
            "type": "string"
          },
          "body_format": {
            "$ref": "#/components/schemas/EmailBodyFormat",
            "default": "text"
          },
          "cc": {
            "description": "Cc recipients. Only with transport 'gmail'.",
            "items": {
              "type": "string"
            },
            "title": "Cc",
            "type": "array"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "credential_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "ID of a connected Google account that has send permission. Used only with transport 'gmail'.",
            "title": "Credential Id"
          },
          "custom_smtp_host": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Custom Smtp Host"
          },
          "custom_smtp_password": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Custom Smtp Password"
          },
          "custom_smtp_port": {
            "anyOf": [
              {
                "maximum": 65535,
                "minimum": 1,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Custom Smtp Port"
          },
          "custom_smtp_username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Custom Smtp Username"
          },
          "file_attachments": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "File Attachments"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "recipients": {
            "items": {
              "type": "string"
            },
            "title": "Recipients",
            "type": "array"
          },
          "sender": {
            "default": "",
            "description": "From address. Required unless transport is 'gmail'.",
            "title": "Sender",
            "type": "string"
          },
          "smtp_host_secret_parameter_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Smtp Host Secret Parameter Key"
          },
          "smtp_password_secret_parameter_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Smtp Password Secret Parameter Key"
          },
          "smtp_port_secret_parameter_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Smtp Port Secret Parameter Key"
          },
          "smtp_username_secret_parameter_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Smtp Username Secret Parameter Key"
          },
          "subject": {
            "title": "Subject",
            "type": "string"
          },
          "transport": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/EmailTransport"
              },
              {
                "type": "null"
              }
            ],
            "description": "How the email is sent. Omit for SMTP. 'gmail' sends from the connected Google account named by credential_id; sender and the SMTP settings are then unused."
          }
        },
        "required": [
          "block_type",
          "body",
          "label",
          "recipients",
          "subject"
        ],
        "title": "SendEmailBlockYAML",
        "type": "object"
      },
      "SplitPdfBlock": {
        "properties": {
          "block_type": {
            "const": "split_pdf",
            "default": "split_pdf",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "file_url": {
            "title": "File Url",
            "type": "string"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "llm_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Llm Key"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "parameters": {
            "default": [],
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/WorkflowParameter"
                },
                {
                  "$ref": "#/components/schemas/ContextParameter"
                },
                {
                  "$ref": "#/components/schemas/AWSSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenLoginCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenSensitiveInformationParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenCreditCardDataParameter"
                },
                {
                  "$ref": "#/components/schemas/OnePasswordCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureVaultCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/OutputParameter"
                },
                {
                  "$ref": "#/components/schemas/CredentialParameter"
                }
              ]
            },
            "title": "Parameters",
            "type": "array"
          },
          "prompt": {
            "title": "Prompt",
            "type": "string"
          }
        },
        "required": [
          "block_type",
          "file_url",
          "label",
          "output_parameter",
          "prompt"
        ],
        "title": "SplitPdfBlock",
        "type": "object"
      },
      "SplitPdfBlockYAML": {
        "properties": {
          "block_type": {
            "const": "split_pdf",
            "default": "split_pdf",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "file_url": {
            "title": "File Url",
            "type": "string"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "llm_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Llm Key"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "parameter_keys": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parameter Keys"
          },
          "prompt": {
            "title": "Prompt",
            "type": "string"
          }
        },
        "required": [
          "block_type",
          "file_url",
          "label",
          "prompt"
        ],
        "title": "SplitPdfBlockYAML",
        "type": "object"
      },
      "TOTPCode": {
        "properties": {
          "code": {
            "description": "The TOTP code extracted from the content.",
            "title": "Code",
            "type": "string"
          },
          "content": {
            "description": "The content of the TOTP code. It can be the email content that contains the TOTP code, or the sms message that contains the TOTP code. Skyvern will automatically extract the TOTP code from the content.",
            "examples": [
              "Hello, your verification code is 123456"
            ],
            "title": "Content",
            "type": "string"
          },
          "created_at": {
            "description": "The timestamp when the TOTP code was created.",
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "expired_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The timestamp when the TOTP code expires",
            "examples": [
              "2025-01-01T00:00:00Z"
            ],
            "title": "Expired At"
          },
          "modified_at": {
            "description": "The timestamp when the TOTP code was modified.",
            "format": "date-time",
            "title": "Modified At",
            "type": "string"
          },
          "organization_id": {
            "description": "The ID of the organization that the TOTP code is for.",
            "title": "Organization Id",
            "type": "string"
          },
          "otp_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/OTPType"
              },
              {
                "type": "null"
              }
            ],
            "description": "The type of the OTP code."
          },
          "source": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "An optional field. The source of the TOTP code. e.g. email, sms, etc.",
            "examples": [
              "email",
              "sms",
              "app"
            ],
            "title": "Source"
          },
          "task_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The task_id the totp code is for. It can be the task_id of the task that the TOTP code is for.",
            "examples": [
              "task_123456"
            ],
            "title": "Task Id"
          },
          "totp_code_id": {
            "description": "The skyvern ID of the TOTP code.",
            "title": "Totp Code Id",
            "type": "string"
          },
          "totp_identifier": {
            "description": "The identifier of the TOTP code. It can be the email address, phone number, or the identifier of the user.",
            "examples": [
              "john.doe@example.com",
              "4155555555",
              "user_123"
            ],
            "title": "Totp Identifier",
            "type": "string"
          },
          "type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/OTPType"
              },
              {
                "type": "null"
              }
            ],
            "deprecated": true,
            "description": "Deprecated compatibility field. Skyvern auto-detects the OTP type from content, so this value does not constrain extraction.",
            "examples": [
              "totp",
              "magic_link"
            ]
          },
          "workflow_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The workflow ID the TOTP code is for. It can be the workflow ID of the workflow that the TOTP code is for.",
            "examples": [
              "wpid_123456"
            ],
            "title": "Workflow Id"
          },
          "workflow_run_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The workflow run id that the TOTP code is for. It can be the workflow run id of the workflow run that the TOTP code is for.",
            "examples": [
              "wr_123456"
            ],
            "title": "Workflow Run Id"
          }
        },
        "required": [
          "totp_identifier",
          "content",
          "totp_code_id",
          "code",
          "organization_id",
          "created_at",
          "modified_at"
        ],
        "title": "TOTPCode",
        "type": "object"
      },
      "TOTPCodeCreate": {
        "properties": {
          "content": {
            "description": "The content of the TOTP code. It can be the email content that contains the TOTP code, or the sms message that contains the TOTP code. Skyvern will automatically extract the TOTP code from the content.",
            "examples": [
              "Hello, your verification code is 123456"
            ],
            "title": "Content",
            "type": "string"
          },
          "expired_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The timestamp when the TOTP code expires",
            "examples": [
              "2025-01-01T00:00:00Z"
            ],
            "title": "Expired At"
          },
          "source": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "An optional field. The source of the TOTP code. e.g. email, sms, etc.",
            "examples": [
              "email",
              "sms",
              "app"
            ],
            "title": "Source"
          },
          "task_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The task_id the totp code is for. It can be the task_id of the task that the TOTP code is for.",
            "examples": [
              "task_123456"
            ],
            "title": "Task Id"
          },
          "totp_identifier": {
            "description": "The identifier of the TOTP code. It can be the email address, phone number, or the identifier of the user.",
            "examples": [
              "john.doe@example.com",
              "4155555555",
              "user_123"
            ],
            "title": "Totp Identifier",
            "type": "string"
          },
          "type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/OTPType"
              },
              {
                "type": "null"
              }
            ],
            "deprecated": true,
            "description": "Deprecated compatibility field. Skyvern auto-detects the OTP type from content, so this value does not constrain extraction.",
            "examples": [
              "totp",
              "magic_link"
            ]
          },
          "workflow_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The workflow ID the TOTP code is for. It can be the workflow ID of the workflow that the TOTP code is for.",
            "examples": [
              "wpid_123456"
            ],
            "title": "Workflow Id"
          },
          "workflow_run_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The workflow run id that the TOTP code is for. It can be the workflow run id of the workflow run that the TOTP code is for.",
            "examples": [
              "wr_123456"
            ],
            "title": "Workflow Run Id"
          }
        },
        "required": [
          "totp_identifier",
          "content"
        ],
        "title": "TOTPCodeCreate",
        "type": "object"
      },
      "TagApplyRequest": {
        "description": "Body for ``POST /v1/workflows/{wpid}/tags``. Either field may be empty (both\nempty is a no-op). On a same-identity collision, set wins over delete.",
        "properties": {
          "colors": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional map of grouped tag key to palette color name for the value being set. Keys absent from this map keep their existing color or receive a random palette color.",
            "title": "Colors"
          },
          "tags": {
            "description": "Tags to set (overwrite). List of {key?, value} objects.",
            "items": {
              "$ref": "#/components/schemas/TagInput"
            },
            "title": "Tags",
            "type": "array"
          },
          "tags_to_delete": {
            "description": "Tags to soft-delete. List of {key?, value?} targets.",
            "items": {
              "$ref": "#/components/schemas/TagDeleteInput"
            },
            "title": "Tags To Delete",
            "type": "array"
          }
        },
        "title": "TagApplyRequest",
        "type": "object"
      },
      "TagDeleteInput": {
        "description": "One tag to soft-delete: a grouped tag by its ``key``, or a standalone label\nby its ``value`` (omit the key).",
        "properties": {
          "key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Group (key) to delete. Use for grouped tags.",
            "title": "Key"
          },
          "value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Label (value) to delete. Use for standalone labels.",
            "title": "Value"
          }
        },
        "title": "TagDeleteInput",
        "type": "object"
      },
      "TagHistoryItem": {
        "description": "One row from ``GET /v1/workflows/{wpid}/tags/history``.",
        "properties": {
          "event_type": {
            "title": "Event Type",
            "type": "string"
          },
          "key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Key"
          },
          "set_at": {
            "format": "date-time",
            "title": "Set At",
            "type": "string"
          },
          "set_by": {
            "title": "Set By",
            "type": "string"
          },
          "source": {
            "title": "Source",
            "type": "string"
          },
          "superseded_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Superseded At"
          },
          "tag_event_id": {
            "title": "Tag Event Id",
            "type": "string"
          },
          "value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Value"
          }
        },
        "required": [
          "tag_event_id",
          "key",
          "value",
          "event_type",
          "source",
          "set_at",
          "set_by"
        ],
        "title": "TagHistoryItem",
        "type": "object"
      },
      "TagHistoryResponse": {
        "properties": {
          "events": {
            "items": {
              "$ref": "#/components/schemas/TagHistoryItem"
            },
            "title": "Events",
            "type": "array"
          },
          "workflow_permanent_id": {
            "title": "Workflow Permanent Id",
            "type": "string"
          }
        },
        "required": [
          "workflow_permanent_id",
          "events"
        ],
        "title": "TagHistoryResponse",
        "type": "object"
      },
      "TagInput": {
        "description": "One tag to set. ``value`` is the required label; ``key`` is the optional\ngroup — null for a standalone label, set for a grouped label (e.g. env:prod).",
        "properties": {
          "key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional group (key). Omit for a standalone label.",
            "title": "Key"
          },
          "value": {
            "description": "Label (value). Always required.",
            "title": "Value",
            "type": "string"
          }
        },
        "required": [
          "value"
        ],
        "title": "TagInput",
        "type": "object"
      },
      "TagItem": {
        "description": "A single tag (key + label) without per-tag attribution. ``key`` is null\nfor a standalone label.",
        "properties": {
          "key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Key"
          },
          "value": {
            "title": "Value",
            "type": "string"
          }
        },
        "required": [
          "value"
        ],
        "title": "TagItem",
        "type": "object"
      },
      "TagKey": {
        "description": "Tag-key registry entry.",
        "properties": {
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "key": {
            "title": "Key",
            "type": "string"
          },
          "workflow_count": {
            "default": 0,
            "title": "Workflow Count",
            "type": "integer"
          }
        },
        "required": [
          "key"
        ],
        "title": "TagKey",
        "type": "object"
      },
      "TagKeyDeleteResponse": {
        "description": "Response for ``DELETE /v1/tag-keys/{key}``.",
        "properties": {
          "key": {
            "title": "Key",
            "type": "string"
          },
          "removed_count": {
            "default": 0,
            "title": "Removed Count",
            "type": "integer"
          },
          "removed_from_run_count": {
            "default": 0,
            "title": "Removed From Run Count",
            "type": "integer"
          },
          "removed_from_workflow_count": {
            "title": "Removed From Workflow Count",
            "type": "integer"
          }
        },
        "required": [
          "key",
          "removed_from_workflow_count"
        ],
        "title": "TagKeyDeleteResponse",
        "type": "object"
      },
      "TagKeyUpdate": {
        "description": "Body for ``PATCH /v1/tag-keys/{key}``.",
        "properties": {
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Free-form description (max 500 chars). Pass null to clear.",
            "title": "Description"
          }
        },
        "title": "TagKeyUpdate",
        "type": "object"
      },
      "TagResponse": {
        "description": "Current state of one tag (``GET /v1/workflows/{wpid}/tags`` row).\n``key`` is null for a standalone label.",
        "properties": {
          "key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Key"
          },
          "set_at": {
            "format": "date-time",
            "title": "Set At",
            "type": "string"
          },
          "set_by": {
            "title": "Set By",
            "type": "string"
          },
          "source": {
            "title": "Source",
            "type": "string"
          },
          "value": {
            "title": "Value",
            "type": "string"
          }
        },
        "required": [
          "value",
          "source",
          "set_at",
          "set_by"
        ],
        "title": "TagResponse",
        "type": "object"
      },
      "TagValue": {
        "description": "Tag-value color registry entry: the palette color assigned to a grouped\n(key, value) pair.",
        "properties": {
          "color": {
            "title": "Color",
            "type": "string"
          },
          "key": {
            "title": "Key",
            "type": "string"
          },
          "value": {
            "title": "Value",
            "type": "string"
          },
          "workflow_count": {
            "default": 0,
            "description": "Number of non-deleted workflows currently carrying this (key, value) label.",
            "title": "Workflow Count",
            "type": "integer"
          }
        },
        "required": [
          "key",
          "value",
          "color"
        ],
        "title": "TagValue",
        "type": "object"
      },
      "TagValueCreate": {
        "description": "Body for ``POST /v1/tag-values``: register a grouped label before any\nworkflow uses it. The label shows a zero workflow count until applied.",
        "properties": {
          "color": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Palette color name for the label; a random palette color when omitted.",
            "title": "Color"
          },
          "key": {
            "description": "Tag key (group) for the new label.",
            "title": "Key",
            "type": "string"
          },
          "value": {
            "description": "Tag value (label) to register under the key.",
            "title": "Value",
            "type": "string"
          }
        },
        "required": [
          "key",
          "value"
        ],
        "title": "TagValueCreate",
        "type": "object"
      },
      "TagValueDelete": {
        "description": "Body for ``DELETE /v1/tag-values/{key}``. The value rides in the body, not the\npath, so values containing ``/`` stay addressable.",
        "properties": {
          "value": {
            "description": "Tag value (label) under the key to soft-delete.",
            "title": "Value",
            "type": "string"
          }
        },
        "required": [
          "value"
        ],
        "title": "TagValueDelete",
        "type": "object"
      },
      "TagValueDeleteResponse": {
        "description": "Response for ``DELETE /v1/tag-values/{key}``.",
        "properties": {
          "key": {
            "title": "Key",
            "type": "string"
          },
          "removed_count": {
            "default": 0,
            "title": "Removed Count",
            "type": "integer"
          },
          "removed_from_run_count": {
            "default": 0,
            "title": "Removed From Run Count",
            "type": "integer"
          },
          "removed_from_workflow_count": {
            "title": "Removed From Workflow Count",
            "type": "integer"
          },
          "value": {
            "title": "Value",
            "type": "string"
          }
        },
        "required": [
          "key",
          "value",
          "removed_from_workflow_count"
        ],
        "title": "TagValueDeleteResponse",
        "type": "object"
      },
      "TagValueRename": {
        "description": "Body for ``PATCH /v1/tag-values/{key}/rename``. Both the current and the new\nvalue ride in the body so values containing ``/`` stay addressable.",
        "properties": {
          "new_value": {
            "description": "New tag value (label) to rename it to.",
            "title": "New Value",
            "type": "string"
          },
          "value": {
            "description": "Current tag value (label) under the key to rename.",
            "title": "Value",
            "type": "string"
          }
        },
        "required": [
          "value",
          "new_value"
        ],
        "title": "TagValueRename",
        "type": "object"
      },
      "TagValueRenameResponse": {
        "description": "Response for ``PATCH /v1/tag-values/{key}/rename``: the renamed label with its\ncarried-over color and the number of workflows re-tagged.",
        "properties": {
          "color": {
            "title": "Color",
            "type": "string"
          },
          "key": {
            "title": "Key",
            "type": "string"
          },
          "renamed_workflow_count": {
            "title": "Renamed Workflow Count",
            "type": "integer"
          },
          "value": {
            "title": "Value",
            "type": "string"
          }
        },
        "required": [
          "key",
          "value",
          "color",
          "renamed_workflow_count"
        ],
        "title": "TagValueRenameResponse",
        "type": "object"
      },
      "TagValueUpdate": {
        "description": "Body for ``PATCH /v1/tag-values/{key}``. The value rides in the body, not the\npath, so values containing ``/`` stay addressable.",
        "properties": {
          "color": {
            "description": "Palette color name to assign to this (key, value).",
            "title": "Color",
            "type": "string"
          },
          "value": {
            "description": "Tag value (label) under the key to recolor.",
            "title": "Value",
            "type": "string"
          }
        },
        "required": [
          "value",
          "color"
        ],
        "title": "TagValueUpdate",
        "type": "object"
      },
      "TagsResponse": {
        "description": "Current tags for a workflow. A list (not a key-map) so standalone labels,\nwhich have no key, are representable.",
        "properties": {
          "tags": {
            "items": {
              "$ref": "#/components/schemas/TagResponse"
            },
            "title": "Tags",
            "type": "array"
          },
          "workflow_permanent_id": {
            "title": "Workflow Permanent Id",
            "type": "string"
          }
        },
        "required": [
          "workflow_permanent_id",
          "tags"
        ],
        "title": "TagsResponse",
        "type": "object"
      },
      "TaskBlock": {
        "properties": {
          "block_type": {
            "const": "task",
            "default": "task",
            "title": "Block Type",
            "type": "string"
          },
          "complete_criterion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Complete Criterion"
          },
          "complete_criterion_is_untrusted": {
            "default": false,
            "title": "Complete Criterion Is Untrusted",
            "type": "boolean"
          },
          "complete_on_download": {
            "default": false,
            "title": "Complete On Download",
            "type": "boolean"
          },
          "complete_verification": {
            "default": true,
            "title": "Complete Verification",
            "type": "boolean"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "data_extraction_goal": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data Extraction Goal"
          },
          "data_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data Schema"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "download_suffix": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Download Suffix"
          },
          "download_timeout": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Download Timeout"
          },
          "engine": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RunEngine"
              },
              {
                "type": "null"
              }
            ]
          },
          "engine_pinned": {
            "default": false,
            "title": "Engine Pinned",
            "type": "boolean"
          },
          "error_code_mapping": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Code Mapping"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "include_action_history_in_verification": {
            "default": false,
            "title": "Include Action History In Verification",
            "type": "boolean"
          },
          "include_extracted_text": {
            "default": true,
            "title": "Include Extracted Text",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "max_retries": {
            "default": 0,
            "title": "Max Retries",
            "type": "integer"
          },
          "max_steps_per_run": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Steps Per Run"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "navigation_goal": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Navigation Goal"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "parameters": {
            "default": [],
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/WorkflowParameter"
                },
                {
                  "$ref": "#/components/schemas/ContextParameter"
                },
                {
                  "$ref": "#/components/schemas/AWSSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenLoginCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenSensitiveInformationParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenCreditCardDataParameter"
                },
                {
                  "$ref": "#/components/schemas/OnePasswordCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureVaultCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/OutputParameter"
                },
                {
                  "$ref": "#/components/schemas/CredentialParameter"
                }
              ]
            },
            "title": "Parameters",
            "type": "array"
          },
          "task_type": {
            "default": "general",
            "title": "Task Type",
            "type": "string"
          },
          "terminate_criterion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Terminate Criterion"
          },
          "title": {
            "default": "",
            "title": "Title",
            "type": "string"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Identifier"
          },
          "totp_verification_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Verification Url"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          }
        },
        "required": [
          "block_type",
          "label",
          "output_parameter"
        ],
        "title": "TaskBlock",
        "type": "object"
      },
      "TaskBlockYAML": {
        "properties": {
          "block_type": {
            "const": "task",
            "default": "task",
            "title": "Block Type",
            "type": "string"
          },
          "complete_criterion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Complete Criterion"
          },
          "complete_on_download": {
            "default": false,
            "title": "Complete On Download",
            "type": "boolean"
          },
          "complete_verification": {
            "default": true,
            "title": "Complete Verification",
            "type": "boolean"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "data_extraction_goal": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data Extraction Goal"
          },
          "data_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data Schema"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "download_suffix": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Download Suffix"
          },
          "engine": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RunEngine"
              },
              {
                "type": "null"
              }
            ]
          },
          "engine_pinned": {
            "default": false,
            "description": "Set to true only when skyvern-1.0 was explicitly chosen for this block; leave it unset otherwise.",
            "title": "Engine Pinned",
            "type": "boolean"
          },
          "error_code_mapping": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Code Mapping"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "include_action_history_in_verification": {
            "default": false,
            "title": "Include Action History In Verification",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "max_retries": {
            "default": 0,
            "title": "Max Retries",
            "type": "integer"
          },
          "max_steps_per_run": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Steps Per Run"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "navigation_goal": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Navigation Goal"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "parameter_keys": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parameter Keys"
          },
          "terminate_criterion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Terminate Criterion"
          },
          "title": {
            "default": "",
            "title": "Title",
            "type": "string"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Identifier"
          },
          "totp_verification_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Verification Url"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          }
        },
        "required": [
          "block_type",
          "label"
        ],
        "title": "TaskBlockYAML",
        "type": "object"
      },
      "TaskRunListItem": {
        "description": "Lightweight run-history item backed by the task_runs table.",
        "properties": {
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "created_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "ID of the user who started the run",
            "title": "Created By"
          },
          "finished_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Finished At"
          },
          "run_id": {
            "title": "Run Id",
            "type": "string"
          },
          "script_run": {
            "default": false,
            "title": "Script Run",
            "type": "boolean"
          },
          "started_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Started At"
          },
          "status": {
            "title": "Status",
            "type": "string"
          },
          "task_run_id": {
            "title": "Task Run Id",
            "type": "string"
          },
          "task_run_type": {
            "title": "Task Run Type",
            "type": "string"
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Title"
          },
          "trigger_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/WorkflowRunTriggerType"
              },
              {
                "type": "null"
              }
            ]
          },
          "workflow_deleted": {
            "default": false,
            "title": "Workflow Deleted",
            "type": "boolean"
          },
          "workflow_permanent_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Workflow Permanent Id"
          }
        },
        "required": [
          "task_run_id",
          "run_id",
          "task_run_type",
          "status",
          "created_at"
        ],
        "title": "TaskRunListItem",
        "type": "object"
      },
      "TaskRunRequest-Input": {
        "properties": {
          "browser_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The CDP address for the task.",
            "examples": [
              "http://127.0.0.1:9222",
              "ws://127.0.0.1:9222/devtools/browser/1234567890"
            ],
            "title": "Browser Address"
          },
          "browser_profile_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "ID of a browser profile to reuse for this task",
            "title": "Browser Profile Id"
          },
          "browser_session_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "\nRun the task or workflow in the specific Skyvern browser session. Having a browser session can persist the real-time state of the browser, so that the next run can continue from where the previous run left off.\n",
            "examples": [
              "pbs_123"
            ],
            "title": "Browser Session Id"
          },
          "cdp_connect_headers": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "HTTP headers attached ONLY to the CDP WebSocket handshake when connecting to a remote browser via browser_address. Use this for browser-provider auth (e.g., x-api-key for Skyvern Cloud, Browserless, or similar). These headers are NEVER forwarded to target websites.",
            "title": "Cdp Connect Headers"
          },
          "data_extraction_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "\nThe schema for data to be extracted from the webpage. If you're looking for consistent data schema being returned by the agent, it's highly recommended to use https://json-schema.org/.\n",
            "title": "Data Extraction Schema"
          },
          "engine": {
            "$ref": "#/components/schemas/RunEngine",
            "default": "skyvern-1.0",
            "description": "\nThe engine that powers the agent task. The default value is `skyvern-1.0`, which is good for simple tasks like filling a form, or searching for information on Google. `skyvern-2.0` remains available for existing V2 workflows and explicitly requested V2 task runs. The `openai-cua` engine uses OpenAI's CUA model. The `anthropic-cua` uses Anthropic's Claude Sonnet 3.7 model with the computer use tool.\n"
          },
          "error_code_mapping": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "\nCustom mapping of error codes to error messages if Skyvern encounters an error.\n",
            "examples": [
              {
                "login_failed": "The login credentials are incorrect or the account is locked"
              },
              {
                "maintenance_mode": "The website is down for maintenance"
              }
            ],
            "title": "Error Code Mapping"
          },
          "extra_http_headers": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "The extra HTTP headers for the requests in browser.",
            "title": "Extra Http Headers"
          },
          "file_ids": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "maxItems": 50,
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "description": "\nIds of files uploaded through `POST /v1/upload_file` to attach to this run. Skyvern deletes an attached file as soon as the run finishes, so there is nothing to clean up afterwards. Reference an attached file by its id anywhere a file URL is accepted (for example in `parameters` or in the prompt) and no presigned URL is ever created for it. A file can be attached to one run at a time, and must not already be deleted.\n",
            "examples": [
              [
                "file_123456789"
              ]
            ],
            "title": "File Ids"
          },
          "include_action_history_in_verification": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": false,
            "description": "Whether to include action history when verifying that the task is complete",
            "title": "Include Action History In Verification"
          },
          "max_screenshot_scrolls": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "The maximum number of scrolls for the post action screenshot. When it's None or 0, it takes the current viewpoint screenshot.",
            "title": "Max Screenshot Scrolls"
          },
          "max_steps": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "\nMaximum number of steps the task can take. Task will fail if it exceeds this number. Cautions: you are charged per step so please set this number to a reasonable value. Contact sales at skyvern.com for custom pricing.\n",
            "examples": [
              10,
              25
            ],
            "title": "Max Steps"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "\nOptional model configuration.\n",
            "title": "Model"
          },
          "prompt": {
            "description": "\nThe goal or task description for Skyvern to accomplish\n",
            "examples": [
              "Find the top 3 posts on Hacker News.",
              "Go to google finance, extract the \"AAPL\" stock price for me with the date."
            ],
            "title": "Prompt",
            "type": "string"
          },
          "proxy_location": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ProxyLocation"
              },
              {
                "$ref": "#/components/schemas/GeoTarget"
              },
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": "RESIDENTIAL",
            "description": "\nGeographic Proxy location to route the browser traffic through. This is only available in Skyvern Cloud.\n\nAvailable geotargeting options:\n- RESIDENTIAL: the default value. Skyvern Cloud uses a random US residential proxy.\n- RESIDENTIAL_ES: Spain\n- RESIDENTIAL_IE: Ireland\n- RESIDENTIAL_GB: United Kingdom\n- RESIDENTIAL_IN: India\n- RESIDENTIAL_JP: Japan\n- RESIDENTIAL_FR: France\n- RESIDENTIAL_DE: Germany\n- RESIDENTIAL_NZ: New Zealand\n- RESIDENTIAL_PH: Philippines\n- RESIDENTIAL_KR: South Korea\n- RESIDENTIAL_SA: Saudi Arabia\n- RESIDENTIAL_ZA: South Africa\n- RESIDENTIAL_AR: Argentina\n- RESIDENTIAL_AU: Australia\n- RESIDENTIAL_BR: Brazil\n- RESIDENTIAL_TR: Turkey\n- RESIDENTIAL_CA: Canada\n- RESIDENTIAL_MX: Mexico\n- RESIDENTIAL_IT: Italy\n- RESIDENTIAL_NL: Netherlands\n- RESIDENTIAL_ISP: ISP proxy\n- US-CA: California (deprecated, routes through RESIDENTIAL_ISP)\n- US-NY: New York (deprecated, routes through RESIDENTIAL_ISP)\n- US-TX: Texas (deprecated, routes through RESIDENTIAL_ISP)\n- US-FL: Florida (deprecated, routes through RESIDENTIAL_ISP)\n- US-WA: Washington (deprecated, routes through RESIDENTIAL_ISP)\n- NONE: No proxy\n\nFor self-hosted deployments, you can pass a custom proxy URL as a dict: {\"url\": \"http://user:password@proxy.example:8080\"}. This routes the browser through your own proxy server and takes precedence over any globally configured proxy pool.\n Can also be a GeoTarget object for granular city/state targeting: {\"country\": \"US\", \"subdivision\": \"CA\", \"city\": \"San Francisco\"}",
            "title": "Proxy Location"
          },
          "publish_workflow": {
            "default": false,
            "deprecated": true,
            "description": "Deprecated. Whether to publish a `skyvern-2.0` task as a reusable workflow. For backwards compatibility, this routes the request through the legacy `skyvern-2.0` publish path. Prefer creating reusable workflows through the workflow APIs.",
            "title": "Publish Workflow",
            "type": "boolean"
          },
          "run_with": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Whether to run the task with agent or code. Null means use the default.",
            "examples": [
              "agent",
              "code"
            ],
            "title": "Run With"
          },
          "start_fresh_browser": {
            "default": false,
            "description": "When true, start this run from a fresh, empty browser and ignore any saved browser memory — no memory is read or written. A verified sign-in during the run still updates the credential's saved login.",
            "title": "Start Fresh Browser",
            "type": "boolean"
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The title for the task",
            "examples": [
              "The title of my first skyvern task"
            ],
            "title": "Title"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "\nIdentifier for the TOTP/2FA/MFA code when the code is pushed to Skyvern. Refer to https://www.skyvern.com/docs/credentials#push-a-code for more details.\n",
            "examples": [
              "john.doe@example.com",
              "4155555555",
              "user_123"
            ],
            "title": "Totp Identifier"
          },
          "totp_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "\nURL that serves TOTP/2FA/MFA codes for Skyvern to use during the workflow run. Refer to https://www.skyvern.com/docs/credentials#let-skyvern-fetch-codes-from-your-endpoint for more details.\n",
            "examples": [
              "https://my-totp-service.com/totp"
            ],
            "title": "Totp Url"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "\nThe starting URL for the task. If not provided, Skyvern will attempt to determine an appropriate URL\n",
            "examples": [
              "https://www.hackernews.com",
              "https://www.google.com/finance"
            ],
            "title": "Url"
          },
          "webhook_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "\nAfter a run is finished, send an update to this URL. Refer to https://www.skyvern.com/docs/running-tasks/webhooks-faq for more details.\n",
            "examples": [
              "https://my-site.com/webhook"
            ],
            "title": "Webhook Url"
          }
        },
        "required": [
          "prompt"
        ],
        "title": "TaskRunRequest",
        "type": "object"
      },
      "TaskRunRequest-Output": {
        "properties": {
          "browser_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The CDP address for the task.",
            "examples": [
              "http://127.0.0.1:9222",
              "ws://127.0.0.1:9222/devtools/browser/1234567890"
            ],
            "title": "Browser Address"
          },
          "browser_profile_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "ID of a browser profile to reuse for this task",
            "title": "Browser Profile Id"
          },
          "browser_session_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "\nRun the task or workflow in the specific Skyvern browser session. Having a browser session can persist the real-time state of the browser, so that the next run can continue from where the previous run left off.\n",
            "examples": [
              "pbs_123"
            ],
            "title": "Browser Session Id"
          },
          "cdp_connect_headers": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "HTTP headers attached ONLY to the CDP WebSocket handshake when connecting to a remote browser via browser_address. Use this for browser-provider auth (e.g., x-api-key for Skyvern Cloud, Browserless, or similar). These headers are NEVER forwarded to target websites.",
            "title": "Cdp Connect Headers"
          },
          "data_extraction_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "\nThe schema for data to be extracted from the webpage. If you're looking for consistent data schema being returned by the agent, it's highly recommended to use https://json-schema.org/.\n",
            "title": "Data Extraction Schema"
          },
          "engine": {
            "$ref": "#/components/schemas/RunEngine",
            "default": "skyvern-1.0",
            "description": "\nThe engine that powers the agent task. The default value is `skyvern-1.0`, which is good for simple tasks like filling a form, or searching for information on Google. `skyvern-2.0` remains available for existing V2 workflows and explicitly requested V2 task runs. The `openai-cua` engine uses OpenAI's CUA model. The `anthropic-cua` uses Anthropic's Claude Sonnet 3.7 model with the computer use tool.\n"
          },
          "error_code_mapping": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "\nCustom mapping of error codes to error messages if Skyvern encounters an error.\n",
            "examples": [
              {
                "login_failed": "The login credentials are incorrect or the account is locked"
              },
              {
                "maintenance_mode": "The website is down for maintenance"
              }
            ],
            "title": "Error Code Mapping"
          },
          "extra_http_headers": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "The extra HTTP headers for the requests in browser.",
            "title": "Extra Http Headers"
          },
          "file_ids": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "maxItems": 50,
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "description": "\nIds of files uploaded through `POST /v1/upload_file` to attach to this run. Skyvern deletes an attached file as soon as the run finishes, so there is nothing to clean up afterwards. Reference an attached file by its id anywhere a file URL is accepted (for example in `parameters` or in the prompt) and no presigned URL is ever created for it. A file can be attached to one run at a time, and must not already be deleted.\n",
            "examples": [
              [
                "file_123456789"
              ]
            ],
            "title": "File Ids"
          },
          "include_action_history_in_verification": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": false,
            "description": "Whether to include action history when verifying that the task is complete",
            "title": "Include Action History In Verification"
          },
          "max_screenshot_scrolls": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "The maximum number of scrolls for the post action screenshot. When it's None or 0, it takes the current viewpoint screenshot.",
            "title": "Max Screenshot Scrolls"
          },
          "max_steps": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "\nMaximum number of steps the task can take. Task will fail if it exceeds this number. Cautions: you are charged per step so please set this number to a reasonable value. Contact sales at skyvern.com for custom pricing.\n",
            "examples": [
              10,
              25
            ],
            "title": "Max Steps"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "\nOptional model configuration.\n",
            "title": "Model"
          },
          "prompt": {
            "description": "\nThe goal or task description for Skyvern to accomplish\n",
            "examples": [
              "Find the top 3 posts on Hacker News.",
              "Go to google finance, extract the \"AAPL\" stock price for me with the date."
            ],
            "title": "Prompt",
            "type": "string"
          },
          "proxy_location": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ProxyLocation"
              },
              {
                "$ref": "#/components/schemas/GeoTarget"
              },
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": "RESIDENTIAL",
            "description": "\nGeographic Proxy location to route the browser traffic through. This is only available in Skyvern Cloud.\n\nAvailable geotargeting options:\n- RESIDENTIAL: the default value. Skyvern Cloud uses a random US residential proxy.\n- RESIDENTIAL_ES: Spain\n- RESIDENTIAL_IE: Ireland\n- RESIDENTIAL_GB: United Kingdom\n- RESIDENTIAL_IN: India\n- RESIDENTIAL_JP: Japan\n- RESIDENTIAL_FR: France\n- RESIDENTIAL_DE: Germany\n- RESIDENTIAL_NZ: New Zealand\n- RESIDENTIAL_PH: Philippines\n- RESIDENTIAL_KR: South Korea\n- RESIDENTIAL_SA: Saudi Arabia\n- RESIDENTIAL_ZA: South Africa\n- RESIDENTIAL_AR: Argentina\n- RESIDENTIAL_AU: Australia\n- RESIDENTIAL_BR: Brazil\n- RESIDENTIAL_TR: Turkey\n- RESIDENTIAL_CA: Canada\n- RESIDENTIAL_MX: Mexico\n- RESIDENTIAL_IT: Italy\n- RESIDENTIAL_NL: Netherlands\n- RESIDENTIAL_ISP: ISP proxy\n- US-CA: California (deprecated, routes through RESIDENTIAL_ISP)\n- US-NY: New York (deprecated, routes through RESIDENTIAL_ISP)\n- US-TX: Texas (deprecated, routes through RESIDENTIAL_ISP)\n- US-FL: Florida (deprecated, routes through RESIDENTIAL_ISP)\n- US-WA: Washington (deprecated, routes through RESIDENTIAL_ISP)\n- NONE: No proxy\n\nFor self-hosted deployments, you can pass a custom proxy URL as a dict: {\"url\": \"http://user:password@proxy.example:8080\"}. This routes the browser through your own proxy server and takes precedence over any globally configured proxy pool.\n Can also be a GeoTarget object for granular city/state targeting: {\"country\": \"US\", \"subdivision\": \"CA\", \"city\": \"San Francisco\"}",
            "title": "Proxy Location"
          },
          "publish_workflow": {
            "default": false,
            "deprecated": true,
            "description": "Deprecated. Whether to publish a `skyvern-2.0` task as a reusable workflow. For backwards compatibility, this routes the request through the legacy `skyvern-2.0` publish path. Prefer creating reusable workflows through the workflow APIs.",
            "title": "Publish Workflow",
            "type": "boolean"
          },
          "run_with": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Whether to run the task with agent or code. Null means use the default.",
            "examples": [
              "agent",
              "code"
            ],
            "title": "Run With"
          },
          "start_fresh_browser": {
            "default": false,
            "description": "When true, start this run from a fresh, empty browser and ignore any saved browser memory — no memory is read or written. A verified sign-in during the run still updates the credential's saved login.",
            "title": "Start Fresh Browser",
            "type": "boolean"
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The title for the task",
            "examples": [
              "The title of my first skyvern task"
            ],
            "title": "Title"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "\nIdentifier for the TOTP/2FA/MFA code when the code is pushed to Skyvern. Refer to https://www.skyvern.com/docs/credentials#push-a-code for more details.\n",
            "examples": [
              "john.doe@example.com",
              "4155555555",
              "user_123"
            ],
            "title": "Totp Identifier"
          },
          "totp_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "\nURL that serves TOTP/2FA/MFA codes for Skyvern to use during the workflow run. Refer to https://www.skyvern.com/docs/credentials#let-skyvern-fetch-codes-from-your-endpoint for more details.\n",
            "examples": [
              "https://my-totp-service.com/totp"
            ],
            "title": "Totp Url"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "\nThe starting URL for the task. If not provided, Skyvern will attempt to determine an appropriate URL\n",
            "examples": [
              "https://www.hackernews.com",
              "https://www.google.com/finance"
            ],
            "title": "Url"
          },
          "webhook_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "\nAfter a run is finished, send an update to this URL. Refer to https://www.skyvern.com/docs/running-tasks/webhooks-faq for more details.\n",
            "examples": [
              "https://my-site.com/webhook"
            ],
            "title": "Webhook Url"
          }
        },
        "required": [
          "prompt"
        ],
        "title": "TaskRunRequest",
        "type": "object"
      },
      "TaskRunResponse": {
        "properties": {
          "app_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "URL to the application UI where the run can be viewed",
            "examples": [
              "https://app.skyvern.com/tasks/tsk_123",
              "https://app.skyvern.com/workflows/wpid_123/wr_123"
            ],
            "title": "App Url"
          },
          "browser_profile_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "ID of the browser profile used for this run",
            "examples": [
              "bp_123"
            ],
            "title": "Browser Profile Id"
          },
          "browser_session_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "ID of the Skyvern persistent browser session used for this run",
            "examples": [
              "pbs_123"
            ],
            "title": "Browser Session Id"
          },
          "created_at": {
            "description": "Timestamp when this run was created",
            "examples": [
              "2025-01-01T00:00:00Z"
            ],
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "downloaded_files": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/FileInfo"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "description": "List of files downloaded during the run",
            "title": "Downloaded Files"
          },
          "errors": {
            "anyOf": [
              {
                "items": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "description": "The errors for the run",
            "title": "Errors"
          },
          "failure_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Reason for failure if the run failed or terminated",
            "title": "Failure Reason"
          },
          "finished_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Timestamp when this run finished",
            "title": "Finished At"
          },
          "max_screenshot_scrolls": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "The maximum number of scrolls for the post action screenshot. When it's None or 0, it takes the current viewpoint screenshot",
            "title": "Max Screenshot Scrolls"
          },
          "modified_at": {
            "description": "Timestamp when this run was last modified",
            "examples": [
              "2025-01-01T00:05:00Z"
            ],
            "format": "date-time",
            "title": "Modified At",
            "type": "string"
          },
          "output": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Output data from the run, if any. Format/schema depends on the data extracted by the run.",
            "title": "Output"
          },
          "queued_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Timestamp when this run was queued",
            "title": "Queued At"
          },
          "recording_archived": {
            "default": false,
            "description": "True when the recording exists but has been archived to cold storage and is not currently accessible.",
            "title": "Recording Archived",
            "type": "boolean"
          },
          "recording_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "URL to the recording of the run",
            "title": "Recording Url"
          },
          "run_id": {
            "description": "Unique identifier for this run. Run ID starts with `tsk_` for task runs and `wr_` for workflow runs.",
            "examples": [
              "tsk_123",
              "tsk_v2_123",
              "wr_123"
            ],
            "title": "Run Id",
            "type": "string"
          },
          "run_request": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TaskRunRequest-Output"
              },
              {
                "type": "null"
              }
            ],
            "description": "The original request parameters used to start this task run"
          },
          "run_type": {
            "description": "Types of a task run - task_v1, task_v2, openai_cua, anthropic_cua, ui_tars",
            "enum": [
              "task_v1",
              "task_v2",
              "task_v3",
              "openai_cua",
              "anthropic_cua",
              "ui_tars",
              "yutori_navigator"
            ],
            "title": "Run Type",
            "type": "string"
          },
          "screenshot_urls": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "description": "List of last n screenshot URLs in reverse chronological order - the first one the list is the latest screenshot.",
            "title": "Screenshot Urls"
          },
          "script_run": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ScriptRunResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "The script run result"
          },
          "started_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Timestamp when this run started execution",
            "title": "Started At"
          },
          "status": {
            "$ref": "#/components/schemas/RunStatus",
            "description": "Current status of the run",
            "examples": [
              "created",
              "queued",
              "running",
              "paused",
              "timed_out",
              "failed",
              "terminated",
              "completed",
              "canceled"
            ]
          },
          "step_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Total number of steps executed in this run",
            "title": "Step Count"
          }
        },
        "required": [
          "created_at",
          "modified_at",
          "run_id",
          "run_type",
          "status"
        ],
        "title": "TaskRunResponse",
        "type": "object"
      },
      "TaskV2Block": {
        "properties": {
          "block_type": {
            "const": "task_v2",
            "default": "task_v2",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "max_iterations": {
            "default": 50,
            "title": "Max Iterations",
            "type": "integer"
          },
          "max_steps": {
            "default": 25,
            "title": "Max Steps",
            "type": "integer"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "prompt": {
            "title": "Prompt",
            "type": "string"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Identifier"
          },
          "totp_verification_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Verification Url"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          }
        },
        "required": [
          "block_type",
          "label",
          "output_parameter",
          "prompt"
        ],
        "title": "TaskV2Block",
        "type": "object"
      },
      "TaskV2BlockYAML": {
        "properties": {
          "block_type": {
            "const": "task_v2",
            "default": "task_v2",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "max_iterations": {
            "default": 50,
            "title": "Max Iterations",
            "type": "integer"
          },
          "max_steps": {
            "default": 25,
            "title": "Max Steps",
            "type": "integer"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "prompt": {
            "title": "Prompt",
            "type": "string"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Identifier"
          },
          "totp_verification_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Verification Url"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          }
        },
        "required": [
          "block_type",
          "label",
          "prompt"
        ],
        "title": "TaskV2BlockYAML",
        "type": "object"
      },
      "TelInputOutcome": {
        "properties": {
          "actual_digit_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Actual Digit Count"
          },
          "attempt_count": {
            "title": "Attempt Count",
            "type": "integer"
          },
          "browser_valid": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Browser Valid"
          },
          "expected_digit_count": {
            "title": "Expected Digit Count",
            "type": "integer"
          },
          "final_element_id": {
            "title": "Final Element Id",
            "type": "string"
          },
          "flag_enabled": {
            "title": "Flag Enabled",
            "type": "boolean"
          },
          "retargeted": {
            "title": "Retargeted",
            "type": "boolean"
          },
          "strategy": {
            "$ref": "#/components/schemas/TelInputStrategy"
          }
        },
        "required": [
          "flag_enabled",
          "final_element_id",
          "strategy",
          "expected_digit_count",
          "attempt_count",
          "retargeted"
        ],
        "title": "TelInputOutcome",
        "type": "object"
      },
      "TelInputStrategy": {
        "enum": [
          "legacy_sequential",
          "formatted_sequential",
          "sequential_national",
          "atomic_national",
          "atomic_e164"
        ],
        "title": "TelInputStrategy",
        "type": "string"
      },
      "TerminateBlock": {
        "properties": {
          "block_type": {
            "const": "terminate",
            "default": "terminate",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "error_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Code"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "reason": {
            "title": "Reason",
            "type": "string"
          }
        },
        "required": [
          "block_type",
          "label",
          "output_parameter",
          "reason"
        ],
        "title": "TerminateBlock",
        "type": "object"
      },
      "TerminateBlockYAML": {
        "properties": {
          "block_type": {
            "const": "terminate",
            "default": "terminate",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "error_code": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional error code added to the run's error codes; supports Jinja templating. A literal code must be at most 128 characters. The rendered code must be at most 128 characters and may contain only ASCII letters, digits, underscores, periods, colons, and hyphens.",
            "title": "Error Code"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "reason": {
            "description": "Why the run ends here; supports Jinja templating.",
            "minLength": 1,
            "title": "Reason",
            "type": "string"
          }
        },
        "required": [
          "block_type",
          "label",
          "reason"
        ],
        "title": "TerminateBlockYAML",
        "type": "object"
      },
      "TextPromptBlock": {
        "properties": {
          "block_type": {
            "const": "text_prompt",
            "default": "text_prompt",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "json_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Json Schema"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "llm_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Llm Key"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "parameters": {
            "default": [],
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/WorkflowParameter"
                },
                {
                  "$ref": "#/components/schemas/ContextParameter"
                },
                {
                  "$ref": "#/components/schemas/AWSSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenLoginCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenSensitiveInformationParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenCreditCardDataParameter"
                },
                {
                  "$ref": "#/components/schemas/OnePasswordCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureVaultCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/OutputParameter"
                },
                {
                  "$ref": "#/components/schemas/CredentialParameter"
                }
              ]
            },
            "title": "Parameters",
            "type": "array"
          },
          "prompt": {
            "title": "Prompt",
            "type": "string"
          }
        },
        "required": [
          "block_type",
          "label",
          "output_parameter",
          "prompt"
        ],
        "title": "TextPromptBlock",
        "type": "object"
      },
      "TextPromptBlockYAML": {
        "properties": {
          "block_type": {
            "const": "text_prompt",
            "default": "text_prompt",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "json_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Json Schema"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "llm_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Llm Key"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "parameter_keys": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parameter Keys"
          },
          "prompt": {
            "title": "Prompt",
            "type": "string"
          }
        },
        "required": [
          "block_type",
          "label",
          "prompt"
        ],
        "title": "TextPromptBlockYAML",
        "type": "object"
      },
      "Thought": {
        "properties": {
          "answer": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Answer"
          },
          "cached_token_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cached Token Count"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "input_token_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Input Token Count"
          },
          "last_llm_model": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Last Llm Model"
          },
          "modified_at": {
            "format": "date-time",
            "title": "Modified At",
            "type": "string"
          },
          "observation": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Observation"
          },
          "organization_id": {
            "title": "Organization Id",
            "type": "string"
          },
          "output": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Output"
          },
          "output_token_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Output Token Count"
          },
          "reasoning_token_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reasoning Token Count"
          },
          "task_id": {
            "title": "Task Id",
            "type": "string"
          },
          "thought": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Thought"
          },
          "thought_cost": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Thought Cost"
          },
          "thought_id": {
            "title": "Thought Id",
            "type": "string"
          },
          "thought_scenario": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ThoughtScenario"
              },
              {
                "type": "null"
              }
            ]
          },
          "thought_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ThoughtType"
              },
              {
                "type": "null"
              }
            ],
            "default": "plan"
          },
          "user_input": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "User Input"
          },
          "workflow_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Workflow Id"
          },
          "workflow_permanent_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Workflow Permanent Id"
          },
          "workflow_run_block_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Workflow Run Block Id"
          },
          "workflow_run_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Workflow Run Id"
          }
        },
        "required": [
          "thought_id",
          "task_id",
          "organization_id",
          "created_at",
          "modified_at"
        ],
        "title": "Thought",
        "type": "object"
      },
      "ThoughtScenario": {
        "description": "Scenario in which a thought was generated.\n\nNote: Stored as VARCHAR in the database (not a PostgreSQL ENUM), so new values\ncan be added without database migrations. See observer_thoughts.observer_thought_scenario column.",
        "enum": [
          "generate_plan",
          "user_goal_check",
          "failure_describe",
          "summarization",
          "generate_metadata",
          "extract_loop_values",
          "generate_task_in_loop",
          "generate_general_task",
          "termination"
        ],
        "title": "ThoughtScenario",
        "type": "string"
      },
      "ThoughtType": {
        "description": "Type of thought recorded during task execution.\n\nNote: Stored as VARCHAR in the database (not a PostgreSQL ENUM), so new values\ncan be added without database migrations. See observer_thoughts.observer_thought_type column.",
        "enum": [
          "plan",
          "metadata",
          "user_goal_check",
          "internal_plan",
          "failure_describe",
          "termination"
        ],
        "title": "ThoughtType",
        "type": "string"
      },
      "TotpType": {
        "description": "Type of 2FA/TOTP method used.",
        "enum": [
          "authenticator",
          "email",
          "text",
          "passkey",
          "none"
        ],
        "title": "TotpType",
        "type": "string"
      },
      "TwilioCredential": {
        "properties": {
          "account_sid": {
            "title": "Account Sid",
            "type": "string"
          },
          "api_key_secret": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Api Key Secret"
          },
          "api_key_sid": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Api Key Sid"
          },
          "auth_token": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Auth Token"
          }
        },
        "required": [
          "account_sid"
        ],
        "title": "TwilioCredential",
        "type": "object"
      },
      "TwilioCredentialResponse": {
        "properties": {
          "credential": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/TwilioCredentialSafe"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "title": "TwilioCredentialResponse",
        "type": "object"
      },
      "TwilioCredentialSafe": {
        "properties": {
          "account_sid": {
            "title": "Account Sid",
            "type": "string"
          },
          "api_key_sid": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Api Key Sid"
          },
          "has_api_key_secret": {
            "title": "Has Api Key Secret",
            "type": "boolean"
          },
          "has_auth_token": {
            "title": "Has Auth Token",
            "type": "boolean"
          }
        },
        "required": [
          "account_sid",
          "has_api_key_secret",
          "has_auth_token"
        ],
        "title": "TwilioCredentialSafe",
        "type": "object"
      },
      "TwilioPhoneNumberInfo": {
        "properties": {
          "current_sms_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Current Sms Url"
          },
          "enabled": {
            "title": "Enabled",
            "type": "boolean"
          },
          "friendly_name": {
            "title": "Friendly Name",
            "type": "string"
          },
          "phone_number": {
            "title": "Phone Number",
            "type": "string"
          },
          "phone_number_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Phone Number Id"
          },
          "sid": {
            "title": "Sid",
            "type": "string"
          },
          "sms_capable": {
            "title": "Sms Capable",
            "type": "boolean"
          }
        },
        "required": [
          "sid",
          "phone_number",
          "friendly_name",
          "sms_capable",
          "enabled"
        ],
        "title": "TwilioPhoneNumberInfo",
        "type": "object"
      },
      "UpdateBrowserProfileRequest": {
        "properties": {
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "New description for the browser profile",
            "title": "Description"
          },
          "name": {
            "anyOf": [
              {
                "minLength": 1,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "New name for the browser profile",
            "title": "Name"
          },
          "proxy_location": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ProxyLocation"
              },
              {
                "$ref": "#/components/schemas/GeoTarget"
              },
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional proxy location for this profile's pinned proxy identity.",
            "title": "Proxy Location"
          },
          "proxy_session_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Opaque Skyvern-managed proxy sticky-session id.",
            "title": "Proxy Session Id"
          },
          "rotate_proxy_session_id": {
            "default": false,
            "description": "Rotate the Skyvern-managed proxy sticky-session id for this profile.",
            "title": "Rotate Proxy Session Id",
            "type": "boolean"
          }
        },
        "title": "UpdateBrowserProfileRequest",
        "type": "object"
      },
      "UpdateBrowserSessionRequest": {
        "properties": {
          "generate_browser_profile": {
            "description": "Enable or disable saving this session's browser profile when it ends. Can be toggled while the session is still alive; the value is read at session teardown.",
            "title": "Generate Browser Profile",
            "type": "boolean"
          }
        },
        "required": [
          "generate_browser_profile"
        ],
        "title": "UpdateBrowserSessionRequest",
        "type": "object"
      },
      "UpdateWorkflowFolderRequest": {
        "description": "Request model for updating a workflow's folder assignment",
        "properties": {
          "folder_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Folder ID to assign workflow to. Set to null to remove from folder.",
            "title": "Folder Id"
          }
        },
        "title": "UpdateWorkflowFolderRequest",
        "type": "object"
      },
      "UploadFileAction": {
        "description": "Upload file action parameters.",
        "properties": {
          "data": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Additional context data",
            "title": "Data"
          },
          "file_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": "",
            "description": "File URL for upload",
            "title": "File Url"
          },
          "intention": {
            "default": "",
            "description": "The intention or goal of the upload",
            "title": "Intention",
            "type": "string"
          },
          "selector": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": "",
            "description": "CSS selector for the element",
            "title": "Selector"
          },
          "timeout": {
            "default": 10000,
            "description": "Timeout in milliseconds",
            "title": "Timeout",
            "type": "number"
          },
          "type": {
            "const": "ai_upload_file",
            "default": "ai_upload_file",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "type"
        ],
        "title": "UploadFileAction",
        "type": "object"
      },
      "UploadFileResponse": {
        "properties": {
          "expires_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "When the file will be deleted, if a retention_days was supplied. Null means the file has no expiry of its own and follows the organization's data retention policy.",
            "title": "Expires At"
          },
          "file_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Identifier for this upload. Pass it to DELETE /v1/files/{file_id} to delete the file.",
            "title": "File Id"
          },
          "presigned_url": {
            "description": "Presigned URL to access the uploaded file",
            "title": "Presigned Url",
            "type": "string"
          },
          "s3_uri": {
            "description": "S3 URI where the file was uploaded",
            "title": "S3 Uri",
            "type": "string"
          }
        },
        "required": [
          "s3_uri",
          "presigned_url"
        ],
        "title": "UploadFileResponse",
        "type": "object"
      },
      "UploadToS3Block": {
        "properties": {
          "block_type": {
            "const": "upload_to_s3",
            "default": "upload_to_s3",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Path"
          }
        },
        "required": [
          "block_type",
          "label",
          "output_parameter"
        ],
        "title": "UploadToS3Block",
        "type": "object"
      },
      "UploadToS3BlockYAML": {
        "properties": {
          "block_type": {
            "const": "upload_to_s3",
            "default": "upload_to_s3",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "path": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Path"
          }
        },
        "required": [
          "block_type",
          "label"
        ],
        "title": "UploadToS3BlockYAML",
        "type": "object"
      },
      "UrlBlock": {
        "properties": {
          "block_type": {
            "const": "goto_url",
            "default": "goto_url",
            "title": "Block Type",
            "type": "string"
          },
          "complete_criterion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Complete Criterion"
          },
          "complete_criterion_is_untrusted": {
            "default": false,
            "title": "Complete Criterion Is Untrusted",
            "type": "boolean"
          },
          "complete_on_download": {
            "default": false,
            "title": "Complete On Download",
            "type": "boolean"
          },
          "complete_verification": {
            "default": true,
            "title": "Complete Verification",
            "type": "boolean"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "data_extraction_goal": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data Extraction Goal"
          },
          "data_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data Schema"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "download_suffix": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Download Suffix"
          },
          "download_timeout": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Download Timeout"
          },
          "engine": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RunEngine"
              },
              {
                "type": "null"
              }
            ],
            "default": "skyvern-1.0"
          },
          "engine_pinned": {
            "default": false,
            "title": "Engine Pinned",
            "type": "boolean"
          },
          "error_code_mapping": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Code Mapping"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "include_action_history_in_verification": {
            "default": false,
            "title": "Include Action History In Verification",
            "type": "boolean"
          },
          "include_extracted_text": {
            "default": true,
            "title": "Include Extracted Text",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "max_retries": {
            "default": 0,
            "title": "Max Retries",
            "type": "integer"
          },
          "max_steps_per_run": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Steps Per Run"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "navigation_goal": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Navigation Goal"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "parameters": {
            "default": [],
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/WorkflowParameter"
                },
                {
                  "$ref": "#/components/schemas/ContextParameter"
                },
                {
                  "$ref": "#/components/schemas/AWSSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenLoginCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenSensitiveInformationParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenCreditCardDataParameter"
                },
                {
                  "$ref": "#/components/schemas/OnePasswordCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureVaultCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/OutputParameter"
                },
                {
                  "$ref": "#/components/schemas/CredentialParameter"
                }
              ]
            },
            "title": "Parameters",
            "type": "array"
          },
          "task_type": {
            "default": "general",
            "title": "Task Type",
            "type": "string"
          },
          "terminate_criterion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Terminate Criterion"
          },
          "title": {
            "default": "",
            "title": "Title",
            "type": "string"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Identifier"
          },
          "totp_verification_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Verification Url"
          },
          "url": {
            "title": "Url",
            "type": "string"
          }
        },
        "required": [
          "block_type",
          "label",
          "output_parameter",
          "url"
        ],
        "title": "UrlBlock",
        "type": "object"
      },
      "UrlBlockYAML": {
        "properties": {
          "block_type": {
            "const": "goto_url",
            "default": "goto_url",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "url": {
            "title": "Url",
            "type": "string"
          }
        },
        "required": [
          "block_type",
          "label",
          "url"
        ],
        "title": "UrlBlockYAML",
        "type": "object"
      },
      "UserDefinedError": {
        "properties": {
          "confidence_float": {
            "maximum": 1,
            "minimum": 0,
            "title": "Confidence Float",
            "type": "number"
          },
          "error_code": {
            "title": "Error Code",
            "type": "string"
          },
          "error_type": {
            "const": "USER_DEFINED_ERROR",
            "default": "USER_DEFINED_ERROR",
            "title": "Error Type",
            "type": "string"
          },
          "reasoning": {
            "title": "Reasoning",
            "type": "string"
          }
        },
        "required": [
          "error_code",
          "reasoning",
          "confidence_float"
        ],
        "title": "UserDefinedError",
        "type": "object"
      },
      "ValidateAction": {
        "description": "Validate action parameters.",
        "properties": {
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional model configuration",
            "title": "Model"
          },
          "prompt": {
            "description": "Validation criteria or condition to check",
            "title": "Prompt",
            "type": "string"
          },
          "type": {
            "const": "validate",
            "default": "validate",
            "title": "Type",
            "type": "string"
          }
        },
        "required": [
          "prompt",
          "type"
        ],
        "title": "ValidateAction",
        "type": "object"
      },
      "ValidationBlock": {
        "properties": {
          "block_type": {
            "const": "validation",
            "default": "validation",
            "title": "Block Type",
            "type": "string"
          },
          "complete_criterion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Complete Criterion"
          },
          "complete_criterion_is_untrusted": {
            "default": false,
            "title": "Complete Criterion Is Untrusted",
            "type": "boolean"
          },
          "complete_on_download": {
            "default": false,
            "title": "Complete On Download",
            "type": "boolean"
          },
          "complete_verification": {
            "default": true,
            "title": "Complete Verification",
            "type": "boolean"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "data_extraction_goal": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data Extraction Goal"
          },
          "data_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data Schema"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "download_suffix": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Download Suffix"
          },
          "download_timeout": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Download Timeout"
          },
          "engine": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RunEngine"
              },
              {
                "type": "null"
              }
            ]
          },
          "engine_pinned": {
            "default": false,
            "title": "Engine Pinned",
            "type": "boolean"
          },
          "error_code_mapping": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Code Mapping"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "include_action_history_in_verification": {
            "default": false,
            "title": "Include Action History In Verification",
            "type": "boolean"
          },
          "include_extracted_text": {
            "default": true,
            "title": "Include Extracted Text",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "max_retries": {
            "default": 0,
            "title": "Max Retries",
            "type": "integer"
          },
          "max_steps_per_run": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Steps Per Run"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "navigation_goal": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Navigation Goal"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "parameters": {
            "default": [],
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/WorkflowParameter"
                },
                {
                  "$ref": "#/components/schemas/ContextParameter"
                },
                {
                  "$ref": "#/components/schemas/AWSSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenLoginCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenSensitiveInformationParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenCreditCardDataParameter"
                },
                {
                  "$ref": "#/components/schemas/OnePasswordCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureVaultCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/OutputParameter"
                },
                {
                  "$ref": "#/components/schemas/CredentialParameter"
                }
              ]
            },
            "title": "Parameters",
            "type": "array"
          },
          "task_type": {
            "default": "general",
            "title": "Task Type",
            "type": "string"
          },
          "terminate_criterion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Terminate Criterion"
          },
          "title": {
            "default": "",
            "title": "Title",
            "type": "string"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Identifier"
          },
          "totp_verification_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Verification Url"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          },
          "without_page_information": {
            "default": false,
            "title": "Without Page Information",
            "type": "boolean"
          }
        },
        "required": [
          "block_type",
          "label",
          "output_parameter"
        ],
        "title": "ValidationBlock",
        "type": "object"
      },
      "ValidationBlockYAML": {
        "properties": {
          "block_type": {
            "const": "validation",
            "default": "validation",
            "title": "Block Type",
            "type": "string"
          },
          "complete_criterion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Complete Criterion"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "engine": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RunEngine"
              },
              {
                "type": "null"
              }
            ]
          },
          "engine_pinned": {
            "default": false,
            "description": "Set to true only when skyvern-1.0 was explicitly chosen for this block; leave it unset otherwise.",
            "title": "Engine Pinned",
            "type": "boolean"
          },
          "error_code_mapping": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Code Mapping"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "max_steps_per_run": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Steps Per Run"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "parameter_keys": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parameter Keys"
          },
          "terminate_criterion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Terminate Criterion"
          },
          "without_page_information": {
            "default": false,
            "title": "Without Page Information",
            "type": "boolean"
          }
        },
        "required": [
          "block_type",
          "label"
        ],
        "title": "ValidationBlockYAML",
        "type": "object"
      },
      "ValidationError": {
        "properties": {
          "ctx": {
            "title": "Context",
            "type": "object"
          },
          "input": {
            "title": "Input"
          },
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "title": "Location",
            "type": "array"
          },
          "msg": {
            "title": "Message",
            "type": "string"
          },
          "type": {
            "title": "Error Type",
            "type": "string"
          }
        },
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError",
        "type": "object"
      },
      "WaitBlock": {
        "properties": {
          "block_type": {
            "const": "wait",
            "default": "wait",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "parameters": {
            "default": [],
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/WorkflowParameter"
                },
                {
                  "$ref": "#/components/schemas/ContextParameter"
                },
                {
                  "$ref": "#/components/schemas/AWSSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenLoginCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenSensitiveInformationParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenCreditCardDataParameter"
                },
                {
                  "$ref": "#/components/schemas/OnePasswordCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureVaultCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/OutputParameter"
                },
                {
                  "$ref": "#/components/schemas/CredentialParameter"
                }
              ]
            },
            "title": "Parameters",
            "type": "array"
          },
          "wait_sec": {
            "title": "Wait Sec",
            "type": "integer"
          }
        },
        "required": [
          "block_type",
          "label",
          "output_parameter",
          "wait_sec"
        ],
        "title": "WaitBlock",
        "type": "object"
      },
      "WaitBlockYAML": {
        "properties": {
          "block_type": {
            "const": "wait",
            "default": "wait",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "wait_sec": {
            "default": 0,
            "title": "Wait Sec",
            "type": "integer"
          }
        },
        "required": [
          "block_type",
          "label"
        ],
        "title": "WaitBlockYAML",
        "type": "object"
      },
      "WebSearchBlock": {
        "properties": {
          "block_type": {
            "const": "web_search",
            "default": "web_search",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "error_code_mapping": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Code Mapping"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "json_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Json Schema"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "no_match_error_code": {
            "anyOf": [
              {
                "maxLength": 100,
                "minLength": 1,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "deprecated": true,
            "description": "Deprecated. Use error_code_mapping.",
            "title": "No Match Error Code"
          },
          "no_results_error_code": {
            "anyOf": [
              {
                "maxLength": 100,
                "minLength": 1,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "deprecated": true,
            "description": "Deprecated. Use error_code_mapping.",
            "title": "No Results Error Code"
          },
          "num_results": {
            "default": 10,
            "maximum": 100,
            "minimum": 1,
            "title": "Num Results",
            "type": "integer"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "parameters": {
            "default": [],
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/WorkflowParameter"
                },
                {
                  "$ref": "#/components/schemas/ContextParameter"
                },
                {
                  "$ref": "#/components/schemas/AWSSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenLoginCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenSensitiveInformationParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenCreditCardDataParameter"
                },
                {
                  "$ref": "#/components/schemas/OnePasswordCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureVaultCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/OutputParameter"
                },
                {
                  "$ref": "#/components/schemas/CredentialParameter"
                }
              ]
            },
            "title": "Parameters",
            "type": "array"
          },
          "prompt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Prompt"
          },
          "provider": {
            "default": "auto",
            "enum": [
              "auto",
              "google",
              "exa"
            ],
            "title": "Provider",
            "type": "string"
          },
          "query": {
            "minLength": 1,
            "title": "Query",
            "type": "string"
          }
        },
        "required": [
          "block_type",
          "label",
          "output_parameter",
          "query"
        ],
        "title": "WebSearchBlock",
        "type": "object"
      },
      "WebSearchBlockYAML": {
        "properties": {
          "block_type": {
            "const": "web_search",
            "default": "web_search",
            "title": "Block Type",
            "type": "string"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "error_code_mapping": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Code Mapping"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "json_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Json Schema"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "no_match_error_code": {
            "anyOf": [
              {
                "maxLength": 100,
                "minLength": 1,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "deprecated": true,
            "description": "Deprecated. Use error_code_mapping.",
            "title": "No Match Error Code"
          },
          "no_results_error_code": {
            "anyOf": [
              {
                "maxLength": 100,
                "minLength": 1,
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "deprecated": true,
            "description": "Deprecated. Use error_code_mapping.",
            "title": "No Results Error Code"
          },
          "num_results": {
            "default": 10,
            "maximum": 100,
            "minimum": 1,
            "title": "Num Results",
            "type": "integer"
          },
          "parameter_keys": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parameter Keys"
          },
          "prompt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Prompt"
          },
          "provider": {
            "default": "auto",
            "enum": [
              "auto",
              "google",
              "exa"
            ],
            "title": "Provider",
            "type": "string"
          },
          "query": {
            "minLength": 1,
            "title": "Query",
            "type": "string"
          }
        },
        "required": [
          "block_type",
          "label",
          "query"
        ],
        "title": "WebSearchBlockYAML",
        "type": "object"
      },
      "WhileLoopBlock": {
        "description": "Loop block driven by a runtime condition. Iterates while ``condition`` evaluates truthy.\n\nTop-of-loop semantics: the condition is evaluated *before* each iteration (including the\nfirst). If the condition is false on the first check, the body never runs and the block\nreturns success with an empty output list.\n\nSafety: the loop is capped at ``DEFAULT_MAX_LOOP_ITERATIONS`` (1000). Reaching the cap is\ntreated as a failure so that a misbehaving condition can never spin forever.",
        "properties": {
          "block_type": {
            "const": "while_loop",
            "default": "while_loop",
            "title": "Block Type",
            "type": "string"
          },
          "condition": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/JinjaBranchCriteria"
              },
              {
                "$ref": "#/components/schemas/PromptBranchCriteria"
              }
            ],
            "title": "Condition"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "loop_blocks": {
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ConditionalBlock"
                },
                {
                  "$ref": "#/components/schemas/ForLoopBlock"
                },
                {
                  "$ref": "#/components/schemas/WhileLoopBlock"
                },
                {
                  "$ref": "#/components/schemas/TaskBlock"
                },
                {
                  "$ref": "#/components/schemas/CodeBlock"
                },
                {
                  "$ref": "#/components/schemas/TextPromptBlock"
                },
                {
                  "$ref": "#/components/schemas/DownloadToS3Block"
                },
                {
                  "$ref": "#/components/schemas/UploadToS3Block"
                },
                {
                  "$ref": "#/components/schemas/SendEmailBlock"
                },
                {
                  "$ref": "#/components/schemas/FileParserBlock"
                },
                {
                  "$ref": "#/components/schemas/PDFParserBlock"
                },
                {
                  "$ref": "#/components/schemas/ValidationBlock"
                },
                {
                  "$ref": "#/components/schemas/ActionBlock"
                },
                {
                  "$ref": "#/components/schemas/NavigationBlock"
                },
                {
                  "$ref": "#/components/schemas/ExtractionBlock"
                },
                {
                  "$ref": "#/components/schemas/LoginBlock"
                },
                {
                  "$ref": "#/components/schemas/WaitBlock"
                },
                {
                  "$ref": "#/components/schemas/HumanInteractionBlock"
                },
                {
                  "$ref": "#/components/schemas/FileDownloadBlock"
                },
                {
                  "$ref": "#/components/schemas/UrlBlock"
                },
                {
                  "$ref": "#/components/schemas/TaskV2Block"
                },
                {
                  "$ref": "#/components/schemas/FileUploadBlock"
                },
                {
                  "$ref": "#/components/schemas/HttpRequestBlock"
                },
                {
                  "$ref": "#/components/schemas/WebSearchBlock"
                },
                {
                  "$ref": "#/components/schemas/PrintPageBlock"
                },
                {
                  "$ref": "#/components/schemas/WorkflowTriggerBlock"
                },
                {
                  "$ref": "#/components/schemas/GoogleSheetsReadBlock"
                },
                {
                  "$ref": "#/components/schemas/EmailInboxBlock"
                },
                {
                  "$ref": "#/components/schemas/GoogleSheetsWriteBlock"
                },
                {
                  "$ref": "#/components/schemas/PowerBIQueryBlock"
                },
                {
                  "$ref": "#/components/schemas/PdfFillBlock"
                },
                {
                  "$ref": "#/components/schemas/SplitPdfBlock"
                },
                {
                  "$ref": "#/components/schemas/DataExportBlock"
                },
                {
                  "$ref": "#/components/schemas/TerminateBlock"
                },
                {
                  "$ref": "#/components/schemas/AgentStepBlock"
                }
              ]
            },
            "title": "Loop Blocks",
            "type": "array"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          }
        },
        "required": [
          "block_type",
          "condition",
          "label",
          "loop_blocks",
          "output_parameter"
        ],
        "title": "WhileLoopBlock",
        "type": "object"
      },
      "WhileLoopBlockYAML": {
        "properties": {
          "block_type": {
            "const": "while_loop",
            "default": "while_loop",
            "title": "Block Type",
            "type": "string"
          },
          "condition": {
            "$ref": "#/components/schemas/BranchCriteriaYAML"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "loop_blocks": {
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/TaskBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/ForLoopBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/WhileLoopBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/CodeBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/TextPromptBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/DownloadToS3BlockYAML"
                },
                {
                  "$ref": "#/components/schemas/UploadToS3BlockYAML"
                },
                {
                  "$ref": "#/components/schemas/FileUploadBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/SendEmailBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/FileParserBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/ValidationBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/ActionBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/NavigationBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/ExtractionBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/LoginBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/WaitBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/HumanInteractionBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/FileDownloadBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/DataExportBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/TerminateBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/AgentStepBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/UrlBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/PDFParserBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/TaskV2BlockYAML"
                },
                {
                  "$ref": "#/components/schemas/HttpRequestBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/WebSearchBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/ConditionalBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/PrintPageBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/PdfFillBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/SplitPdfBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/WorkflowTriggerBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/GoogleSheetsReadBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/EmailInboxBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/GoogleSheetsWriteBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/PowerBIQueryBlockYAML"
                }
              ]
            },
            "title": "Loop Blocks",
            "type": "array"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          }
        },
        "required": [
          "block_type",
          "condition",
          "label",
          "loop_blocks"
        ],
        "title": "WhileLoopBlockYAML",
        "type": "object"
      },
      "Workflow": {
        "properties": {
          "adaptive_caching": {
            "default": false,
            "title": "Adaptive Caching",
            "type": "boolean"
          },
          "agent_id": {
            "description": "Alias of `workflow_permanent_id` — the stable agent identifier (starts with `wpid_`).",
            "readOnly": true,
            "title": "Agent Id",
            "type": "string"
          },
          "ai_fallback": {
            "default": true,
            "title": "Ai Fallback",
            "type": "boolean"
          },
          "browser_profile_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Browser Profile Id"
          },
          "browser_profile_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Browser Profile Key"
          },
          "browser_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Browser Type"
          },
          "build_source": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/WorkflowBuildSource"
              },
              {
                "type": "null"
              }
            ],
            "description": "Which surface wrote this version: ui, copilot, mcp, cli, api, or internal. Null before tracking began."
          },
          "cache_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cache Key"
          },
          "cdp_connect_headers": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cdp Connect Headers"
          },
          "code_version": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Code Version"
          },
          "copilot_authored": {
            "default": false,
            "title": "Copilot Authored",
            "type": "boolean"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "created_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Created By"
          },
          "deleted_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Deleted At"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "edited_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Edited By"
          },
          "effective_default_engine": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RunEngine"
              },
              {
                "type": "null"
              }
            ],
            "description": "The engine a task block with no `engine` set runs on in this agent, or null when engine routing decides it. Populated by the detail endpoint only."
          },
          "enable_self_healing": {
            "default": false,
            "title": "Enable Self Healing",
            "type": "boolean"
          },
          "extra_http_headers": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Extra Http Headers"
          },
          "folder_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Folder Id"
          },
          "generate_script_on_terminal": {
            "default": false,
            "title": "Generate Script On Terminal",
            "type": "boolean"
          },
          "import_error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Import Error"
          },
          "is_saved_task": {
            "title": "Is Saved Task",
            "type": "boolean"
          },
          "is_template": {
            "default": false,
            "title": "Is Template",
            "type": "boolean"
          },
          "mask_secrets": {
            "default": false,
            "title": "Mask Secrets",
            "type": "boolean"
          },
          "max_elapsed_time_minutes": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Elapsed Time Minutes"
          },
          "max_screenshot_scrolls": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Screenshot Scrolls"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "modified_at": {
            "format": "date-time",
            "title": "Modified At",
            "type": "string"
          },
          "organization_id": {
            "title": "Organization Id",
            "type": "string"
          },
          "original_created_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "When the agent's first version was created. Populated by the list endpoint only.",
            "title": "Original Created At"
          },
          "original_created_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Who created the agent's first version. Populated by the list endpoint only.",
            "title": "Original Created By"
          },
          "persist_browser_session": {
            "default": false,
            "title": "Persist Browser Session",
            "type": "boolean"
          },
          "pin_saved_session_ip": {
            "default": false,
            "title": "Pin Saved Session Ip",
            "type": "boolean"
          },
          "proxy_location": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ProxyLocation"
              },
              {
                "$ref": "#/components/schemas/GeoTarget"
              },
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Proxy Location"
          },
          "reuse_browser_session": {
            "default": false,
            "title": "Reuse Browser Session",
            "type": "boolean"
          },
          "run_sequentially": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Run Sequentially"
          },
          "run_with": {
            "default": "agent",
            "title": "Run With",
            "type": "string"
          },
          "sequential_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sequential Key"
          },
          "status": {
            "$ref": "#/components/schemas/WorkflowStatus",
            "default": "published"
          },
          "title": {
            "title": "Title",
            "type": "string"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Identifier"
          },
          "totp_verification_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Verification Url"
          },
          "version": {
            "title": "Version",
            "type": "integer"
          },
          "webhook_callback_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Webhook Callback Url"
          },
          "workflow_definition": {
            "$ref": "#/components/schemas/WorkflowDefinition"
          },
          "workflow_id": {
            "title": "Workflow Id",
            "type": "string"
          },
          "workflow_permanent_id": {
            "title": "Workflow Permanent Id",
            "type": "string"
          }
        },
        "required": [
          "workflow_id",
          "organization_id",
          "title",
          "workflow_permanent_id",
          "version",
          "is_saved_task",
          "workflow_definition",
          "created_at",
          "modified_at",
          "agent_id"
        ],
        "title": "Workflow",
        "type": "object"
      },
      "WorkflowBuildSource": {
        "description": "Which surface wrote a workflow version.\n\n- ui: the Skyvern app\n- copilot: the workflow copilot\n- mcp: a first-party MCP client\n- cli: the Skyvern CLI\n- api: any other API or SDK caller\n- internal: a workflow Skyvern creates for its own runs (task v2, login, credential tests)",
        "enum": [
          "ui",
          "copilot",
          "mcp",
          "cli",
          "api",
          "internal"
        ],
        "title": "WorkflowBuildSource",
        "type": "string"
      },
      "WorkflowCreateYAMLRequest": {
        "properties": {
          "adaptive_caching": {
            "default": false,
            "title": "Adaptive Caching",
            "type": "boolean"
          },
          "ai_fallback": {
            "default": true,
            "title": "Ai Fallback",
            "type": "boolean"
          },
          "browser_profile_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Browser Profile Id"
          },
          "browser_profile_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Browser Profile Key"
          },
          "browser_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Browser engine for runs of this workflow, one of the supported browser types (e.g. msedge, chrome, stealth-chromium). A workflow-run setting overrides this. Null means the system default.",
            "title": "Browser Type"
          },
          "cache_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "default": "default",
            "title": "Cache Key"
          },
          "cdp_connect_headers": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "On PUT updates, omission keeps the stored value, null clears it, and a supplied value replaces it. An empty object ({}) clears the header map; each masked *** entry keeps the stored value for that key.",
            "title": "Cdp Connect Headers"
          },
          "code_version": {
            "anyOf": [
              {
                "maximum": 2,
                "minimum": 1,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Code Version"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "enable_self_healing": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Enable Self Healing"
          },
          "extra_http_headers": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "On PUT updates, omission keeps the stored value, null clears it, and a supplied value replaces it. An empty object ({}) clears the header map. Values, including ***, are literal.",
            "title": "Extra Http Headers"
          },
          "folder_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Folder Id"
          },
          "generate_script_on_terminal": {
            "default": false,
            "title": "Generate Script On Terminal",
            "type": "boolean"
          },
          "is_saved_task": {
            "default": false,
            "title": "Is Saved Task",
            "type": "boolean"
          },
          "mask_secrets": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "description": "Mask secret values across this workflow's runs: hide them while they are typed (screenshots, recordings, live view) and redact them from stored artifacts, network logs, and LLM-bound text.",
            "title": "Mask Secrets"
          },
          "max_elapsed_time_minutes": {
            "anyOf": [
              {
                "maximum": 480,
                "minimum": 1,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Elapsed Time Minutes"
          },
          "max_screenshot_scrolls": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Screenshot Scrolls"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "persist_browser_session": {
            "default": false,
            "title": "Persist Browser Session",
            "type": "boolean"
          },
          "pin_saved_session_ip": {
            "default": false,
            "title": "Pin Saved Session Ip",
            "type": "boolean"
          },
          "proxy_location": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ProxyLocation"
              },
              {
                "$ref": "#/components/schemas/GeoTarget"
              },
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "On PUT updates, omission keeps the stored value, null clears it, and a supplied value replaces it.",
            "title": "Proxy Location"
          },
          "reuse_browser_session": {
            "default": false,
            "title": "Reuse Browser Session",
            "type": "boolean"
          },
          "run_sequentially": {
            "default": false,
            "title": "Prevent Overlapping Runs",
            "type": "boolean"
          },
          "run_with": {
            "default": "agent",
            "title": "Run With",
            "type": "string"
          },
          "sequential_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sequential Key"
          },
          "status": {
            "$ref": "#/components/schemas/WorkflowStatus",
            "default": "published"
          },
          "title": {
            "title": "Title",
            "type": "string"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "On PUT updates, omission keeps the stored value, null clears it, and a supplied value replaces it.",
            "title": "Totp Identifier"
          },
          "totp_verification_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "On PUT updates, omission keeps the stored value, null clears it, and a supplied value replaces it. URL validation errors identify the field and failure class without returning the URL or host.",
            "title": "Totp Verification Url"
          },
          "webhook_callback_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "On PUT updates, omission keeps the stored value, null clears it, and a supplied value replaces it. URL validation errors identify the field and failure class without returning the URL or host.",
            "title": "Webhook Callback Url"
          },
          "workflow_definition": {
            "$ref": "#/components/schemas/WorkflowDefinitionYAML"
          }
        },
        "required": [
          "title",
          "workflow_definition"
        ],
        "title": "WorkflowCreateYAMLRequest",
        "type": "object"
      },
      "WorkflowDefinition": {
        "properties": {
          "blocks": {
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ConditionalBlock"
                },
                {
                  "$ref": "#/components/schemas/ForLoopBlock"
                },
                {
                  "$ref": "#/components/schemas/WhileLoopBlock"
                },
                {
                  "$ref": "#/components/schemas/TaskBlock"
                },
                {
                  "$ref": "#/components/schemas/CodeBlock"
                },
                {
                  "$ref": "#/components/schemas/TextPromptBlock"
                },
                {
                  "$ref": "#/components/schemas/DownloadToS3Block"
                },
                {
                  "$ref": "#/components/schemas/UploadToS3Block"
                },
                {
                  "$ref": "#/components/schemas/SendEmailBlock"
                },
                {
                  "$ref": "#/components/schemas/FileParserBlock"
                },
                {
                  "$ref": "#/components/schemas/PDFParserBlock"
                },
                {
                  "$ref": "#/components/schemas/ValidationBlock"
                },
                {
                  "$ref": "#/components/schemas/ActionBlock"
                },
                {
                  "$ref": "#/components/schemas/NavigationBlock"
                },
                {
                  "$ref": "#/components/schemas/ExtractionBlock"
                },
                {
                  "$ref": "#/components/schemas/LoginBlock"
                },
                {
                  "$ref": "#/components/schemas/WaitBlock"
                },
                {
                  "$ref": "#/components/schemas/HumanInteractionBlock"
                },
                {
                  "$ref": "#/components/schemas/FileDownloadBlock"
                },
                {
                  "$ref": "#/components/schemas/UrlBlock"
                },
                {
                  "$ref": "#/components/schemas/TaskV2Block"
                },
                {
                  "$ref": "#/components/schemas/FileUploadBlock"
                },
                {
                  "$ref": "#/components/schemas/HttpRequestBlock"
                },
                {
                  "$ref": "#/components/schemas/WebSearchBlock"
                },
                {
                  "$ref": "#/components/schemas/PrintPageBlock"
                },
                {
                  "$ref": "#/components/schemas/WorkflowTriggerBlock"
                },
                {
                  "$ref": "#/components/schemas/GoogleSheetsReadBlock"
                },
                {
                  "$ref": "#/components/schemas/EmailInboxBlock"
                },
                {
                  "$ref": "#/components/schemas/GoogleSheetsWriteBlock"
                },
                {
                  "$ref": "#/components/schemas/PowerBIQueryBlock"
                },
                {
                  "$ref": "#/components/schemas/PdfFillBlock"
                },
                {
                  "$ref": "#/components/schemas/SplitPdfBlock"
                },
                {
                  "$ref": "#/components/schemas/DataExportBlock"
                },
                {
                  "$ref": "#/components/schemas/TerminateBlock"
                },
                {
                  "$ref": "#/components/schemas/AgentStepBlock"
                }
              ]
            },
            "title": "Blocks",
            "type": "array"
          },
          "browser_settings": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BrowserSettings"
              },
              {
                "type": "null"
              }
            ],
            "description": "Settings applied to every browser this workflow version creates."
          },
          "completion_contract": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Copilot-managed: what a run of this workflow must produce, graded at run finalization. Derived from the request when a workflow is accepted; not intended to be authored by hand.",
            "title": "Completion Contract"
          },
          "error_code_mapping": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Code Mapping"
          },
          "finally_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Finally Block Label"
          },
          "parameters": {
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/WorkflowParameter"
                },
                {
                  "$ref": "#/components/schemas/ContextParameter"
                },
                {
                  "$ref": "#/components/schemas/AWSSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenLoginCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenSensitiveInformationParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenCreditCardDataParameter"
                },
                {
                  "$ref": "#/components/schemas/OnePasswordCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureVaultCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/OutputParameter"
                },
                {
                  "$ref": "#/components/schemas/CredentialParameter"
                }
              ]
            },
            "title": "Parameters",
            "type": "array"
          },
          "retry_policy": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/WorkflowRetryPolicy"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional policy for retrying eligible terminal workflow runs"
          },
          "version": {
            "default": 1,
            "title": "Version",
            "type": "integer"
          },
          "workflow_system_prompt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Workflow System Prompt"
          }
        },
        "required": [
          "parameters",
          "blocks"
        ],
        "title": "WorkflowDefinition",
        "type": "object"
      },
      "WorkflowDefinitionYAML": {
        "properties": {
          "blocks": {
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/TaskBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/ForLoopBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/WhileLoopBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/CodeBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/TextPromptBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/DownloadToS3BlockYAML"
                },
                {
                  "$ref": "#/components/schemas/UploadToS3BlockYAML"
                },
                {
                  "$ref": "#/components/schemas/FileUploadBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/SendEmailBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/FileParserBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/ValidationBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/ActionBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/NavigationBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/ExtractionBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/LoginBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/WaitBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/HumanInteractionBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/FileDownloadBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/DataExportBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/TerminateBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/AgentStepBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/UrlBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/PDFParserBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/TaskV2BlockYAML"
                },
                {
                  "$ref": "#/components/schemas/HttpRequestBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/WebSearchBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/ConditionalBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/PrintPageBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/PdfFillBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/SplitPdfBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/WorkflowTriggerBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/GoogleSheetsReadBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/EmailInboxBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/GoogleSheetsWriteBlockYAML"
                },
                {
                  "$ref": "#/components/schemas/PowerBIQueryBlockYAML"
                }
              ]
            },
            "title": "Blocks",
            "type": "array"
          },
          "browser_settings": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BrowserSettings"
              },
              {
                "type": "null"
              }
            ],
            "description": "Settings applied to every browser this workflow version creates. Omit to keep the previous version's settings; set to null to clear them."
          },
          "completion_contract": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Copilot-managed: what a run of this workflow must produce, graded at run finalization. Derived from the request when a workflow is accepted; not intended to be authored by hand.",
            "title": "Completion Contract"
          },
          "error_code_mapping": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Error Code Mapping"
          },
          "finally_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Finally Block Label"
          },
          "parameters": {
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/AWSSecretParameterYAML"
                },
                {
                  "$ref": "#/components/schemas/BitwardenLoginCredentialParameterYAML"
                },
                {
                  "$ref": "#/components/schemas/BitwardenSensitiveInformationParameterYAML"
                },
                {
                  "$ref": "#/components/schemas/BitwardenCreditCardDataParameterYAML"
                },
                {
                  "$ref": "#/components/schemas/OnePasswordCredentialParameterYAML"
                },
                {
                  "$ref": "#/components/schemas/AzureVaultCredentialParameterYAML"
                },
                {
                  "$ref": "#/components/schemas/WorkflowParameterYAML"
                },
                {
                  "$ref": "#/components/schemas/ContextParameterYAML"
                },
                {
                  "$ref": "#/components/schemas/OutputParameterYAML"
                },
                {
                  "$ref": "#/components/schemas/CredentialParameterYAML"
                }
              ]
            },
            "title": "Parameters",
            "type": "array"
          },
          "retry_policy": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/WorkflowRetryPolicy"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional policy for retrying eligible terminal workflow runs"
          },
          "version": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Version"
          },
          "workflow_system_prompt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Workflow System Prompt"
          }
        },
        "required": [
          "parameters",
          "blocks"
        ],
        "title": "WorkflowDefinitionYAML",
        "type": "object"
      },
      "WorkflowParameter": {
        "properties": {
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "default_value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "integer"
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              },
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Default Value"
          },
          "deleted_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Deleted At"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "key": {
            "title": "Key",
            "type": "string"
          },
          "modified_at": {
            "format": "date-time",
            "title": "Modified At",
            "type": "string"
          },
          "parameter_type": {
            "const": "workflow",
            "default": "workflow",
            "title": "Parameter Type",
            "type": "string"
          },
          "workflow_id": {
            "title": "Workflow Id",
            "type": "string"
          },
          "workflow_parameter_id": {
            "title": "Workflow Parameter Id",
            "type": "string"
          },
          "workflow_parameter_type": {
            "$ref": "#/components/schemas/WorkflowParameterType"
          }
        },
        "required": [
          "created_at",
          "key",
          "modified_at",
          "parameter_type",
          "workflow_id",
          "workflow_parameter_id",
          "workflow_parameter_type"
        ],
        "title": "WorkflowParameter",
        "type": "object"
      },
      "WorkflowParameterType": {
        "enum": [
          "string",
          "integer",
          "float",
          "boolean",
          "json",
          "file_url",
          "credential_id"
        ],
        "title": "WorkflowParameterType",
        "type": "string"
      },
      "WorkflowParameterYAML": {
        "properties": {
          "default_value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "integer"
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              },
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Default Value"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "key": {
            "title": "Key",
            "type": "string"
          },
          "parameter_type": {
            "const": "workflow",
            "default": "workflow",
            "title": "Parameter Type",
            "type": "string"
          },
          "workflow_parameter_type": {
            "$ref": "#/components/schemas/WorkflowParameterType"
          }
        },
        "required": [
          "key",
          "parameter_type",
          "workflow_parameter_type"
        ],
        "title": "WorkflowParameterYAML",
        "type": "object"
      },
      "WorkflowRequest": {
        "properties": {
          "json_definition": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/WorkflowCreateYAMLRequest"
              },
              {
                "type": "null"
              }
            ],
            "description": "Workflow definition in JSON format"
          },
          "yaml_definition": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Workflow definition in YAML format",
            "title": "Yaml Definition"
          }
        },
        "title": "WorkflowRequest",
        "type": "object"
      },
      "WorkflowRetryPolicy": {
        "properties": {
          "delay_seconds": {
            "default": 0,
            "description": "Fixed delay before the next attempt, in seconds",
            "maximum": 3600,
            "minimum": 0,
            "title": "Delay Seconds",
            "type": "integer"
          },
          "max_retries": {
            "default": 1,
            "description": "Maximum number of retries after the initial attempt",
            "maximum": 5,
            "minimum": 1,
            "title": "Max Retries",
            "type": "integer"
          },
          "retry_on": {
            "description": "Terminal status rules that enable retries",
            "items": {
              "$ref": "#/components/schemas/WorkflowRetryRule"
            },
            "minItems": 1,
            "title": "Retry On",
            "type": "array"
          },
          "webhook_on_retry": {
            "default": "final_only",
            "description": "Whether to send a webhook for every attempt or only the final attempt",
            "enum": [
              "final_only",
              "every_attempt"
            ],
            "title": "Webhook On Retry",
            "type": "string"
          }
        },
        "required": [
          "retry_on"
        ],
        "title": "WorkflowRetryPolicy",
        "type": "object"
      },
      "WorkflowRetryRule": {
        "properties": {
          "error_codes": {
            "anyOf": [
              {
                "items": {
                  "minLength": 1,
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional error codes. The rule matches when any listed code is present.",
            "title": "Error Codes"
          },
          "status": {
            "description": "Terminal status that triggers a retry rule; canceled is accepted for forward compatibility, but a canceled run never retries in the current runtime, including explicit API/UI cancels.",
            "enum": [
              "completed",
              "failed",
              "terminated",
              "canceled",
              "timed_out"
            ],
            "title": "Status",
            "type": "string"
          }
        },
        "required": [
          "status"
        ],
        "title": "WorkflowRetryRule",
        "type": "object"
      },
      "WorkflowRun": {
        "properties": {
          "ai_fallback": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Ai Fallback"
          },
          "attempt": {
            "default": 1,
            "description": "One-based number of the current workflow run attempt",
            "title": "Attempt",
            "type": "integer"
          },
          "attempts": {
            "description": "Attempts recorded for this workflow run",
            "items": {
              "$ref": "#/components/schemas/WorkflowRunAttempt"
            },
            "title": "Attempts",
            "type": "array"
          },
          "browser_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Browser Address"
          },
          "browser_profile_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Browser Profile Id"
          },
          "browser_seed_source": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BrowserSeedSource"
              },
              {
                "type": "null"
              }
            ]
          },
          "browser_session_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Browser Session Id"
          },
          "browser_settings": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BrowserSettings"
              },
              {
                "type": "null"
              }
            ],
            "description": "Browser settings copied from the workflow version when the run was created"
          },
          "browser_settings_receipt": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BrowserSettingsReceipt"
              },
              {
                "type": "null"
              }
            ]
          },
          "browser_sink_profile_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Browser Sink Profile Id"
          },
          "browser_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Browser Type"
          },
          "cached_credits_used": {
            "default": 0,
            "title": "Cached Credits Used",
            "type": "integer"
          },
          "cdp_connect_headers": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cdp Connect Headers"
          },
          "code_gen": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Code Gen"
          },
          "copilot_session_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Copilot Session Id"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "created_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "ID of the user who started the run",
            "title": "Created By"
          },
          "credits_used": {
            "default": 0,
            "title": "Credits Used",
            "type": "integer"
          },
          "debug_session_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Debug Session Id"
          },
          "depends_on_workflow_run_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Depends On Workflow Run Id"
          },
          "extra_http_headers": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Extra Http Headers"
          },
          "failure_category": {
            "anyOf": [
              {
                "items": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Failure Category"
          },
          "failure_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Failure Reason"
          },
          "fallback_attempt": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Fallback Attempt"
          },
          "finished_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Finished At"
          },
          "ignore_inherited_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Inherited Workflow System Prompt",
            "type": "boolean"
          },
          "job_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Job Id"
          },
          "max_elapsed_time_minutes": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Elapsed Time Minutes"
          },
          "max_screenshot_scrolls": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Max Screenshot Scrolls"
          },
          "modified_at": {
            "format": "date-time",
            "title": "Modified At",
            "type": "string"
          },
          "next_attempt_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Timestamp when the next workflow run attempt is scheduled",
            "title": "Next Attempt At"
          },
          "organization_id": {
            "title": "Organization Id",
            "type": "string"
          },
          "parent_workflow_run_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parent Workflow Run Id"
          },
          "proxy_location": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ProxyLocation"
              },
              {
                "$ref": "#/components/schemas/GeoTarget"
              },
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Proxy Location"
          },
          "queued_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Queued At"
          },
          "retried_from_workflow_run_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Retried From Workflow Run Id"
          },
          "retry_pending": {
            "default": false,
            "description": "Whether another attempt is scheduled for this workflow run",
            "title": "Retry Pending",
            "type": "boolean"
          },
          "reuse_browser_session": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Reuse Browser Session"
          },
          "run_with": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Run With"
          },
          "script_run": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ScriptRunResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "sequential_credential_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sequential Credential Id"
          },
          "sequential_key": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sequential Key"
          },
          "start_fresh_browser": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Start Fresh Browser"
          },
          "started_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Started At"
          },
          "status": {
            "$ref": "#/components/schemas/WorkflowRunStatus"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Identifier"
          },
          "totp_verification_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Totp Verification Url"
          },
          "trigger_type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/WorkflowRunTriggerType"
              },
              {
                "type": "null"
              }
            ]
          },
          "webhook_callback_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Webhook Callback Url"
          },
          "webhook_failure_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Webhook Failure Reason"
          },
          "workflow_id": {
            "title": "Workflow Id",
            "type": "string"
          },
          "workflow_permanent_id": {
            "title": "Workflow Permanent Id",
            "type": "string"
          },
          "workflow_run_id": {
            "title": "Workflow Run Id",
            "type": "string"
          },
          "workflow_schedule_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Workflow Schedule Id"
          },
          "workflow_title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Workflow Title"
          }
        },
        "required": [
          "workflow_run_id",
          "workflow_id",
          "workflow_permanent_id",
          "organization_id",
          "status",
          "created_at",
          "modified_at"
        ],
        "title": "WorkflowRun",
        "type": "object"
      },
      "WorkflowRunAttempt": {
        "properties": {
          "attempt_number": {
            "description": "One-based number of this workflow run attempt",
            "title": "Attempt Number",
            "type": "integer"
          },
          "decision_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Reason recorded for the retry decision",
            "title": "Decision Reason"
          },
          "error_codes": {
            "description": "Error codes reported by this attempt",
            "items": {
              "type": "string"
            },
            "title": "Error Codes",
            "type": "array"
          },
          "failure_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Reason for failure, if the attempt failed",
            "title": "Failure Reason"
          },
          "finished_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Timestamp when this attempt finished",
            "title": "Finished At"
          },
          "next_attempt_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Timestamp when the next attempt is scheduled",
            "title": "Next Attempt At"
          },
          "retry_decision": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Retry decision recorded for this attempt",
            "title": "Retry Decision"
          },
          "started_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Timestamp when this attempt started",
            "title": "Started At"
          },
          "status": {
            "$ref": "#/components/schemas/RunStatus",
            "description": "Status of this workflow run attempt"
          },
          "webhook_sent_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Timestamp when the webhook for this attempt was sent",
            "title": "Webhook Sent At"
          }
        },
        "required": [
          "attempt_number",
          "status"
        ],
        "title": "WorkflowRunAttempt",
        "type": "object"
      },
      "WorkflowRunBlock": {
        "properties": {
          "actions": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/Action"
            },
            "title": "Actions",
            "type": "array"
          },
          "attachments": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Attachments"
          },
          "attempt_number": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Attempt Number"
          },
          "block_type": {
            "$ref": "#/components/schemas/BlockType"
          },
          "block_workflow_run_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Block Workflow Run Id"
          },
          "body": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Body"
          },
          "complete_criterion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Complete Criterion"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "current_index": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Current Index"
          },
          "current_value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Current Value"
          },
          "data_extraction_goal": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data Extraction Goal"
          },
          "data_schema": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Data Schema"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "downloaded_file_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Downloaded File Count"
          },
          "duration": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Duration"
          },
          "engine": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RunEngine"
              },
              {
                "type": "null"
              }
            ]
          },
          "error_codes": {
            "default": [],
            "items": {
              "type": "string"
            },
            "title": "Error Codes",
            "type": "array"
          },
          "executed_branch_expression": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Executed Branch Expression"
          },
          "executed_branch_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Executed Branch Id"
          },
          "executed_branch_next_block": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Executed Branch Next Block"
          },
          "executed_branch_result": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Executed Branch Result"
          },
          "failure_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Failure Reason"
          },
          "final_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Final Url"
          },
          "finish_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Finish Reason"
          },
          "include_action_history_in_verification": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": false,
            "title": "Include Action History In Verification"
          },
          "include_extracted_text": {
            "default": true,
            "title": "Include Extracted Text",
            "type": "boolean"
          },
          "instructions": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Instructions"
          },
          "label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Label"
          },
          "loop_values": {
            "anyOf": [
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Loop Values"
          },
          "modified_at": {
            "format": "date-time",
            "title": "Modified At",
            "type": "string"
          },
          "navigation_goal": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Navigation Goal"
          },
          "navigation_payload": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Navigation Payload"
          },
          "negative_descriptor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Negative Descriptor"
          },
          "organization_id": {
            "title": "Organization Id",
            "type": "string"
          },
          "output": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Output"
          },
          "parent_workflow_run_block_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parent Workflow Run Block Id"
          },
          "positive_descriptor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Positive Descriptor"
          },
          "prompt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Prompt"
          },
          "recipients": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Recipients"
          },
          "script_run": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ScriptRunResponse"
              },
              {
                "type": "null"
              }
            ]
          },
          "status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Status"
          },
          "subject": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Subject"
          },
          "task_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Task Id"
          },
          "terminate_criterion": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Terminate Criterion"
          },
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Url"
          },
          "workflow_run_block_id": {
            "title": "Workflow Run Block Id",
            "type": "string"
          },
          "workflow_run_id": {
            "title": "Workflow Run Id",
            "type": "string"
          }
        },
        "required": [
          "workflow_run_block_id",
          "workflow_run_id",
          "organization_id",
          "block_type",
          "created_at",
          "modified_at"
        ],
        "title": "WorkflowRunBlock",
        "type": "object"
      },
      "WorkflowRunRequest-Input": {
        "properties": {
          "agent_id": {
            "description": "ID of the agent to run. Starts with `wpid_`. `workflow_id` is accepted as an alias.",
            "examples": [
              "wpid_123"
            ],
            "title": "Agent Id",
            "type": "string"
          },
          "ai_fallback": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "description": "Whether to fallback to AI if the workflow run fails.",
            "title": "Ai Fallback"
          },
          "browser_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The CDP address for the workflow run.",
            "examples": [
              "http://127.0.0.1:9222",
              "ws://127.0.0.1:9222/devtools/browser/1234567890"
            ],
            "title": "Browser Address"
          },
          "browser_profile_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "ID of a browser profile to reuse for this workflow run",
            "title": "Browser Profile Id"
          },
          "browser_session_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "ID of a Skyvern browser session to reuse, having it continue from the current screen state",
            "title": "Browser Session Id"
          },
          "browser_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Browser engine for this run, one of the supported browser types (e.g. msedge, chrome, stealth-chromium). Overrides the workflow-level setting. Null inherits from the workflow.",
            "examples": [
              "chrome"
            ],
            "title": "Browser Type"
          },
          "cdp_connect_headers": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "HTTP headers attached ONLY to the CDP WebSocket handshake when connecting to a remote browser via browser_address. Use this for browser-provider auth (e.g., x-api-key for Skyvern Cloud, Browserless, or similar). These headers are NEVER forwarded to target websites.",
            "title": "Cdp Connect Headers"
          },
          "extra_http_headers": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "The extra HTTP headers for the requests in browser.",
            "title": "Extra Http Headers"
          },
          "file_ids": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "maxItems": 50,
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "description": "\nIds of files uploaded through `POST /v1/upload_file` to attach to this run. Skyvern deletes an attached file as soon as the run finishes, so there is nothing to clean up afterwards. Reference an attached file by its id anywhere a file URL is accepted (for example in `parameters` or in the prompt) and no presigned URL is ever created for it. A file can be attached to one run at a time, and must not already be deleted.\n",
            "examples": [
              [
                "file_123456789"
              ]
            ],
            "title": "File Ids"
          },
          "max_elapsed_time_minutes": {
            "anyOf": [
              {
                "maximum": 480,
                "minimum": 1,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Timeout this workflow run after the configured elapsed runtime in minutes. When omitted, the platform default is 240 minutes. The maximum configurable value is 480 minutes.",
            "title": "Max Elapsed Time Minutes"
          },
          "max_screenshot_scrolls": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "The maximum number of scrolls for the post action screenshot. When it's None or 0, it takes the current viewpoint screenshot.",
            "title": "Max Screenshot Scrolls"
          },
          "parameters": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Parameters to pass to the workflow",
            "title": "Parameters"
          },
          "proxy_location": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ProxyLocation"
              },
              {
                "$ref": "#/components/schemas/GeoTarget"
              },
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": "RESIDENTIAL",
            "description": "\nGeographic Proxy location to route the browser traffic through. This is only available in Skyvern Cloud.\n\nAvailable geotargeting options:\n- RESIDENTIAL: the default value. Skyvern Cloud uses a random US residential proxy.\n- RESIDENTIAL_ES: Spain\n- RESIDENTIAL_IE: Ireland\n- RESIDENTIAL_GB: United Kingdom\n- RESIDENTIAL_IN: India\n- RESIDENTIAL_JP: Japan\n- RESIDENTIAL_FR: France\n- RESIDENTIAL_DE: Germany\n- RESIDENTIAL_NZ: New Zealand\n- RESIDENTIAL_PH: Philippines\n- RESIDENTIAL_KR: South Korea\n- RESIDENTIAL_SA: Saudi Arabia\n- RESIDENTIAL_ZA: South Africa\n- RESIDENTIAL_AR: Argentina\n- RESIDENTIAL_AU: Australia\n- RESIDENTIAL_BR: Brazil\n- RESIDENTIAL_TR: Turkey\n- RESIDENTIAL_CA: Canada\n- RESIDENTIAL_MX: Mexico\n- RESIDENTIAL_IT: Italy\n- RESIDENTIAL_NL: Netherlands\n- RESIDENTIAL_ISP: ISP proxy\n- US-CA: California (deprecated, routes through RESIDENTIAL_ISP)\n- US-NY: New York (deprecated, routes through RESIDENTIAL_ISP)\n- US-TX: Texas (deprecated, routes through RESIDENTIAL_ISP)\n- US-FL: Florida (deprecated, routes through RESIDENTIAL_ISP)\n- US-WA: Washington (deprecated, routes through RESIDENTIAL_ISP)\n- NONE: No proxy\n\nFor self-hosted deployments, you can pass a custom proxy URL as a dict: {\"url\": \"http://user:password@proxy.example:8080\"}. This routes the browser through your own proxy server and takes precedence over any globally configured proxy pool.\n Can also be a GeoTarget object for granular city/state targeting: {\"country\": \"US\", \"subdivision\": \"CA\", \"city\": \"San Francisco\"}",
            "title": "Proxy Location"
          },
          "reuse_browser_session": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "description": "Override whether this run reuses the workflow's managed browser session. Null inherits the workflow setting. Without login credentials, a browser profile key, or a sequential key, reuse is workflow-scoped: every run shares one browser and its signed-in state, so treat the workflow as single-account.",
            "title": "Reuse Browser Session"
          },
          "run_metadata": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "String key/value metadata to attach to this workflow run for analytics tag filtering.",
            "title": "Run Metadata"
          },
          "run_with": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Whether to run the workflow with agent or code. Null inherits from the workflow setting.",
            "examples": [
              "agent",
              "code"
            ],
            "title": "Run With"
          },
          "start_fresh_browser": {
            "default": false,
            "description": "When true, start this run from a fresh, empty browser and ignore any saved browser memory — no memory is read or written. A verified sign-in during the run still updates the credential's saved login.",
            "title": "Start Fresh Browser",
            "type": "boolean"
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The title for this workflow run",
            "title": "Title"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "\nIdentifier for the TOTP/2FA/MFA code when the code is pushed to Skyvern. Refer to https://www.skyvern.com/docs/credentials#push-a-code for more details.\n",
            "examples": [
              "john.doe@example.com",
              "4155555555",
              "user_123"
            ],
            "title": "Totp Identifier"
          },
          "totp_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "\nURL that serves TOTP/2FA/MFA codes for Skyvern to use during the workflow run. Refer to https://www.skyvern.com/docs/credentials#let-skyvern-fetch-codes-from-your-endpoint for more details.\n",
            "examples": [
              "https://my-totp-service.com/totp"
            ],
            "title": "Totp Url"
          },
          "webhook_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "URL to send workflow status updates to after a run is finished. Refer to https://www.skyvern.com/docs/running-tasks/webhooks-faq for webhook questions.",
            "title": "Webhook Url"
          }
        },
        "required": [
          "agent_id"
        ],
        "title": "WorkflowRunRequest",
        "type": "object"
      },
      "WorkflowRunRequest-Output": {
        "properties": {
          "ai_fallback": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "description": "Whether to fallback to AI if the workflow run fails.",
            "title": "Ai Fallback"
          },
          "browser_address": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The CDP address for the workflow run.",
            "examples": [
              "http://127.0.0.1:9222",
              "ws://127.0.0.1:9222/devtools/browser/1234567890"
            ],
            "title": "Browser Address"
          },
          "browser_profile_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "ID of a browser profile to reuse for this workflow run",
            "title": "Browser Profile Id"
          },
          "browser_session_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "ID of a Skyvern browser session to reuse, having it continue from the current screen state",
            "title": "Browser Session Id"
          },
          "browser_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Browser engine for this run, one of the supported browser types (e.g. msedge, chrome, stealth-chromium). Overrides the workflow-level setting. Null inherits from the workflow.",
            "examples": [
              "chrome"
            ],
            "title": "Browser Type"
          },
          "cdp_connect_headers": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "HTTP headers attached ONLY to the CDP WebSocket handshake when connecting to a remote browser via browser_address. Use this for browser-provider auth (e.g., x-api-key for Skyvern Cloud, Browserless, or similar). These headers are NEVER forwarded to target websites.",
            "title": "Cdp Connect Headers"
          },
          "extra_http_headers": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "The extra HTTP headers for the requests in browser.",
            "title": "Extra Http Headers"
          },
          "file_ids": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "maxItems": 50,
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "description": "\nIds of files uploaded through `POST /v1/upload_file` to attach to this run. Skyvern deletes an attached file as soon as the run finishes, so there is nothing to clean up afterwards. Reference an attached file by its id anywhere a file URL is accepted (for example in `parameters` or in the prompt) and no presigned URL is ever created for it. A file can be attached to one run at a time, and must not already be deleted.\n",
            "examples": [
              [
                "file_123456789"
              ]
            ],
            "title": "File Ids"
          },
          "max_elapsed_time_minutes": {
            "anyOf": [
              {
                "maximum": 480,
                "minimum": 1,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Timeout this workflow run after the configured elapsed runtime in minutes. When omitted, the platform default is 240 minutes. The maximum configurable value is 480 minutes.",
            "title": "Max Elapsed Time Minutes"
          },
          "max_screenshot_scrolls": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "The maximum number of scrolls for the post action screenshot. When it's None or 0, it takes the current viewpoint screenshot.",
            "title": "Max Screenshot Scrolls"
          },
          "parameters": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "Parameters to pass to the workflow",
            "title": "Parameters"
          },
          "proxy_location": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ProxyLocation"
              },
              {
                "$ref": "#/components/schemas/GeoTarget"
              },
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "default": "RESIDENTIAL",
            "description": "\nGeographic Proxy location to route the browser traffic through. This is only available in Skyvern Cloud.\n\nAvailable geotargeting options:\n- RESIDENTIAL: the default value. Skyvern Cloud uses a random US residential proxy.\n- RESIDENTIAL_ES: Spain\n- RESIDENTIAL_IE: Ireland\n- RESIDENTIAL_GB: United Kingdom\n- RESIDENTIAL_IN: India\n- RESIDENTIAL_JP: Japan\n- RESIDENTIAL_FR: France\n- RESIDENTIAL_DE: Germany\n- RESIDENTIAL_NZ: New Zealand\n- RESIDENTIAL_PH: Philippines\n- RESIDENTIAL_KR: South Korea\n- RESIDENTIAL_SA: Saudi Arabia\n- RESIDENTIAL_ZA: South Africa\n- RESIDENTIAL_AR: Argentina\n- RESIDENTIAL_AU: Australia\n- RESIDENTIAL_BR: Brazil\n- RESIDENTIAL_TR: Turkey\n- RESIDENTIAL_CA: Canada\n- RESIDENTIAL_MX: Mexico\n- RESIDENTIAL_IT: Italy\n- RESIDENTIAL_NL: Netherlands\n- RESIDENTIAL_ISP: ISP proxy\n- US-CA: California (deprecated, routes through RESIDENTIAL_ISP)\n- US-NY: New York (deprecated, routes through RESIDENTIAL_ISP)\n- US-TX: Texas (deprecated, routes through RESIDENTIAL_ISP)\n- US-FL: Florida (deprecated, routes through RESIDENTIAL_ISP)\n- US-WA: Washington (deprecated, routes through RESIDENTIAL_ISP)\n- NONE: No proxy\n\nFor self-hosted deployments, you can pass a custom proxy URL as a dict: {\"url\": \"http://user:password@proxy.example:8080\"}. This routes the browser through your own proxy server and takes precedence over any globally configured proxy pool.\n Can also be a GeoTarget object for granular city/state targeting: {\"country\": \"US\", \"subdivision\": \"CA\", \"city\": \"San Francisco\"}",
            "title": "Proxy Location"
          },
          "reuse_browser_session": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "description": "Override whether this run reuses the workflow's managed browser session. Null inherits the workflow setting. Without login credentials, a browser profile key, or a sequential key, reuse is workflow-scoped: every run shares one browser and its signed-in state, so treat the workflow as single-account.",
            "title": "Reuse Browser Session"
          },
          "run_metadata": {
            "anyOf": [
              {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "description": "String key/value metadata to attach to this workflow run for analytics tag filtering.",
            "title": "Run Metadata"
          },
          "run_with": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Whether to run the workflow with agent or code. Null inherits from the workflow setting.",
            "examples": [
              "agent",
              "code"
            ],
            "title": "Run With"
          },
          "start_fresh_browser": {
            "default": false,
            "description": "When true, start this run from a fresh, empty browser and ignore any saved browser memory — no memory is read or written. A verified sign-in during the run still updates the credential's saved login.",
            "title": "Start Fresh Browser",
            "type": "boolean"
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "The title for this workflow run",
            "title": "Title"
          },
          "totp_identifier": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "\nIdentifier for the TOTP/2FA/MFA code when the code is pushed to Skyvern. Refer to https://www.skyvern.com/docs/credentials#push-a-code for more details.\n",
            "examples": [
              "john.doe@example.com",
              "4155555555",
              "user_123"
            ],
            "title": "Totp Identifier"
          },
          "totp_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "\nURL that serves TOTP/2FA/MFA codes for Skyvern to use during the workflow run. Refer to https://www.skyvern.com/docs/credentials#let-skyvern-fetch-codes-from-your-endpoint for more details.\n",
            "examples": [
              "https://my-totp-service.com/totp"
            ],
            "title": "Totp Url"
          },
          "webhook_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "URL to send workflow status updates to after a run is finished. Refer to https://www.skyvern.com/docs/running-tasks/webhooks-faq for webhook questions.",
            "title": "Webhook Url"
          },
          "workflow_id": {
            "description": "ID of the agent to run. Starts with `wpid_`. `workflow_id` is accepted as an alias.",
            "examples": [
              "wpid_123"
            ],
            "title": "Workflow Id",
            "type": "string"
          }
        },
        "required": [
          "workflow_id"
        ],
        "title": "WorkflowRunRequest",
        "type": "object"
      },
      "WorkflowRunResponse": {
        "properties": {
          "ai_fallback": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "description": "Whether to fallback to AI if code run fails.",
            "title": "Ai Fallback"
          },
          "app_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "URL to the application UI where the run can be viewed",
            "examples": [
              "https://app.skyvern.com/tasks/tsk_123",
              "https://app.skyvern.com/workflows/wpid_123/wr_123"
            ],
            "title": "App Url"
          },
          "attempt": {
            "default": 1,
            "description": "One-based number of the current workflow run attempt",
            "title": "Attempt",
            "type": "integer"
          },
          "attempts": {
            "description": "Attempts recorded for this workflow run",
            "items": {
              "$ref": "#/components/schemas/WorkflowRunAttempt"
            },
            "title": "Attempts",
            "type": "array"
          },
          "browser_profile_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "ID of the browser profile used for this run",
            "examples": [
              "bp_123"
            ],
            "title": "Browser Profile Id"
          },
          "browser_seed_source": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BrowserSeedSource"
              },
              {
                "type": "null"
              }
            ],
            "description": "Which layer of the seed-precedence chain seeded this run's browser (provenance).",
            "examples": [
              "credential",
              "own_memory",
              "fresh"
            ]
          },
          "browser_session_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "ID of the Skyvern persistent browser session used for this run",
            "examples": [
              "pbs_123"
            ],
            "title": "Browser Session Id"
          },
          "browser_settings_receipt": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BrowserSettingsReceipt"
              },
              {
                "type": "null"
              }
            ],
            "description": "The timezone the run's browser reported against the one its workflow version requested. Null when the version requests no browser settings or the browser has not been measured yet."
          },
          "created_at": {
            "description": "Timestamp when this run was created",
            "examples": [
              "2025-01-01T00:00:00Z"
            ],
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "downloaded_files": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/FileInfo"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "description": "List of files downloaded during the run",
            "title": "Downloaded Files"
          },
          "errors": {
            "anyOf": [
              {
                "items": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "description": "The errors for the run",
            "title": "Errors"
          },
          "failure_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Reason for failure if the run failed or terminated",
            "title": "Failure Reason"
          },
          "finished_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Timestamp when this run finished",
            "title": "Finished At"
          },
          "max_screenshot_scrolls": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "The maximum number of scrolls for the post action screenshot. When it's None or 0, it takes the current viewpoint screenshot",
            "title": "Max Screenshot Scrolls"
          },
          "modified_at": {
            "description": "Timestamp when this run was last modified",
            "examples": [
              "2025-01-01T00:05:00Z"
            ],
            "format": "date-time",
            "title": "Modified At",
            "type": "string"
          },
          "next_attempt_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Timestamp when the next workflow run attempt is scheduled",
            "title": "Next Attempt At"
          },
          "output": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "items": {},
                "type": "array"
              },
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Output data from the run, if any. Format/schema depends on the data extracted by the run.",
            "title": "Output"
          },
          "queued_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Timestamp when this run was queued",
            "title": "Queued At"
          },
          "recording_archived": {
            "default": false,
            "description": "True when the recording exists but has been archived to cold storage and is not currently accessible.",
            "title": "Recording Archived",
            "type": "boolean"
          },
          "recording_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "URL to the recording of the run",
            "title": "Recording Url"
          },
          "retry_pending": {
            "default": false,
            "description": "Whether another attempt is scheduled for this workflow run",
            "title": "Retry Pending",
            "type": "boolean"
          },
          "run_id": {
            "description": "Unique identifier for this run. Run ID starts with `tsk_` for task runs and `wr_` for workflow runs.",
            "examples": [
              "tsk_123",
              "tsk_v2_123",
              "wr_123"
            ],
            "title": "Run Id",
            "type": "string"
          },
          "run_request": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/WorkflowRunRequest-Output"
              },
              {
                "type": "null"
              }
            ],
            "description": "The original request parameters used to start this workflow run"
          },
          "run_type": {
            "const": "workflow_run",
            "description": "Type of run - always workflow_run for workflow runs",
            "title": "Run Type",
            "type": "string"
          },
          "run_with": {
            "default": "agent",
            "description": "Whether the workflow run was executed with agent or code",
            "examples": [
              "agent",
              "code"
            ],
            "title": "Run With",
            "type": "string"
          },
          "screenshot_urls": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "description": "List of last n screenshot URLs in reverse chronological order - the first one the list is the latest screenshot.",
            "title": "Screenshot Urls"
          },
          "script_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "ID of the cached script used for this workflow run, if any.",
            "title": "Script Id"
          },
          "script_run": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ScriptRunResponse"
              },
              {
                "type": "null"
              }
            ],
            "description": "The script run result"
          },
          "started_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Timestamp when this run started execution",
            "title": "Started At"
          },
          "status": {
            "$ref": "#/components/schemas/RunStatus",
            "description": "Current status of the run",
            "examples": [
              "created",
              "queued",
              "running",
              "paused",
              "timed_out",
              "failed",
              "terminated",
              "completed",
              "canceled"
            ]
          },
          "step_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Total number of steps executed in this run",
            "title": "Step Count"
          }
        },
        "required": [
          "created_at",
          "modified_at",
          "run_id",
          "run_type",
          "status"
        ],
        "title": "WorkflowRunResponse",
        "type": "object"
      },
      "WorkflowRunStatus": {
        "enum": [
          "created",
          "queued",
          "running",
          "failed",
          "terminated",
          "canceled",
          "timed_out",
          "completed",
          "paused"
        ],
        "title": "WorkflowRunStatus",
        "type": "string"
      },
      "WorkflowRunTimeline": {
        "properties": {
          "attempt": {
            "default": 1,
            "title": "Attempt",
            "type": "integer"
          },
          "block": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/WorkflowRunBlock"
              },
              {
                "type": "null"
              }
            ]
          },
          "children": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/WorkflowRunTimeline"
            },
            "title": "Children",
            "type": "array"
          },
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "modified_at": {
            "format": "date-time",
            "title": "Modified At",
            "type": "string"
          },
          "thought": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Thought"
              },
              {
                "type": "null"
              }
            ]
          },
          "type": {
            "$ref": "#/components/schemas/WorkflowRunTimelineType"
          }
        },
        "required": [
          "type",
          "created_at",
          "modified_at"
        ],
        "title": "WorkflowRunTimeline",
        "type": "object"
      },
      "WorkflowRunTimelineType": {
        "enum": [
          "thought",
          "block"
        ],
        "title": "WorkflowRunTimelineType",
        "type": "string"
      },
      "WorkflowRunTriggerType": {
        "description": "How a workflow run was initiated.\n\n- manual: User clicked \"Run\" in the UI\n- mcp: First-party MCP client or Skyvern CLI request\n- api: Direct API call to the run endpoint\n- scheduled: Triggered by a cron schedule\n- webhook: Triggered by an external system via the webhook endpoint\n- event: Triggered by an external event source\n- job_recipe_extract: Launched by a job recipe extract request\n- job_recipe_apply: Launched by a job recipe apply request\n- seo_recipe_submit: Launched by an SEO recipe directory submission",
        "enum": [
          "manual",
          "mcp",
          "api",
          "scheduled",
          "webhook",
          "event",
          "job_recipe_extract",
          "job_recipe_apply",
          "seo_recipe_submit"
        ],
        "title": "WorkflowRunTriggerType",
        "type": "string"
      },
      "WorkflowSchedule": {
        "properties": {
          "created_at": {
            "format": "date-time",
            "title": "Created At",
            "type": "string"
          },
          "created_by": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Who the schedule runs as; null for schedules created before owners were recorded.",
            "title": "Created By"
          },
          "cron_expression": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cron Expression"
          },
          "deleted_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Deleted At"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "dispatch_status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/OneTimeDispatchStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "enabled": {
            "title": "Enabled",
            "type": "boolean"
          },
          "first_fire_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "First Fire At"
          },
          "interval_seconds": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Interval Seconds"
          },
          "modified_at": {
            "format": "date-time",
            "title": "Modified At",
            "type": "string"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "organization_id": {
            "title": "Organization Id",
            "type": "string"
          },
          "parameters": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parameters"
          },
          "run_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Run At"
          },
          "temporal_schedule_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Temporal Schedule Id"
          },
          "timezone": {
            "title": "Timezone",
            "type": "string"
          },
          "workflow_permanent_id": {
            "title": "Workflow Permanent Id",
            "type": "string"
          },
          "workflow_run_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Workflow Run Id"
          },
          "workflow_schedule_id": {
            "title": "Workflow Schedule Id",
            "type": "string"
          }
        },
        "required": [
          "workflow_schedule_id",
          "organization_id",
          "workflow_permanent_id",
          "timezone",
          "enabled",
          "created_at",
          "modified_at"
        ],
        "title": "WorkflowSchedule",
        "type": "object"
      },
      "WorkflowScheduleListResponse": {
        "properties": {
          "schedules": {
            "items": {
              "$ref": "#/components/schemas/WorkflowSchedule"
            },
            "title": "Schedules",
            "type": "array"
          }
        },
        "required": [
          "schedules"
        ],
        "title": "WorkflowScheduleListResponse",
        "type": "object"
      },
      "WorkflowScheduleResponse": {
        "properties": {
          "next_runs": {
            "items": {
              "format": "date-time",
              "type": "string"
            },
            "title": "Next Runs",
            "type": "array"
          },
          "schedule": {
            "$ref": "#/components/schemas/WorkflowSchedule"
          }
        },
        "required": [
          "schedule"
        ],
        "title": "WorkflowScheduleResponse",
        "type": "object"
      },
      "WorkflowScheduleUpsertRequest": {
        "properties": {
          "cron_expression": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cron Expression"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "enabled": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "default": true,
            "title": "Enabled"
          },
          "first_fire_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "First run of an interval schedule; later runs follow every interval_seconds from it. Must be in the future when changed. Defaults to one interval after creation.",
            "title": "First Fire At"
          },
          "interval_seconds": {
            "anyOf": [
              {
                "maximum": 2147483647,
                "minimum": 300,
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "description": "Fixed elapsed interval between runs, in seconds. Mutually exclusive with cron_expression.",
            "title": "Interval Seconds"
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "parameters": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parameters"
          },
          "run_at": {
            "anyOf": [
              {
                "format": "date-time",
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Run the agent once at this instant, ISO 8601 with a UTC offset, at least 60 seconds in the future. Mutually exclusive with cron_expression and interval_seconds; the schedule can be edited or canceled only until it fires.",
            "title": "Run At"
          },
          "timezone": {
            "title": "Timezone",
            "type": "string"
          }
        },
        "required": [
          "timezone"
        ],
        "title": "WorkflowScheduleUpsertRequest",
        "type": "object"
      },
      "WorkflowStatus": {
        "enum": [
          "published",
          "draft",
          "auto_generated",
          "importing",
          "import_failed"
        ],
        "title": "WorkflowStatus",
        "type": "string"
      },
      "WorkflowTagsBatchRequest": {
        "description": "Body for ``POST /v1/workflow-tags`` (used when the wpid list would\nexceed the URL length cap).",
        "properties": {
          "workflow_permanent_ids": {
            "description": "Workflow permanent IDs to fetch tags for.",
            "items": {
              "type": "string"
            },
            "title": "Workflow Permanent Ids",
            "type": "array"
          }
        },
        "title": "WorkflowTagsBatchRequest",
        "type": "object"
      },
      "WorkflowTagsBatchResponse": {
        "description": "Response for the batch endpoint.\n\nWorkflows with no tags are present with an empty list so the frontend can\ndistinguish \"fetched, none set\" from \"not fetched\" without a second call.\nWorkflows outside the caller's org are silently absent (no leakage).",
        "properties": {
          "workflow_tags": {
            "additionalProperties": {
              "items": {
                "$ref": "#/components/schemas/TagItem"
              },
              "type": "array"
            },
            "title": "Workflow Tags",
            "type": "object"
          }
        },
        "required": [
          "workflow_tags"
        ],
        "title": "WorkflowTagsBatchResponse",
        "type": "object"
      },
      "WorkflowTriggerBlock": {
        "properties": {
          "block_type": {
            "const": "workflow_trigger",
            "default": "workflow_trigger",
            "title": "Block Type",
            "type": "string"
          },
          "browser_session_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Browser Session Id"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "disable_cache": {
            "default": false,
            "title": "Disable Cache",
            "type": "boolean"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier for a block; unique within a workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the next block label when constructing a DAG. Defaults to sequential order when omitted.",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "output_parameter": {
            "$ref": "#/components/schemas/OutputParameter"
          },
          "parameters": {
            "default": [],
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/WorkflowParameter"
                },
                {
                  "$ref": "#/components/schemas/ContextParameter"
                },
                {
                  "$ref": "#/components/schemas/AWSSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureSecretParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenLoginCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenSensitiveInformationParameter"
                },
                {
                  "$ref": "#/components/schemas/BitwardenCreditCardDataParameter"
                },
                {
                  "$ref": "#/components/schemas/OnePasswordCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/AzureVaultCredentialParameter"
                },
                {
                  "$ref": "#/components/schemas/OutputParameter"
                },
                {
                  "$ref": "#/components/schemas/CredentialParameter"
                }
              ]
            },
            "title": "Parameters",
            "type": "array"
          },
          "payload": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payload"
          },
          "use_parent_browser_session": {
            "default": false,
            "title": "Use Parent Browser Session",
            "type": "boolean"
          },
          "wait_for_completion": {
            "default": true,
            "title": "Wait For Completion",
            "type": "boolean"
          },
          "workflow_permanent_id": {
            "title": "Workflow Permanent Id",
            "type": "string"
          }
        },
        "required": [
          "block_type",
          "label",
          "output_parameter",
          "workflow_permanent_id"
        ],
        "title": "WorkflowTriggerBlock",
        "type": "object"
      },
      "WorkflowTriggerBlockYAML": {
        "properties": {
          "block_type": {
            "const": "workflow_trigger",
            "default": "workflow_trigger",
            "title": "Block Type",
            "type": "string"
          },
          "browser_session_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Browser Session Id"
          },
          "continue_on_failure": {
            "default": false,
            "title": "Continue On Failure",
            "type": "boolean"
          },
          "ignore_workflow_system_prompt": {
            "default": false,
            "title": "Ignore Workflow System Prompt",
            "type": "boolean"
          },
          "label": {
            "description": "Author-facing identifier; must be unique per workflow.",
            "title": "Label",
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Model"
          },
          "next_block_label": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optional pointer to the label of the next block. When omitted, it will default to sequential order. See [[s-4bnl]].",
            "title": "Next Block Label"
          },
          "next_loop_on_failure": {
            "default": false,
            "title": "Next Loop On Failure",
            "type": "boolean"
          },
          "parameter_keys": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Parameter Keys"
          },
          "payload": {
            "anyOf": [
              {
                "additionalProperties": true,
                "type": "object"
              },
              {
                "type": "null"
              }
            ],
            "title": "Payload"
          },
          "use_parent_browser_session": {
            "default": false,
            "title": "Use Parent Browser Session",
            "type": "boolean"
          },
          "wait_for_completion": {
            "default": true,
            "title": "Wait For Completion",
            "type": "boolean"
          },
          "workflow_permanent_id": {
            "title": "Workflow Permanent Id",
            "type": "string"
          }
        },
        "required": [
          "block_type",
          "label",
          "workflow_permanent_id"
        ],
        "title": "WorkflowTriggerBlockYAML",
        "type": "object"
      },
      "skyvern__forge__sdk__schemas__credentials__CredentialType": {
        "description": "Type of credential stored in the system.",
        "enum": [
          "password",
          "credit_card",
          "secret"
        ],
        "title": "CredentialType",
        "type": "string"
      },
      "skyvern__schemas__credential_type__CredentialType": {
        "enum": [
          "skyvern",
          "bitwarden",
          "1password",
          "azure_vault"
        ],
        "title": "CredentialType",
        "type": "string"
      }
    },
    "securitySchemes": {
      "ApiKeyAuth": {
        "description": "Your Skyvern API key from https://app.skyvern.com/settings.",
        "in": "header",
        "name": "x-api-key",
        "type": "apiKey"
      }
    }
  },
  "info": {
    "description": "API for Skyvern",
    "title": "Skyvern API",
    "version": "1.0.0"
  },
  "openapi": "3.1.0",
  "paths": {
    "/v1/agents": {
      "get": {
        "description": "Get all workflows with the latest version for the organization.\n\nSearch semantics:\n- If `search_key` is provided, its value is used as a unified search term for\n  `workflows.title`, `folders.title`, and workflow parameter metadata (key, description, and default_value for\n  `WorkflowParameterModel`).\n- Falls back to deprecated `title` (title-only search) if `search_key` is not provided.\n- Parameter metadata search excludes soft-deleted parameter rows across all parameter tables.",
        "operationId": "get_workflows_v1_workflows_get",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "minimum": 1,
              "title": "Page",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "page_size",
            "required": false,
            "schema": {
              "default": 10,
              "minimum": 1,
              "title": "Page Size",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "only_saved_tasks",
            "required": false,
            "schema": {
              "default": false,
              "title": "Only Saved Tasks",
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "only_workflows",
            "required": false,
            "schema": {
              "default": false,
              "title": "Only Workflows",
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "only_templates",
            "required": false,
            "schema": {
              "default": false,
              "title": "Only Templates",
              "type": "boolean"
            }
          },
          {
            "description": "Case-insensitive substring search across: workflow title, folder name, and parameter metadata (key, description, default_value). A workflow is returned if any of these fields match. Soft-deleted parameter definitions are excluded. Takes precedence over the deprecated `title` parameter.",
            "in": "query",
            "name": "search_key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Case-insensitive substring search across: workflow title, folder name, and parameter metadata (key, description, default_value). A workflow is returned if any of these fields match. Soft-deleted parameter definitions are excluded. Takes precedence over the deprecated `title` parameter.",
              "examples": [
                "my_workflow",
                "login_url",
                "production"
              ],
              "title": "Search Key"
            }
          },
          {
            "deprecated": true,
            "description": "Deprecated: use search_key instead. Falls back to title-only search if search_key is not provided.",
            "in": "query",
            "name": "title",
            "required": false,
            "schema": {
              "default": "",
              "deprecated": true,
              "description": "Deprecated: use search_key instead. Falls back to title-only search if search_key is not provided.",
              "title": "Title",
              "type": "string"
            }
          },
          {
            "description": "Filter workflows by folder ID",
            "in": "query",
            "name": "folder_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter workflows by folder ID",
              "title": "Folder Id"
            }
          },
          {
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "items": {
                    "$ref": "#/components/schemas/WorkflowStatus"
                  },
                  "type": "array"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Status"
            }
          },
          {
            "description": "Filter by tags. Each term is a label (`production`), a group (`env:*`), or a group:label (`env:prod`). Repeat the param or comma-separate (`?tags=env:prod,env:staging`). AND across distinct terms, OR within a group's labels (`?tags=customer:acme,env:prod,env:staging` -> customer=acme AND env in (prod, staging)). A label term matches the value across any/no group. Matches current tag values only. Not supported with `template=true`.",
            "in": "query",
            "name": "tags",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "items": {
                    "type": "string"
                  },
                  "maxItems": 20,
                  "type": "array"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by tags. Each term is a label (`production`), a group (`env:*`), or a group:label (`env:prod`). Repeat the param or comma-separate (`?tags=env:prod,env:staging`). AND across distinct terms, OR within a group's labels (`?tags=customer:acme,env:prod,env:staging` -> customer=acme AND env in (prod, staging)). A label term matches the value across any/no group. Matches current tag values only. Not supported with `template=true`.",
              "examples": [
                "env:prod",
                "production",
                "env:*",
                "customer:acme,env:prod"
              ],
              "title": "Tags"
            }
          },
          {
            "in": "query",
            "name": "template",
            "required": false,
            "schema": {
              "default": false,
              "title": "Template",
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Workflow"
                  },
                  "title": "Response Get Workflows V1 Workflows Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get all agents",
        "tags": [
          "Agents"
        ],
        "x-fern-examples": [
          {
            "code-samples": [
              {
                "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nworkflows = await skyvern.get_workflows()\nprint(workflows)\n",
                "sdk": "python"
              },
              {
                "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\nconst workflows = await skyvern.getWorkflows();\nconsole.log(workflows);\n",
                "sdk": "typescript"
              }
            ]
          }
        ],
        "x-fern-sdk-method-name": "get_workflows"
      },
      "post": {
        "description": "Create a new agent",
        "operationId": "create_workflow_v1_agents_post",
        "parameters": [
          {
            "description": "Optional folder ID to assign the workflow to",
            "in": "query",
            "name": "folder_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Optional folder ID to assign the workflow to",
              "title": "Folder Id"
            }
          },
          {
            "description": "Idempotency-Key must contain 1 to 255 visible ASCII bytes.",
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Idempotency-Key must contain 1 to 255 visible ASCII bytes.",
              "title": "Idempotency-Key"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkflowRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Workflow"
                }
              }
            },
            "description": "Successfully created agent"
          },
          "409": {
            "description": "A create with this idempotency key is still in progress"
          },
          "422": {
            "description": "Invalid agent definition"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Create a new agent",
        "tags": [
          "Agents"
        ],
        "x-fern-examples": [
          {
            "code-samples": [
              {
                "code": "curl -X POST https://api.skyvern.com/v1/workflows --header 'x-api-key: {{x-api-key}}' --header 'Content-Type: text/plain' --data-raw 'title: Contact Forms\ndescription: Fill the contact form on the website\nproxy_location: RESIDENTIAL\nwebhook_callback_url: https://example.com/webhook\ntotp_verification_url: https://example.com/totp\npersist_browser_session: false\nmodel:\n  name: gpt-4.1\nworkflow_definition:\n  parameters:\n    - key: website_url\n      description: null\n      parameter_type: workflow\n      workflow_parameter_type: string\n      default_value: null\n    - key: name\n      description: null\n      parameter_type: workflow\n      workflow_parameter_type: string\n      default_value: null\n    - key: additional_information\n      description: null\n      parameter_type: workflow\n      workflow_parameter_type: string\n      default_value: |-\n        Message: I'd love to learn more about your...\n        Phone: 123-456-7890\n        Inquiry type: sales\n        Optional Subject: Hello from [Company Here]\n    - key: email\n      description: null\n      parameter_type: workflow\n      workflow_parameter_type: string\n      default_value: null\n  blocks:\n    - label: Fill_Out_Contact_Form\n      continue_on_failure: true\n      block_type: navigation\n      url: \"{{website_url}}\"\n      title: Fill_Out_Contact_Form\n      navigation_goal: >-\n        Find the contact form. Fill out the contact us form and submit it. Your\n        goal is complete when the page says your message has been sent. In the\n        case you can't find a contact us form, terminate.\n\n\n        Fill out required fields as best you can using the following\n        information:\n\n        {{name}}\n\n        {{email}}\n\n        {{additional_information}}\n      error_code_mapping: null\n      max_retries: 0\n      max_steps_per_run: null\n      complete_on_download: false\n      download_suffix: null\n      parameter_keys: []\n      totp_identifier: null\n      totp_verification_url: null\n      complete_criterion: \"\"\n      terminate_criterion: \"\"\n      include_action_history_in_verification: false\n    - label: Extract_Email\n      continue_on_failure: false\n      block_type: extraction\n      url: \"\"\n      title: Extract_Email\n      data_extraction_goal: \"Extract a company email if available \"\n      data_schema: null\n      max_retries: 0\n      max_steps_per_run: null\n      parameter_keys: []\n'\n",
                "sdk": "curl"
              },
              {
                "code": "\nfrom skyvern import Skyvern\n\n# Create a workflow in JSON format\nworkflow_definition = {\n    \"title\": \"Contact Forms Workflow\",\n    \"description\": \"Fill the contact form on the website\",\n    \"proxy_location\": \"RESIDENTIAL\",\n    \"webhook_callback_url\": \"https://example.com/webhook\",\n    \"totp_verification_url\": \"https://example.com/totp\",\n    \"totp_identifier\": \"4155555555\",\n    \"model\": {\"name\": \"gpt-4.1\"},\n    \"workflow_definition\": {\n        \"parameters\": [\n            {\n                \"key\": \"website_url\",\n                \"description\": None,\n                \"parameter_type\": \"workflow\",\n                \"workflow_parameter_type\": \"string\",\n                \"default_value\": None,\n            },\n            {\n                \"key\": \"name\",\n                \"description\": None,\n                \"parameter_type\": \"workflow\",\n                \"workflow_parameter_type\": \"string\",\n                \"default_value\": None,\n            },\n            {\n                \"key\": \"additional_information\",\n                \"description\": None,\n                \"parameter_type\": \"workflow\",\n                \"workflow_parameter_type\": \"string\",\n                \"default_value\": \"Message: I'd love to learn more about your...\nPhone: 123-456-7890\nInquiry type: sales\nOptional Subject: Hello from [Company Here]\",\n            },\n            {\n                \"key\": \"email\",\n                \"description\": None,\n                \"parameter_type\": \"workflow\",\n                \"workflow_parameter_type\": \"string\",\n                \"default_value\": None,\n            },\n        ],\n        \"blocks\": [\n            {\n                \"label\": \"Fill_Out_Contact_Form\",\n                \"continue_on_failure\": True,\n                \"block_type\": \"navigation\",\n                \"url\": \"{{website_url}}\",\n                \"title\": \"Fill_Out_Contact_Form\",\n                \"navigation_goal\": \"Find the contact form. Fill out the contact us form and submit it. Your goal is complete when the page says your message has been sent. In the case you can't find a contact us form, terminate.\n\nFill out required fields as best you can using the following information:\n{{name}}\n{{email}}\n{{additional_information}}\",\n                \"error_code_mapping\": None,\n                \"max_retries\": 0,\n                \"max_steps_per_run\": None,\n                \"complete_on_download\": False,\n                \"download_suffix\": None,\n                \"parameter_keys\": [],\n                \"totp_identifier\": None,\n                \"totp_verification_url\": None,\n                \"complete_criterion\": \"\",\n                \"terminate_criterion\": \"\",\n                \"include_action_history_in_verification\": False,\n            },\n            {\n                \"label\": \"Extract_Email\",\n                \"continue_on_failure\": False,\n                \"block_type\": \"extraction\",\n                \"url\": \"\",\n                \"title\": \"Extract_Email\",\n                \"data_extraction_goal\": \"Extract a company email if available \",\n                \"data_schema\": None,\n                \"max_retries\": 0,\n                \"max_steps_per_run\": None,\n                \"parameter_keys\": [],\n            },\n        ],\n    },\n}\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nworkflow = await skyvern.create_workflow(json_definition=workflow_definition)\nprint(workflow)\n",
                "sdk": "python"
              },
              {
                "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\n\n// Create a workflow in JSON format\nconst workflowDefinition = {\n    title: \"Contact Forms Workflow\",\n    description: \"Fill the contact form on the website\",\n    proxy_location: \"RESIDENTIAL\",\n    webhook_callback_url: \"https://example.com/webhook\",\n    totp_verification_url: \"https://example.com/totp\",\n    totp_identifier: \"4155555555\",\n    model: { name: \"gpt-4.1\" },\n    workflow_definition: {\n        parameters: [\n            {\n                key: \"website_url\",\n                description: null,\n                parameter_type: \"workflow\",\n                workflow_parameter_type: \"string\",\n                default_value: null\n            },\n            {\n                key: \"name\",\n                description: null,\n                parameter_type: \"workflow\",\n                workflow_parameter_type: \"string\",\n                default_value: null\n            },\n            {\n                key: \"additional_information\",\n                description: null,\n                parameter_type: \"workflow\",\n                workflow_parameter_type: \"string\",\n                default_value: \"Message: I'd love to learn more about your...\\nPhone: 123-456-7890\\nInquiry type: sales\\nOptional Subject: Hello from [Company Here]\"\n            },\n            {\n                key: \"email\",\n                description: null,\n                parameter_type: \"workflow\",\n                workflow_parameter_type: \"string\",\n                default_value: null\n            }\n        ],\n        blocks: [\n            {\n                label: \"Fill_Out_Contact_Form\",\n                continue_on_failure: true,\n                block_type: \"navigation\",\n                url: \"{{website_url}}\",\n                title: \"Fill_Out_Contact_Form\",\n                navigation_goal: \"Find the contact form. Fill out the contact us form and submit it. Your goal is complete when the page says your message has been sent. In the case you can't find a contact us form, terminate.\\n\\nFill out required fields as best you can using the following information:\\n{{name}}\\n{{email}}\\n{{additional_information}}\",\n                error_code_mapping: null,\n                max_retries: 0,\n                max_steps_per_run: null,\n                complete_on_download: false,\n                download_suffix: null,\n                parameter_keys: [],\n                totp_identifier: null,\n                totp_verification_url: null,\n                complete_criterion: \"\",\n                terminate_criterion: \"\",\n                include_action_history_in_verification: false\n            },\n            {\n                label: \"Extract_Email\",\n                continue_on_failure: false,\n                block_type: \"extraction\",\n                url: \"\",\n                title: \"Extract_Email\",\n                data_extraction_goal: \"Extract a company email if available \",\n                data_schema: null,\n                max_retries: 0,\n                max_steps_per_run: null,\n                parameter_keys: [],\n            }\n        ]\n    }\n};\n\nconst workflow = await skyvern.createWorkflow({\n    json_definition: workflowDefinition\n});\nconsole.log(workflow);\n",
                "sdk": "typescript"
              }
            ]
          }
        ],
        "x-fern-sdk-method-name": "create_workflow"
      }
    },
    "/v1/agents/runs": {
      "get": {
        "description": "List workflow runs across all workflows for the current organization.\n\nResults are paginated and can be filtered by **status**, **search_key**, and **error_code**. All filters are combined with **AND** logic — a run must match every supplied filter to be returned.\n\n### search_key\n\nA case-insensitive substring search that matches against **any** of the following fields:\n\n| Searched field | Description |\n|---|---|\n| `workflow_run_id` | The unique run identifier (e.g. `wr_123…`) |\n| `workflow_permanent_id` | The permanent ID of the workflow that ran (e.g. `wpid_123…`) |\n| Workflow **title** | The title of the workflow that ran |\n| Parameter **key** | The `key` of any workflow parameter definition associated with the run |\n| Parameter **description** | The `description` of any workflow parameter definition |\n| Run parameter **value** | The actual value supplied for any parameter when the run was created |\n| `extra_http_headers` | Extra HTTP headers attached to the run (searched as raw JSON text) |\n| `webhook_callback_url` | The webhook URL the run posts its result to |\n\nSoft-deleted parameter definitions are excluded from key/description matching. A run is returned if **any** of the fields above contain the search term.\n\nA **complete** identifier also matches the run that used it, by exact equality:\n\n| Identifier | Description |\n|---|---|\n| `browser_profile_id` | The browser profile the run used (e.g. `bp_123…`) |\n| `browser_session_id` | The browser session the run used (e.g. `pbs_123…`) |\n| **Credential id** | A credential the run used (e.g. `cred_123…`) |\n| `workflow_run_id` | The run itself (e.g. `wr_123…`) |\n| **Task id** | The workflow run the task ran in, when that run is top-level (e.g. `tsk_123…`) |\n\nA complete browser profile, browser session, workflow run or task id is matched against those identifiers only, not the text fields above. A credential id matches a run when it is the run's sequential credential, the credential the run selected from a pool or fell back to, or the credential bound by a credential parameter on the run's workflow version when the run was created and the run recorded no selection for that parameter. Other pool and fallback members the run did not use do not match.\n\n### Default search window\n\nA `search_key` other than a complete browser profile, browser session, workflow run or task id is matched only against runs created in the **30 days before `created_at_end`** (or before now) unless the request supplies `created_at_start`. This includes complete credential ids. Supply `created_at_start` (and optionally `created_at_end`) to search a different range. Explicit bounds apply to every search, complete ids included. Listings without `search_key` are not windowed. To fetch one run by its id, use `GET /v1/runs/{run_id}`.\n\n### created_at_start / created_at_end\n\nOptional ISO 8601 bounds on the run's creation time: `created_at_start` is inclusive and `created_at_end` is exclusive. A timestamp without an offset is read as UTC.\n\n### error_code\n\nAn **exact-match** filter against the `error_code` field inside each task's `errors` JSON array. A run matches if **any** of its tasks contains an error object with a matching `error_code` value. Error codes are user-defined strings set during workflow execution (e.g. `INVALID_CREDENTIALS`, `LOGIN_FAILED`, `CAPTCHA_DETECTED`).\n\n### Combining filters\n\nAll query parameters use AND logic:\n- `?status=failed` — only failed runs\n- `?status=failed&error_code=LOGIN_FAILED` — failed runs **and** have a LOGIN_FAILED error\n- `?status=failed&error_code=LOGIN_FAILED&search_key=prod_credential` — all three conditions must match (searched over the last 30 days)\n- `?search_key=prod_credential&created_at_start=2026-01-01T00:00:00Z&created_at_end=2026-02-01T00:00:00Z` — search one explicit month",
        "operationId": "get_workflow_runs_v1_workflows_runs_get",
        "parameters": [
          {
            "description": "Page number for pagination.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "description": "Page number for pagination.",
              "minimum": 1,
              "title": "Page",
              "type": "integer"
            }
          },
          {
            "description": "Number of runs to return per page.",
            "in": "query",
            "name": "page_size",
            "required": false,
            "schema": {
              "default": 10,
              "description": "Number of runs to return per page.",
              "minimum": 1,
              "title": "Page Size",
              "type": "integer"
            }
          },
          {
            "description": "Filter by one or more run statuses.",
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "items": {
                    "$ref": "#/components/schemas/WorkflowRunStatus"
                  },
                  "type": "array"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by one or more run statuses.",
              "title": "Status"
            }
          },
          {
            "description": "Case-insensitive substring search across: workflow run ID, parameter key, parameter description, run parameter value, extra HTTP headers and webhook callback URL. A run is returned if any of these fields match. Soft-deleted parameter definitions are excluded from key/description matching. A complete browser profile ID, browser session ID or credential ID matches the run that used it exactly (no substring match). A complete workflow run ID matches that run. A complete task ID matches the workflow run the task ran in, when this list includes that run, or the standalone task itself where standalone tasks are listed. A complete browser profile, browser session, workflow run or task ID is matched against those identifiers only, not the text fields. A credential ID matches when it is the run's sequential credential, the credential the run selected from a pool or fell back to, or the credential bound by a credential parameter on the run's workflow version when the run was created and the run recorded no selection for it. The workflow title and workflow permanent ID are matched as well. Without created_at_start, a search other than a complete browser profile, browser session, workflow run or task ID covers only runs created in the 30 days before created_at_end (or before now).",
            "in": "query",
            "name": "search_key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 500,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Case-insensitive substring search across: workflow run ID, parameter key, parameter description, run parameter value, extra HTTP headers and webhook callback URL. A run is returned if any of these fields match. Soft-deleted parameter definitions are excluded from key/description matching. A complete browser profile ID, browser session ID or credential ID matches the run that used it exactly (no substring match). A complete workflow run ID matches that run. A complete task ID matches the workflow run the task ran in, when this list includes that run, or the standalone task itself where standalone tasks are listed. A complete browser profile, browser session, workflow run or task ID is matched against those identifiers only, not the text fields. A credential ID matches when it is the run's sequential credential, the credential the run selected from a pool or fell back to, or the credential bound by a credential parameter on the run's workflow version when the run was created and the run recorded no selection for it. The workflow title and workflow permanent ID are matched as well. Without created_at_start, a search other than a complete browser profile, browser session, workflow run or task ID covers only runs created in the 30 days before created_at_end (or before now).",
              "examples": [
                "login_url",
                "wr_abc123",
                "bp_123456789",
                "cred_123456789"
              ],
              "title": "Search Key"
            }
          },
          {
            "description": "Exact-match filter on the error_code field inside each task's errors JSON array. A run matches if any of its tasks contains an error with a matching error_code. Error codes are user-defined strings set during workflow execution.",
            "in": "query",
            "name": "error_code",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 500,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Exact-match filter on the error_code field inside each task's errors JSON array. A run matches if any of its tasks contains an error with a matching error_code. Error codes are user-defined strings set during workflow execution.",
              "examples": [
                "INVALID_CREDENTIALS",
                "LOGIN_FAILED",
                "CAPTCHA_DETECTED"
              ],
              "title": "Error Code"
            }
          },
          {
            "description": "Only include runs created at or after this timestamp (ISO 8601; a value without an offset is read as UTC). Supplying it replaces the 30-day default window of a free-text search_key.",
            "in": "query",
            "name": "created_at_start",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "format": "date-time",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Only include runs created at or after this timestamp (ISO 8601; a value without an offset is read as UTC). Supplying it replaces the 30-day default window of a free-text search_key.",
              "examples": [
                "2026-01-01T00:00:00Z"
              ],
              "title": "Created At Start"
            }
          },
          {
            "description": "Only include runs created strictly before this timestamp (ISO 8601; a value without an offset is read as UTC). Without created_at_start, a free-text search_key covers the 30 days before this timestamp.",
            "in": "query",
            "name": "created_at_end",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "format": "date-time",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Only include runs created strictly before this timestamp (ISO 8601; a value without an offset is read as UTC). Without created_at_start, a free-text search_key covers the 30 days before this timestamp.",
              "examples": [
                "2026-02-01T00:00:00Z"
              ],
              "title": "Created At End"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/WorkflowRun"
                  },
                  "title": "Response Get Workflow Runs V1 Workflows Runs Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get all runs",
        "tags": [
          "Runs"
        ],
        "x-fern-sdk-method-name": "get_workflow_runs"
      }
    },
    "/v1/agents/runs/{workflow_run_id}/retry": {
      "post": {
        "description": "Retry a workflow run using the original run parameters.",
        "operationId": "retry_workflow_run_v1_workflows_runs__workflow_run_id__retry_post",
        "parameters": [
          {
            "description": "The id of the workflow run to retry.",
            "in": "path",
            "name": "workflow_run_id",
            "required": true,
            "schema": {
              "description": "The id of the workflow run to retry.",
              "examples": [
                "wr_123"
              ],
              "title": "Workflow Run Id",
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "x-max-steps-override",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Max-Steps-Override"
            }
          },
          {
            "in": "header",
            "name": "x-user-agent",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-User-Agent"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkflowRunResponse"
                }
              }
            },
            "description": "Successfully retried workflow run"
          },
          "400": {
            "description": "Workflow run is not retryable"
          },
          "404": {
            "description": "Workflow run not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "description": "The server is busy dispatching other runs. No run was created; retry after Retry-After seconds.",
            "headers": {
              "Retry-After": {
                "description": "Seconds to wait before retrying",
                "schema": {
                  "type": "integer"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Retry a run",
        "tags": [
          "Runs"
        ],
        "x-fern-sdk-method-name": "retry_workflow_run"
      }
    },
    "/v1/agents/{workflow_id}": {
      "post": {
        "description": "Update an agent",
        "operationId": "update_workflow_v1_agents__workflow_id__post",
        "parameters": [
          {
            "description": "The ID of the agent to update. Starts with `wpid_`.",
            "in": "path",
            "name": "workflow_id",
            "required": true,
            "schema": {
              "description": "The ID of the agent to update. Starts with `wpid_`.",
              "examples": [
                "wpid_123"
              ],
              "title": "Workflow Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkflowRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Workflow"
                }
              }
            },
            "description": "Successfully updated agent"
          },
          "422": {
            "description": "Invalid agent definition"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Update an agent",
        "tags": [
          "Agents"
        ],
        "x-fern-examples": [
          {
            "code-samples": [
              {
                "code": "curl -X POST https://api.skyvern.com/v1/workflows/wpid_123 --header 'x-api-key: {{x-api-key}}' --header 'Content-Type: text/plain' --data-raw 'title: Contact Forms\ndescription: Fill the contact form on the website\nproxy_location: RESIDENTIAL\nwebhook_callback_url: https://example.com/webhook\ntotp_verification_url: https://example.com/totp\npersist_browser_session: false\nmodel:\n  name: gpt-4.1\nworkflow_definition:\n  parameters:\n    - key: website_url\n      description: null\n      parameter_type: workflow\n      workflow_parameter_type: string\n      default_value: null\n    - key: name\n      description: null\n      parameter_type: workflow\n      workflow_parameter_type: string\n      default_value: null\n    - key: additional_information\n      description: null\n      parameter_type: workflow\n      workflow_parameter_type: string\n      default_value: |-\n        Message: I'd love to learn more about your...\n        Phone: 123-456-7890\n        Inquiry type: sales\n        Optional Subject: Hello from [Company Here]\n    - key: email\n      description: null\n      parameter_type: workflow\n      workflow_parameter_type: string\n      default_value: null\n  blocks:\n    - label: Fill_Out_Contact_Form\n      continue_on_failure: true\n      block_type: navigation\n      url: \"{{website_url}}\"\n      title: Fill_Out_Contact_Form\n      navigation_goal: >-\n        Find the contact form. Fill out the contact us form and submit it. Your\n        goal is complete when the page says your message has been sent. In the\n        case you can't find a contact us form, terminate.\n\n\n        Fill out required fields as best you can using the following\n        information:\n\n        {{name}}\n\n        {{email}}\n\n        {{additional_information}}\n      error_code_mapping: null\n      max_retries: 0\n      max_steps_per_run: null\n      complete_on_download: false\n      download_suffix: null\n      parameter_keys: []\n      totp_identifier: null\n      totp_verification_url: null\n      complete_criterion: \"\"\n      terminate_criterion: \"\"\n      include_action_history_in_verification: false\n    - label: Extract_Email\n      continue_on_failure: false\n      block_type: extraction\n      url: \"\"\n      title: Extract_Email\n      data_extraction_goal: \"Extract a company email if available \"\n      data_schema: null\n      max_retries: 0\n      max_steps_per_run: null\n      parameter_keys: []\n'\n",
                "sdk": "curl"
              },
              {
                "code": "\nfrom skyvern import Skyvern\n\nupdated_workflow_definition = {\n    \"title\": \"Updated Contact Forms Workflow\",\n    \"description\": \"Fill the contact form on the website\",\n    \"proxy_location\": \"RESIDENTIAL\",\n    \"webhook_callback_url\": \"https://example.com/webhook\",\n    \"totp_verification_url\": \"https://example.com/totp\",\n    \"totp_identifier\": \"4155555555\",\n    \"model\": {\"name\": \"gpt-4.1\"},\n    \"workflow_definition\": {\n        \"parameters\": [\n            {\n                \"key\": \"website_url\",\n                \"description\": None,\n                \"parameter_type\": \"workflow\",\n                \"workflow_parameter_type\": \"string\",\n                \"default_value\": None,\n            },\n            {\n                \"key\": \"name\",\n                \"description\": None,\n                \"parameter_type\": \"workflow\",\n                \"workflow_parameter_type\": \"string\",\n                \"default_value\": None,\n            },\n            {\n                \"key\": \"additional_information\",\n                \"description\": None,\n                \"parameter_type\": \"workflow\",\n                \"workflow_parameter_type\": \"string\",\n                \"default_value\": \"Message: I'd love to learn more about your...\nPhone: 123-456-7890\nInquiry type: sales\nOptional Subject: Hello from [Company Here]\",\n            },\n            {\n                \"key\": \"email\",\n                \"description\": None,\n                \"parameter_type\": \"workflow\",\n                \"workflow_parameter_type\": \"string\",\n                \"default_value\": None,\n            },\n        ],\n        \"blocks\": [\n            {\n                \"label\": \"Fill_Out_Contact_Form\",\n                \"continue_on_failure\": True,\n                \"block_type\": \"navigation\",\n                \"url\": \"{{website_url}}\",\n                \"title\": \"Fill_Out_Contact_Form\",\n                \"navigation_goal\": \"Find the contact form. Fill out the contact us form and submit it. Your goal is complete when the page says your message has been sent. In the case you can't find a contact us form, terminate.\n\nFill out required fields as best you can using the following information:\n{{name}}\n{{email}}\n{{additional_information}}\",\n                \"error_code_mapping\": None,\n                \"max_retries\": 0,\n                \"max_steps_per_run\": None,\n                \"complete_on_download\": False,\n                \"download_suffix\": None,\n                \"parameter_keys\": [],\n                \"totp_identifier\": None,\n                \"totp_verification_url\": None,\n                \"complete_criterion\": \"\",\n                \"terminate_criterion\": \"\",\n                \"include_action_history_in_verification\": False,\n            },\n            {\n                \"label\": \"Extract_Email\",\n                \"continue_on_failure\": False,\n                \"block_type\": \"extraction\",\n                \"url\": \"\",\n                \"title\": \"Extract_Email\",\n                \"data_extraction_goal\": \"Extract a company email if available \",\n                \"data_schema\": None,\n                \"max_retries\": 0,\n                \"max_steps_per_run\": None,\n                \"parameter_keys\": [],\n            },\n        ],\n    },\n}\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nworkflow = await skyvern.update_workflow(workflow_id=\"wpid_123\", json_definition=updated_workflow_definition)\nprint(workflow)\n",
                "sdk": "python"
              },
              {
                "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\n\nconst updatedWorkflowDefinition = {\n    title: \"Updated Contact Forms Workflow\",\n    description: \"Fill the contact form on the website\",\n    proxy_location: \"RESIDENTIAL\",\n    webhook_callback_url: \"https://example.com/webhook\",\n    totp_verification_url: \"https://example.com/totp\",\n    totp_identifier: \"4155555555\",\n    model: { name: \"gpt-4.1\" },\n    workflow_definition: {\n        parameters: [\n            {\n                key: \"website_url\",\n                description: null,\n                parameter_type: \"workflow\",\n                workflow_parameter_type: \"string\",\n                default_value: null\n            },\n            {\n                key: \"name\",\n                description: null,\n                parameter_type: \"workflow\",\n                workflow_parameter_type: \"string\",\n                default_value: null\n            },\n            {\n                key: \"additional_information\",\n                description: null,\n                parameter_type: \"workflow\",\n                workflow_parameter_type: \"string\",\n                default_value: \"Message: I'd love to learn more about your...\\nPhone: 123-456-7890\\nInquiry type: sales\\nOptional Subject: Hello from [Company Here]\"\n            },\n            {\n                key: \"email\",\n                description: null,\n                parameter_type: \"workflow\",\n                workflow_parameter_type: \"string\",\n                default_value: null\n            }\n        ],\n        blocks: [\n            {\n                label: \"Fill_Out_Contact_Form\",\n                continue_on_failure: true,\n                block_type: \"navigation\",\n                url: \"{{website_url}}\",\n                title: \"Fill_Out_Contact_Form\",\n                navigation_goal: \"Find the contact form. Fill out the contact us form and submit it. Your goal is complete when the page says your message has been sent. In the case you can't find a contact us form, terminate.\\n\\nFill out required fields as best you can using the following information:\\n{{name}}\\n{{email}}\\n{{additional_information}}\",\n                error_code_mapping: null,\n                max_retries: 0,\n                max_steps_per_run: null,\n                complete_on_download: false,\n                download_suffix: null,\n                parameter_keys: [],\n                totp_identifier: null,\n                totp_verification_url: null,\n                complete_criterion: \"\",\n                terminate_criterion: \"\",\n                include_action_history_in_verification: false\n            },\n            {\n                label: \"Extract_Email\",\n                continue_on_failure: false,\n                block_type: \"extraction\",\n                url: \"\",\n                title: \"Extract_Email\",\n                data_extraction_goal: \"Extract a company email if available \",\n                data_schema: null,\n                max_retries: 0,\n                max_steps_per_run: null,\n                parameter_keys: []\n            }\n        ]\n    }\n};\n\nconst workflow = await skyvern.updateWorkflow(\"wpid_123\", {\n    json_definition: updatedWorkflowDefinition\n});\nconsole.log(workflow);\n",
                "sdk": "typescript"
              }
            ]
          }
        ],
        "x-fern-sdk-method-name": "update_workflow"
      }
    },
    "/v1/agents/{workflow_id}/delete": {
      "post": {
        "description": "Delete an agent",
        "operationId": "delete_workflow_v1_agents__workflow_id__delete_post",
        "parameters": [
          {
            "description": "The ID of the agent to delete. Starts with `wpid_`.",
            "in": "path",
            "name": "workflow_id",
            "required": true,
            "schema": {
              "description": "The ID of the agent to delete. Starts with `wpid_`.",
              "examples": [
                "wpid_123"
              ],
              "title": "Workflow Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successfully deleted agent"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Delete an agent",
        "tags": [
          "Agents"
        ],
        "x-fern-examples": [
          {
            "code-samples": [
              {
                "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nawait skyvern.delete_workflow(workflow_id=\"wpid_123\")\n",
                "sdk": "python"
              },
              {
                "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\nawait skyvern.deleteWorkflow(\"wpid_123\");\n",
                "sdk": "typescript"
              }
            ]
          }
        ],
        "x-fern-sdk-method-name": "delete_workflow"
      }
    },
    "/v1/agents/{workflow_id}/runs": {
      "get": {
        "description": "List runs for a specific workflow.\n\nSupports filtering by **status**, **search_key**, and **error_code**. All filters are combined with **AND** logic.\n\nUnindexed free-text searches can paginate only through the first 1,000 matching runs. Split larger exports into narrower `created_at_start`/`created_at_end` windows or use a complete run/task ID.\n\n### search_key\n\nCase-insensitive substring search across: workflow run ID, parameter key, parameter description, run parameter value, extra HTTP headers and webhook callback URL. A run is returned if any of these fields match. Soft-deleted parameter definitions are excluded from key/description matching. A complete browser profile ID, browser session ID or credential ID matches the run that used it exactly (no substring match). A complete workflow run ID matches that run. A complete task ID matches the workflow run the task ran in, when this list includes that run, or the standalone task itself where standalone tasks are listed. A complete browser profile, browser session, workflow run or task ID is matched against those identifiers only, not the text fields. A credential ID matches when it is the run's sequential credential, the credential the run selected from a pool or fell back to, or the credential bound by a credential parameter on the run's workflow version when the run was created and the run recorded no selection for it. The workflow title and workflow permanent ID are matched as well.\n\n### error_code\n\nExact-match filter on the `error_code` field inside each task's `errors` JSON array. A run matches if any of its tasks contains an error with a matching `error_code`.\n\n### include_child_runs\n\nChild runs — runs this workflow started from inside another workflow run — are **excluded by default**, so the history shows only top-level runs. Pass `include_child_runs=true` to list them as well; every run carries a `parent_workflow_run_id` that is `null` for top-level runs.",
        "operationId": "get_workflow_runs_by_id_v1_workflows__workflow_id__runs_get",
        "parameters": [
          {
            "in": "path",
            "name": "workflow_id",
            "required": true,
            "schema": {
              "title": "Workflow Id",
              "type": "string"
            }
          },
          {
            "description": "Page number for pagination.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "description": "Page number for pagination.",
              "minimum": 1,
              "title": "Page",
              "type": "integer"
            }
          },
          {
            "description": "Number of runs to return per page.",
            "in": "query",
            "name": "page_size",
            "required": false,
            "schema": {
              "default": 10,
              "description": "Number of runs to return per page.",
              "minimum": 1,
              "title": "Page Size",
              "type": "integer"
            }
          },
          {
            "description": "Filter by one or more run statuses.",
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "items": {
                    "$ref": "#/components/schemas/WorkflowRunStatus"
                  },
                  "type": "array"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by one or more run statuses.",
              "title": "Status"
            }
          },
          {
            "description": "Case-insensitive substring search across: workflow run ID, parameter key, parameter description, run parameter value, extra HTTP headers and webhook callback URL. A run is returned if any of these fields match. Soft-deleted parameter definitions are excluded from key/description matching. A complete browser profile ID, browser session ID or credential ID matches the run that used it exactly (no substring match). A complete workflow run ID matches that run. A complete task ID matches the workflow run the task ran in, when this list includes that run, or the standalone task itself where standalone tasks are listed. A complete browser profile, browser session, workflow run or task ID is matched against those identifiers only, not the text fields. A credential ID matches when it is the run's sequential credential, the credential the run selected from a pool or fell back to, or the credential bound by a credential parameter on the run's workflow version when the run was created and the run recorded no selection for it. The workflow title and workflow permanent ID are matched as well.",
            "in": "query",
            "name": "search_key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 500,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Case-insensitive substring search across: workflow run ID, parameter key, parameter description, run parameter value, extra HTTP headers and webhook callback URL. A run is returned if any of these fields match. Soft-deleted parameter definitions are excluded from key/description matching. A complete browser profile ID, browser session ID or credential ID matches the run that used it exactly (no substring match). A complete workflow run ID matches that run. A complete task ID matches the workflow run the task ran in, when this list includes that run, or the standalone task itself where standalone tasks are listed. A complete browser profile, browser session, workflow run or task ID is matched against those identifiers only, not the text fields. A credential ID matches when it is the run's sequential credential, the credential the run selected from a pool or fell back to, or the credential bound by a credential parameter on the run's workflow version when the run was created and the run recorded no selection for it. The workflow title and workflow permanent ID are matched as well.",
              "examples": [
                "login_url",
                "wr_abc123",
                "bp_123456789",
                "cred_123456789"
              ],
              "title": "Search Key"
            }
          },
          {
            "description": "Exact-match filter on the error_code field inside each task's errors JSON array. A run matches if any of its tasks contains an error with a matching error_code. Error codes are user-defined strings set during workflow execution.",
            "in": "query",
            "name": "error_code",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 500,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Exact-match filter on the error_code field inside each task's errors JSON array. A run matches if any of its tasks contains an error with a matching error_code. Error codes are user-defined strings set during workflow execution.",
              "examples": [
                "INVALID_CREDENTIALS",
                "LOGIN_FAILED",
                "CAPTCHA_DETECTED"
              ],
              "title": "Error Code"
            }
          },
          {
            "description": "Only include runs created at or after this UTC timestamp (ISO 8601).",
            "in": "query",
            "name": "created_at_start",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "format": "date-time",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Only include runs created at or after this UTC timestamp (ISO 8601).",
              "title": "Created At Start"
            }
          },
          {
            "description": "Only include runs created strictly before this UTC timestamp (ISO 8601).",
            "in": "query",
            "name": "created_at_end",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "format": "date-time",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Only include runs created strictly before this UTC timestamp (ISO 8601).",
              "title": "Created At End"
            }
          },
          {
            "description": "Filter by run tags. Each term is a label (`production`), a group (`env:*`), or a group:label (`env:prod`). Repeat the param or comma-separate (`?tags=env:prod,env:staging`). AND across distinct terms, OR within a group's labels (`?tags=customer:acme,env:prod,env:staging` -> customer=acme AND env in (prod, staging)). A label term matches the value across any/no group. Matches current tag values only.",
            "in": "query",
            "name": "tags",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "items": {
                    "type": "string"
                  },
                  "maxItems": 20,
                  "type": "array"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by run tags. Each term is a label (`production`), a group (`env:*`), or a group:label (`env:prod`). Repeat the param or comma-separate (`?tags=env:prod,env:staging`). AND across distinct terms, OR within a group's labels (`?tags=customer:acme,env:prod,env:staging` -> customer=acme AND env in (prod, staging)). A label term matches the value across any/no group. Matches current tag values only.",
              "examples": [
                "env:prod",
                "production",
                "env:*",
                "customer:acme,env:prod"
              ],
              "title": "Tags"
            }
          },
          {
            "description": "Include child workflow runs — runs started from inside another workflow run. Excluded by default so the history shows only top-level runs.",
            "in": "query",
            "name": "include_child_runs",
            "required": false,
            "schema": {
              "default": false,
              "description": "Include child workflow runs — runs started from inside another workflow run. Excluded by default so the history shows only top-level runs.",
              "title": "Include Child Runs",
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/WorkflowRun"
                  },
                  "title": "Response Get Workflow Runs By Id V1 Workflows  Workflow Id  Runs Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get all runs by agent",
        "tags": [
          "Runs"
        ],
        "x-fern-sdk-method-name": "get_workflow_runs_by_id"
      }
    },
    "/v1/agents/{workflow_permanent_id}": {
      "get": {
        "description": "Fetch a single agent definition by its permanent id, optionally pinned to a specific version. Returns the agent's blocks, parameters, and metadata.",
        "operationId": "get_workflow_v1_workflows__workflow_permanent_id__get",
        "parameters": [
          {
            "in": "path",
            "name": "workflow_permanent_id",
            "required": true,
            "schema": {
              "title": "Workflow Permanent Id",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "version",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Version"
            }
          },
          {
            "in": "query",
            "name": "template",
            "required": false,
            "schema": {
              "default": false,
              "title": "Template",
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Workflow"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get an agent by id",
        "tags": [
          "Agents"
        ],
        "x-fern-sdk-method-name": "get_workflow"
      }
    },
    "/v1/agents/{workflow_permanent_id}/browser_session/reset_profile": {
      "post": {
        "description": "Clear the persisted browser profile for a workflow that uses `Save & Reuse Session`. The next run will start from a fresh browser state. Use when a saved profile is corrupted.",
        "operationId": "reset_workflow_browser_profile",
        "parameters": [
          {
            "description": "The permanent ID of the workflow. Starts with `wpid_`.",
            "in": "path",
            "name": "workflow_permanent_id",
            "required": true,
            "schema": {
              "description": "The permanent ID of the workflow. Starts with `wpid_`.",
              "examples": [
                "wpid_123"
              ],
              "title": "Workflow Permanent Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successfully cleared persisted browser profile"
          },
          "404": {
            "description": "Workflow not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "500": {
            "description": "Storage deletion failed; retry"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Reset persisted browser profile",
        "tags": [
          "Agents"
        ],
        "x-hidden": true
      }
    },
    "/v1/agents/{workflow_permanent_id}/folder": {
      "put": {
        "description": "Update a workflow's folder assignment for the latest version",
        "operationId": "update_workflow_folder_v1_workflows__workflow_permanent_id__folder_put",
        "parameters": [
          {
            "description": "Workflow permanent ID",
            "in": "path",
            "name": "workflow_permanent_id",
            "required": true,
            "schema": {
              "description": "Workflow permanent ID",
              "examples": [
                "wpid_123"
              ],
              "title": "Workflow Permanent Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateWorkflowFolderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Workflow"
                }
              }
            },
            "description": "Successfully updated workflow folder"
          },
          "400": {
            "description": "Folder not found"
          },
          "404": {
            "description": "Workflow not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Update agent folder",
        "tags": [
          "Folders"
        ],
        "x-fern-sdk-method-name": "update_workflow_folder"
      }
    },
    "/v1/agents/{workflow_permanent_id}/schedules": {
      "get": {
        "description": "List all schedules attached to a single agent. Returns the schedules in creation order.",
        "operationId": "schedules_list",
        "parameters": [
          {
            "in": "path",
            "name": "workflow_permanent_id",
            "required": true,
            "schema": {
              "title": "Workflow Permanent Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkflowScheduleListResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List schedules for an agent",
        "tags": [
          "Schedules"
        ]
      },
      "post": {
        "description": "Create a cron, fixed-interval or one-time schedule that runs the given agent automatically with a fixed set of parameters. An interval schedule first runs at first_fire_at, or one interval after creation. A one-time schedule runs once at run_at. Returns the stored schedule and its next upcoming run times.",
        "operationId": "schedules_create",
        "parameters": [
          {
            "in": "path",
            "name": "workflow_permanent_id",
            "required": true,
            "schema": {
              "title": "Workflow Permanent Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkflowScheduleUpsertRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkflowScheduleResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Create a schedule for an agent",
        "tags": [
          "Schedules"
        ]
      }
    },
    "/v1/agents/{workflow_permanent_id}/schedules/{workflow_schedule_id}": {
      "delete": {
        "description": "Permanently delete a schedule so it never triggers again. Returns an acknowledgement flag.",
        "operationId": "schedules_delete",
        "parameters": [
          {
            "in": "path",
            "name": "workflow_permanent_id",
            "required": true,
            "schema": {
              "title": "Workflow Permanent Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "workflow_schedule_id",
            "required": true,
            "schema": {
              "title": "Workflow Schedule Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteScheduleResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Delete an agent schedule",
        "tags": [
          "Schedules"
        ]
      },
      "get": {
        "description": "Fetch one schedule belonging to an agent. Returns the schedule's cron expression or interval, timezone, parameters, enabled state, and next upcoming run times.",
        "operationId": "schedules_get",
        "parameters": [
          {
            "in": "path",
            "name": "workflow_permanent_id",
            "required": true,
            "schema": {
              "title": "Workflow Permanent Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "workflow_schedule_id",
            "required": true,
            "schema": {
              "title": "Workflow Schedule Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkflowScheduleResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get an agent schedule by id",
        "tags": [
          "Schedules"
        ]
      },
      "put": {
        "description": "Replace a schedule's cron expression, interval or one-time run_at, timezone, run parameters, and enabled state. A one-time schedule stays one-time and can change only until it fires; afterwards this returns 409. Returns the updated schedule and its next upcoming run times.",
        "operationId": "schedules_update",
        "parameters": [
          {
            "in": "path",
            "name": "workflow_permanent_id",
            "required": true,
            "schema": {
              "title": "Workflow Permanent Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "workflow_schedule_id",
            "required": true,
            "schema": {
              "title": "Workflow Schedule Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkflowScheduleUpsertRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkflowScheduleResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Update an agent schedule",
        "tags": [
          "Schedules"
        ]
      }
    },
    "/v1/agents/{workflow_permanent_id}/schedules/{workflow_schedule_id}/cancel": {
      "post": {
        "description": "Cancel a one-time schedule that has not fired yet. The schedule stays readable with dispatch_status canceled. Returns 409 once it has fired or was already canceled, and 422 for a recurring schedule.",
        "operationId": "schedules_cancel",
        "parameters": [
          {
            "in": "path",
            "name": "workflow_permanent_id",
            "required": true,
            "schema": {
              "title": "Workflow Permanent Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "workflow_schedule_id",
            "required": true,
            "schema": {
              "title": "Workflow Schedule Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkflowScheduleResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Cancel a one-time agent schedule",
        "tags": [
          "Schedules"
        ]
      }
    },
    "/v1/agents/{workflow_permanent_id}/schedules/{workflow_schedule_id}/disable": {
      "post": {
        "description": "Pause a schedule so it stops triggering runs, without deleting it. Returns the updated schedule.",
        "operationId": "schedules_disable",
        "parameters": [
          {
            "in": "path",
            "name": "workflow_permanent_id",
            "required": true,
            "schema": {
              "title": "Workflow Permanent Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "workflow_schedule_id",
            "required": true,
            "schema": {
              "title": "Workflow Schedule Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkflowScheduleResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Disable an agent schedule",
        "tags": [
          "Schedules"
        ]
      }
    },
    "/v1/agents/{workflow_permanent_id}/schedules/{workflow_schedule_id}/enable": {
      "post": {
        "description": "Resume a paused schedule so it starts triggering runs again. Returns the updated schedule.",
        "operationId": "schedules_enable",
        "parameters": [
          {
            "in": "path",
            "name": "workflow_permanent_id",
            "required": true,
            "schema": {
              "title": "Workflow Permanent Id",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "workflow_schedule_id",
            "required": true,
            "schema": {
              "title": "Workflow Schedule Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkflowScheduleResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Enable an agent schedule",
        "tags": [
          "Schedules"
        ]
      }
    },
    "/v1/agents/{workflow_permanent_id}/tags": {
      "get": {
        "description": "Get the current tag state for a workflow.",
        "operationId": "get_workflow_tags_v1_workflows__workflow_permanent_id__tags_get",
        "parameters": [
          {
            "description": "Workflow permanent ID",
            "in": "path",
            "name": "workflow_permanent_id",
            "required": true,
            "schema": {
              "description": "Workflow permanent ID",
              "examples": [
                "wpid_123"
              ],
              "title": "Workflow Permanent Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            },
            "description": "Successfully retrieved tags"
          },
          "404": {
            "description": "Workflow not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get agent tags",
        "tags": [
          "Tags"
        ],
        "x-fern-sdk-method-name": "get_workflow_tags",
        "x-hidden": true
      },
      "post": {
        "description": "Atomically apply tag changes to a workflow. Sets and deletes happen in one transaction; same-key collisions resolve set-wins.",
        "operationId": "apply_workflow_tags_v1_workflows__workflow_permanent_id__tags_post",
        "parameters": [
          {
            "description": "Workflow permanent ID",
            "in": "path",
            "name": "workflow_permanent_id",
            "required": true,
            "schema": {
              "description": "Workflow permanent ID",
              "examples": [
                "wpid_123"
              ],
              "title": "Workflow Permanent Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TagApplyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            },
            "description": "Successfully applied tag changes"
          },
          "404": {
            "description": "Workflow not found"
          },
          "422": {
            "description": "Invalid tag key or value"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Apply agent tags",
        "tags": [
          "Tags"
        ],
        "x-fern-sdk-method-name": "apply_workflow_tags",
        "x-hidden": true
      }
    },
    "/v1/agents/{workflow_permanent_id}/tags/history": {
      "get": {
        "description": "Chronological tag-event log for a workflow (newest first). Includes SET and DELETE events.",
        "operationId": "get_workflow_tag_history_v1_workflows__workflow_permanent_id__tags_history_get",
        "parameters": [
          {
            "description": "Workflow permanent ID",
            "in": "path",
            "name": "workflow_permanent_id",
            "required": true,
            "schema": {
              "description": "Workflow permanent ID",
              "examples": [
                "wpid_123"
              ],
              "title": "Workflow Permanent Id",
              "type": "string"
            }
          },
          {
            "description": "Max events to return",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Max events to return",
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Only return events at or after this timestamp",
            "in": "query",
            "name": "since",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "format": "date-time",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Only return events at or after this timestamp",
              "title": "Since"
            }
          },
          {
            "description": "Filter to events for a single tag key",
            "in": "query",
            "name": "key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter to events for a single tag key",
              "title": "Key"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagHistoryResponse"
                }
              }
            },
            "description": "Successfully retrieved tag history"
          },
          "404": {
            "description": "Workflow not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get agent tag history",
        "tags": [
          "Tags"
        ],
        "x-fern-sdk-method-name": "get_workflow_tag_history",
        "x-hidden": true
      }
    },
    "/v1/agents/{workflow_permanent_id}/tags/{key}": {
      "delete": {
        "description": "Soft-delete a single tag from a workflow. Writes a DELETE event row.",
        "operationId": "delete_workflow_tag_v1_workflows__workflow_permanent_id__tags__key__delete",
        "parameters": [
          {
            "description": "Workflow permanent ID",
            "in": "path",
            "name": "workflow_permanent_id",
            "required": true,
            "schema": {
              "description": "Workflow permanent ID",
              "examples": [
                "wpid_123"
              ],
              "title": "Workflow Permanent Id",
              "type": "string"
            }
          },
          {
            "description": "Tag key to delete",
            "in": "path",
            "name": "key",
            "required": true,
            "schema": {
              "description": "Tag key to delete",
              "examples": [
                "env"
              ],
              "title": "Key",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagsResponse"
                }
              }
            },
            "description": "Successfully deleted tag (or no-op if absent)"
          },
          "404": {
            "description": "Workflow not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Delete agent tag",
        "tags": [
          "Tags"
        ],
        "x-fern-sdk-method-name": "delete_workflow_tag",
        "x-hidden": true
      }
    },
    "/v1/agents/{workflow_permanent_id}/versions": {
      "get": {
        "description": "Get all versions of a workflow by its permanent ID.",
        "operationId": "get_workflow_versions_v1_workflows__workflow_permanent_id__versions_get",
        "parameters": [
          {
            "in": "path",
            "name": "workflow_permanent_id",
            "required": true,
            "schema": {
              "title": "Workflow Permanent Id",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "template",
            "required": false,
            "schema": {
              "default": false,
              "title": "Template",
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Workflow"
                  },
                  "title": "Response Get Workflow Versions V1 Workflows  Workflow Permanent Id  Versions Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get agent versions",
        "tags": [
          "Agents"
        ],
        "x-fern-sdk-method-name": "get_workflow_versions"
      }
    },
    "/v1/artifacts/{artifact_id}/content": {
      "get": {
        "description": "Download the raw content of an artifact (supports bundled artifacts).",
        "operationId": "get_artifact_content_v1_artifacts__artifact_id__content_get",
        "parameters": [
          {
            "in": "path",
            "name": "artifact_id",
            "required": true,
            "schema": {
              "title": "Artifact Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Raw artifact content"
          },
          "206": {
            "description": "Partial artifact content (Range request)"
          },
          "403": {
            "description": "Invalid or expired artifact URL"
          },
          "404": {
            "description": "Artifact not found or content unavailable"
          },
          "416": {
            "description": "Range not satisfiable"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Get artifact content",
        "tags": [
          "Artifacts"
        ]
      }
    },
    "/v1/audit-events/export": {
      "get": {
        "description": "Export audit events for the authenticated organization as JSON or CSV. Only organization admins and full API keys may export. The default window is the last 90 days, with timezone-aware since/until bounds, newest-first keyset pagination, and a maximum page size of 500. CSV output uses fixed columns and is protected from spreadsheet formula execution.",
        "operationId": "export_audit_events_v1_audit_events_export_get",
        "parameters": [
          {
            "in": "query",
            "name": "since",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "format": "date-time",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Since"
            }
          },
          {
            "in": "query",
            "name": "until",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "format": "date-time",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Until"
            }
          },
          {
            "in": "query",
            "name": "action",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Action"
            }
          },
          {
            "in": "query",
            "name": "actor_user_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Actor User Id"
            }
          },
          {
            "in": "query",
            "name": "resource_type",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Resource Type"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuditEventExportResponse"
                }
              }
            },
            "description": "A page of audit events as JSON, or a CSV download when format=csv."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuditExportDenialResponse"
                }
              }
            },
            "description": "The caller must be an organization admin or use a full API key."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Export organization audit events",
        "tags": [
          "Server"
        ],
        "x-fern-sdk-method-name": "export_audit_events"
      }
    },
    "/v1/audit-events/runs/export": {
      "get": {
        "description": "Export top-level workflow runs for the authenticated organization as JSON or CSV. Only organization admins and full API keys may export. The default window is the last 90 days, with timezone-aware since/until bounds, newest-first keyset pagination, and a maximum page size of 500. CSV output uses fixed columns and is protected from spreadsheet formula execution.",
        "operationId": "export_run_activity_v1_audit_events_runs_export_get",
        "parameters": [
          {
            "in": "query",
            "name": "since",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "format": "date-time",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Since"
            }
          },
          {
            "in": "query",
            "name": "until",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "format": "date-time",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Until"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Cursor"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RunActivityExportResponse"
                }
              }
            },
            "description": "A page of workflow run activity as JSON, or a CSV download when format=csv."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuditExportDenialResponse"
                }
              }
            },
            "description": "The caller must be an organization admin or use a full API key."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Export workflow run activity",
        "tags": [
          "Server"
        ],
        "x-fern-sdk-method-name": "export_run_activity"
      }
    },
    "/v1/browser_profiles": {
      "get": {
        "description": "Get all browser profiles for the organization",
        "operationId": "list_browser_profiles_v1_browser_profiles_get",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "minimum": 1,
              "title": "Page",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "page_size",
            "required": false,
            "schema": {
              "default": 10,
              "minimum": 1,
              "title": "Page Size",
              "type": "integer"
            }
          },
          {
            "description": "Include deleted browser profiles",
            "in": "query",
            "name": "include_deleted",
            "required": false,
            "schema": {
              "default": false,
              "description": "Include deleted browser profiles",
              "title": "Include Deleted",
              "type": "boolean"
            }
          },
          {
            "description": "Case-insensitive substring search across: browser profile name and description. A profile is returned if either field matches.",
            "in": "query",
            "name": "search_key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Case-insensitive substring search across: browser profile name and description. A profile is returned if either field matches.",
              "examples": [
                "my_profile",
                "production"
              ],
              "title": "Search Key"
            }
          },
          {
            "description": "Omit to return all profiles; false returns only user-created profiles; true returns only auto-managed profiles.",
            "in": "query",
            "name": "managed",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Omit to return all profiles; false returns only user-created profiles; true returns only auto-managed profiles.",
              "title": "Managed"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BrowserProfile"
                  },
                  "title": "Response List Browser Profiles V1 Browser Profiles Get",
                  "type": "array"
                }
              }
            },
            "description": "Successfully retrieved browser profiles"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List browser profiles",
        "tags": [
          "Browser Profiles"
        ],
        "x-fern-examples": [
          {
            "code-samples": [
              {
                "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nbrowser_profiles = await skyvern.browser_profiles.list_browser_profiles()\nprint(browser_profiles)\n",
                "sdk": "python"
              },
              {
                "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\nconst browserProfiles = await skyvern.browserProfiles.listBrowserProfiles();\nconsole.log(browserProfiles);\n",
                "sdk": "typescript"
              }
            ]
          }
        ],
        "x-fern-sdk-method-name": "list_browser_profiles"
      },
      "post": {
        "description": "Create a blank browser profile, or create one from a persistent browser session or workflow run.",
        "operationId": "create_browser_profile_v1_browser_profiles_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBrowserProfileRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrowserProfile"
                }
              }
            },
            "description": "Successfully created browser profile"
          },
          "400": {
            "description": "Invalid request - source not found or source archive unavailable"
          },
          "409": {
            "description": "Browser profile name already exists"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Create a browser profile",
        "tags": [
          "Browser Profiles"
        ],
        "x-fern-examples": [
          {
            "code-samples": [
              {
                "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\n# Create a blank browser profile for future runs\nblank_profile = await skyvern.browser_profiles.create_browser_profile(\n    name=\"Fresh Profile\",\n)\nprint(blank_profile)\n\n# Create a browser profile from a persistent browser session\nbrowser_profile = await skyvern.browser_profiles.create_browser_profile(\n    name=\"My Profile\",\n    browser_session_id=\"pbs_123\",\n)\nprint(browser_profile)\n\n# Or create from any workflow run that saved a browser (has a persisted archive)\nbrowser_profile = await skyvern.browser_profiles.create_browser_profile(\n    name=\"My Profile\",\n    workflow_run_id=\"wr_123\",\n)\nprint(browser_profile)\n",
                "sdk": "python"
              },
              {
                "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\n// Create a blank browser profile for future runs\nconst blankProfile = await skyvern.browserProfiles.createBrowserProfile({\n    name: \"Fresh Profile\",\n});\nconsole.log(blankProfile);\n\n// Create a browser profile from a persistent browser session\nconst browserProfile = await skyvern.browserProfiles.createBrowserProfile({\n    name: \"My Profile\",\n    browser_session_id: \"pbs_123\",\n});\nconsole.log(browserProfile);\n\n// Or create from any workflow run that saved a browser (has a persisted archive)\nconst browserProfile2 = await skyvern.browserProfiles.createBrowserProfile({\n    name: \"My Profile\",\n    workflow_run_id: \"wr_123\",\n});\nconsole.log(browserProfile2);\n",
                "sdk": "typescript"
              }
            ]
          }
        ],
        "x-fern-sdk-method-name": "create_browser_profile"
      }
    },
    "/v1/browser_profiles/{profile_id}": {
      "delete": {
        "description": "Delete a browser profile (soft delete)",
        "operationId": "delete_browser_profile_v1_browser_profiles__profile_id__delete",
        "parameters": [
          {
            "description": "The ID of the browser profile to delete. browser_profile_id starts with `bp_`",
            "in": "path",
            "name": "profile_id",
            "required": true,
            "schema": {
              "description": "The ID of the browser profile to delete. browser_profile_id starts with `bp_`",
              "examples": [
                "bp_123456"
              ],
              "title": "Profile Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successfully deleted browser profile"
          },
          "404": {
            "description": "Browser profile not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Delete browser profile",
        "tags": [
          "Browser Profiles"
        ],
        "x-fern-examples": [
          {
            "code-samples": [
              {
                "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nawait skyvern.browser_profiles.delete_browser_profile(\"bp_123\")\n",
                "sdk": "python"
              },
              {
                "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\nawait skyvern.browserProfiles.deleteBrowserProfile(\"bp_123\");\n",
                "sdk": "typescript"
              }
            ]
          }
        ],
        "x-fern-sdk-method-name": "delete_browser_profile"
      },
      "get": {
        "description": "Get a specific browser profile by ID",
        "operationId": "get_browser_profile_v1_browser_profiles__profile_id__get",
        "parameters": [
          {
            "description": "The ID of the browser profile. browser_profile_id starts with `bp_`",
            "in": "path",
            "name": "profile_id",
            "required": true,
            "schema": {
              "description": "The ID of the browser profile. browser_profile_id starts with `bp_`",
              "examples": [
                "bp_123456"
              ],
              "title": "Profile Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrowserProfile"
                }
              }
            },
            "description": "Successfully retrieved browser profile"
          },
          "404": {
            "description": "Browser profile not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get browser profile",
        "tags": [
          "Browser Profiles"
        ],
        "x-fern-examples": [
          {
            "code-samples": [
              {
                "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nbrowser_profile = await skyvern.browser_profiles.get_browser_profile(\"bp_123\")\nprint(browser_profile)\n",
                "sdk": "python"
              },
              {
                "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\nconst browserProfile = await skyvern.browserProfiles.getBrowserProfile(\"bp_123\");\nconsole.log(browserProfile);\n",
                "sdk": "typescript"
              }
            ]
          }
        ],
        "x-fern-sdk-method-name": "get_browser_profile"
      },
      "patch": {
        "description": "Update a browser profile's name and/or description",
        "operationId": "update_browser_profile_v1_browser_profiles__profile_id__patch",
        "parameters": [
          {
            "description": "The ID of the browser profile to update. browser_profile_id starts with `bp_`",
            "in": "path",
            "name": "profile_id",
            "required": true,
            "schema": {
              "description": "The ID of the browser profile to update. browser_profile_id starts with `bp_`",
              "examples": [
                "bp_123456"
              ],
              "title": "Profile Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateBrowserProfileRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrowserProfile"
                }
              }
            },
            "description": "Successfully updated browser profile"
          },
          "404": {
            "description": "Browser profile not found"
          },
          "409": {
            "description": "Browser profile name already exists"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Update browser profile",
        "tags": [
          "Browser Profiles"
        ],
        "x-fern-examples": [
          {
            "code-samples": [
              {
                "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nbrowser_profile = await skyvern.browser_profiles.update_browser_profile(\n    \"bp_123\",\n    name=\"Renamed Profile\",\n    description=\"Updated description\",\n)\nprint(browser_profile)\n",
                "sdk": "python"
              },
              {
                "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\nconst browserProfile = await skyvern.browserProfiles.updateBrowserProfile(\"bp_123\", {\n    name: \"Renamed Profile\",\n    description: \"Updated description\",\n});\nconsole.log(browserProfile);\n",
                "sdk": "typescript"
              }
            ]
          }
        ],
        "x-fern-sdk-method-name": "update_browser_profile"
      }
    },
    "/v1/browser_profiles/{profile_id}/usage": {
      "get": {
        "description": "List the workflows, credentials, and recent runs that depend on a browser profile.",
        "operationId": "get_browser_profile_usage_v1_browser_profiles__profile_id__usage_get",
        "parameters": [
          {
            "description": "The ID of the browser profile. browser_profile_id starts with `bp_`",
            "in": "path",
            "name": "profile_id",
            "required": true,
            "schema": {
              "description": "The ID of the browser profile. browser_profile_id starts with `bp_`",
              "examples": [
                "bp_123456"
              ],
              "title": "Profile Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrowserProfileUsage"
                }
              }
            },
            "description": "Successfully retrieved browser profile usage"
          },
          "404": {
            "description": "Browser profile not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get browser profile usage",
        "tags": [
          "Browser Profiles"
        ],
        "x-fern-sdk-method-name": "get_browser_profile_usage"
      }
    },
    "/v1/browser_sessions": {
      "get": {
        "description": "Get all active browser sessions for the organization",
        "operationId": "get_browser_sessions_v1_browser_sessions_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BrowserSessionResponse"
                  },
                  "title": "Response Get Browser Sessions V1 Browser Sessions Get",
                  "type": "array"
                }
              }
            },
            "description": "Successfully retrieved all active browser sessions"
          },
          "403": {
            "description": "Unauthorized - Invalid or missing authentication"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get active browser sessions",
        "tags": [
          "Browser Sessions"
        ],
        "x-fern-examples": [
          {
            "code-samples": [
              {
                "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nbrowser_sessions = await skyvern.get_browser_sessions()\nprint(browser_sessions)\n",
                "sdk": "python"
              },
              {
                "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\nconst browserSessions = await skyvern.getBrowserSessions();\nconsole.log(browserSessions);\n",
                "sdk": "typescript"
              }
            ]
          }
        ],
        "x-fern-sdk-method-name": "get_browser_sessions"
      },
      "post": {
        "description": "Create a browser session that persists across multiple runs",
        "operationId": "create_browser_session_v1_browser_sessions_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBrowserSessionRequest",
                "default": {
                  "generate_browser_profile": false,
                  "needs_live_view": false,
                  "timeout": 60
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrowserSessionResponse"
                }
              }
            },
            "description": "Successfully created browser session"
          },
          "400": {
            "description": "Invalid request"
          },
          "403": {
            "description": "Unauthorized - Invalid or missing authentication"
          },
          "404": {
            "description": "Browser profile not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "detail": {
                      "type": "string"
                    },
                    "error_code": {
                      "enum": [
                        "too_many_starting_browser_sessions"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "detail",
                    "error_code"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Too many browser sessions are starting for this organization at once. Retry after the number of seconds in the Retry-After header."
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Create a session",
        "tags": [
          "Browser Sessions"
        ],
        "x-fern-examples": [
          {
            "code-samples": [
              {
                "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nbrowser_session = await skyvern.create_browser_session(timeout=60)\nprint(browser_session)\n",
                "sdk": "python"
              },
              {
                "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\nconst browserSession = await skyvern.createBrowserSession({\n    timeout: 60\n});\nconsole.log(browserSession);\n",
                "sdk": "typescript"
              }
            ]
          }
        ],
        "x-fern-sdk-method-name": "create_browser_session"
      }
    },
    "/v1/browser_sessions/{browser_session_id}": {
      "get": {
        "description": "Get details about a specific browser session, including the browser address for cdp connection.",
        "operationId": "get_browser_session_v1_browser_sessions__browser_session_id__get",
        "parameters": [
          {
            "description": "The ID of the browser session. browser_session_id starts with `pbs_`",
            "in": "path",
            "name": "browser_session_id",
            "required": true,
            "schema": {
              "description": "The ID of the browser session. browser_session_id starts with `pbs_`",
              "examples": [
                "pbs_123456"
              ],
              "title": "Browser Session Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrowserSessionResponse"
                }
              }
            },
            "description": "Successfully retrieved browser session details"
          },
          "403": {
            "description": "Unauthorized - Invalid or missing authentication"
          },
          "404": {
            "description": "Browser session not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "detail": {
                      "properties": {
                        "code": {
                          "enum": [
                            "downloaded_files_unavailable"
                          ],
                          "type": "string"
                        },
                        "retryable": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "code",
                        "retryable"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "detail"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "Downloaded files could not be returned"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get a session",
        "tags": [
          "Browser Sessions"
        ],
        "x-fern-examples": [
          {
            "code-samples": [
              {
                "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nbrowser_session = await skyvern.get_browser_session(browser_session_id=\"pbs_123\")\nprint(browser_session)\n",
                "sdk": "python"
              },
              {
                "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\nconst browserSession = await skyvern.getBrowserSession(\"pbs_123\");\nconsole.log(browserSession);\n",
                "sdk": "typescript"
              }
            ]
          }
        ],
        "x-fern-sdk-method-name": "get_browser_session"
      },
      "patch": {
        "description": "Update a live browser session. Currently supports toggling generate_browser_profile, which is read when the session ends to decide whether to save its browser profile.",
        "operationId": "update_browser_session_v1_browser_sessions__browser_session_id__patch",
        "parameters": [
          {
            "description": "The ID of the browser session. browser_session_id starts with `pbs_`",
            "in": "path",
            "name": "browser_session_id",
            "required": true,
            "schema": {
              "description": "The ID of the browser session. browser_session_id starts with `pbs_`",
              "examples": [
                "pbs_123456"
              ],
              "title": "Browser Session Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateBrowserSessionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrowserSessionResponse"
                }
              }
            },
            "description": "Successfully updated browser session"
          },
          "403": {
            "description": "Unauthorized - Invalid or missing authentication"
          },
          "404": {
            "description": "Browser session not found"
          },
          "409": {
            "description": "Conflict - browser session has already ended and can no longer be updated"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Update a session",
        "tags": [
          "Browser Sessions"
        ],
        "x-fern-sdk-method-name": "update_browser_session"
      }
    },
    "/v1/browser_sessions/{browser_session_id}/close": {
      "post": {
        "description": "Close a session. Once closed, the session cannot be used again.",
        "operationId": "close_browser_session_v1_browser_sessions__browser_session_id__close_post",
        "parameters": [
          {
            "description": "The ID of the browser session to close. completed_at will be set when the browser session is closed. browser_session_id starts with `pbs_`",
            "in": "path",
            "name": "browser_session_id",
            "required": true,
            "schema": {
              "description": "The ID of the browser session to close. completed_at will be set when the browser session is closed. browser_session_id starts with `pbs_`",
              "examples": [
                "pbs_123456"
              ],
              "title": "Browser Session Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successfully closed browser session"
          },
          "403": {
            "description": "Unauthorized - Invalid or missing authentication"
          },
          "404": {
            "description": "Browser session not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Close a session",
        "tags": [
          "Browser Sessions"
        ],
        "x-fern-examples": [
          {
            "code-samples": [
              {
                "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nawait skyvern.close_browser_session(browser_session_id=\"pbs_123\")\n",
                "sdk": "python"
              },
              {
                "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\nawait skyvern.closeBrowserSession(\"pbs_123\");\n",
                "sdk": "typescript"
              }
            ]
          }
        ],
        "x-fern-sdk-method-name": "close_browser_session"
      }
    },
    "/v1/browser_sessions/{browser_session_id}/extend": {
      "post": {
        "description": "Extend a live browser session by a number of minutes. Sessions are created with a timeout of at most 240 minutes and can be extended, one or more times, up to a total lifetime of 360 minutes (6 hours). The minutes are added to the session's current deadline. A request for more than the remaining headroom is granted the remainder, and the response carries a warning. The response's `timeout` is the session's new total budget in minutes, counted from when the session started.",
        "operationId": "extend_browser_session_v1_browser_sessions__browser_session_id__extend_post",
        "parameters": [
          {
            "description": "The ID of the browser session. browser_session_id starts with `pbs_`",
            "in": "path",
            "name": "browser_session_id",
            "required": true,
            "schema": {
              "description": "The ID of the browser session. browser_session_id starts with `pbs_`",
              "examples": [
                "pbs_123456"
              ],
              "title": "Browser Session Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExtendBrowserSessionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BrowserSessionResponse"
                }
              }
            },
            "description": "Successfully extended browser session"
          },
          "202": {
            "description": "Accepted - the extension was requested but its effect could not be confirmed yet. The body carries the session as last recorded and a `warning`; read `timeout` back with a GET rather than retrying, because each retry adds again."
          },
          "403": {
            "description": "Unauthorized - Invalid or missing authentication"
          },
          "404": {
            "description": "Browser session not found"
          },
          "409": {
            "description": "Conflict - the browser session has ended, is about to expire, is already at its maximum lifetime, or runs on infrastructure whose lifetime is fixed at creation"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Extend a session",
        "tags": [
          "Browser Sessions"
        ],
        "x-fern-examples": [
          {
            "code-samples": [
              {
                "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nbrowser_session = await skyvern.extend_browser_session(browser_session_id=\"pbs_123\", additional_minutes=30)\nprint(browser_session.timeout)  # the session's new total budget in minutes\n",
                "sdk": "python"
              },
              {
                "code": "curl -X POST https://api.skyvern.com/v1/browser_sessions/pbs_123/extend \\\n  -H \"x-api-key: YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"additional_minutes\": 30}'\n",
                "sdk": "curl"
              }
            ]
          }
        ],
        "x-fern-sdk-method-name": "extend_browser_session"
      }
    },
    "/v1/browser_types": {
      "get": {
        "description": "List the selectable browser engines for the workflow/run browser_type setting. The list is runtime-capability aware: a runtime that can honor an explicit engine (the cloud dynamic-browser capability) returns all supported engines, while a runtime without it (OSS/self-host) returns an empty list rather than advertising selections the server would reject.",
        "operationId": "get_browser_types_v1_browser_types_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BrowserTypeOption"
                  },
                  "title": "Response Get Browser Types V1 Browser Types Get",
                  "type": "array"
                }
              }
            },
            "description": "Successfully listed selectable browser types"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List selectable browser types",
        "tags": [
          "Server"
        ],
        "x-fern-sdk-method-name": "get_browser_types"
      }
    },
    "/v1/credentials": {
      "get": {
        "description": "Retrieves a paginated list of credentials for the current organization",
        "operationId": "get_credentials_v1_credentials_get",
        "parameters": [
          {
            "description": "Page number for pagination",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "description": "Page number for pagination",
              "examples": [
                1
              ],
              "minimum": 1,
              "title": "Page",
              "type": "integer"
            }
          },
          {
            "description": "Number of items per page",
            "in": "query",
            "name": "page_size",
            "required": false,
            "schema": {
              "default": 10,
              "description": "Number of items per page",
              "examples": [
                10
              ],
              "minimum": 1,
              "title": "Page Size",
              "type": "integer"
            }
          },
          {
            "description": "Filter credentials by vault type (e.g. 'skyvern', 'custom', 'bitwarden', 'azure_vault')",
            "in": "query",
            "name": "vault_type",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/CredentialVaultType"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter credentials by vault type (e.g. 'skyvern', 'custom', 'bitwarden', 'azure_vault')",
              "title": "Vault Type"
            }
          },
          {
            "description": "Filter credentials by type (e.g. 'password', 'credit_card', 'secret')",
            "in": "query",
            "name": "credential_type",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/skyvern__forge__sdk__schemas__credentials__CredentialType"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter credentials by type (e.g. 'password', 'credit_card', 'secret')",
              "title": "Credential Type"
            }
          },
          {
            "description": "Case-insensitive search across credential name, username, secret label, and card details, or an exact credential ID",
            "in": "query",
            "name": "search",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 200,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Case-insensitive search across credential name, username, secret label, and card details, or an exact credential ID",
              "title": "Search"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/CredentialResponse"
                  },
                  "title": "Response Get Credentials V1 Credentials Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get all credentials",
        "tags": [
          "Credentials"
        ],
        "x-fern-examples": [
          {
            "code-samples": [
              {
                "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\ncredentials = await skyvern.get_credentials()\nprint(credentials)\n",
                "sdk": "python"
              },
              {
                "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\nconst credentials = await skyvern.getCredentials();\nconsole.log(credentials);\n",
                "sdk": "typescript"
              }
            ]
          }
        ],
        "x-fern-sdk-method-name": "get_credentials"
      },
      "post": {
        "description": "Creates a new credential for the current organization",
        "operationId": "create_credential_v1_credentials_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCredentialRequest",
                "description": "The credential data to create",
                "examples": [
                  {
                    "credential": {
                      "password": "securepassword123",
                      "totp": "JBSWY3DPEHPK3PXP",
                      "username": "user@example.com"
                    },
                    "credential_type": "PASSWORD",
                    "name": "My Credential"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CredentialResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Create credential",
        "tags": [
          "Credentials"
        ],
        "x-fern-examples": [
          {
            "code-samples": [
              {
                "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nawait skyvern.create_credential(\n    name=\"My Credential\",\n    credential_type=\"password\",\n    credential={\"username\": \"username\", \"password\": \"password\"},\n)\n",
                "sdk": "python"
              },
              {
                "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nawait skyvern.create_credential(\n    name=\"My Credit Card\",\n    credential_type=\"credit_card\",\n    credential={\n        \"card_number\": \"4242424242424242\",\n        \"card_cvv\": \"424\",\n        \"card_exp_month\": \"12\",\n        \"card_exp_year\": \"2028\",\n        \"card_brand\": \"visa\",\n        \"card_holder_name\": \"John Doe\",\n        \"billing_address\": {\n            \"line1\": \"123 Main St\",\n            \"city\": \"San Francisco\",\n            \"state_code\": \"CA\",\n            \"postal_code\": \"94105\",\n            \"country_code\": \"US\",\n        },\n        \"billing_email\": \"billing@example.com\",\n        \"metadata\": {\"checkout_profile\": \"default\"},\n    },\n)\n",
                "sdk": "python"
              },
              {
                "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\nawait skyvern.createCredential({\n    name: \"My Credential\",\n    credential_type: \"password\",\n    credential: { username: \"username\", password: \"password\" }\n});\n",
                "sdk": "typescript"
              },
              {
                "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\nawait skyvern.createCredential({\n    name: \"My Credit Card\",\n    credential_type: \"credit_card\",\n    credential: {\n        card_number: \"4242424242424242\",\n        card_cvv: \"424\",\n        card_exp_month: \"12\",\n        card_exp_year: \"2028\",\n        card_brand: \"visa\",\n        card_holder_name: \"John Doe\",\n        billing_address: {\n            line1: \"123 Main St\",\n            city: \"San Francisco\",\n            state_code: \"CA\",\n            postal_code: \"94105\",\n            country_code: \"US\",\n        },\n        billing_email: \"billing@example.com\",\n        metadata: { checkout_profile: \"default\" }\n    }\n});\n",
                "sdk": "typescript"
              }
            ]
          }
        ],
        "x-fern-sdk-method-name": "create_credential"
      }
    },
    "/v1/credentials/totp": {
      "post": {
        "description": "Forward a TOTP (2FA, MFA) email or sms message containing the code to Skyvern. This endpoint stores the code in database so that Skyvern can use it while running tasks/workflows.",
        "operationId": "send_totp_code_v1_credentials_totp_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TOTPCodeCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TOTPCode"
                }
              }
            },
            "description": "Successful Response"
          },
          "402": {
            "description": "Insufficient credits to parse OTP content"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Send TOTP code",
        "tags": [
          "Credentials"
        ],
        "x-fern-examples": [
          {
            "code-samples": [
              {
                "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nawait skyvern.send_totp_code(\n    totp_identifier=\"john.doe@example.com\",\n    content=\"Hello, your verification code is 123456\"\n)\n",
                "sdk": "python"
              },
              {
                "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\nawait skyvern.sendTotpCode({\n    totp_identifier: \"john.doe@example.com\",\n    content: \"Hello, your verification code is 123456\"\n});\n",
                "sdk": "typescript"
              }
            ]
          }
        ],
        "x-fern-sdk-method-name": "send_totp_code"
      }
    },
    "/v1/credentials/{credential_id}": {
      "get": {
        "description": "Retrieves a specific credential by its ID",
        "operationId": "get_credential_v1_credentials__credential_id__get",
        "parameters": [
          {
            "description": "The unique identifier of the credential",
            "in": "path",
            "name": "credential_id",
            "required": true,
            "schema": {
              "description": "The unique identifier of the credential",
              "examples": [
                "cred_1234567890"
              ],
              "title": "Credential Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CredentialResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get credential by ID",
        "tags": [
          "Credentials"
        ],
        "x-fern-examples": [
          {
            "code-samples": [
              {
                "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\ncredential = await skyvern.get_credential(credential_id=\"cred_123\")\nprint(credential)\n",
                "sdk": "python"
              },
              {
                "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\nconst credential = await skyvern.getCredential(\"cred_123\");\nconsole.log(credential);\n",
                "sdk": "typescript"
              }
            ]
          }
        ],
        "x-fern-sdk-method-name": "get_credential"
      }
    },
    "/v1/credentials/{credential_id}/delete": {
      "post": {
        "description": "Deletes a specific credential by its ID",
        "operationId": "delete_credential_v1_credentials__credential_id__delete_post",
        "parameters": [
          {
            "description": "The unique identifier of the credential to delete",
            "in": "path",
            "name": "credential_id",
            "required": true,
            "schema": {
              "description": "The unique identifier of the credential to delete",
              "examples": [
                "cred_1234567890"
              ],
              "title": "Credential Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Delete credential",
        "tags": [
          "Credentials"
        ],
        "x-fern-examples": [
          {
            "code-samples": [
              {
                "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nawait skyvern.delete_credential(credential_id=\"cred_123\")\n",
                "sdk": "python"
              },
              {
                "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\nawait skyvern.deleteCredential(\"cred_123\");\n",
                "sdk": "typescript"
              }
            ]
          }
        ],
        "x-fern-sdk-method-name": "delete_credential"
      }
    },
    "/v1/credentials/{credential_id}/update": {
      "post": {
        "description": "Overwrites the stored credential data (e.g. username/password) while keeping the same credential_id.",
        "operationId": "update_credential_v1_credentials__credential_id__update_post",
        "parameters": [
          {
            "description": "The unique identifier of the credential to update",
            "in": "path",
            "name": "credential_id",
            "required": true,
            "schema": {
              "description": "The unique identifier of the credential to update",
              "examples": [
                "cred_1234567890"
              ],
              "title": "Credential Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCredentialRequest",
                "description": "The new credential data to store",
                "examples": [
                  {
                    "credential": {
                      "password": "newpassword123",
                      "username": "user@example.com"
                    },
                    "credential_type": "PASSWORD",
                    "name": "My Credential"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CredentialResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Update credential",
        "tags": [
          "Credentials"
        ],
        "x-fern-examples": [
          {
            "code-samples": [
              {
                "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nupdated = await skyvern.update_credential(\n    credential_id=\"cred_123\",\n    name=\"My Credential\",\n    credential_type=\"password\",\n    credential={\"username\": \"user@example.com\", \"password\": \"newpassword123\"},\n)\nprint(updated)\n",
                "sdk": "python"
              },
              {
                "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\nconst updated = await skyvern.updateCredential(\"cred_123\", {\n    name: \"My Credential\",\n    credential_type: \"password\",\n    credential: { username: \"user@example.com\", password: \"newpassword123\" }\n});\nconsole.log(updated);\n",
                "sdk": "typescript"
              }
            ]
          }
        ],
        "x-fern-sdk-method-name": "update_credential"
      }
    },
    "/v1/custom-llms": {
      "get": {
        "description": "List the custom LLM configurations available to the current organization.",
        "operationId": "list_custom_llms_v1_custom_llms_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomLLMListResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List Custom LLMs",
        "tags": [
          "Custom LLMs"
        ],
        "x-fern-sdk-method-name": "list_custom_llms",
        "x-hidden": true
      },
      "post": {
        "description": "Create a custom LLM configuration for the current organization.",
        "operationId": "create_custom_llm_v1_custom_llms_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomLLMCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomLLMResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Create Custom LLM",
        "tags": [
          "Custom LLMs"
        ],
        "x-fern-sdk-method-name": "create_custom_llm",
        "x-hidden": true
      }
    },
    "/v1/custom-llms/{custom_llm_id}": {
      "delete": {
        "description": "Delete a custom LLM configuration for the current organization.",
        "operationId": "delete_custom_llm_v1_custom_llms__custom_llm_id__delete",
        "parameters": [
          {
            "description": "The custom LLM id.",
            "in": "path",
            "name": "custom_llm_id",
            "required": true,
            "schema": {
              "description": "The custom LLM id.",
              "title": "Custom Llm Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClearOrganizationAuthTokenResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Delete Custom LLM",
        "tags": [
          "Custom LLMs"
        ],
        "x-fern-sdk-method-name": "delete_custom_llm",
        "x-hidden": true
      },
      "put": {
        "description": "Update a custom LLM configuration for the current organization.",
        "operationId": "update_custom_llm_v1_custom_llms__custom_llm_id__put",
        "parameters": [
          {
            "description": "The custom LLM id.",
            "in": "path",
            "name": "custom_llm_id",
            "required": true,
            "schema": {
              "description": "The custom LLM id.",
              "title": "Custom Llm Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomLLMUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomLLMResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Update Custom LLM",
        "tags": [
          "Custom LLMs"
        ],
        "x-fern-sdk-method-name": "update_custom_llm",
        "x-hidden": true
      }
    },
    "/v1/files/{file_id}": {
      "delete": {
        "description": "Delete a previously uploaded file.\n\nA file that does not exist, was already deleted, or belongs to another organization all\nanswer 404 alike — the endpoint must not tell a caller whether someone else's file id\nexists.",
        "operationId": "delete_file_v1_files__file_id__delete",
        "parameters": [
          {
            "in": "path",
            "name": "file_id",
            "required": true,
            "schema": {
              "title": "File Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Delete File",
        "tags": [
          "Files"
        ],
        "x-fern-sdk-method-name": "delete_file"
      }
    },
    "/v1/folders": {
      "get": {
        "description": "Get all folders for the organization",
        "operationId": "get_folders_v1_folders_get",
        "parameters": [
          {
            "description": "Page number",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "description": "Page number",
              "minimum": 1,
              "title": "Page",
              "type": "integer"
            }
          },
          {
            "description": "Number of folders per page",
            "in": "query",
            "name": "page_size",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Number of folders per page",
              "maximum": 500,
              "minimum": 1,
              "title": "Page Size",
              "type": "integer"
            }
          },
          {
            "description": "Search folders by title or description",
            "in": "query",
            "name": "search",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Search folders by title or description",
              "title": "Search"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Folder"
                  },
                  "title": "Response Get Folders V1 Folders Get",
                  "type": "array"
                }
              }
            },
            "description": "Successfully retrieved folders"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get folders",
        "tags": [
          "Folders"
        ],
        "x-fern-sdk-method-name": "get_folders"
      },
      "post": {
        "description": "Create a new folder to organize workflows",
        "operationId": "create_folder_v1_folders_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FolderCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Folder"
                }
              }
            },
            "description": "Successfully created folder"
          },
          "400": {
            "description": "Invalid request"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Create folder",
        "tags": [
          "Folders"
        ],
        "x-fern-sdk-method-name": "create_folder"
      }
    },
    "/v1/folders/{folder_id}": {
      "delete": {
        "description": "Delete a folder. Optionally delete all workflows in the folder.",
        "operationId": "delete_folder_v1_folders__folder_id__delete",
        "parameters": [
          {
            "description": "Folder ID",
            "in": "path",
            "name": "folder_id",
            "required": true,
            "schema": {
              "description": "Folder ID",
              "examples": [
                "fld_123"
              ],
              "title": "Folder Id",
              "type": "string"
            }
          },
          {
            "description": "If true, also delete all workflows in this folder",
            "in": "query",
            "name": "delete_workflows",
            "required": false,
            "schema": {
              "default": false,
              "description": "If true, also delete all workflows in this folder",
              "title": "Delete Workflows",
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "title": "Response Delete Folder V1 Folders  Folder Id  Delete",
                  "type": "object"
                }
              }
            },
            "description": "Successfully deleted folder"
          },
          "404": {
            "description": "Folder not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Delete folder",
        "tags": [
          "Folders"
        ],
        "x-fern-sdk-method-name": "delete_folder"
      },
      "get": {
        "description": "Get a specific folder by ID",
        "operationId": "get_folder_v1_folders__folder_id__get",
        "parameters": [
          {
            "description": "Folder ID",
            "in": "path",
            "name": "folder_id",
            "required": true,
            "schema": {
              "description": "Folder ID",
              "examples": [
                "fld_123"
              ],
              "title": "Folder Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Folder"
                }
              }
            },
            "description": "Successfully retrieved folder"
          },
          "404": {
            "description": "Folder not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get folder",
        "tags": [
          "Folders"
        ],
        "x-fern-sdk-method-name": "get_folder"
      },
      "put": {
        "description": "Update a folder's title or description",
        "operationId": "update_folder_v1_folders__folder_id__put",
        "parameters": [
          {
            "description": "Folder ID",
            "in": "path",
            "name": "folder_id",
            "required": true,
            "schema": {
              "description": "Folder ID",
              "examples": [
                "fld_123"
              ],
              "title": "Folder Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FolderUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Folder"
                }
              }
            },
            "description": "Successfully updated folder"
          },
          "404": {
            "description": "Folder not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Update folder",
        "tags": [
          "Folders"
        ],
        "x-fern-sdk-method-name": "update_folder"
      }
    },
    "/v1/integrations/twilio/credentials": {
      "delete": {
        "description": "Remove the stored Twilio credentials after connected phone numbers are disabled.",
        "operationId": "delete_twilio_credential_v1_integrations_twilio_credentials_delete",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": {
                    "type": "boolean"
                  },
                  "title": "Response Delete Twilio Credential V1 Integrations Twilio Credentials Delete",
                  "type": "object"
                }
              }
            },
            "description": "Successful Response"
          },
          "404": {
            "description": "Twilio SMS is unavailable"
          },
          "409": {
            "description": "Connected phone numbers must be disabled before disconnecting Twilio"
          },
          "422": {
            "description": "Request validation failed"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Disconnect Twilio credentials",
        "tags": [
          "Credentials"
        ],
        "x-fern-sdk-group-name": "twilio",
        "x-fern-sdk-method-name": "delete_credentials"
      },
      "get": {
        "description": "Get the safe Twilio credential metadata for the current organization.",
        "operationId": "get_twilio_credential_v1_integrations_twilio_credentials_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TwilioCredentialResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "404": {
            "description": "Twilio SMS is unavailable"
          },
          "422": {
            "description": "Request validation failed"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get Twilio credentials",
        "tags": [
          "Credentials"
        ],
        "x-fern-sdk-group-name": "twilio",
        "x-fern-sdk-method-name": "get_credentials"
      },
      "post": {
        "description": "Validate and store Twilio credentials for the current organization.",
        "operationId": "create_twilio_credential_v1_integrations_twilio_credentials_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTwilioCredentialRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TwilioCredentialResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "description": "The Twilio credentials are invalid"
          },
          "404": {
            "description": "Twilio SMS is unavailable or the account was not found"
          },
          "409": {
            "description": "Connected phone numbers must be disabled before changing accounts"
          },
          "422": {
            "description": "Request validation failed"
          },
          "502": {
            "description": "The Twilio provider request failed"
          },
          "503": {
            "description": "The Twilio provider rate limit was reached"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Connect Twilio credentials",
        "tags": [
          "Credentials"
        ],
        "x-fern-sdk-group-name": "twilio",
        "x-fern-sdk-method-name": "create_credentials"
      }
    },
    "/v1/integrations/twilio/phone-number-registry": {
      "get": {
        "description": "List the current organization's phone numbers registered for SMS forwarding.",
        "operationId": "list_registered_phone_numbers_v1_integrations_twilio_phone_number_registry_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/OrganizationPhoneNumberResponse"
                  },
                  "title": "Response List Registered Phone Numbers V1 Integrations Twilio Phone Number Registry Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "404": {
            "description": "Twilio SMS is unavailable"
          },
          "422": {
            "description": "Request validation failed"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List registered phone numbers",
        "tags": [
          "Credentials"
        ],
        "x-fern-sdk-group-name": "twilio",
        "x-fern-sdk-method-name": "list_registered_phone_numbers"
      }
    },
    "/v1/integrations/twilio/phone-numbers": {
      "get": {
        "description": "List SMS-capable phone numbers available in the connected Twilio account.",
        "operationId": "list_twilio_phone_numbers_v1_integrations_twilio_phone_numbers_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/TwilioPhoneNumberInfo"
                  },
                  "title": "Response List Twilio Phone Numbers V1 Integrations Twilio Phone Numbers Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "description": "The Twilio credentials are invalid"
          },
          "404": {
            "description": "Twilio SMS is unavailable or the phone number was not found"
          },
          "422": {
            "description": "Request validation failed"
          },
          "502": {
            "description": "The Twilio provider request failed"
          },
          "503": {
            "description": "The Twilio provider rate limit was reached"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List Twilio phone numbers",
        "tags": [
          "Credentials"
        ],
        "x-fern-sdk-group-name": "twilio",
        "x-fern-sdk-method-name": "list_phone_numbers"
      }
    },
    "/v1/integrations/twilio/phone-numbers/disable": {
      "post": {
        "description": "Disable SMS forwarding for a phone number registered in the current organization.",
        "operationId": "disable_twilio_phone_number_v1_integrations_twilio_phone_numbers_disable_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DisablePhoneNumberRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationPhoneNumberResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "404": {
            "description": "The phone number was not found"
          },
          "409": {
            "description": "The phone number changed during the disable operation"
          },
          "422": {
            "description": "Request validation failed"
          },
          "502": {
            "description": "The Twilio provider request failed"
          },
          "503": {
            "description": "The Twilio provider rate limit was reached"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Disable Twilio phone number",
        "tags": [
          "Credentials"
        ],
        "x-fern-sdk-group-name": "twilio",
        "x-fern-sdk-method-name": "disable_phone_number"
      }
    },
    "/v1/integrations/twilio/phone-numbers/enable": {
      "post": {
        "description": "Enable SMS forwarding for a Twilio phone number in the current organization.",
        "operationId": "enable_twilio_phone_number_v1_integrations_twilio_phone_numbers_enable_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnablePhoneNumberRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationPhoneNumberResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "400": {
            "description": "The Twilio credential or phone number selection is invalid"
          },
          "404": {
            "description": "Twilio SMS is unavailable or the phone number was not found"
          },
          "409": {
            "description": "The phone number requires takeover confirmation or changed during setup"
          },
          "422": {
            "description": "Request validation failed"
          },
          "502": {
            "description": "The Twilio provider request failed"
          },
          "503": {
            "description": "The Twilio provider rate limit was reached"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Enable Twilio phone number",
        "tags": [
          "Credentials"
        ],
        "x-fern-sdk-group-name": "twilio",
        "x-fern-sdk-method-name": "enable_phone_number"
      }
    },
    "/v1/recipes/jobs/apply": {
      "post": {
        "description": "Start a workflow run that applies to a job with a résumé and optional credentials.",
        "operationId": "apply_to_job_v1_recipes_jobs_apply_post",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "additionalProperties": false,
                "description": "OpenAPI representation of the text and file parts accepted by Apply.",
                "properties": {
                  "2fa_identifier": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "title": "2Fa Identifier"
                  },
                  "custom_prompt": {
                    "title": "Custom Prompt",
                    "type": "string"
                  },
                  "error_code_mapping": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": "{\"job_expired\": \"The requested job posting explicitly states that it is expired, closed, filled, or no longer accepting applications.\"}",
                    "description": "JSON text containing an object of error codes and descriptions. Omit for the recipe default; JSON null or {} disables mapping. A supplied mapping replaces the default independently of terminate_criterion.",
                    "title": "Error Code Mapping"
                  },
                  "job_url": {
                    "format": "uri",
                    "title": "Job Url",
                    "type": "string"
                  },
                  "other_information": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "title": "Other Information"
                  },
                  "password": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "title": "Password"
                  },
                  "persist_credentials": {
                    "anyOf": [
                      {
                        "pattern": "^true$",
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "title": "Persist Credentials"
                  },
                  "proxy_location": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "A ProxyLocation name such as RESIDENTIAL_GB, or JSON text for a GeoTarget or custom proxy object. Omit it or send blank text to use the default; Skyvern Cloud then uses RESIDENTIAL.",
                    "title": "Proxy Location"
                  },
                  "resume_file": {
                    "format": "binary",
                    "title": "Resume File",
                    "type": "string"
                  },
                  "terminate_criterion": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": "Terminate when the requested job posting explicitly states that it is expired, closed, filled, or no longer accepting applications. A missing Apply button or redirect alone is insufficient.",
                    "description": "Condition that stops Apply. Omit for the recipe default; empty text disables it.",
                    "title": "Terminate Criterion"
                  },
                  "username": {
                    "anyOf": [
                      {
                        "minLength": 1,
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "title": "Username"
                  },
                  "webhook_url": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "After a run is finished, send an update to this URL. Refer to https://www.skyvern.com/docs/running-tasks/webhooks-faq for more details.",
                    "format": "uri",
                    "title": "Webhook Url"
                  }
                },
                "required": [
                  "job_url",
                  "custom_prompt",
                  "resume_file"
                ],
                "title": "JobRecipeApplyMultipartRequest",
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobRecipeRunResponse"
                }
              }
            },
            "description": "Successfully started job application"
          },
          "400": {
            "description": "Invalid multipart structure"
          },
          "402": {
            "description": "Insufficient credits or required billing state"
          },
          "403": {
            "description": "Unauthorized or insufficient organization permission"
          },
          "413": {
            "description": "Résumé file exceeds the upload limit"
          },
          "422": {
            "description": "Invalid apply request"
          },
          "429": {
            "description": "Workflow submission rate limit exceeded"
          },
          "500": {
            "description": "Upload or workflow launch failed"
          },
          "502": {
            "description": "Credential service failed"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Apply to a job",
        "tags": [
          "Recipes"
        ],
        "x-fern-sdk-method-name": "apply_to_job"
      }
    },
    "/v1/recipes/jobs/extract": {
      "post": {
        "description": "Start a workflow run that extracts structured details from a job posting.",
        "operationId": "extract_job_application_v1_recipes_jobs_extract_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "job_url": {
                    "format": "uri",
                    "title": "Job Url",
                    "type": "string"
                  },
                  "proxy_location": {
                    "anyOf": [
                      {
                        "$ref": "#/components/schemas/ProxyLocation"
                      },
                      {
                        "$ref": "#/components/schemas/GeoTarget"
                      },
                      {
                        "additionalProperties": true,
                        "type": "object"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "Geographic Proxy location to route the browser traffic through. This is only available in Skyvern Cloud.\n\nAvailable geotargeting options:\n- RESIDENTIAL: the default value. Skyvern Cloud uses a random US residential proxy.\n- RESIDENTIAL_ES: Spain\n- RESIDENTIAL_IE: Ireland\n- RESIDENTIAL_GB: United Kingdom\n- RESIDENTIAL_IN: India\n- RESIDENTIAL_JP: Japan\n- RESIDENTIAL_FR: France\n- RESIDENTIAL_DE: Germany\n- RESIDENTIAL_NZ: New Zealand\n- RESIDENTIAL_PH: Philippines\n- RESIDENTIAL_KR: South Korea\n- RESIDENTIAL_SA: Saudi Arabia\n- RESIDENTIAL_ZA: South Africa\n- RESIDENTIAL_AR: Argentina\n- RESIDENTIAL_AU: Australia\n- RESIDENTIAL_BR: Brazil\n- RESIDENTIAL_TR: Turkey\n- RESIDENTIAL_CA: Canada\n- RESIDENTIAL_MX: Mexico\n- RESIDENTIAL_IT: Italy\n- RESIDENTIAL_NL: Netherlands\n- RESIDENTIAL_ISP: ISP proxy\n- US-CA: California (deprecated, routes through RESIDENTIAL_ISP)\n- US-NY: New York (deprecated, routes through RESIDENTIAL_ISP)\n- US-TX: Texas (deprecated, routes through RESIDENTIAL_ISP)\n- US-FL: Florida (deprecated, routes through RESIDENTIAL_ISP)\n- US-WA: Washington (deprecated, routes through RESIDENTIAL_ISP)\n- NONE: No proxy\n\nFor self-hosted deployments, you can pass a custom proxy URL as a dict: {\"url\": \"http://user:password@proxy.example:8080\"}. This routes the browser through your own proxy server and takes precedence over any globally configured proxy pool. Can also be a GeoTarget object for granular city/state targeting: {\"country\": \"US\", \"subdivision\": \"CA\", \"city\": \"San Francisco\"}. Omit it or send null to use the default; Skyvern Cloud then uses RESIDENTIAL.",
                    "title": "Proxy Location"
                  },
                  "webhook_url": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "description": "After a run is finished, send an update to this URL. Refer to https://www.skyvern.com/docs/running-tasks/webhooks-faq for more details.",
                    "examples": [
                      "https://my-site.com/webhook"
                    ],
                    "format": "uri",
                    "title": "Webhook Url"
                  }
                },
                "required": [
                  "job_url"
                ],
                "title": "JobRecipeExtractRequest",
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobRecipeRunResponse"
                }
              }
            },
            "description": "Successfully started job application extraction"
          },
          "402": {
            "description": "Insufficient credits or required billing state"
          },
          "403": {
            "description": "Unauthorized or insufficient organization permission"
          },
          "422": {
            "description": "Invalid extract request"
          },
          "429": {
            "description": "Workflow submission rate limit exceeded"
          },
          "500": {
            "description": "Workflow launch failed"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Extract a job application posting",
        "tags": [
          "Recipes"
        ],
        "x-fern-sdk-method-name": "extract_job_application"
      }
    },
    "/v1/recipes/jobs/runs": {
      "get": {
        "description": "List workflow runs started by job recipe requests.",
        "operationId": "list_job_recipe_runs_v1_recipes_jobs_runs_get",
        "parameters": [
          {
            "description": "Page number.",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "description": "Page number.",
              "minimum": 1,
              "title": "Page",
              "type": "integer"
            }
          },
          {
            "description": "Number of runs per page.",
            "in": "query",
            "name": "page_size",
            "required": false,
            "schema": {
              "default": 25,
              "description": "Number of runs per page.",
              "maximum": 100,
              "minimum": 1,
              "title": "Page Size",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobRecipeRunListResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "403": {
            "description": "Unauthorized or insufficient organization permission"
          },
          "422": {
            "description": "Invalid pagination parameters"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List job recipe runs",
        "tags": [
          "Recipes"
        ],
        "x-fern-sdk-method-name": "list_job_recipe_runs"
      }
    },
    "/v1/run-tag-suggestions": {
      "get": {
        "description": "List distinct (key, value) pairs ever set on a run for the organization, sourced from the run-tag event log rather than the tag-key/tag-value registry. Surfaces reserved 'skyvern.*' system keys (which are never registered) so pickers can offer them alongside user-defined tags.",
        "operationId": "get_run_tag_suggestions_v1_run_tag_suggestions_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RunTagSuggestionsResponse"
                }
              }
            },
            "description": "Successfully retrieved run tag suggestions"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List run tag suggestions",
        "tags": [
          "Tags"
        ],
        "x-fern-sdk-method-name": "get_run_tag_suggestions",
        "x-hidden": true
      }
    },
    "/v1/run-tags": {
      "get": {
        "description": "Batch fetch current tags for many workflow runs. Avoids N+1 on run-list pages.",
        "operationId": "batch_get_run_tags_v1_run_tags_get",
        "parameters": [
          {
            "description": "Comma-separated workflow run IDs",
            "in": "query",
            "name": "workflow_run_ids",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Comma-separated workflow run IDs",
              "examples": [
                "wr_123,wr_456"
              ],
              "title": "Workflow Run Ids"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RunTagsBatchResponse"
                }
              }
            },
            "description": "Successfully retrieved tags"
          },
          "400": {
            "description": "Too many workflow run IDs requested"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Batch get run tags",
        "tags": [
          "Tags"
        ],
        "x-fern-sdk-method-name": "batch_get_run_tags",
        "x-hidden": true
      },
      "post": {
        "description": "Batch fetch current tags for many workflow runs (POST variant for id lists exceeding URL length).",
        "operationId": "batch_get_run_tags_post_v1_run_tags_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RunTagsBatchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RunTagsBatchResponse"
                }
              }
            },
            "description": "Successfully retrieved tags"
          },
          "400": {
            "description": "Too many workflow run IDs requested"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Batch get run tags (POST)",
        "tags": [
          "Tags"
        ],
        "x-fern-sdk-method-name": "batch_get_run_tags_post",
        "x-hidden": true
      }
    },
    "/v1/run/agents": {
      "post": {
        "description": "Run an agent",
        "operationId": "run_workflow_v1_run_agents_post",
        "parameters": [
          {
            "in": "query",
            "name": "template",
            "required": false,
            "schema": {
              "default": false,
              "title": "Template",
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "x-max-steps-override",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-Max-Steps-Override"
            }
          },
          {
            "in": "header",
            "name": "x-user-agent",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-User-Agent"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkflowRunRequest-Input"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkflowRunResponse"
                }
              }
            },
            "description": "Successfully ran agent"
          },
          "400": {
            "description": "Invalid agent run request"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "description": "The server is busy dispatching other runs. No run was created; retry after Retry-After seconds.",
            "headers": {
              "Retry-After": {
                "description": "Seconds to wait before retrying",
                "schema": {
                  "type": "integer"
                }
              }
            }
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Run an agent",
        "tags": [
          "Runs"
        ],
        "x-fern-examples": [
          {
            "code-samples": [
              {
                "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nawait skyvern.run_workflow(workflow_id=\"wpid_123\", parameters={\"parameter1\": \"value1\", \"parameter2\": \"value2\"})\n",
                "sdk": "python"
              },
              {
                "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\nawait skyvern.runWorkflow({\n    agent_id: \"wpid_123\",\n    parameters: { parameter1: \"value1\", parameter2: \"value2\" }\n});\n",
                "sdk": "typescript"
              }
            ]
          }
        ],
        "x-fern-sdk-method-name": "run_workflow"
      }
    },
    "/v1/run/tasks": {
      "post": {
        "description": "Run a task",
        "operationId": "run_task_v1_run_tasks_post",
        "parameters": [
          {
            "in": "header",
            "name": "x-user-agent",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-User-Agent"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TaskRunRequest-Input"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaskRunResponse"
                }
              }
            },
            "description": "Successfully run task"
          },
          "400": {
            "description": "Invalid agent engine"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Run a task",
        "tags": [
          "Agents"
        ],
        "x-fern-examples": [
          {
            "code-samples": [
              {
                "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nawait skyvern.run_task(prompt=\"What's the top post on hackernews?\")\n",
                "sdk": "python"
              },
              {
                "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\nawait skyvern.runTask({\n    prompt: \"Find the top 3 posts on Hacker News.\"\n})\n",
                "sdk": "typescript"
              }
            ]
          }
        ],
        "x-fern-sdk-method-name": "run_task",
        "x-hidden": true
      }
    },
    "/v1/run/tasks/download_files": {
      "post": {
        "description": "Download a file from a website by navigating and clicking download buttons",
        "operationId": "download_files_v1_run_tasks_download_files_post",
        "parameters": [
          {
            "in": "header",
            "name": "x-user-agent",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-User-Agent"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DownloadFilesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkflowRunResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "File Download Task",
        "tags": [
          "Agents"
        ],
        "x-excluded": true,
        "x-fern-examples": [
          {
            "code-samples": [
              {
                "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nawait skyvern.download_files(\n    url=\"https://example.com/downloads\",\n    navigation_goal=\"Navigate to the downloads page and click the 'Download PDF' button\",\n    download_suffix=\"report.pdf\"\n)\n",
                "sdk": "python"
              },
              {
                "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\nawait skyvern.downloadFiles({\n    url: \"https://example.com/downloads\",\n    navigation_goal: \"Navigate to the downloads page and click the 'Download PDF' button\",\n    download_suffix: \"report.pdf\"\n});\n",
                "sdk": "typescript"
              }
            ]
          }
        ],
        "x-fern-sdk-method-name": "download_files",
        "x-hidden": true
      }
    },
    "/v1/run/tasks/login": {
      "post": {
        "description": "Log in to a website using either credential stored in Skyvern, Bitwarden, 1Password, or Azure Vault",
        "operationId": "login_v1_run_tasks_login_post",
        "parameters": [
          {
            "in": "header",
            "name": "x-user-agent",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "X-User-Agent"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkflowRunResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Login Task",
        "tags": [
          "Agents"
        ],
        "x-excluded": true,
        "x-fern-examples": [
          {
            "code-samples": [
              {
                "code": "# Login with password saved in Skyvern\nfrom skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nawait skyvern.login(\n    url=\"https://example.com\",\n    credential_type=\"skyvern\",\n    credential_id=\"cred_123\"),\n)\n",
                "sdk": "python"
              },
              {
                "code": "# Login with password saved in Bitwarden\nfrom skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\n# Login with a Bitwarden collection and website url filter\nawait skyvern.login(\n    url=\"https://example.com\",\n    credential_type=\"bitwarden\",\n    bitwarden_collection_id=\"BITWARDEN COLLECTION ID\",\n)\n\n# Login with a Bitwarden item\nawait skyvern.login(\n    url=\"https://example.com\",\n    credential_type=\"bitwarden\",\n    bitwarden_item_id=\"BITWARDEN ITEM ID\",\n)\n",
                "sdk": "python"
              },
              {
                "code": "# Login with password saved in 1Password\nfrom skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nawait skyvern.login(\n    url=\"https://example.com\",\n    credential_type=\"onepassword\",\n    onepassword_vault_id=\"1PASSWORD VAULT ID\",\n    onepassword_item_id=\"1PASSWORD ITEM ID\",\n)\n",
                "sdk": "python"
              },
              {
                "code": "// Login with password saved in Skyvern\nimport { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\nawait skyvern.login({\n    url: \"https://example.com\",\n    credential_type: \"skyvern\",\n    credential_id: \"cred_123\"\n});\n",
                "sdk": "typescript"
              },
              {
                "code": "// Login with password saved in Bitwarden\nimport { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\n// Login with a Bitwarden collection and website url filter\nawait skyvern.login({\n    url: \"https://example.com\",\n    credential_type: \"bitwarden\",\n    bitwarden_collection_id: \"BITWARDEN COLLECTION ID\"\n});\n\n// Login with a Bitwarden item\nawait skyvern.login({\n    url: \"https://example.com\",\n    credential_type: \"bitwarden\",\n    bitwarden_item_id: \"BITWARDEN ITEM ID\"\n});\n",
                "sdk": "typescript"
              },
              {
                "code": "// Login with password saved in 1Password\nimport { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\nawait skyvern.login({\n    url: \"https://example.com\",\n    credential_type: \"onepassword\",\n    onepassword_vault_id: \"1PASSWORD VAULT ID\",\n    onepassword_item_id: \"1PASSWORD ITEM ID\"\n});\n",
                "sdk": "typescript"
              }
            ]
          }
        ],
        "x-fern-sdk-method-name": "login",
        "x-hidden": true
      }
    },
    "/v1/runs": {
      "get": {
        "description": "List the organization's task and agent runs, newest first, filterable by status, run type, agent, a free-text search term, and failure category. Returns a paginated array of run summaries.",
        "operationId": "get_runs_v2_v1_runs_get",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "maximum": 100,
              "minimum": 1,
              "title": "Page",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "page_size",
            "required": false,
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 1,
              "title": "Page Size",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "items": {
                    "$ref": "#/components/schemas/RunStatus"
                  },
                  "type": "array"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Status"
            }
          },
          {
            "description": "Case-insensitive substring search (min 3 chars for trigram index) across the run's title, URL, run ID, agent (workflow) ID and inputs, plus a workflow run's webhook callback URL. A complete browser profile ID, browser session ID or credential ID matches the run that used it exactly (no substring match). A complete workflow run ID matches that run. A complete task ID matches the workflow run the task ran in, when this list includes that run, or the standalone task itself where standalone tasks are listed. A complete browser profile, browser session, workflow run or task ID is matched against those identifiers only, not the text fields. A credential ID matches when it is the run's sequential credential, the credential the run selected from a pool or fell back to, or the credential bound by a credential parameter on the run's workflow version when the run was created and the run recorded no selection for it. Browser profile and credential IDs apply to workflow runs; a browser session ID also matches a standalone task that used it.",
            "in": "query",
            "name": "search_key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "minLength": 3,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Case-insensitive substring search (min 3 chars for trigram index) across the run's title, URL, run ID, agent (workflow) ID and inputs, plus a workflow run's webhook callback URL. A complete browser profile ID, browser session ID or credential ID matches the run that used it exactly (no substring match). A complete workflow run ID matches that run. A complete task ID matches the workflow run the task ran in, when this list includes that run, or the standalone task itself where standalone tasks are listed. A complete browser profile, browser session, workflow run or task ID is matched against those identifiers only, not the text fields. A credential ID matches when it is the run's sequential credential, the credential the run selected from a pool or fell back to, or the credential bound by a credential parameter on the run's workflow version when the run was created and the run recorded no selection for it. Browser profile and credential IDs apply to workflow runs; a browser session ID also matches a standalone task that used it.",
              "examples": [
                "login_url",
                "wr_abc123",
                "bp_123456789",
                "cred_123456789"
              ],
              "title": "Search Key"
            }
          },
          {
            "in": "query",
            "name": "run_type",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "items": {
                    "$ref": "#/components/schemas/RunType"
                  },
                  "type": "array"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Run Type"
            }
          },
          {
            "description": "Filter to runs of these workflows (agents). Repeat the param to include multiple.",
            "in": "query",
            "name": "workflow_permanent_id",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "items": {
                    "type": "string"
                  },
                  "maxItems": 50,
                  "type": "array"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter to runs of these workflows (agents). Repeat the param to include multiple.",
              "title": "Workflow Permanent Id"
            }
          },
          {
            "description": "Filter by run tags. Each term is a label (`production`), a group (`env:*`), or a group:label (`env:prod`). Repeat the param or comma-separate (`?tags=env:prod,env:staging`). AND across distinct terms, OR within a group's labels (`?tags=customer:acme,env:prod,env:staging` -> customer=acme AND env in (prod, staging)). A label term matches the value across any/no group. Matches current tag values only.",
            "in": "query",
            "name": "tags",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "items": {
                    "type": "string"
                  },
                  "maxItems": 20,
                  "type": "array"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by run tags. Each term is a label (`production`), a group (`env:*`), or a group:label (`env:prod`). Repeat the param or comma-separate (`?tags=env:prod,env:staging`). AND across distinct terms, OR within a group's labels (`?tags=customer:acme,env:prod,env:staging` -> customer=acme AND env in (prod, staging)). A label term matches the value across any/no group. Matches current tag values only.",
              "examples": [
                "env:prod",
                "production",
                "env:*",
                "customer:acme,env:prod"
              ],
              "title": "Tags"
            }
          },
          {
            "description": "Exact-match filter on a workflow run's top classifier failure category (`failure_category[0].category`). Only failed, terminated, and timed_out runs are eligible; canceled runs are never returned by this filter. Applies to `run_type=workflow_run` only — combined with a task run_type it matches nothing.",
            "in": "query",
            "name": "failure_category",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 100,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Exact-match filter on a workflow run's top classifier failure category (`failure_category[0].category`). Only failed, terminated, and timed_out runs are eligible; canceled runs are never returned by this filter. Applies to `run_type=workflow_run` only — combined with a task run_type it matches nothing.",
              "examples": [
                "ANTI_BOT_DETECTION",
                "AUTH_FAILURE"
              ],
              "title": "Failure Category"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/TaskRunListItem"
                  },
                  "title": "Response Get Runs V2 V1 Runs Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List runs",
        "tags": [
          "agent"
        ],
        "x-fern-sdk-method-name": "get_runs_v2",
        "x-hidden": true
      }
    },
    "/v1/runs/cancel": {
      "post": {
        "description": "Cancel multiple runs (tasks or workflows) in a single request",
        "operationId": "bulk_cancel_runs_v1_runs_cancel_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkCancelRunsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkCancelRunsResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Bulk cancel runs",
        "tags": [
          "Runs"
        ],
        "x-fern-examples": [
          {
            "code-samples": [
              {
                "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nawait skyvern.bulk_cancel_runs(run_ids=[\"tsk_v2_123\", \"wr_456\"])\n",
                "sdk": "python"
              },
              {
                "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\nawait skyvern.bulkCancelRuns({ run_ids: [\"tsk_v2_123\", \"wr_456\"] });\n",
                "sdk": "typescript"
              }
            ]
          }
        ],
        "x-fern-sdk-method-name": "bulk_cancel_runs"
      }
    },
    "/v1/runs/{run_id}": {
      "get": {
        "description": "Get run information (task run, workflow run)",
        "operationId": "get_run_v1_runs__run_id__get",
        "parameters": [
          {
            "description": "The id of the task run or the workflow run.",
            "in": "path",
            "name": "run_id",
            "required": true,
            "schema": {
              "description": "The id of the task run or the workflow run.",
              "examples": [
                "tsk_123",
                "tsk_v2_123",
                "wr_123"
              ],
              "title": "Run Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/TaskRunResponse"
                    },
                    {
                      "$ref": "#/components/schemas/WorkflowRunResponse"
                    }
                  ],
                  "title": "Response Get Run V1 Runs  Run Id  Get"
                }
              }
            },
            "description": "Successfully got run"
          },
          "404": {
            "description": "Run not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get run info by id",
        "tags": [
          "Runs"
        ],
        "x-fern-examples": [
          {
            "code-samples": [
              {
                "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nrun = await skyvern.get_run(run_id=\"tsk_v2_123\")\nprint(run)\n",
                "sdk": "python"
              },
              {
                "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\nconst run = await skyvern.getRun(\"tsk_v2_123\");\nconsole.log(run);\n",
                "sdk": "typescript"
              }
            ]
          }
        ],
        "x-fern-sdk-method-name": "get_run"
      }
    },
    "/v1/runs/{run_id}/artifacts": {
      "get": {
        "description": "Get artifacts for a run",
        "operationId": "get_run_artifacts_v1_runs__run_id__artifacts_get",
        "parameters": [
          {
            "description": "The id of the task run or the workflow run.",
            "in": "path",
            "name": "run_id",
            "required": true,
            "schema": {
              "description": "The id of the task run or the workflow run.",
              "title": "Run Id",
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "artifact_type",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "items": {
                    "$ref": "#/components/schemas/ArtifactType"
                  },
                  "type": "array"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Artifact Type"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Artifact"
                  },
                  "title": "Response Get Run Artifacts V1 Runs  Run Id  Artifacts Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get artifacts for a run",
        "tags": [
          "Artifacts"
        ],
        "x-fern-sdk-method-name": "get_run_artifacts"
      }
    },
    "/v1/runs/{run_id}/cancel": {
      "post": {
        "description": "Cancel a run (task or workflow)",
        "operationId": "cancel_run_v1_runs__run_id__cancel_post",
        "parameters": [
          {
            "description": "The id of the task run or the workflow run to cancel.",
            "in": "path",
            "name": "run_id",
            "required": true,
            "schema": {
              "description": "The id of the task run or the workflow run to cancel.",
              "title": "Run Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Cancel a run by id",
        "tags": [
          "Runs"
        ],
        "x-fern-examples": [
          {
            "code-samples": [
              {
                "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nawait skyvern.cancel_run(run_id=\"tsk_v2_123\")\n",
                "sdk": "python"
              },
              {
                "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\nawait skyvern.cancelRun(\"tsk_v2_123\");\n",
                "sdk": "typescript"
              }
            ]
          }
        ],
        "x-fern-sdk-method-name": "cancel_run"
      }
    },
    "/v1/runs/{run_id}/retry_webhook": {
      "post": {
        "description": "Retry sending the webhook for a run",
        "operationId": "retry_run_webhook_v1_runs__run_id__retry_webhook_post",
        "parameters": [
          {
            "description": "The id of the task run or the workflow run.",
            "in": "path",
            "name": "run_id",
            "required": true,
            "schema": {
              "description": "The id of the task run or the workflow run.",
              "examples": [
                "tsk_123",
                "wr_123"
              ],
              "title": "Run Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/RetryRunWebhookRequest"
                  },
                  {
                    "type": "null"
                  }
                ],
                "title": "Request"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RunWebhookReplayResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Replay a run webhook",
        "tags": [
          "Runs"
        ],
        "x-fern-examples": [
          {
            "code-samples": [
              {
                "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\nawait skyvern.retry_run_webhook(run_id=\"tsk_v2_123\")\n",
                "sdk": "python"
              },
              {
                "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\nawait skyvern.retryRunWebhook(\"tsk_v2_123\");\n",
                "sdk": "typescript"
              }
            ]
          }
        ],
        "x-fern-sdk-method-name": "retry_run_webhook"
      }
    },
    "/v1/runs/{run_id}/timeline": {
      "get": {
        "description": "Get timeline for a run (workflow run or task_v2 run)",
        "operationId": "get_run_timeline_v1_runs__run_id__timeline_get",
        "parameters": [
          {
            "description": "The id of the workflow run or task_v2 run.",
            "in": "path",
            "name": "run_id",
            "required": true,
            "schema": {
              "description": "The id of the workflow run or task_v2 run.",
              "examples": [
                "wr_123",
                "tsk_v2_123"
              ],
              "title": "Run Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/WorkflowRunTimeline"
                  },
                  "title": "Response Get Run Timeline V1 Runs  Run Id  Timeline Get",
                  "type": "array"
                }
              }
            },
            "description": "Successfully retrieved run timeline"
          },
          "400": {
            "description": "Timeline not available for this run type"
          },
          "404": {
            "description": "Run not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get run timeline",
        "tags": [
          "Runs"
        ],
        "x-fern-examples": [
          {
            "code-samples": [
              {
                "code": "from skyvern import Skyvern\n\nskyvern = Skyvern(api_key=\"YOUR_API_KEY\")\n# Get timeline for a workflow run\ntimeline = await skyvern.get_run_timeline(run_id=\"wr_123\")\nprint(timeline)\n\n# Get timeline for a task_v2 run\ntimeline = await skyvern.get_run_timeline(run_id=\"tsk_v2_123\")\nprint(timeline)\n",
                "sdk": "python"
              },
              {
                "code": "import { SkyvernClient } from \"@skyvern/client\";\n\nconst skyvern = new SkyvernClient({ apiKey: \"YOUR_API_KEY\" });\n// Get timeline for a workflow run\nconst timeline = await skyvern.getRunTimeline(\"wr_123\");\nconsole.log(timeline);\n\n// Get timeline for a task_v2 run\nconst timeline2 = await skyvern.getRunTimeline(\"tsk_v2_123\");\nconsole.log(timeline2);\n",
                "sdk": "typescript"
              }
            ]
          }
        ],
        "x-fern-sdk-method-name": "get_run_timeline"
      }
    },
    "/v1/runs/{workflow_run_id}/tags": {
      "get": {
        "description": "Get the current tag state for a workflow run.",
        "operationId": "get_run_tags_v1_runs__workflow_run_id__tags_get",
        "parameters": [
          {
            "description": "Workflow run ID",
            "in": "path",
            "name": "workflow_run_id",
            "required": true,
            "schema": {
              "description": "Workflow run ID",
              "examples": [
                "wr_123"
              ],
              "title": "Workflow Run Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RunTagsResponse"
                }
              }
            },
            "description": "Successfully retrieved tags"
          },
          "404": {
            "description": "Workflow run not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get run tags",
        "tags": [
          "Tags"
        ],
        "x-fern-sdk-method-name": "get_run_tags",
        "x-hidden": true
      },
      "post": {
        "description": "Atomically apply tag changes to a workflow run. Sets and deletes happen in one transaction; same-key collisions resolve set-wins.",
        "operationId": "apply_run_tags_v1_runs__workflow_run_id__tags_post",
        "parameters": [
          {
            "description": "Workflow run ID",
            "in": "path",
            "name": "workflow_run_id",
            "required": true,
            "schema": {
              "description": "Workflow run ID",
              "examples": [
                "wr_123"
              ],
              "title": "Workflow Run Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TagApplyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RunTagsResponse"
                }
              }
            },
            "description": "Successfully applied tag changes"
          },
          "404": {
            "description": "Workflow run not found"
          },
          "422": {
            "description": "Invalid tag key or value"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Apply run tags",
        "tags": [
          "Tags"
        ],
        "x-fern-sdk-method-name": "apply_run_tags",
        "x-hidden": true
      }
    },
    "/v1/runs/{workflow_run_id}/tags/history": {
      "get": {
        "description": "Chronological tag-event log for a workflow run (newest first). Includes SET and DELETE events.",
        "operationId": "get_run_tag_history_v1_runs__workflow_run_id__tags_history_get",
        "parameters": [
          {
            "description": "Workflow run ID",
            "in": "path",
            "name": "workflow_run_id",
            "required": true,
            "schema": {
              "description": "Workflow run ID",
              "examples": [
                "wr_123"
              ],
              "title": "Workflow Run Id",
              "type": "string"
            }
          },
          {
            "description": "Max events to return",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "description": "Max events to return",
              "maximum": 500,
              "minimum": 1,
              "title": "Limit",
              "type": "integer"
            }
          },
          {
            "description": "Only return events at or after this timestamp",
            "in": "query",
            "name": "since",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "format": "date-time",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Only return events at or after this timestamp",
              "title": "Since"
            }
          },
          {
            "description": "Filter to events for a single tag key",
            "in": "query",
            "name": "key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter to events for a single tag key",
              "title": "Key"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RunTagHistoryResponse"
                }
              }
            },
            "description": "Successfully retrieved tag history"
          },
          "404": {
            "description": "Workflow run not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get run tag history",
        "tags": [
          "Tags"
        ],
        "x-fern-sdk-method-name": "get_run_tag_history",
        "x-hidden": true
      }
    },
    "/v1/runs/{workflow_run_id}/tags/{key}": {
      "delete": {
        "description": "Soft-delete a single grouped tag from a workflow run. Writes a DELETE event row.",
        "operationId": "delete_run_tag_v1_runs__workflow_run_id__tags__key__delete",
        "parameters": [
          {
            "description": "Workflow run ID",
            "in": "path",
            "name": "workflow_run_id",
            "required": true,
            "schema": {
              "description": "Workflow run ID",
              "examples": [
                "wr_123"
              ],
              "title": "Workflow Run Id",
              "type": "string"
            }
          },
          {
            "description": "Tag key to delete",
            "in": "path",
            "name": "key",
            "required": true,
            "schema": {
              "description": "Tag key to delete",
              "examples": [
                "env"
              ],
              "title": "Key",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RunTagsResponse"
                }
              }
            },
            "description": "Successfully deleted tag (or no-op if absent)"
          },
          "404": {
            "description": "Workflow run not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Delete run tag",
        "tags": [
          "Tags"
        ],
        "x-fern-sdk-method-name": "delete_run_tag",
        "x-hidden": true
      }
    },
    "/v1/schedules": {
      "get": {
        "description": "List every schedule in the organization, across all agents, filterable by active/paused status and a search term matched against agent title or schedule name. Returns a paginated list plus the total count.",
        "operationId": "schedules_list_all",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "minimum": 1,
              "title": "Page",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "page_size",
            "required": false,
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 1,
              "title": "Page Size",
              "type": "integer"
            }
          },
          {
            "description": "Filter by status: 'active' or 'paused'",
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": [
                    "active",
                    "paused"
                  ],
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter by status: 'active' or 'paused'",
              "title": "Status"
            }
          },
          {
            "description": "Search by workflow title or schedule name",
            "in": "query",
            "name": "search",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Search by workflow title or schedule name",
              "title": "Search"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationScheduleListResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List all schedules for the organization",
        "tags": [
          "Schedules"
        ]
      }
    },
    "/v1/scripts": {
      "get": {
        "description": "Retrieves a paginated list of scripts for the current organization",
        "operationId": "get_scripts_v1_scripts_get",
        "parameters": [
          {
            "description": "Page number for pagination",
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "description": "Page number for pagination",
              "examples": [
                1
              ],
              "minimum": 1,
              "title": "Page",
              "type": "integer"
            }
          },
          {
            "description": "Number of items per page",
            "in": "query",
            "name": "page_size",
            "required": false,
            "schema": {
              "default": 10,
              "description": "Number of items per page",
              "examples": [
                10
              ],
              "minimum": 1,
              "title": "Page Size",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Script"
                  },
                  "title": "Response Get Scripts V1 Scripts Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get all scripts",
        "tags": [
          "Scripts"
        ],
        "x-fern-sdk-method-name": "get_scripts",
        "x-hidden": true
      },
      "post": {
        "description": "Create a new script with optional files and metadata",
        "operationId": "create_script_v1_scripts_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateScriptRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateScriptResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Create script",
        "tags": [
          "Scripts"
        ],
        "x-fern-sdk-method-name": "create_script",
        "x-hidden": true
      }
    },
    "/v1/scripts/{script_id}": {
      "get": {
        "description": "Retrieves a specific script by its ID",
        "operationId": "get_script_v1_scripts__script_id__get",
        "parameters": [
          {
            "description": "The unique identifier of the script",
            "in": "path",
            "name": "script_id",
            "required": true,
            "schema": {
              "description": "The unique identifier of the script",
              "examples": [
                "s_abc123"
              ],
              "title": "Script Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Script"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Get script by ID",
        "tags": [
          "Scripts"
        ],
        "x-fern-sdk-method-name": "get_script",
        "x-hidden": true
      }
    },
    "/v1/scripts/{script_id}/deploy": {
      "post": {
        "description": "Deploy a script with updated files, creating a new version",
        "operationId": "deploy_script_v1_scripts__script_id__deploy_post",
        "parameters": [
          {
            "description": "The unique identifier of the script",
            "in": "path",
            "name": "script_id",
            "required": true,
            "schema": {
              "description": "The unique identifier of the script",
              "examples": [
                "s_abc123"
              ],
              "title": "Script Id",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeployScriptRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateScriptResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Deploy script",
        "tags": [
          "Scripts"
        ],
        "x-fern-sdk-method-name": "deploy_script",
        "x-hidden": true
      }
    },
    "/v1/scripts/{script_id}/run": {
      "post": {
        "description": "Run a script",
        "operationId": "run_script_v1_scripts__script_id__run_post",
        "parameters": [
          {
            "description": "The unique identifier of the script",
            "in": "path",
            "name": "script_id",
            "required": true,
            "schema": {
              "description": "The unique identifier of the script",
              "examples": [
                "s_abc123"
              ],
              "title": "Script Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {}
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Run script",
        "tags": [
          "Scripts"
        ],
        "x-hidden": true
      }
    },
    "/v1/sdk/run_action": {
      "post": {
        "description": "Execute a single SDK action with the specified parameters",
        "operationId": "run_sdk_action_v1_sdk_run_action_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RunSdkActionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RunSdkActionResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Run an SDK action",
        "tags": [
          "SDK"
        ],
        "x-excluded": true,
        "x-fern-sdk-method-name": "run_sdk_action"
      }
    },
    "/v1/sms-numbers": {
      "get": {
        "description": "List the Skyvern-managed SMS numbers for the authenticated organization.",
        "operationId": "list_managed_numbers_v1_sms_numbers_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/OrganizationPhoneNumberResponse"
                  },
                  "title": "Response List Managed Numbers V1 Sms Numbers Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "403": {
            "description": "Managed SMS numbers are not enabled for the organization"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List managed SMS numbers",
        "tags": [
          "Credentials"
        ],
        "x-fern-sdk-method-name": "list_managed_sms_numbers"
      },
      "post": {
        "description": "Purchase and configure a Skyvern-managed SMS number for the authenticated organization.",
        "operationId": "provision_managed_number_v1_sms_numbers_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProvisionManagedNumberRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationPhoneNumberResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "402": {
            "description": "Payment was declined or the billing account is ineligible or delinquent"
          },
          "403": {
            "description": "Managed SMS numbers are not enabled, the plan is not entitled, or the number cap is reached"
          },
          "409": {
            "description": "Another SMS number operation is in progress; retry later"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "502": {
            "description": "The phone number provider request failed"
          },
          "503": {
            "description": "Billing configuration or Stripe is unavailable, or the payment outcome could not be confirmed"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Provision managed SMS number",
        "tags": [
          "Credentials"
        ],
        "x-fern-sdk-method-name": "provision_managed_sms_number"
      }
    },
    "/v1/sms-numbers/available": {
      "get": {
        "description": "Search for available US Skyvern-managed SMS numbers, optionally by area code.",
        "operationId": "search_available_numbers_v1_sms_numbers_available_get",
        "parameters": [
          {
            "in": "query",
            "name": "area_code",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "maxLength": 3,
                  "minLength": 3,
                  "pattern": "^[2-9][0-9]{2}$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Area Code"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/AvailableManagedPhoneNumber"
                  },
                  "title": "Response Search Available Numbers V1 Sms Numbers Available Get",
                  "type": "array"
                }
              }
            },
            "description": "Successful Response"
          },
          "403": {
            "description": "Managed SMS numbers are not enabled or the plan is not entitled"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "502": {
            "description": "The phone number provider request failed"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Search available managed SMS numbers",
        "tags": [
          "Credentials"
        ],
        "x-fern-sdk-method-name": "search_managed_sms_numbers"
      }
    },
    "/v1/sms-numbers/{phone_number_id}/release": {
      "post": {
        "description": "For billing-exempt numbers, forwarding stops immediately. For numbers with a subscription, billing and forwarding continue until the current billing period ends. Skyvern then holds the number for 30 days before it can be reassigned.",
        "operationId": "release_managed_number_v1_sms_numbers__phone_number_id__release_post",
        "parameters": [
          {
            "in": "path",
            "name": "phone_number_id",
            "required": true,
            "schema": {
              "title": "Phone Number Id",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationPhoneNumberResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "403": {
            "description": "Managed SMS numbers are not enabled for the organization"
          },
          "404": {
            "description": "The managed SMS number was not found"
          },
          "409": {
            "description": "The managed SMS number cannot be released in its current state"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "502": {
            "description": "The phone number provider cleanup request failed"
          },
          "503": {
            "description": "Billing configuration, managed SMS configuration, or Stripe is unavailable"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Release managed SMS number",
        "tags": [
          "Credentials"
        ],
        "x-fern-sdk-method-name": "release_managed_sms_number"
      }
    },
    "/v1/tag-keys": {
      "get": {
        "description": "List all tag keys registered for the organization with their descriptions.",
        "operationId": "list_tag_keys_v1_tag_keys_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/TagKey"
                  },
                  "title": "Response List Tag Keys V1 Tag Keys Get",
                  "type": "array"
                }
              }
            },
            "description": "Successfully retrieved tag keys"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List tag keys",
        "tags": [
          "Tags"
        ],
        "x-fern-sdk-method-name": "list_tag_keys",
        "x-hidden": true
      }
    },
    "/v1/tag-keys/{key}": {
      "delete": {
        "description": "Delete a tag key from the organization registry and remove that tag from every workflow that currently has it (cascade). Returns how many workflows the tag was removed from.",
        "operationId": "delete_tag_key_v1_tag_keys__key__delete",
        "parameters": [
          {
            "description": "Tag key to delete",
            "in": "path",
            "name": "key",
            "required": true,
            "schema": {
              "description": "Tag key to delete",
              "examples": [
                "env"
              ],
              "title": "Key",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagKeyDeleteResponse"
                }
              }
            },
            "description": "Successfully deleted tag key"
          },
          "404": {
            "description": "Tag key not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Delete tag key",
        "tags": [
          "Tags"
        ],
        "x-fern-sdk-method-name": "delete_tag_key",
        "x-hidden": true
      },
      "patch": {
        "description": "Update the description for a tag key.",
        "operationId": "update_tag_key_v1_tag_keys__key__patch",
        "parameters": [
          {
            "description": "Tag key to update",
            "in": "path",
            "name": "key",
            "required": true,
            "schema": {
              "description": "Tag key to update",
              "title": "Key",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TagKeyUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagKey"
                }
              }
            },
            "description": "Successfully updated tag key"
          },
          "404": {
            "description": "Tag key not found"
          },
          "422": {
            "description": "Description too long"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Update tag key",
        "tags": [
          "Tags"
        ],
        "x-fern-sdk-method-name": "update_tag_key",
        "x-hidden": true
      }
    },
    "/v1/tag-values": {
      "get": {
        "description": "List the palette color and current workflow usage count for each grouped tag (key, value) for the organization. The frontend joins these onto tags by (key, value); workflow_count is the number of non-deleted workflows carrying the label and powers the per-label usage and delete blast-radius warnings.",
        "operationId": "list_tag_values_v1_tag_values_get",
        "parameters": [
          {
            "description": "Filter to values for a single tag key",
            "in": "query",
            "name": "key",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Filter to values for a single tag key",
              "title": "Key"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/TagValue"
                  },
                  "title": "Response List Tag Values V1 Tag Values Get",
                  "type": "array"
                }
              }
            },
            "description": "Successfully retrieved tag values"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "List tag values",
        "tags": [
          "Tags"
        ],
        "x-fern-sdk-method-name": "list_tag_values",
        "x-hidden": true
      },
      "post": {
        "description": "Register a grouped tag (key, value) with a palette color before any workflow uses it. The label shows a zero workflow count until applied to a workflow.",
        "operationId": "create_tag_value_v1_tag_values_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TagValueCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagValue"
                }
              }
            },
            "description": "Successfully registered tag value"
          },
          "409": {
            "description": "Tag value already exists"
          },
          "422": {
            "description": "Invalid key, value, or color"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Create tag value",
        "tags": [
          "Tags"
        ],
        "x-fern-sdk-method-name": "create_tag_value",
        "x-hidden": true
      }
    },
    "/v1/tag-values/{key}": {
      "delete": {
        "description": "Soft-delete a grouped tag (key, value) and remove that label from every workflow carrying it (cascade). The value rides in the body so values containing '/' stay addressable. Returns how many workflows the label was removed from.",
        "operationId": "delete_tag_value_v1_tag_values__key__delete",
        "parameters": [
          {
            "description": "Tag key (group)",
            "in": "path",
            "name": "key",
            "required": true,
            "schema": {
              "description": "Tag key (group)",
              "examples": [
                "env"
              ],
              "title": "Key",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TagValueDelete"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagValueDeleteResponse"
                }
              }
            },
            "description": "Successfully deleted tag value"
          },
          "404": {
            "description": "Tag value not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Delete tag value",
        "tags": [
          "Tags"
        ],
        "x-fern-sdk-method-name": "delete_tag_value",
        "x-hidden": true
      },
      "patch": {
        "description": "Recolor a grouped tag (key, value). The value is supplied in the body so values containing '/' stay addressable. The new color must be a palette name.",
        "operationId": "update_tag_value_v1_tag_values__key__patch",
        "parameters": [
          {
            "description": "Tag key (group)",
            "in": "path",
            "name": "key",
            "required": true,
            "schema": {
              "description": "Tag key (group)",
              "examples": [
                "env"
              ],
              "title": "Key",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TagValueUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagValue"
                }
              }
            },
            "description": "Successfully recolored tag value"
          },
          "404": {
            "description": "Tag value not found"
          },
          "422": {
            "description": "Invalid palette color"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Update tag value color",
        "tags": [
          "Tags"
        ],
        "x-fern-sdk-method-name": "update_tag_value",
        "x-hidden": true
      }
    },
    "/v1/tag-values/{key}/rename": {
      "patch": {
        "description": "Rename a grouped tag (key, value) to (key, new_value). The cascade re-tags every workflow carrying the old label; the new label inherits the old color. Both values ride in the body so values containing '/' stay addressable. Rejects with 409 when the new value already exists for the key.",
        "operationId": "rename_tag_value_v1_tag_values__key__rename_patch",
        "parameters": [
          {
            "description": "Tag key (group)",
            "in": "path",
            "name": "key",
            "required": true,
            "schema": {
              "description": "Tag key (group)",
              "examples": [
                "env"
              ],
              "title": "Key",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TagValueRename"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagValueRenameResponse"
                }
              }
            },
            "description": "Successfully renamed tag value"
          },
          "404": {
            "description": "Tag value not found"
          },
          "409": {
            "description": "Target value already exists for this key"
          },
          "422": {
            "description": "Invalid value"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Rename tag value",
        "tags": [
          "Tags"
        ],
        "x-fern-sdk-method-name": "rename_tag_value",
        "x-hidden": true
      }
    },
    "/v1/upload_file": {
      "post": {
        "description": "Upload a file to Skyvern storage so runs can reference it as an input. Returns the file id, its storage URI, a presigned download URL, and the expiry implied by the requested retention period.",
        "operationId": "upload_file_v1_upload_file_post",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/Body_upload_file_v1_upload_file_post"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UploadFileResponse"
                }
              }
            },
            "description": "Successful Response"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Upload a file",
        "tags": [
          "Files"
        ],
        "x-fern-sdk-method-name": "upload_file"
      }
    },
    "/v1/version": {
      "get": {
        "description": "Returns the current Skyvern server version (git SHA for official builds).",
        "operationId": "get_version_v1_version_get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "title": "Response Get Version V1 Version Get",
                  "type": "object"
                }
              }
            },
            "description": "Current server version"
          }
        },
        "summary": "Get server version",
        "tags": [
          "Server"
        ],
        "x-fern-sdk-method-name": "get_version"
      }
    },
    "/v1/workflow-tags": {
      "get": {
        "description": "Batch fetch current tags for many workflows. Avoids N+1 on the workflows-list page.",
        "operationId": "batch_get_workflow_tags_v1_workflow_tags_get",
        "parameters": [
          {
            "description": "Comma-separated workflow permanent IDs",
            "in": "query",
            "name": "workflow_permanent_ids",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "Comma-separated workflow permanent IDs",
              "examples": [
                "wpid_123,wpid_456"
              ],
              "title": "Workflow Permanent Ids"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkflowTagsBatchResponse"
                }
              }
            },
            "description": "Successfully retrieved tags"
          },
          "400": {
            "description": "Too many workflow IDs requested"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Batch get agent tags",
        "tags": [
          "Tags"
        ],
        "x-fern-sdk-method-name": "batch_get_workflow_tags",
        "x-hidden": true
      },
      "post": {
        "description": "Batch fetch current tags for many workflows (POST variant for id lists exceeding URL length).",
        "operationId": "batch_get_workflow_tags_post_v1_workflow_tags_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkflowTagsBatchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkflowTagsBatchResponse"
                }
              }
            },
            "description": "Successfully retrieved tags"
          },
          "400": {
            "description": "Too many workflow IDs requested"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ],
        "summary": "Batch get agent tags (POST)",
        "tags": [
          "Tags"
        ],
        "x-fern-sdk-method-name": "batch_get_workflow_tags_post",
        "x-hidden": true
      }
    }
  },
  "servers": [
    {
      "url": "https://api.skyvern.com",
      "x-fern-server-name": "Cloud"
    }
  ]
}
