Skip to content

HTTP Actions ​

General ​

request ​

Makes an HTTP request using Axios-compatible options and returns the response's status, headers and body.

Supports all common HTTP methods (GET, POST, PUT, PATCH, DELETE) with optional headers, query params, request body, basic auth, and response type control.

A 4xx or 5xx response, a timeout or a connection error fails the step. With failOnHttpError false the step always returns a result: when no response arrived, status is 0, data is null and error says why.

Returns: An object with status, headers and data, plus error when no response arrived. data is the response body: parsed when it is JSON, otherwise text. Credential headers such as Set-Cookie show [REDACTED].

ParameterTypeRequiredDefaultDescription
urlstring✓—Request URL.
methodget | post | put | delete | patch | head | options—HTTP method (get, post, put, delete, patch, etc.).
baseURLstring—Optional base URL prepended to the url.
headersRecord<string, any>—HTTP headers as key-value pairs.
paramsRecord<string, any>—URL query parameters as key-value pairs.
dataany—Request body payload.
timeoutnumber—Request timeout in milliseconds.
withCredentialsboolean—Whether to send cookies with cross-site requests.
authobject—Basic authentication credentials (username and password).
responseTypearraybuffer | document | json | text | stream | blob—Expected response type: arraybuffer, document, json, text, stream, or blob.
responseEncodingstring—Encoding used to decode the response (e.g. utf8).
failOnHttpErrorboolean—Fail the step when a request gets a 4xx or 5xx response or no response at all. On by default. Turn it off to check the result in a later step: with no response, status is 0 and error says why.
allowPrivateNetworkboolean—Allow this specific call to reach private/internal addresses (localhost, LAN, cloud metadata). Off by default to prevent SSRF via a templated url. Must be set to a fixed true/false here — it cannot reference a variable.
yaml
# GET a JSON resource from a public API, then read product.status and product.data
- group: http
  name: request
  params:
    url: 'https://api.example.com/products/1'
    method: get
    responseType: json
  destination: product

downloadFile ​

Downloads a file from a URL and saves it to a local path.

If path points to an existing directory, the filename is derived from the URL and appended automatically. Parent directories are created if they do not exist.

Returns: The resolved local file path where the file was saved.

ParameterTypeRequiredDefaultDescription
browserany✓—Browser instance to use for the download.
urlstring✓—URL of the file to download.
pathstring✓—Local file path to save the downloaded file.
allowPrivateNetworkboolean—Allow this specific call to reach private/internal addresses (localhost, LAN, cloud metadata). Off by default to prevent SSRF via a templated url. Must be set to a fixed true/false here — it cannot reference a variable.
yaml
# Download into the same directory as the YAML file (relative path)
- group: http
  name: downloadFile
  params:
    url: 'https://example.com/reports/daily-report.pdf'
    path: ./

Released under the Apache License 2.0.