HTTP request

I/O and network
HTTP request
Success
URL
Error
Method(HTTP method) GET
Response(HTTP response)
Headers(HTTP headers)
Body(Output stream)
Credentials(HTTP credentials)
Fail for non-2xx status

Description

Sends an HTTP request and returns the raw response object. Branches on success/error; pass the response into a Break node to inspect status, body, or headers. The body input is an output stream — the upstream node writes directly to the request socket on demand, so uploads aren't buffered into memory. Use string-to-stream to pipe in a literal string, model-to-stream to serialise a model, or copy-stream to forward an input stream (e.g. an FTP download or another HTTP response body) without buffering it through a string. Wire the headers input to send custom request headers (build them with make-http-headers and add-http-header). Set failOnErrorStatus to fail (Error branch) on any status outside 200–299, including 3xx since redirects are not followed; the response is still available on the Error branch. Omitted means false, so set it to true on new nodes.

When to use

Use HTTP request for any outbound HTTP call — REST APIs, webhooks, or file downloads. Wire credentials from OAuth2 client credentials for authenticated endpoints. For POST/PUT requests with a text body, convert the string with String to stream before wiring to body. Build custom request headers with Make HTTP headers and Add HTTP header and wire them into headers. With Fail for non-2xx status checked, the error pin fires for any status outside 200-299 (4xx, 5xx, and 3xx since redirects are not followed) as well as for network-level failures; on a bad status the response is still available on the error branch, so a Break node can read the status code and body. With it unchecked the exec pin fires on any completed response, and you check the status code via a Break node on the exec branch.

The address this request leaves Flovello from is not stable and will change over time. If the endpoint you are calling restricts access by IP address, read Outbound connections and IP addresses before you build against it.

Pins

Input pins

Pin Type Default Notes
URL string — The full URL including scheme, host, path, and any query parameters.
Method HTTP method GET The HTTP verb (GET, POST, PUT, DELETE, PATCH, etc.).
Headers HTTP headers — Optional request headers. Build with Make HTTP headers and Add HTTP header. Leave unwired to send no custom headers.
Body Output stream — Optional request body as an output stream. Wire from `string-to-stream` for text payloads. Leave unwired for bodyless requests.
Credentials HTTP credentials — Optional credentials. Wire from `oauth2-client-credentials` or another credentials node to attach an Authorization header.
Fail for non-2xx status boolean — When checked, any status outside 200-299 (including 3xx, since redirects are not followed) takes the Error branch instead of Success. The response is still available on the Error branch, and the status plus the start of the body are written to the execution log. New nodes in the editor start checked; nodes saved before this option existed keep it unchecked, so they still treat every response as a success.

Output pins

Pin Type Notes
Response HTTP response The raw HTTP response. Pass into a Break node to extract status code, headers, or body.

Execution pins

Pin Direction
In Input
Success Output
Error Output

Example

POST a JSON string to a webhook and log the response status. Build the payload using string nodes, then wire the Stream output of String to stream into the Body input of HTTP request (Method set to POST, URL set to the webhook address). On the Success execution output, break the Response output to inspect the status code (an HttpStatusCode enum like OK or NOT_FOUND) and log it via Enum to string and Log message. Check Fail for non-2xx status and wire the Error execution output to Fail to surface bad statuses and network-level failures.

See also