http node makes HTTP requests to external APIs. It supports all standard HTTP methods, custom headers, query parameters, and request bodies.
Configuration
Config Fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
url | string | Yes | - | Request URL (supports templates) |
method | string | No | "GET" | HTTP method |
headers | object | No | - | Request headers |
query | object | No | - | Query string parameters |
body | any | No | - | Request body |
body_type | string | No | "json" | Body format: "json", "form", or "multipart" |
files | array | No | - | Files to upload (auto-sets body_type to multipart) |
timeout | number | No | 30000 | Timeout in milliseconds (max 60000) |
content_type | string | No | auto | Content-Type header |
on_error | string | No | "abort" | Error handling: "abort" or "continue" |
HTTP Methods
Supported methods:GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS
Output
| Field | Type | Description |
|---|---|---|
status_code | number | HTTP status code |
headers | object | Response headers |
body | any | Response body (auto-parsed if JSON) |
latency_ms | number | Request duration in milliseconds |
success | boolean | true if status is 2xx |
error | string | Error message (only with on_error: "continue") |
Examples
GET Request
GET with Query Parameters
POST with JSON Body
PUT Request
DELETE Request
With Custom Headers
With Timeout
Error Handling
on_error: "abort" (default)
If the request fails (network error, timeout, non-2xx status), the flow stops immediately.
on_error: "continue"
Errors are captured in the output instead of failing the flow:
Body Handling
JSON Body (default)
Objects are automatically serialized as JSON:Form URL Encoded
Usebody_type: "form" to send application/x-www-form-urlencoded data. Common for OAuth token requests:
grant_type=client_credentials&client_id=xxx&client_secret=yyy
Multipart File Upload
Usebody_type: "multipart" or add a files array to upload files:
| Field | Type | Required | Description |
|---|---|---|---|
field | string | Yes | Form field name for the file |
filename | string | Yes | Filename to send |
content | string | Yes | File content (prefix with base64: for binary) |
String Body
Strings are sent as-is:Template Body
Use templates for dynamic content:Response Parsing
- JSON responses are automatically parsed into objects
- Other responses are returned as strings
- Check
Content-Typeheader to determine response format
URL Templates
The URL supports template expressions:Common Patterns
Authenticated Request
OAuth Token Exchange
Pagination
Webhook Call
File Upload
Related
- Transform Node - Process response data
- Condition Node - Check response status
- Try Node - Handle request failures