HTTP Request
Call any external API with configurable method, headers, body, authentication, retries, and pagination.
The HTTP Request node lets you call any external HTTP endpoint from within a workflow. It supports all standard methods, multiple authentication schemes, automatic retries, paginated responses, and SSRF protection for safe outbound requests.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| Method | Select | No | HTTP method: GET, POST, PUT, PATCH, DELETE, HEAD, or OPTIONS. Defaults to GET. |
| URL | Text (variable) | Yes | The endpoint URL. Supports template variables. |
| Headers | Key/Value list | No | Custom request headers. Both key and value support template variables. |
| Body Type | Select | No | Format of the request body: JSON, Form Data, or Raw. Only shown for POST, PUT, PATCH, DELETE, and OPTIONS. Defaults to JSON. |
| Body | Text (variable) | No | Request body content. Supports template variables. Only shown when the method allows a body. |
| Authentication | Select | No | Auth mode: None, Bearer Token, or Basic Auth. Defaults to None. |
| Token | Text (variable) | No | Bearer token value. Only shown when auth is Bearer Token. |
| Username | Text (variable) | No | Basic auth username. Only shown when auth is Basic Auth. |
| Password | Text (variable) | No | Basic auth password. Only shown when auth is Basic Auth. |
| Response Data Path | Text | No | Dot-path to extract from the response body (e.g., data.items). |
| Never Error | Toggle | No | When enabled, HTTP error responses are returned as success with success: false instead of failing the node. Defaults to off. |
| Follow Redirects | Toggle | No | Automatically follow HTTP redirects. Defaults to on. Each redirect hop is validated against SSRF rules. |
| Max Redirects | Number | No | Maximum number of redirects to follow (0-10). Defaults to 5. Only shown when Follow Redirects is on. |
| Timeout (ms) | Number | No | Request timeout in milliseconds (1000-300000). Defaults to 30000. |
| Retries | Number | No | Number of retry attempts on failure (0-5). Defaults to 0. Uses exponential backoff. |
Pagination
Pagination is a collapsible section for fetching multi-page API results automatically.
| Field | Type | Required | Description |
|---|---|---|---|
| Mode | Select | No | Disabled, Cursor-based, or Offset-based. |
| Cursor Path | Text | No | Dot-path in the response body to read the next cursor value (cursor mode only). |
| Cursor Param | Text | No | Query parameter name to send the cursor in (cursor mode only). |
| Offset Param | Text | No | Query parameter name for the offset (offset mode only). |
| Limit Param | Text | No | Query parameter name for the page size. Shared by both pagination modes. |
| Page Size | Number | No | Number of items per page (1-1000). Defaults to 100. |
| Max Pages | Number | No | Maximum number of pages to fetch (1-100). Defaults to 50. |
Output
| Field | Type | Description |
|---|---|---|
| statusCode | number | The HTTP status code returned by the server. |
| body | object | The parsed response body, or the extracted value if Response Data Path is set. When pagination is active, this is an array of all collected items. |
| headers | object | Response headers as key/value pairs. |
| success | boolean | Whether the request succeeded (2xx status). |
| responseTimeMs | number | Total elapsed time in milliseconds. |
| error | string | Error message, present only when Never Error is on and the request failed. |
| totalItems | number | Total number of items collected across all pages (pagination only). |
Example
A workflow that fetches a paginated user list from an external CRM API and filters the results:
- HTTP Request -- Method: GET, URL:
https://api.crm.com/v2/contacts, Auth: Bearer Token, Pagination: cursor mode with cursor pathmeta.nextCursorand cursor paramcursor. - Filter -- Condition:
httpRequest_1.body[].statusequalsactive. - Send Email -- Notify the team with the filtered results.
When Never Error is enabled, you can use a downstream If/Else node to check httpRequest_1.success and branch on whether the API call succeeded or returned an error response.