changedInput schema / properties / actions / items / anyOf
Previous value: -[
- {
- "additionalProperties": false,
- "description": "Fixed delay or wait for a selector; give milliseconds, selector or both.",
- "properties": {
- "frame": {
- "anyOf": [
- {
- "maxLength": 500,
- "type": "string"
- },
- {
- "items": {
- "maxLength": 500,
- "type": "string"
- },
- "maxItems": 3,
- "minItems": 1,
- "type": "array"
- }
- ],
- "description": "Selector of the <iframe> that contains the target; a list targets nested frames, outermost first"
- },
- "milliseconds": {
- "description": "Fixed delay in ms; with selector, the wait timeout",
- "maximum": 30000,
- "minimum": 100,
- "type": "integer"
- },
- "selector": {
- "description": "CSS selector to wait for visibility",
- "maxLength": 500,
- "type": "string"
- },
- "type": {
- "enum": [
- "wait"
- ],
- "type": "string"
- }
- },
- "required": [
- "type"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "frame": {
- "anyOf": [
- {
- "maxLength": 500,
- "type": "string"
- },
- {
- "items": {
- "maxLength": 500,
- "type": "string"
- },
- "maxItems": 3,
- "minItems": 1,
- "type": "array"
- }
- ],
- "description": "Selector of the <iframe> that contains the target; a list targets nested frames, outermost first"
- },
- "selector": {
- "description": "CSS selector to wait for",
- "maxLength": 500,
- "type": "string"
- },
- "state": {
- "default": "visible",
- "description": "Element state to wait for; hidden/detached wait for disappearance (e.g. a spinner)",
- "enum": [
- "visible",
- "hidden",
- "attached",
- "detached"
- ],
- "type": "string"
- },
- "timeout": {
- "description": "Timeout in ms (default 10000)",
- "maximum": 30000,
- "minimum": 1000,
- "type": "integer"
- },
- "type": {
- "enum": [
- "wait_for"
- ],
- "type": "string"
- }
- },
- "required": [
- "type",
- "selector"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "frame": {
- "anyOf": [
- {
- "maxLength": 500,
- "type": "string"
- },
- {
- "items": {
- "maxLength": 500,
- "type": "string"
- },
- "maxItems": 3,
- "minItems": 1,
- "type": "array"
- }
- ],
- "description": "Selector of the <iframe> that contains the target; a list targets nested frames, outermost first"
- },
- "selector": {
- "description": "CSS selector of the element to click",
- "maxLength": 500,
- "type": "string"
- },
- "type": {
- "enum": [
- "click"
- ],
- "type": "string"
- }
- },
- "required": [
- "type",
- "selector"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "frame": {
- "anyOf": [
- {
- "maxLength": 500,
- "type": "string"
- },
- {
- "items": {
- "maxLength": 500,
- "type": "string"
- },
- "maxItems": 3,
- "minItems": 1,
- "type": "array"
- }
- ],
- "description": "Selector of the <iframe> that contains the target; a list targets nested frames, outermost first"
- },
- "selector": {
- "description": "CSS selector of the input",
- "maxLength": 500,
- "type": "string"
- },
- "type": {
- "enum": [
- "fill"
- ],
- "type": "string"
- },
- "value": {
- "description": "Value to fill in",
- "maxLength": 5000,
- "type": "string"
- }
- },
- "required": [
- "type",
- "selector",
- "value"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "frame": {
- "anyOf": [
- {
- "maxLength": 500,
- "type": "string"
- },
- {
- "items": {
- "maxLength": 500,
- "type": "string"
- },
- "maxItems": 3,
- "minItems": 1,
- "type": "array"
- }
- ],
- "description": "Selector of the <iframe> that contains the target; a list targets nested frames, outermost first"
- },
- "key": {
- "description": "Key to press, e.g. Enter, Tab, Escape",
- "maxLength": 50,
- "type": "string"
- },
- "selector": {
- "description": "CSS selector, or XPath when prefixed with '//' or 'xpath=' of the element to focus and press the key on; omit to press on the page",
- "maxLength": 500,
- "type": "string"
- },
- "type": {
- "enum": [
- "press"
- ],
- "type": "string"
- }
- },
- "required": [
- "type",
- "key"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "amount": {
- "default": 1,
- "description": "Viewport heights to scroll",
- "maximum": 20,
- "minimum": 1,
- "type": "integer"
- },
- "direction": {
- "default": "down",
- "enum": [
- "down",
- "up"
- ],
- "type": "string"
- },
- "type": {
- "enum": [
- "scroll"
- ],
- "type": "string"
- }
- },
- "required": [
- "type"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "delay": {
- "default": 1000,
- "description": "Delay between scrolls in ms",
- "maximum": 5000,
- "minimum": 200,
- "type": "integer"
- },
- "end_selector": {
- "description": "CSS selector that marks the end of content",
- "maxLength": 500,
- "type": "string"
- },
- "max_scrolls": {
- "default": 10,
- "description": "Maximum scroll iterations",
- "maximum": 50,
- "minimum": 1,
- "type": "integer"
- },
- "type": {
- "enum": [
- "infinite_scroll"
- ],
- "type": "string"
- }
- },
- "required": [
- "type"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "description": "Capture a screenshot at this point in the sequence.",
- "properties": {
- "full_page": {
- "default": true,
- "description": "Capture the full page or just the viewport",
- "type": "boolean"
- },
- "type": {
- "enum": [
- "screenshot"
- ],
- "type": "string"
- }
- },
- "required": [
- "type"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "script": {
- "description": "JavaScript to run in the page. Network APIs (fetch, XMLHttpRequest, WebSocket) and eval/Function are blocked.",
- "maxLength": 5120,
- "type": "string"
- },
- "type": {
- "enum": [
- "evaluate"
- ],
- "type": "string"
- }
- },
- "required": [
- "type",
- "script"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "properties": {
- "mode": {
- "default": "hide",
- "description": "hide: hide the consent overlay without changing consent state; accept/reject: click the matching button, then hide what remains.",
- "enum": [
- "hide",
- "accept",
- "reject"
- ],
- "type": "string"
- },
- "type": {
- "enum": [
- "dismiss_consent"
- ],
- "type": "string"
- }
- },
- "required": [
- "type"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "description": "Choose a dropdown option; give exactly one of value or label. action_results[i].result holds the selected values.",
- "properties": {
- "frame": {
- "anyOf": [
- {
- "maxLength": 500,
- "type": "string"
- },
- {
- "items": {
- "maxLength": 500,
- "type": "string"
- },
- "maxItems": 3,
- "minItems": 1,
- "type": "array"
- }
- ],
- "description": "Selector of the <iframe> that contains the target; a list targets nested frames, outermost first"
- },
- "label": {
- "description": "Option visible label to select",
- "maxLength": 500,
- "type": "string"
- },
- "selector": {
- "description": "CSS selector, or XPath when prefixed with '//' or 'xpath=' of the <select> element",
- "maxLength": 500,
- "type": "string"
- },
- "type": {
- "enum": [
- "select"
- ],
- "type": "string"
- },
- "value": {
- "description": "Option value attribute to select",
- "maxLength": 500,
- "type": "string"
- }
- },
- "required": [
- "type",
- "selector"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "description": "Move the pointer over an element, e.g. to open a hover menu.",
- "properties": {
- "frame": {
- "anyOf": [
- {
- "maxLength": 500,
- "type": "string"
- },
- {
- "items": {
- "maxLength": 500,
- "type": "string"
- },
- "maxItems": 3,
- "minItems": 1,
- "type": "array"
- }
- ],
- "description": "Selector of the <iframe> that contains the target; a list targets nested frames, outermost first"
- },
- "selector": {
- "description": "CSS selector, or XPath when prefixed with '//' or 'xpath=' of the element to hover",
- "maxLength": 500,
- "type": "string"
- },
- "type": {
- "enum": [
- "hover"
- ],
- "type": "string"
- }
- },
- "required": [
- "type",
- "selector"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "description": "Scroll an element into view, e.g. to reach a row of a virtualized list. Only the visible window is observed afterwards.",
- "properties": {
- "block": {
- "default": "center",
- "description": "Vertical alignment of the element in the viewport",
- "enum": [
- "start",
- "center",
- "end",
- "nearest"
- ],
- "type": "string"
- },
- "frame": {
- "anyOf": [
- {
- "maxLength": 500,
- "type": "string"
- },
- {
- "items": {
- "maxLength": 500,
- "type": "string"
- },
- "maxItems": 3,
- "minItems": 1,
- "type": "array"
- }
- ],
- "description": "Selector of the <iframe> that contains the target; a list targets nested frames, outermost first"
- },
- "selector": {
- "description": "CSS selector, or XPath when prefixed with '//' or 'xpath=' of the element to bring into view",
- "maxLength": 500,
- "type": "string"
- },
- "type": {
- "enum": [
- "scroll_into_view"
- ],
- "type": "string"
- }
- },
- "required": [
- "type",
- "selector"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "description": "Click the first element whose visible text matches.",
- "properties": {
- "exact": {
- "default": false,
- "description": "Match the whole text case-sensitively (default: case-insensitive substring)",
- "type": "boolean"
- },
- "frame": {
- "anyOf": [
- {
- "maxLength": 500,
- "type": "string"
- },
- {
- "items": {
- "maxLength": 500,
- "type": "string"
- },
- "maxItems": 3,
- "minItems": 1,
- "type": "array"
- }
- ],
- "description": "Selector of the <iframe> that contains the target; a list targets nested frames, outermost first"
- },
- "text": {
- "description": "Visible text of the element to click",
- "maxLength": 500,
- "type": "string"
- },
- "type": {
- "enum": [
- "click_text"
- ],
- "type": "string"
- }
- },
- "required": [
- "type",
- "text"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "description": "Read the first matching element's text or attribute into action_results[i].result (max 5000 chars; null when the attribute is absent).",
- "properties": {
- "attribute": {
- "description": "Attribute to return, e.g. href; omit for the visible text",
- "maxLength": 100,
- "type": "string"
- },
- "frame": {
- "anyOf": [
- {
- "maxLength": 500,
- "type": "string"
- },
- {
- "items": {
- "maxLength": 500,
- "type": "string"
- },
- "maxItems": 3,
- "minItems": 1,
- "type": "array"
- }
- ],
- "description": "Selector of the <iframe> that contains the target; a list targets nested frames, outermost first"
- },
- "selector": {
- "description": "CSS selector, or XPath when prefixed with '//' or 'xpath=' of the element to read",
- "maxLength": 500,
- "type": "string"
- },
- "type": {
- "enum": [
- "extract"
- ],
- "type": "string"
- }
- },
- "required": [
- "type",
- "selector"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "description": "Check a checkbox or radio button.",
- "properties": {
- "frame": {
- "anyOf": [
- {
- "maxLength": 500,
- "type": "string"
- },
- {
- "items": {
- "maxLength": 500,
- "type": "string"
- },
- "maxItems": 3,
- "minItems": 1,
- "type": "array"
- }
- ],
- "description": "Selector of the <iframe> that contains the target; a list targets nested frames, outermost first"
- },
- "selector": {
- "description": "CSS selector, or XPath when prefixed with '//' or 'xpath=' of the checkbox or radio",
- "maxLength": 500,
- "type": "string"
- },
- "type": {
- "enum": [
- "check"
- ],
- "type": "string"
- }
- },
- "required": [
- "type",
- "selector"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "description": "Uncheck a checkbox.",
- "properties": {
- "frame": {
- "anyOf": [
- {
- "maxLength": 500,
- "type": "string"
- },
- {
- "items": {
- "maxLength": 500,
- "type": "string"
- },
- "maxItems": 3,
- "minItems": 1,
- "type": "array"
- }
- ],
- "description": "Selector of the <iframe> that contains the target; a list targets nested frames, outermost first"
- },
- "selector": {
- "description": "CSS selector, or XPath when prefixed with '//' or 'xpath=' of the checkbox",
- "maxLength": 500,
- "type": "string"
- },
- "type": {
- "enum": [
- "uncheck"
- ],
- "type": "string"
- }
- },
- "required": [
- "type",
- "selector"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "description": "Wait until the page reaches a load state; fails on timeout.",
- "properties": {
- "event": {
- "default": "load",
- "description": "Load state to wait for",
- "enum": [
- "load",
- "domcontentloaded",
- "networkidle"
- ],
- "type": "string"
- },
- "timeout": {
- "description": "Timeout in ms (default 10000)",
- "maximum": 30000,
- "minimum": 1000,
- "type": "integer"
- },
- "type": {
- "enum": [
- "wait_event"
- ],
- "type": "string"
- }
- },
- "required": [
- "type"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "description": "Capture the page HTML or markdown at this step; delivered as action_results[i].snapshot_url",
- "properties": {
- "format": {
- "default": "html",
- "description": "Capture the rendered HTML or its markdown conversion",
- "enum": [
- "html",
- "markdown"
- ],
- "type": "string"
- },
- "type": {
- "enum": [
- "snapshot"
- ],
- "type": "string"
- }
- },
- "required": [
- "type"
- ],
- "type": "object"
- },
- {
- "additionalProperties": false,
- "description": "Not yet available (beta): requests using this action are rejected with HTTP 400 action_not_available until artifact storage ships. Capture one file download started by the page. Provide exactly one of selector or url. The file is stored privately; action_results[i].artifact holds its metadata and GET /api/v1/artifacts/{artifact_id}/url returns a short-lived signed URL",
- "properties": {
- "frame": {
- "description": "Selector of the iframe containing the selector target",
- "oneOf": [
- {
- "maxLength": 500,
- "type": "string"
- },
- {
- "items": {
- "maxLength": 500,
- "type": "string"
- },
- "maxItems": 3,
- "minItems": 1,
- "type": "array"
- }
- ]
- },
- "max_bytes": {
- "description": "Reject files larger than this",
- "maximum": 104857600,
- "minimum": 1,
- "type": "integer"
- },
- "selector": {
- "description": "CSS selector, or XPath when prefixed with '//' or 'xpath=', that starts the download",
- "maxLength": 500,
- "type": "string"
- },
- "timeout_ms": {
- "default": 15000,
- "description": "Time to wait for the download, in ms",
- "maximum": 30000,
- "minimum": 1000,
- "type": "integer"
- },
- "type": {
- "enum": [
- "download"
- ],
- "type": "string"
- },
- "url": {
- "description": "http(s) URL of a download link to open in a new tab",
- "maxLength": 2048,
- "type": "string"
- }
- },
- "required": [
- "type"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "description": "Fixed delay or wait for a selector; give milliseconds, selector or both.",
+ "properties": {
+ "frame": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array"
+ }
+ ],
+ "description": "Selector of the <iframe> that contains the target; a list targets nested frames, outermost first"
+ },
+ "milliseconds": {
+ "description": "Fixed delay in ms; with selector, the wait timeout",
+ "maximum": 30000,
+ "minimum": 100,
+ "type": "integer"
+ },
+ "selector": {
+ "description": "CSS selector to wait for visibility",
+ "maxLength": 500,
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "wait"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "frame": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array"
+ }
+ ],
+ "description": "Selector of the <iframe> that contains the target; a list targets nested frames, outermost first"
+ },
+ "selector": {
+ "description": "CSS selector to wait for",
+ "maxLength": 500,
+ "type": "string"
+ },
+ "state": {
+ "default": "visible",
+ "description": "Element state to wait for; hidden/detached wait for disappearance (e.g. a spinner)",
+ "enum": [
+ "visible",
+ "hidden",
+ "attached",
+ "detached"
+ ],
+ "type": "string"
+ },
+ "timeout": {
+ "description": "Timeout in ms (default 10000)",
+ "maximum": 30000,
+ "minimum": 1000,
+ "type": "integer"
+ },
+ "type": {
+ "enum": [
+ "wait_for"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "selector"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "frame": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array"
+ }
+ ],
+ "description": "Selector of the <iframe> that contains the target; a list targets nested frames, outermost first"
+ },
+ "selector": {
+ "description": "CSS selector of the element to click",
+ "maxLength": 500,
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "click"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "selector"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "frame": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array"
+ }
+ ],
+ "description": "Selector of the <iframe> that contains the target; a list targets nested frames, outermost first"
+ },
+ "selector": {
+ "description": "CSS selector of the input",
+ "maxLength": 500,
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "fill"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "description": "Value to fill in",
+ "maxLength": 5000,
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "selector",
+ "value"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "frame": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array"
+ }
+ ],
+ "description": "Selector of the <iframe> that contains the target; a list targets nested frames, outermost first"
+ },
+ "key": {
+ "description": "Key to press, e.g. Enter, Tab, Escape",
+ "maxLength": 50,
+ "type": "string"
+ },
+ "selector": {
+ "description": "CSS selector, or XPath when prefixed with '//' or 'xpath=' of the element to focus and press the key on; omit to press on the page",
+ "maxLength": 500,
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "press"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "key"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "default": 1,
+ "description": "Viewport heights to scroll",
+ "maximum": 20,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "direction": {
+ "default": "down",
+ "enum": [
+ "down",
+ "up"
+ ],
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "scroll"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "delay": {
+ "default": 1000,
+ "description": "Delay between scrolls in ms",
+ "maximum": 5000,
+ "minimum": 200,
+ "type": "integer"
+ },
+ "end_selector": {
+ "description": "CSS selector that marks the end of content",
+ "maxLength": 500,
+ "type": "string"
+ },
+ "max_scrolls": {
+ "default": 10,
+ "description": "Maximum scroll iterations",
+ "maximum": 50,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "type": {
+ "enum": [
+ "infinite_scroll"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "Capture a screenshot at this point in the sequence.",
+ "properties": {
+ "full_page": {
+ "default": true,
+ "description": "Capture the full page or just the viewport",
+ "type": "boolean"
+ },
+ "type": {
+ "enum": [
+ "screenshot"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "script": {
+ "description": "JavaScript to run in the page. Network APIs (fetch, XMLHttpRequest, WebSocket) and eval/Function are blocked.",
+ "maxLength": 5120,
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "evaluate"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "script"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "mode": {
+ "default": "hide",
+ "description": "hide: hide the consent overlay without changing consent state; accept/reject: click the matching button, then hide what remains.",
+ "enum": [
+ "hide",
+ "accept",
+ "reject"
+ ],
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "dismiss_consent"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "Choose a dropdown option; give exactly one of value or label. action_results[i].result holds the selected values.",
+ "properties": {
+ "frame": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array"
+ }
+ ],
+ "description": "Selector of the <iframe> that contains the target; a list targets nested frames, outermost first"
+ },
+ "label": {
+ "description": "Option visible label to select",
+ "maxLength": 500,
+ "type": "string"
+ },
+ "selector": {
+ "description": "CSS selector, or XPath when prefixed with '//' or 'xpath=' of the <select> element",
+ "maxLength": 500,
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "select"
+ ],
+ "type": "string"
+ },
+ "value": {
+ "description": "Option value attribute to select",
+ "maxLength": 500,
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "selector"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "Move the pointer over an element, e.g. to open a hover menu.",
+ "properties": {
+ "frame": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array"
+ }
+ ],
+ "description": "Selector of the <iframe> that contains the target; a list targets nested frames, outermost first"
+ },
+ "selector": {
+ "description": "CSS selector, or XPath when prefixed with '//' or 'xpath=' of the element to hover",
+ "maxLength": 500,
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "hover"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "selector"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "Scroll an element into view, e.g. to reach a row of a virtualized list. Only the visible window is observed afterwards.",
+ "properties": {
+ "block": {
+ "default": "center",
+ "description": "Vertical alignment of the element in the viewport",
+ "enum": [
+ "start",
+ "center",
+ "end",
+ "nearest"
+ ],
+ "type": "string"
+ },
+ "frame": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array"
+ }
+ ],
+ "description": "Selector of the <iframe> that contains the target; a list targets nested frames, outermost first"
+ },
+ "selector": {
+ "description": "CSS selector, or XPath when prefixed with '//' or 'xpath=' of the element to bring into view",
+ "maxLength": 500,
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "scroll_into_view"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "selector"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "Click the first element whose visible text matches.",
+ "properties": {
+ "exact": {
+ "default": false,
+ "description": "Match the whole text case-sensitively (default: case-insensitive substring)",
+ "type": "boolean"
+ },
+ "frame": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array"
+ }
+ ],
+ "description": "Selector of the <iframe> that contains the target; a list targets nested frames, outermost first"
+ },
+ "text": {
+ "description": "Visible text of the element to click",
+ "maxLength": 500,
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "click_text"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "text"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "Read the first matching element's text or attribute into action_results[i].result (max 5000 chars; null when the attribute is absent).",
+ "properties": {
+ "attribute": {
+ "description": "Attribute to return, e.g. href; omit for the visible text",
+ "maxLength": 100,
+ "type": "string"
+ },
+ "frame": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array"
+ }
+ ],
+ "description": "Selector of the <iframe> that contains the target; a list targets nested frames, outermost first"
+ },
+ "selector": {
+ "description": "CSS selector, or XPath when prefixed with '//' or 'xpath=' of the element to read",
+ "maxLength": 500,
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "extract"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "selector"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "Check a checkbox or radio button.",
+ "properties": {
+ "frame": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array"
+ }
+ ],
+ "description": "Selector of the <iframe> that contains the target; a list targets nested frames, outermost first"
+ },
+ "selector": {
+ "description": "CSS selector, or XPath when prefixed with '//' or 'xpath=' of the checkbox or radio",
+ "maxLength": 500,
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "check"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "selector"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "Uncheck a checkbox.",
+ "properties": {
+ "frame": {
+ "anyOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array"
+ }
+ ],
+ "description": "Selector of the <iframe> that contains the target; a list targets nested frames, outermost first"
+ },
+ "selector": {
+ "description": "CSS selector, or XPath when prefixed with '//' or 'xpath=' of the checkbox",
+ "maxLength": 500,
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "uncheck"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "selector"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "Wait until the page reaches a load state; fails on timeout.",
+ "properties": {
+ "event": {
+ "default": "load",
+ "description": "Load state to wait for",
+ "enum": [
+ "load",
+ "domcontentloaded",
+ "networkidle"
+ ],
+ "type": "string"
+ },
+ "timeout": {
+ "description": "Timeout in ms (default 10000)",
+ "maximum": 30000,
+ "minimum": 1000,
+ "type": "integer"
+ },
+ "type": {
+ "enum": [
+ "wait_event"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "Capture the page HTML or markdown at this step; delivered as action_results[i].snapshot_url",
+ "properties": {
+ "format": {
+ "default": "html",
+ "description": "Capture the rendered HTML or its markdown conversion",
+ "enum": [
+ "html",
+ "markdown"
+ ],
+ "type": "string"
+ },
+ "type": {
+ "enum": [
+ "snapshot"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "Return a capped map of the visible page elements; delivered as action_results[i].element_map (viewport, page size, elements with bounding box, tag, text and candidate CSS/XPath selectors)",
+ "properties": {
+ "max_elements": {
+ "default": 200,
+ "description": "Maximum number of elements returned (1-500)",
+ "maximum": 500,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "type": {
+ "enum": [
+ "inspect"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "description": "Not yet available (beta): requests using this action are rejected with HTTP 400 action_not_available until artifact storage ships. Capture one file download started by the page. Provide exactly one of selector or url. The file is stored privately; action_results[i].artifact holds its metadata and GET /api/v1/artifacts/{artifact_id}/url returns a short-lived signed URL",
+ "properties": {
+ "frame": {
+ "description": "Selector of the iframe containing the selector target",
+ "oneOf": [
+ {
+ "maxLength": 500,
+ "type": "string"
+ },
+ {
+ "items": {
+ "maxLength": 500,
+ "type": "string"
+ },
+ "maxItems": 3,
+ "minItems": 1,
+ "type": "array"
+ }
+ ]
+ },
+ "max_bytes": {
+ "description": "Reject files larger than this",
+ "maximum": 104857600,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "selector": {
+ "description": "CSS selector, or XPath when prefixed with '//' or 'xpath=', that starts the download",
+ "maxLength": 500,
+ "type": "string"
+ },
+ "timeout_ms": {
+ "default": 15000,
+ "description": "Time to wait for the download, in ms",
+ "maximum": 30000,
+ "minimum": 1000,
+ "type": "integer"
+ },
+ "type": {
+ "enum": [
+ "download"
+ ],
+ "type": "string"
+ },
+ "url": {
+ "description": "http(s) URL of a download link to open in a new tab",
+ "maxLength": 2048,
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object"
+ }
+]