HTTP Request

http.request
ActionDeveloper & APIs

Sends one request (retrying 5xx/transport errors up to 3 times). With connection_id the base URL and auth come from the Connection and api_id picks a catalogued endpoint; without it, method + url are literal. path_params, query_params, headers and json accept path expressions.

Call an HTTP API — via a Connection's named API or a literal URL.

Connection

Required
Optional
Auth type
bearer | apikey | basic | none | custom
Config it needs
base_url, auth_type, auth_header, default_headers, apis
Resolved by
config.connection_id
Note
Optional — omit for a one-off literal-URL call. A SaaS connection needs no base_url: the catalog supplies the provider's API root and auth scheme.

Configuration

11 fields, none required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
api_id
Id of an API from the connection's `apis` catalogue.
stringNo———
method
The HTTP verb.
stringNoGETone of "GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"—
url
Literal mode: full URL. Connection mode: `path` (or `url`) relative to base_url.
stringNo———
path
Connection mode without api_id: path under base_url. An absolute URL is allowed on the host the connection already names; its credential is not sent anywhere else unless the connection lists the host in `allowed_hosts`.
stringNo———
path_params
{name: literal | expression} substituted into {name} in the path.
objectNo———
query_params
Query-string parameters as a JSON object.
objectNo———
headers
Merged over connection defaults.
objectNo———
json
JSON body template; expressions resolve recursively.
objectNo———
body
Raw body (used only when `json` is absent).
stringNo———
body_from_input
Send the upstream output as the JSON body.
booleanNofalse——
timeout_seconds
Request timeout in seconds.
numberNo30≥ 0—

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "body_from_input": false,
  "method": "GET",
  "timeout_seconds": 30
}

Output

One shape.

response

FieldTypeExample
status_code
number—
headers
object—
body
Parsed JSON when the content-type is JSON, else text.
any—
{
  "body": null,
  "headers": {},
  "status_code": 0
}

See HTTP Request run in a workflow.

In a technical demo we add the HTTP / REST API connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.