Skip to content

Skyvern: Tasks schemas

11 Skyvern schemas with complete fields and constraints.

← Tasks operations · All schemas

File Download Task — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
browser_addressJSONOptionalThe CDP address for the task.
browser_address (anyOf 1)stringAlternative
browser_address (anyOf 2)nullAlternative
browser_profile_idJSONOptionalID of a browser profile to reuse for this run
browser_profile_id (anyOf 1)stringAlternative
browser_profile_id (anyOf 2)nullAlternative
browser_session_idJSONOptionalID of the browser session to use, which is prefixed by `pbs_` e.g. `pbs_123456`
browser_session_id (anyOf 1)stringAlternative
browser_session_id (anyOf 2)nullAlternative
cdp_connect_headersJSONOptionalHTTP headers attached ONLY to the CDP WebSocket handshake when connecting to a remote browser via browser_address. Never forwarded to target websites.
cdp_connect_headers (anyOf 1)objectAlternativeAdditional keys: see wildcard field
cdp_connect_headers (anyOf 1).*stringAdditional keys
cdp_connect_headers (anyOf 2)nullAlternative
download_suffixJSONOptionalComplete 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.
download_suffix (anyOf 1)stringAlternative
download_suffix (anyOf 2)nullAlternative
download_timeoutJSONOptionalTimeout in seconds for the download operation
download_timeout (anyOf 1)numberAlternative
download_timeout (anyOf 2)nullAlternative
extra_http_headersJSONOptionalAdditional HTTP headers to include in requests
extra_http_headers (anyOf 1)objectAlternativeAdditional keys: see wildcard field
extra_http_headers (anyOf 1).*stringAdditional keys
extra_http_headers (anyOf 2)nullAlternative
max_screenshot_scrolling_timesJSONOptionalMaximum number of times to scroll for screenshots
max_screenshot_scrolling_times (anyOf 1)integerAlternative
max_screenshot_scrolling_times (anyOf 2)nullAlternative
max_steps_per_runJSONOptionalMaximum number of steps to execute
max_steps_per_run (anyOf 1)integerAlternative
max_steps_per_run (anyOf 2)nullAlternative
navigation_goalstringRequired within parentInstructions for navigating to and downloading the file
proxy_locationJSONOptionalProxy location to use
proxy_location (anyOf 1)stringAlternativeOne of: 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
proxy_location (anyOf 2)nullAlternative
start_fresh_browserbooleanOptionalWhen 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.
Default: false
totp_identifierJSONOptionalIdentifier for TOTP (Time-based One-Time Password) if required
totp_identifier (anyOf 1)stringAlternative
totp_identifier (anyOf 2)nullAlternative
totp_urlJSONOptionalTOTP URL to fetch one-time passwords
totp_url (anyOf 1)stringAlternative
totp_url (anyOf 2)nullAlternative
urlJSONOptionalWebsite URL
url (anyOf 1)stringAlternative
url (anyOf 2)nullAlternative
webhook_urlJSONOptionalWebhook URL to send status updates
webhook_url (anyOf 1)stringAlternative
webhook_url (anyOf 2)nullAlternative

Login Task — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
azure_vault_nameJSONOptionalAzure Vault Name
azure_vault_name (anyOf 1)stringAlternative
azure_vault_name (anyOf 2)nullAlternative
azure_vault_password_keyJSONOptionalAzure Vault password key
azure_vault_password_key (anyOf 1)stringAlternative
azure_vault_password_key (anyOf 2)nullAlternative
azure_vault_totp_secret_keyJSONOptionalAzure Vault TOTP secret key
azure_vault_totp_secret_key (anyOf 1)stringAlternative
azure_vault_totp_secret_key (anyOf 2)nullAlternative
azure_vault_username_keyJSONOptionalAzure Vault username key
azure_vault_username_key (anyOf 1)stringAlternative
azure_vault_username_key (anyOf 2)nullAlternative
bitwarden_collection_idJSONOptionalBitwarden collection ID. You can find it in the Bitwarden collection URL. e.g. `https://vault.bitwarden.com/vaults/collection_id/items`
bitwarden_collection_id (anyOf 1)stringAlternative
bitwarden_collection_id (anyOf 2)nullAlternative
bitwarden_item_idJSONOptionalBitwarden item ID
bitwarden_item_id (anyOf 1)stringAlternative
bitwarden_item_id (anyOf 2)nullAlternative
browser_addressJSONOptionalThe CDP address for the task.
browser_address (anyOf 1)stringAlternative
browser_address (anyOf 2)nullAlternative
browser_profile_idJSONOptionalID of a browser profile to reuse for this run
browser_profile_id (anyOf 1)stringAlternative
browser_profile_id (anyOf 2)nullAlternative
browser_session_idJSONOptionalID of the browser session to use, which is prefixed by `pbs_` e.g. `pbs_123456`
browser_session_id (anyOf 1)stringAlternative
browser_session_id (anyOf 2)nullAlternative
cdp_connect_headersJSONOptionalHTTP headers attached ONLY to the CDP WebSocket handshake when connecting to a remote browser via browser_address. Never forwarded to target websites.
cdp_connect_headers (anyOf 1)objectAlternativeAdditional keys: see wildcard field
cdp_connect_headers (anyOf 1).*stringAdditional keys
cdp_connect_headers (anyOf 2)nullAlternative
credential_idJSONOptionalID of the Skyvern credential to use for login.
credential_id (anyOf 1)stringAlternative
credential_id (anyOf 2)nullAlternative
credential_typestringRequired within parentWhere to get the credential from
One of: skyvern, bitwarden, 1password, azure_vault
extra_http_headersJSONOptionalAdditional HTTP headers to include in requests
extra_http_headers (anyOf 1)objectAlternativeAdditional keys: see wildcard field
extra_http_headers (anyOf 1).*stringAdditional keys
extra_http_headers (anyOf 2)nullAlternative
max_screenshot_scrolling_timesJSONOptionalMaximum number of times to scroll for screenshots
max_screenshot_scrolling_times (anyOf 1)integerAlternative
max_screenshot_scrolling_times (anyOf 2)nullAlternative
onepassword_item_idJSONOptional1Password item ID
onepassword_item_id (anyOf 1)stringAlternative
onepassword_item_id (anyOf 2)nullAlternative
onepassword_totp_field_nameJSONOptional1Password item field id or label to treat as the TOTP secret, overriding 1Password's own field-type detection
onepassword_totp_field_name (anyOf 1)stringAlternative
onepassword_totp_field_name (anyOf 2)nullAlternative
onepassword_vault_idJSONOptional1Password vault ID
onepassword_vault_id (anyOf 1)stringAlternative
onepassword_vault_id (anyOf 2)nullAlternative
promptJSONOptionalLogin instructions. Skyvern has default prompt/instruction for login if this field is not provided.
prompt (anyOf 1)stringAlternative
prompt (anyOf 2)nullAlternative
proxy_locationJSONOptionalProxy location to use
proxy_location (anyOf 1)stringAlternativeOne of: 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
proxy_location (anyOf 2)nullAlternative
start_fresh_browserbooleanOptionalWhen 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.
Default: false
totp_identifierJSONOptionalIdentifier for TOTP (Time-based One-Time Password) if required
totp_identifier (anyOf 1)stringAlternative
totp_identifier (anyOf 2)nullAlternative
totp_urlJSONOptionalTOTP URL to fetch one-time passwords
totp_url (anyOf 1)stringAlternative
totp_url (anyOf 2)nullAlternative
urlJSONOptionalWebsite URL
url (anyOf 1)stringAlternative
url (anyOf 2)nullAlternative
webhook_urlJSONOptionalWebhook URL to send status updates
webhook_url (anyOf 1)stringAlternative
webhook_url (anyOf 2)nullAlternative

Login Task — response body

FieldTypePresenceDescription and constraints
$objectRoot
ai_fallbackJSONOptionalWhether to fallback to AI if code run fails.
ai_fallback (anyOf 1)booleanAlternative
ai_fallback (anyOf 2)nullAlternative
app_urlJSONOptionalURL to the application UI where the run can be viewed
app_url (anyOf 1)stringAlternative
app_url (anyOf 2)nullAlternative
attemptJSONOptional
attempt (anyOf 1)integerAlternativeOne-based number of the current workflow run attempt
Default: 1
attempt (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
attemptsarrayOptionalAttempts recorded for this workflow run
attempts[]ModelEach itemExpand Login Task — response body — attempts item
browser_profile_idJSONOptionalID of the browser profile used for this run
browser_profile_id (anyOf 1)stringAlternative
browser_profile_id (anyOf 2)nullAlternative
browser_seed_sourceJSONOptionalWhich layer of the seed-precedence chain seeded this run's browser (provenance).
browser_seed_source (anyOf 1)ModelAlternativeExpand Login Task — response body — browser seed source string
browser_seed_source (anyOf 2)nullAlternative
browser_session_idJSONOptionalID of the Skyvern persistent browser session used for this run
browser_session_id (anyOf 1)stringAlternative
browser_session_id (anyOf 2)nullAlternative
browser_settings_receiptJSONOptionalThe 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.
browser_settings_receipt (anyOf 1)ModelAlternativeExpand Login Task — response body — browser_settings_receipt / source: workflow version, session request, existing session, status: verified, mismatch, unapplied, unknown
browser_settings_receipt (anyOf 2)nullAlternative
created_atstringRequired within parentTimestamp when this run was created
Format: date-time
downloaded_filesJSONOptionalList of files downloaded during the run
downloaded_files (anyOf 1)arrayAlternative
downloaded_files (anyOf 1)[]ModelEach itemExpand Get a session — response body — recordings array item
downloaded_files (anyOf 2)nullAlternative
errorsJSONOptionalThe errors for the run
errors (anyOf 1)arrayAlternative
errors (anyOf 1)[]objectEach itemAdditional keys: allowed
errors (anyOf 2)nullAlternative
failure_reasonJSONOptionalReason for failure if the run failed or terminated
failure_reason (anyOf 1)stringAlternative
failure_reason (anyOf 2)nullAlternative
finished_atJSONOptionalTimestamp when this run finished
finished_at (anyOf 1)stringAlternativeFormat: date-time
finished_at (anyOf 2)nullAlternative
max_screenshot_scrollsJSONOptionalThe maximum number of scrolls for the post action screenshot. When it's None or 0, it takes the current viewpoint screenshot
max_screenshot_scrolls (anyOf 1)JSONAlternative
max_screenshot_scrolls (anyOf 1) (anyOf 1)integerAlternative
max_screenshot_scrolls (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
max_screenshot_scrolls (anyOf 2)nullAlternative
modified_atstringRequired within parentTimestamp when this run was last modified
Format: date-time
next_attempt_atJSONOptionalTimestamp when the next workflow run attempt is scheduled
next_attempt_at (anyOf 1)stringAlternativeFormat: date-time
next_attempt_at (anyOf 2)nullAlternative
outputJSONOptionalOutput data from the run, if any. Format/schema depends on the data extracted by the run.
output (anyOf 1)objectAlternativeAdditional keys: allowed
output (anyOf 2)arrayAlternative
output (anyOf 2)[]JSONEach item
output (anyOf 3)stringAlternative
output (anyOf 4)nullAlternative
queued_atJSONOptionalTimestamp when this run was queued
queued_at (anyOf 1)stringAlternativeFormat: date-time
queued_at (anyOf 2)nullAlternative
recording_archivedbooleanOptionalTrue when the recording exists but has been archived to cold storage and is not currently accessible.
Default: false
recording_urlJSONOptionalURL to the recording of the run
recording_url (anyOf 1)stringAlternative
recording_url (anyOf 2)nullAlternative
retry_pendingbooleanOptionalWhether another attempt is scheduled for this workflow run
Default: false
run_idstringRequired within parentUnique identifier for this run. Run ID starts with `tsk_` for task runs and `wr_` for workflow runs.
run_requestJSONOptionalThe original request parameters used to start this workflow run
run_request (anyOf 1)ModelAlternativeExpand Login Task — response body — run request ai fallback, browser address, browser profile id, browser session id, browser type, cdp connect headers, extra http headers, file ids, max elapsed time minutes, max screenshot scrolls, parameters, proxy location, reuse browser session, run metadata, run with, start fresh browser, title, totp identifier, totp url, webhook url, workflow id
run_request (anyOf 2)nullAlternative
run_typestringRequired within parentType of run - always workflow_run for workflow runs
Must equal: workflow_run
run_withstringOptionalWhether the workflow run was executed with agent or code
Default: agent
screenshot_urlsJSONOptionalList of last n screenshot URLs in reverse chronological order - the first one the list is the latest screenshot.
screenshot_urls (anyOf 1)arrayAlternative
screenshot_urls (anyOf 1)[]stringEach item
screenshot_urls (anyOf 2)nullAlternative
script_idJSONOptionalID of the cached script used for this workflow run, if any.
script_id (anyOf 1)stringAlternative
script_id (anyOf 2)nullAlternative
script_runJSONOptionalThe script run result
script_run (anyOf 1)ModelAlternativeExpand Login Task — response body — script run ai fallback triggered, script id, script revision id
script_run (anyOf 2)nullAlternative
started_atJSONOptionalTimestamp when this run started execution
started_at (anyOf 1)stringAlternativeFormat: date-time
started_at (anyOf 2)nullAlternative
statusstringRequired within parentCurrent status of the run
Known values: created, queued, running, paused, timed_out, failed, terminated, completed, canceled
step_countJSONOptionalTotal number of steps executed in this run
step_count (anyOf 1)JSONAlternative
step_count (anyOf 1) (anyOf 1)integerAlternative
step_count (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
step_count (anyOf 2)nullAlternative

Referenced models: Login Task — response body — browser seed source string, Login Task — response body — browser_settings_receipt / source: workflow version, session request, existing session, status: verified, mismatch, unapplied, unknown, Get a session — response body — recordings array item, Login Task — response body — script run ai fallback triggered, script id, script revision id, Login Task — response body — attempts item, Login Task — response body — run request ai fallback, browser address, browser profile id, browser session id, browser type, cdp connect headers, extra http headers, file ids, max elapsed time minutes, max screenshot scrolls, parameters, proxy location, reuse browser session, run metadata, run with, start fresh browser, title, totp identifier, totp url, webhook url, workflow id

Login Task — response body — attempts item

FieldTypePresenceDescription and constraints
$objectRoot
attempt_numberJSONRequired within parent
attempt_number (anyOf 1)integerAlternativeOne-based number of this workflow run attempt
attempt_number (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
decision_reasonJSONOptionalReason recorded for the retry decision
decision_reason (anyOf 1)stringAlternative
decision_reason (anyOf 2)nullAlternative
error_codesarrayOptionalError codes reported by this attempt
error_codes[]stringEach item
failure_reasonJSONOptionalReason for failure, if the attempt failed
failure_reason (anyOf 1)stringAlternative
failure_reason (anyOf 2)nullAlternative
finished_atJSONOptionalTimestamp when this attempt finished
finished_at (anyOf 1)stringAlternativeFormat: date-time
finished_at (anyOf 2)nullAlternative
next_attempt_atJSONOptionalTimestamp when the next attempt is scheduled
next_attempt_at (anyOf 1)stringAlternativeFormat: date-time
next_attempt_at (anyOf 2)nullAlternative
retry_decisionJSONOptionalRetry decision recorded for this attempt
retry_decision (anyOf 1)stringAlternative
retry_decision (anyOf 2)nullAlternative
started_atJSONOptionalTimestamp when this attempt started
started_at (anyOf 1)stringAlternativeFormat: date-time
started_at (anyOf 2)nullAlternative
statusstringRequired within parentStatus of this workflow run attempt
Known values: created, queued, running, paused, timed_out, failed, terminated, completed, canceled
webhook_sent_atJSONOptionalTimestamp when the webhook for this attempt was sent
webhook_sent_at (anyOf 1)stringAlternativeFormat: date-time
webhook_sent_at (anyOf 2)nullAlternative

Login Task — response body — browser seed source string

FieldTypePresenceDescription and constraints
$stringRootWhich layer of the seed-precedence chain seeded a run's browser (provenance).

Resolved once at run setup, before any browser creation, for all run types (C-semantics).
- override: explicit request browser_profile_id (one-run-only pick via API)
- picked: the workflow's explicit profile pick (workflows.browser_profile_id) — "always start here"
- own_memory: the workflow's own auto-profile (no pick + persist_browser_session)
- credential: the run's selected credential's profile (rotation-aware; also the empty-own boot)
- fresh: no seed profile
- degraded_fresh: a resolved profile failed to load; ran fresh
Known values: override, picked, own_memory, credential, fresh, degraded_fresh

Login Task — response body — browser_settings_receipt / source: workflow version, session request, existing session, status: verified, mismatch, unapplied, unknown

FieldTypePresenceDescription and constraints
$objectRoot
actual_timezone_idJSONOptionalThe timezone the browser reported when measured, or null when it could not be measured.
actual_timezone_id (anyOf 1)stringAlternative
actual_timezone_id (anyOf 2)nullAlternative
requested_timezone_idstringRequired within parentThe timezone that was requested.
sourcestringRequired within parentWhere the requested setting came from.
Known values: workflow_version, session_request, existing_session
statusstringRequired within parent`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.
Known values: verified, mismatch, unapplied, unknown
warningJSONOptional
warning (anyOf 1)stringAlternative
warning (anyOf 2)nullAlternative

Login Task — response body — run request ai fallback, browser address, browser profile id, browser session id, browser type, cdp connect headers, extra http headers, file ids, max elapsed time minutes, max screenshot scrolls, parameters, proxy location, reuse browser session, run metadata, run with, start fresh browser, title, totp identifier, totp url, webhook url, workflow id

FieldTypePresenceDescription and constraints
$objectRoot
ai_fallbackJSONOptionalWhether to fallback to AI if the workflow run fails.
ai_fallback (anyOf 1)booleanAlternative
ai_fallback (anyOf 2)nullAlternative
browser_addressJSONOptionalThe CDP address for the workflow run.
browser_address (anyOf 1)stringAlternative
browser_address (anyOf 2)nullAlternative
browser_profile_idJSONOptionalID of a browser profile to reuse for this workflow run
browser_profile_id (anyOf 1)stringAlternative
browser_profile_id (anyOf 2)nullAlternative
browser_session_idJSONOptionalID of a Skyvern browser session to reuse, having it continue from the current screen state
browser_session_id (anyOf 1)stringAlternative
browser_session_id (anyOf 2)nullAlternative
browser_typeJSONOptionalBrowser 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.
browser_type (anyOf 1)stringAlternative
browser_type (anyOf 2)nullAlternative
cdp_connect_headersJSONOptionalHTTP 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.
cdp_connect_headers (anyOf 1)objectAlternativeAdditional keys: see wildcard field
cdp_connect_headers (anyOf 1).*stringAdditional keys
cdp_connect_headers (anyOf 2)nullAlternative
extra_http_headersJSONOptionalThe extra HTTP headers for the requests in browser.
extra_http_headers (anyOf 1)objectAlternativeAdditional keys: see wildcard field
extra_http_headers (anyOf 1).*stringAdditional keys
extra_http_headers (anyOf 2)nullAlternative
file_idsJSONOptional
Ids 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.
file_ids (anyOf 1)arrayAlternativeMaximum items: 50
file_ids (anyOf 1)[]stringEach item
file_ids (anyOf 2)nullAlternative
max_elapsed_time_minutesJSONOptionalTimeout 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.
max_elapsed_time_minutes (anyOf 1)JSONAlternative
max_elapsed_time_minutes (anyOf 1) (anyOf 1)integerAlternativeMaximum: 480.0
Minimum: 1.0
max_elapsed_time_minutes (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
max_elapsed_time_minutes (anyOf 2)nullAlternative
max_screenshot_scrollsJSONOptionalThe maximum number of scrolls for the post action screenshot. When it's None or 0, it takes the current viewpoint screenshot.
max_screenshot_scrolls (anyOf 1)JSONAlternative
max_screenshot_scrolls (anyOf 1) (anyOf 1)integerAlternative
max_screenshot_scrolls (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
max_screenshot_scrolls (anyOf 2)nullAlternative
parametersJSONOptionalParameters to pass to the workflow
parameters (anyOf 1)objectAlternativeAdditional keys: allowed
parameters (anyOf 2)nullAlternative
proxy_locationJSONOptional
Geographic Proxy location to route the browser traffic through. This is only available in Skyvern Cloud.

Available geotargeting options:
- RESIDENTIAL: the default value. Skyvern Cloud uses a random US residential proxy.
- RESIDENTIAL_ES: Spain
- RESIDENTIAL_IE: Ireland
- RESIDENTIAL_GB: United Kingdom
- RESIDENTIAL_IN: India
- RESIDENTIAL_JP: Japan
- RESIDENTIAL_FR: France
- RESIDENTIAL_DE: Germany
- RESIDENTIAL_NZ: New Zealand
- RESIDENTIAL_PH: Philippines
- RESIDENTIAL_KR: South Korea
- RESIDENTIAL_SA: Saudi Arabia
- RESIDENTIAL_ZA: South Africa
- RESIDENTIAL_AR: Argentina
- RESIDENTIAL_AU: Australia
- RESIDENTIAL_BR: Brazil
- RESIDENTIAL_TR: Turkey
- RESIDENTIAL_CA: Canada
- RESIDENTIAL_MX: Mexico
- RESIDENTIAL_IT: Italy
- RESIDENTIAL_NL: Netherlands
- RESIDENTIAL_ISP: ISP proxy
- US-CA: California (deprecated, routes through RESIDENTIAL_ISP)
- US-NY: New York (deprecated, routes through RESIDENTIAL_ISP)
- US-TX: Texas (deprecated, routes through RESIDENTIAL_ISP)
- US-FL: Florida (deprecated, routes through RESIDENTIAL_ISP)
- US-WA: Washington (deprecated, routes through RESIDENTIAL_ISP)
- NONE: No proxy

For 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"}
Default: RESIDENTIAL
proxy_location (anyOf 1)ModelAlternativeExpand Update an agent — response body — proxy location string
proxy_location (anyOf 2)ModelAlternativeExpand Update an agent — response body — proxy location city, country, is ISP, subdivision
proxy_location (anyOf 3)objectAlternativeAdditional keys: allowed
proxy_location (anyOf 4)nullAlternative
reuse_browser_sessionJSONOptionalOverride 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.
reuse_browser_session (anyOf 1)booleanAlternative
reuse_browser_session (anyOf 2)nullAlternative
run_metadataJSONOptionalString key/value metadata to attach to this workflow run for analytics tag filtering.
run_metadata (anyOf 1)objectAlternativeAdditional keys: see wildcard field
run_metadata (anyOf 1).*stringAdditional keys
run_metadata (anyOf 2)nullAlternative
run_withJSONOptionalWhether to run the workflow with agent or code. Null inherits from the workflow setting.
run_with (anyOf 1)stringAlternative
run_with (anyOf 2)nullAlternative
start_fresh_browserbooleanOptionalWhen 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.
Default: false
titleJSONOptionalThe title for this workflow run
title (anyOf 1)stringAlternative
title (anyOf 2)nullAlternative
totp_identifierJSONOptional
Identifier 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.
totp_identifier (anyOf 1)stringAlternative
totp_identifier (anyOf 2)nullAlternative
totp_urlJSONOptional
URL 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.
totp_url (anyOf 1)stringAlternative
totp_url (anyOf 2)nullAlternative
webhook_urlJSONOptionalURL 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.
webhook_url (anyOf 1)stringAlternative
webhook_url (anyOf 2)nullAlternative
workflow_idstringRequired within parentID of the agent to run. Starts with `wpid_`. `workflow_id` is accepted as an alias.

Referenced models: Update an agent — response body — proxy location city, country, is ISP, subdivision, Update an agent — response body — proxy location string

Login Task — response body — script run ai fallback triggered, script id, script revision id

FieldTypePresenceDescription and constraints
$objectRoot
ai_fallback_triggeredbooleanOptionalDefault: false
script_idJSONOptional
script_id (anyOf 1)stringAlternative
script_id (anyOf 2)nullAlternative
script_revision_idJSONOptional
script_revision_id (anyOf 1)stringAlternative
script_revision_id (anyOf 2)nullAlternative

Run a task — request body — body

FieldTypePresenceDescription and constraints
$objectRoot
browser_addressJSONOptionalThe CDP address for the task.
browser_address (anyOf 1)stringAlternative
browser_address (anyOf 2)nullAlternative
browser_profile_idJSONOptionalID of a browser profile to reuse for this task
browser_profile_id (anyOf 1)stringAlternative
browser_profile_id (anyOf 2)nullAlternative
browser_session_idJSONOptional
Run 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.
browser_session_id (anyOf 1)stringAlternative
browser_session_id (anyOf 2)nullAlternative
cdp_connect_headersJSONOptionalHTTP 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.
cdp_connect_headers (anyOf 1)objectAlternativeAdditional keys: see wildcard field
cdp_connect_headers (anyOf 1).*stringAdditional keys
cdp_connect_headers (anyOf 2)nullAlternative
data_extraction_schemaJSONOptional
The 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/.
data_extraction_schema (anyOf 1)objectAlternativeAdditional keys: allowed
data_extraction_schema (anyOf 2)arrayAlternative
data_extraction_schema (anyOf 2)[]JSONEach item
data_extraction_schema (anyOf 3)stringAlternative
data_extraction_schema (anyOf 4)nullAlternative
enginestringOptional
The 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.

One of: skyvern-1.0, skyvern-2.0, skyvern-3.0, openai-cua, anthropic-cua, ui-tars, yutori-navigator
Default: skyvern-1.0
error_code_mappingJSONOptional
Custom mapping of error codes to error messages if Skyvern encounters an error.
error_code_mapping (anyOf 1)objectAlternativeAdditional keys: see wildcard field
error_code_mapping (anyOf 1).*stringAdditional keys
error_code_mapping (anyOf 2)nullAlternative
extra_http_headersJSONOptionalThe extra HTTP headers for the requests in browser.
extra_http_headers (anyOf 1)objectAlternativeAdditional keys: see wildcard field
extra_http_headers (anyOf 1).*stringAdditional keys
extra_http_headers (anyOf 2)nullAlternative
file_idsJSONOptional
Ids 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.
file_ids (anyOf 1)arrayAlternativeMaximum items: 50
file_ids (anyOf 1)[]stringEach item
file_ids (anyOf 2)nullAlternative
include_action_history_in_verificationJSONOptionalWhether to include action history when verifying that the task is complete
Default: false
include_action_history_in_verification (anyOf 1)booleanAlternative
include_action_history_in_verification (anyOf 2)nullAlternative
max_screenshot_scrollsJSONOptionalThe maximum number of scrolls for the post action screenshot. When it's None or 0, it takes the current viewpoint screenshot.
max_screenshot_scrolls (anyOf 1)integerAlternative
max_screenshot_scrolls (anyOf 2)nullAlternative
max_stepsJSONOptional
Maximum 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.
max_steps (anyOf 1)integerAlternative
max_steps (anyOf 2)nullAlternative
modelJSONOptional
Optional model configuration.
model (anyOf 1)objectAlternativeAdditional keys: allowed
model (anyOf 2)nullAlternative
promptstringRequired within parent
The goal or task description for Skyvern to accomplish
proxy_locationJSONOptional
Geographic Proxy location to route the browser traffic through. This is only available in Skyvern Cloud.

Available geotargeting options:
- RESIDENTIAL: the default value. Skyvern Cloud uses a random US residential proxy.
- RESIDENTIAL_ES: Spain
- RESIDENTIAL_IE: Ireland
- RESIDENTIAL_GB: United Kingdom
- RESIDENTIAL_IN: India
- RESIDENTIAL_JP: Japan
- RESIDENTIAL_FR: France
- RESIDENTIAL_DE: Germany
- RESIDENTIAL_NZ: New Zealand
- RESIDENTIAL_PH: Philippines
- RESIDENTIAL_KR: South Korea
- RESIDENTIAL_SA: Saudi Arabia
- RESIDENTIAL_ZA: South Africa
- RESIDENTIAL_AR: Argentina
- RESIDENTIAL_AU: Australia
- RESIDENTIAL_BR: Brazil
- RESIDENTIAL_TR: Turkey
- RESIDENTIAL_CA: Canada
- RESIDENTIAL_MX: Mexico
- RESIDENTIAL_IT: Italy
- RESIDENTIAL_NL: Netherlands
- RESIDENTIAL_ISP: ISP proxy
- US-CA: California (deprecated, routes through RESIDENTIAL_ISP)
- US-NY: New York (deprecated, routes through RESIDENTIAL_ISP)
- US-TX: Texas (deprecated, routes through RESIDENTIAL_ISP)
- US-FL: Florida (deprecated, routes through RESIDENTIAL_ISP)
- US-WA: Washington (deprecated, routes through RESIDENTIAL_ISP)
- NONE: No proxy

For 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"}
Default: RESIDENTIAL
proxy_location (anyOf 1)stringAlternativeOne of: 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
proxy_location (anyOf 2)ModelAlternativeExpand Update an agent — response body — proxy location city, country, is ISP, subdivision
proxy_location (anyOf 3)objectAlternativeAdditional keys: allowed
proxy_location (anyOf 4)nullAlternative
publish_workflowbooleanOptionalDeprecated. 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.
Default: false
run_withJSONOptionalWhether to run the task with agent or code. Null means use the default.
run_with (anyOf 1)stringAlternative
run_with (anyOf 2)nullAlternative
start_fresh_browserbooleanOptionalWhen 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.
Default: false
titleJSONOptionalThe title for the task
title (anyOf 1)stringAlternative
title (anyOf 2)nullAlternative
totp_identifierJSONOptional
Identifier 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.
totp_identifier (anyOf 1)stringAlternative
totp_identifier (anyOf 2)nullAlternative
totp_urlJSONOptional
URL 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.
totp_url (anyOf 1)stringAlternative
totp_url (anyOf 2)nullAlternative
urlJSONOptional
The starting URL for the task. If not provided, Skyvern will attempt to determine an appropriate URL
url (anyOf 1)stringAlternative
url (anyOf 2)nullAlternative
webhook_urlJSONOptional
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.
webhook_url (anyOf 1)stringAlternative
webhook_url (anyOf 2)nullAlternative

Referenced models: Update an agent — response body — proxy location city, country, is ISP, subdivision

Run a task — response body

FieldTypePresenceDescription and constraints
$objectRoot
app_urlJSONOptionalURL to the application UI where the run can be viewed
app_url (anyOf 1)stringAlternative
app_url (anyOf 2)nullAlternative
browser_profile_idJSONOptionalID of the browser profile used for this run
browser_profile_id (anyOf 1)stringAlternative
browser_profile_id (anyOf 2)nullAlternative
browser_session_idJSONOptionalID of the Skyvern persistent browser session used for this run
browser_session_id (anyOf 1)stringAlternative
browser_session_id (anyOf 2)nullAlternative
created_atstringRequired within parentTimestamp when this run was created
Format: date-time
downloaded_filesJSONOptionalList of files downloaded during the run
downloaded_files (anyOf 1)arrayAlternative
downloaded_files (anyOf 1)[]ModelEach itemExpand Get a session — response body — recordings array item
downloaded_files (anyOf 2)nullAlternative
errorsJSONOptionalThe errors for the run
errors (anyOf 1)arrayAlternative
errors (anyOf 1)[]objectEach itemAdditional keys: allowed
errors (anyOf 2)nullAlternative
failure_reasonJSONOptionalReason for failure if the run failed or terminated
failure_reason (anyOf 1)stringAlternative
failure_reason (anyOf 2)nullAlternative
finished_atJSONOptionalTimestamp when this run finished
finished_at (anyOf 1)stringAlternativeFormat: date-time
finished_at (anyOf 2)nullAlternative
max_screenshot_scrollsJSONOptionalThe maximum number of scrolls for the post action screenshot. When it's None or 0, it takes the current viewpoint screenshot
max_screenshot_scrolls (anyOf 1)JSONAlternative
max_screenshot_scrolls (anyOf 1) (anyOf 1)integerAlternative
max_screenshot_scrolls (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
max_screenshot_scrolls (anyOf 2)nullAlternative
modified_atstringRequired within parentTimestamp when this run was last modified
Format: date-time
outputJSONOptionalOutput data from the run, if any. Format/schema depends on the data extracted by the run.
output (anyOf 1)objectAlternativeAdditional keys: allowed
output (anyOf 2)arrayAlternative
output (anyOf 2)[]JSONEach item
output (anyOf 3)stringAlternative
output (anyOf 4)nullAlternative
queued_atJSONOptionalTimestamp when this run was queued
queued_at (anyOf 1)stringAlternativeFormat: date-time
queued_at (anyOf 2)nullAlternative
recording_archivedbooleanOptionalTrue when the recording exists but has been archived to cold storage and is not currently accessible.
Default: false
recording_urlJSONOptionalURL to the recording of the run
recording_url (anyOf 1)stringAlternative
recording_url (anyOf 2)nullAlternative
run_idstringRequired within parentUnique identifier for this run. Run ID starts with `tsk_` for task runs and `wr_` for workflow runs.
run_requestJSONOptionalThe original request parameters used to start this task run
run_request (anyOf 1)ModelAlternativeExpand Run a task — response body — run request browser address, browser profile id, browser session id, cdp connect headers, data extraction schema, engine, error code mapping, extra http headers, file ids, include action history in verification, max screenshot scrolls, max steps, model, prompt, proxy location, publish workflow, run with, start fresh browser, title, totp identifier, totp url, url, webhook url
run_request (anyOf 2)nullAlternative
run_typestringRequired within parentTypes of a task run - task_v1, task_v2, openai_cua, anthropic_cua, ui_tars
Known values: task_v1, task_v2, task_v3, openai_cua, anthropic_cua, ui_tars, yutori_navigator
screenshot_urlsJSONOptionalList of last n screenshot URLs in reverse chronological order - the first one the list is the latest screenshot.
screenshot_urls (anyOf 1)arrayAlternative
screenshot_urls (anyOf 1)[]stringEach item
screenshot_urls (anyOf 2)nullAlternative
script_runJSONOptionalThe script run result
script_run (anyOf 1)ModelAlternativeExpand Login Task — response body — script run ai fallback triggered, script id, script revision id
script_run (anyOf 2)nullAlternative
started_atJSONOptionalTimestamp when this run started execution
started_at (anyOf 1)stringAlternativeFormat: date-time
started_at (anyOf 2)nullAlternative
statusstringRequired within parentCurrent status of the run
Known values: created, queued, running, paused, timed_out, failed, terminated, completed, canceled
step_countJSONOptionalTotal number of steps executed in this run
step_count (anyOf 1)JSONAlternative
step_count (anyOf 1) (anyOf 1)integerAlternative
step_count (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
step_count (anyOf 2)nullAlternative

Referenced models: Get a session — response body — recordings array item, Login Task — response body — script run ai fallback triggered, script id, script revision id, Run a task — response body — run request browser address, browser profile id, browser session id, cdp connect headers, data extraction schema, engine, error code mapping, extra http headers, file ids, include action history in verification, max screenshot scrolls, max steps, model, prompt, proxy location, publish workflow, run with, start fresh browser, title, totp identifier, totp url, url, webhook url

Run a task — response body — run request browser address, browser profile id, browser session id, cdp connect headers, data extraction schema, engine, error code mapping, extra http headers, file ids, include action history in verification, max screenshot scrolls, max steps, model, prompt, proxy location, publish workflow, run with, start fresh browser, title, totp identifier, totp url, url, webhook url

FieldTypePresenceDescription and constraints
$objectRoot
browser_addressJSONOptionalThe CDP address for the task.
browser_address (anyOf 1)stringAlternative
browser_address (anyOf 2)nullAlternative
browser_profile_idJSONOptionalID of a browser profile to reuse for this task
browser_profile_id (anyOf 1)stringAlternative
browser_profile_id (anyOf 2)nullAlternative
browser_session_idJSONOptional
Run 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.
browser_session_id (anyOf 1)stringAlternative
browser_session_id (anyOf 2)nullAlternative
cdp_connect_headersJSONOptionalHTTP 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.
cdp_connect_headers (anyOf 1)objectAlternativeAdditional keys: see wildcard field
cdp_connect_headers (anyOf 1).*stringAdditional keys
cdp_connect_headers (anyOf 2)nullAlternative
data_extraction_schemaJSONOptional
The 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/.
data_extraction_schema (anyOf 1)objectAlternativeAdditional keys: allowed
data_extraction_schema (anyOf 2)arrayAlternative
data_extraction_schema (anyOf 2)[]JSONEach item
data_extraction_schema (anyOf 3)stringAlternative
data_extraction_schema (anyOf 4)nullAlternative
enginestringOptional
The 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.

Known values: skyvern-1.0, skyvern-2.0, skyvern-3.0, openai-cua, anthropic-cua, ui-tars, yutori-navigator
Default: skyvern-1.0
error_code_mappingJSONOptional
Custom mapping of error codes to error messages if Skyvern encounters an error.
error_code_mapping (anyOf 1)objectAlternativeAdditional keys: see wildcard field
error_code_mapping (anyOf 1).*stringAdditional keys
error_code_mapping (anyOf 2)nullAlternative
extra_http_headersJSONOptionalThe extra HTTP headers for the requests in browser.
extra_http_headers (anyOf 1)objectAlternativeAdditional keys: see wildcard field
extra_http_headers (anyOf 1).*stringAdditional keys
extra_http_headers (anyOf 2)nullAlternative
file_idsJSONOptional
Ids 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.
file_ids (anyOf 1)arrayAlternativeMaximum items: 50
file_ids (anyOf 1)[]stringEach item
file_ids (anyOf 2)nullAlternative
include_action_history_in_verificationJSONOptionalWhether to include action history when verifying that the task is complete
Default: false
include_action_history_in_verification (anyOf 1)booleanAlternative
include_action_history_in_verification (anyOf 2)nullAlternative
max_screenshot_scrollsJSONOptionalThe maximum number of scrolls for the post action screenshot. When it's None or 0, it takes the current viewpoint screenshot.
max_screenshot_scrolls (anyOf 1)JSONAlternative
max_screenshot_scrolls (anyOf 1) (anyOf 1)integerAlternative
max_screenshot_scrolls (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
max_screenshot_scrolls (anyOf 2)nullAlternative
max_stepsJSONOptional
Maximum 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.
max_steps (anyOf 1)JSONAlternative
max_steps (anyOf 1) (anyOf 1)integerAlternative
max_steps (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
max_steps (anyOf 2)nullAlternative
modelJSONOptional
Optional model configuration.
model (anyOf 1)objectAlternativeAdditional keys: allowed
model (anyOf 2)nullAlternative
promptstringRequired within parent
The goal or task description for Skyvern to accomplish
proxy_locationJSONOptional
Geographic Proxy location to route the browser traffic through. This is only available in Skyvern Cloud.

Available geotargeting options:
- RESIDENTIAL: the default value. Skyvern Cloud uses a random US residential proxy.
- RESIDENTIAL_ES: Spain
- RESIDENTIAL_IE: Ireland
- RESIDENTIAL_GB: United Kingdom
- RESIDENTIAL_IN: India
- RESIDENTIAL_JP: Japan
- RESIDENTIAL_FR: France
- RESIDENTIAL_DE: Germany
- RESIDENTIAL_NZ: New Zealand
- RESIDENTIAL_PH: Philippines
- RESIDENTIAL_KR: South Korea
- RESIDENTIAL_SA: Saudi Arabia
- RESIDENTIAL_ZA: South Africa
- RESIDENTIAL_AR: Argentina
- RESIDENTIAL_AU: Australia
- RESIDENTIAL_BR: Brazil
- RESIDENTIAL_TR: Turkey
- RESIDENTIAL_CA: Canada
- RESIDENTIAL_MX: Mexico
- RESIDENTIAL_IT: Italy
- RESIDENTIAL_NL: Netherlands
- RESIDENTIAL_ISP: ISP proxy
- US-CA: California (deprecated, routes through RESIDENTIAL_ISP)
- US-NY: New York (deprecated, routes through RESIDENTIAL_ISP)
- US-TX: Texas (deprecated, routes through RESIDENTIAL_ISP)
- US-FL: Florida (deprecated, routes through RESIDENTIAL_ISP)
- US-WA: Washington (deprecated, routes through RESIDENTIAL_ISP)
- NONE: No proxy

For 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"}
Default: RESIDENTIAL
proxy_location (anyOf 1)ModelAlternativeExpand Update an agent — response body — proxy location string
proxy_location (anyOf 2)ModelAlternativeExpand Update an agent — response body — proxy location city, country, is ISP, subdivision
proxy_location (anyOf 3)objectAlternativeAdditional keys: allowed
proxy_location (anyOf 4)nullAlternative
publish_workflowbooleanOptionalDeprecated. 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.
Default: false
run_withJSONOptionalWhether to run the task with agent or code. Null means use the default.
run_with (anyOf 1)stringAlternative
run_with (anyOf 2)nullAlternative
start_fresh_browserbooleanOptionalWhen 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.
Default: false
titleJSONOptionalThe title for the task
title (anyOf 1)stringAlternative
title (anyOf 2)nullAlternative
totp_identifierJSONOptional
Identifier 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.
totp_identifier (anyOf 1)stringAlternative
totp_identifier (anyOf 2)nullAlternative
totp_urlJSONOptional
URL 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.
totp_url (anyOf 1)stringAlternative
totp_url (anyOf 2)nullAlternative
urlJSONOptional
The starting URL for the task. If not provided, Skyvern will attempt to determine an appropriate URL
url (anyOf 1)stringAlternative
url (anyOf 2)nullAlternative
webhook_urlJSONOptional
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.
webhook_url (anyOf 1)stringAlternative
webhook_url (anyOf 2)nullAlternative

Referenced models: Update an agent — response body — proxy location city, country, is ISP, subdivision, Update an agent — response body — proxy location string

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.