HTTP Request

action_http · action · HTTP & Webhook · Available · v3.0.0

Description

Make an HTTP request to an external API. Supports auth (Basic/Bearer/API Key/Custom), structured body (JSON/Form/Multipart/Raw/Binary), dedicated query parameters, automatic pagination (page/offset/cursor/link-header), retry with backoff, selectable response format (auto/json/text/binary), follow redirects and timeout.

⚙️ Configuration parameters

Fields shown in the editor when configuring the node. Generated directly from the NodeDefconfigFields.

FieldTypeRequiredDefaultDescription
method
Metodo HTTP
enum
GETPOSTPUTPATCHDELETEHEADOPTIONS
yesGETGET=leggi · POST=crea · PUT/PATCH=aggiorna · DELETE=cancella · HEAD=solo headers · OPTIONS=preflight CORS.
url
URL
stringyes
https://api.example.com/v1/users/{{input.id}}
URL completo (http o https). Supporta {{espressioni}} per pezzi dinamici.
authMode
Autenticazione
enum
nonebasicbearerapikey-headercustom
nononenone = nessuna (o gestita via Headers). basic = HTTP Basic (user+password → Base64). bearer = "Authorization: Bearer <token>" (JWT, OAuth access tokens). apikey-header = header custom con il valore (X-API-Key, X-Auth-Token, ecc). custom = nome+valore header completamente liberi.
basicUser
Username (Basic)
stringno
basicPass
Password (Basic)
string (encrypted)no
bearerToken
Token Bearer
string (encrypted)noIl token segreto da mettere dopo "Bearer ".
apiKeyHeaderName
Nome header API Key
stringnoX-API-Key
X-API-Key oppure X-Auth-Token
apiKeyValue
Valore API Key
string (encrypted)no
customAuthHeaderName
Nome header custom
stringnoAuthorization
customAuthHeaderValue
Valore header custom
string (encrypted)no
queryParamsJson
Query Parameters
key-valuenoAggiunti all'URL come ?key=value&... Supportano {{espressioni}}.
headersJson
Headers HTTP extra
key-valuenoCoppie nome-valore extra (Authorization e Content-Type sono gestiti automaticamente).
bodyType
Tipo body
enum
nonejsonform-urlencodedmultipartraw-textraw-binary-base64binary
nojsonnone = nessun body (GET/HEAD/DELETE tipicamente). json = JSON (Content-Type application/json). form-urlencoded = form classico (key=value&...). multipart = form-data con file/binary support. raw-text = testo grezzo (per XML, YAML, custom). raw-binary-base64 = bytes binari (body in base64, viene decodificato). binary = UPLOAD ref-primario: il body sono i byte di un handle BinaryData in INPUT (da Read File / http download / pdf / imap); Content-Type dal mimeType dell'handle.
body
Body (JSON o testo)
codeno
{ "key": "{{input.value}}" }
Per json: JSON. Per raw-text: testo libero. Per raw-binary-base64: stringa base64.
rawBinaryContentType
Content-Type del binario
enum
application/octet-streamapplication/pdfimage/pngimage/jpegapplication/zip
noapplication/octet-stream
formFields
Form fields (key-value)
key-valuenoCoppie nome-valore del form. Per multipart con file: il valore puo` essere base64.
paginationMode
Pagination
enum
nonepage-numberoffset-limitcursorlink-header
nononenone = singola chiamata. page-number = ?page=1&limit=N, ?page=2&limit=N, ... (stop quando items < limit). offset-limit = ?offset=0&limit=N, ?offset=N&limit=N, ... cursor = leggi next_cursor dalla risposta, passa come ?cursor=... link-header = segui Link: <url>; rel="next" (GitHub, Mastodon).
paginationMaxPages
Max pagine
numberno10Limite di sicurezza — interrompe il loop anche se ci sono altre pagine.
paginationPageSize
Items per pagina (limit)
numberno50
paginationItemsField
Campo array nella risposta
stringno
es. data, items, results
Se valorizzato, concatena response[campo]. Se vuoto, concatena l'intera response.
paginationPageParam
Nome parametro pagina
stringnopage
paginationStartPage
Pagina iniziale
numberno1
paginationLimitParam
Nome parametro limit
stringnolimit
paginationOffsetParam
Nome parametro offset
stringnooffset
paginationStartOffset
Offset iniziale
numberno0
paginationCursorParam
Nome parametro cursor
stringnocursor
paginationCursorField
Campo next cursor nella risposta
stringnonext_cursorEs. next_cursor, nextPage, paging.next.cursor
retryCount
Numero retry
numberno0Quante volte ritentare in caso di errore (5xx o codici configurati). 0 = no retry.
retryInitialDelayMs
Delay iniziale (ms)
numberno500Pausa prima del primo retry. Si moltiplica per il fattore ad ogni tentativo.
retryBackoffFactor
Fattore backoff esponenziale
numberno22 = raddoppia ogni retry (500ms, 1000ms, 2000ms, ...). 1 = delay costante.
retryOnStatus
Status da ritentare (csv)
stringno429,500,502,503,504
429,500,502,503,504
Codici HTTP che fanno scattare il retry. Errori di network/timeout sono sempre ritentati.
responseFormat
Formato risposta
enum
autojsontextbinary
noautoauto = sniff dal Content-Type (default; octet-stream → handle binary). json = parse forzato (errore se non valido). text = stringa raw. binary = download come HANDLE BinaryData (ref content-addressed su disco): i byte NON entrano nel JSON → per PDF/immagini/file, anche grandi. Si collega a Write File / email / pdf / excel che consumano BinaryData (senza store: inline base64, fail-soft).
followRedirects
Segui redirect
booleannotrueSe on: segue 3xx automaticamente. Se off: restituisce status 3xx e header Location.
allowSelfSigned
Accetta certificati self-signed
booleannofalseSOLO per dev/test. NON usare in produzione.
statusCodeOnly
Solo status code (ignora body)
booleannofalseSe on: scarta il body, restituisce solo status+headers (piu` veloce per ping/healthcheck).
timeoutMs
Timeout (millisecondi)
numberno30000Default 30s. Aumenta per API lente (es. report generation).
throwOnError
Errore su status 4xx/5xx
booleannotrueSe on, lo step fallisce su errore HTTP non-recuperato dal retry.

💡 Configuration example

JSON snippet of the node as it appears in the workflow. Values are derived fromdefaultValue and from required parameters.

{
  "id": "node-action_http-1",
  "defId": "action_http",
  "label": "HTTP Request",
  "config": {
    "method": "GET",
    "url": "https://api.example.com/v1/users/{{input.id}}",
    "authMode": "none",
    "apiKeyHeaderName": "X-API-Key",
    "customAuthHeaderName": "Authorization",
    "bodyType": "json",
    "rawBinaryContentType": "application/octet-stream",
    "paginationMode": "none",
    "paginationMaxPages": 10,
    "paginationPageSize": 50,
    "paginationPageParam": "page",
    "paginationStartPage": 1,
    "paginationLimitParam": "limit",
    "paginationOffsetParam": "offset",
    "paginationStartOffset": 0,
    "paginationCursorParam": "cursor",
    "paginationCursorField": "next_cursor",
    "retryCount": 0,
    "retryInitialDelayMs": 500,
    "retryBackoffFactor": 2,
    "retryOnStatus": "429,500,502,503,504",
    "responseFormat": "auto",
    "followRedirects": true,
    "allowSelfSigned": false,
    "statusCodeOnly": false,
    "timeoutMs": 30000,
    "throwOnError": true
  }
}

🔗 Related nodes in the same category

Ready to use HTTP Request?

Available now on all FlowForge plans. Try it free without a credit card.

Start freeBrowse all nodes