HTTP request
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.