diff --git a/fern/openapi/skyvern_openapi.json b/fern/openapi/skyvern_openapi.json index b179e3ec..7ae96e2d 100644 --- a/fern/openapi/skyvern_openapi.json +++ b/fern/openapi/skyvern_openapi.json @@ -1061,6 +1061,23 @@ "description": "Skyvern API key for authentication. API key can be found at https://app.skyvern.com/settings." } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/RetryRunWebhookRequest" + }, + { + "type": "null" + } + ], + "title": "Request" + } + } + } + }, "responses": { "200": { "description": "Successful Response", @@ -2435,6 +2452,83 @@ ] } }, + "/v1/run/tasks/download_files": { + "post": { + "tags": [ + "Agent" + ], + "summary": "File Download Task", + "description": "Download a file from a website by navigating and clicking download buttons", + "operationId": "download_files_v1_run_tasks_download_files_post", + "parameters": [ + { + "name": "x-api-key", + "in": "header", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Skyvern API key for authentication. API key can be found at https://app.skyvern.com/settings.", + "title": "X-Api-Key" + }, + "description": "Skyvern API key for authentication. API key can be found at https://app.skyvern.com/settings." + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DownloadFilesRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WorkflowRunResponse" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + }, + "x-fern-sdk-method-name": "download_files", + "x-fern-examples": [ + { + "code-samples": [ + { + "sdk": "python", + "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": "typescript", + "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" + } + ] + } + ] + } + }, "/v1/scripts": { "post": { "tags": [ @@ -6228,6 +6322,185 @@ "title": "DeployScriptRequest", "description": "Request model for deploying a script with updated files." }, + "DownloadFilesRequest": { + "properties": { + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Url", + "description": "Website URL" + }, + "webhook_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Webhook Url", + "description": "Webhook URL to send status updates" + }, + "proxy_location": { + "anyOf": [ + { + "$ref": "#/components/schemas/ProxyLocation" + }, + { + "type": "null" + } + ], + "description": "Proxy location to use" + }, + "totp_identifier": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Totp Identifier", + "description": "Identifier for TOTP (Time-based One-Time Password) if required" + }, + "totp_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Totp Url", + "description": "TOTP URL to fetch one-time passwords" + }, + "browser_session_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Browser Session Id", + "description": "ID of the browser session to use, which is prefixed by `pbs_` e.g. `pbs_123456`", + "examples": [ + "pbs_123456" + ] + }, + "browser_profile_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Browser Profile Id", + "description": "ID of a browser profile to reuse for this run" + }, + "browser_address": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Browser Address", + "description": "The CDP address for the task.", + "examples": [ + "http://127.0.0.1:9222", + "ws://127.0.0.1:9222/devtools/browser/1234567890" + ] + }, + "extra_http_headers": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "title": "Extra Http Headers", + "description": "Additional HTTP headers to include in requests" + }, + "max_screenshot_scrolling_times": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Max Screenshot Scrolling Times", + "description": "Maximum number of times to scroll for screenshots" + }, + "navigation_goal": { + "type": "string", + "title": "Navigation Goal", + "description": "Instructions for navigating to and downloading the file" + }, + "download_suffix": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Download Suffix", + "description": "Suffix or complete filename for the downloaded file" + }, + "download_timeout": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "title": "Download Timeout", + "description": "Timeout in seconds for the download operation" + }, + "max_steps_per_run": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Max Steps Per Run", + "description": "Maximum number of steps to execute" + } + }, + "type": "object", + "required": [ + "navigation_goal" + ], + "title": "DownloadFilesRequest" + }, "DownloadToS3Block": { "properties": { "label": { @@ -11296,6 +11569,24 @@ ], "title": "ProxyLocation" }, + "RetryRunWebhookRequest": { + "properties": { + "webhook_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Webhook Url", + "description": "Optional webhook URL to send the payload to instead of the stored configuration" + } + }, + "type": "object", + "title": "RetryRunWebhookRequest" + }, "RunEngine": { "type": "string", "enum": [