HTTP Request
Make an HTTP request to any external URL. Supports GET, POST, PUT, PATCH, DELETE methods. Includes SSRF protection, timeout controls, and redirect handling. Ideal for: calling external APIs, triggering webhooks, fetching data, integrating with any HTTP service.
Catalog action Utility
Make an HTTP request to any external URL. Supports GET, POST, PUT, PATCH, DELETE methods. Includes SSRF protection, timeout controls, and redirect handling. Ideal for: calling external APIs, triggering webhooks, fetching data, integrating with any HTTP service.
At a Glance
| Field | Value |
|---|---|
| Action ID | http-request |
| Category | Utility |
| Connector | Not required |
| Requires gas | No |
| Funds movement | None declared |
| Tags | utility, http, api, request, webhook, write, fetch, integration, external |
Payload Schema
| Field | Type | Required | Description |
|---|---|---|---|
url | string | Yes | The URL to make the HTTP request to |
method | string | Yes | The HTTP method to use |
headers | object | No | HTTP headers to include in the request (key-value pairs) |
body | string | No | Request body as a string. For JSON, stringify the object first. Only used for POST, PUT, PATCH methods. |
timeout | number | No | Request timeout in milliseconds (default: 30000, max: 60000) |
followRedirects | boolean | No | Whether to follow HTTP redirects (default: true) |
maxResponseSize | number | No | Maximum response size in bytes (default: 5MB, max: 10MB) |
Result Schema
| Field | Type | Required | Description |
|---|---|---|---|
status | number | Yes | HTTP status code of the response |
statusText | string | Yes | HTTP status text of the response |
headers | object | No | Response headers as key-value pairs |
body | string | No | Response body as a string |
contentType | string | No | Content-Type of the response |
json | object | array | null | No | Parsed JSON response (automatically parsed when Content-Type is application/json). Null if not JSON or parsing failed. |
Examples
json{ "type": "http-request", "payload": { "url": "https://example.com/webhook", "method": "GET" }, "children": []}
bashcurl -X POST "https://api.b3os.org/v1/actions/http-request/test" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "inputs": { "url": "https://example.com/webhook", "method": "GET" }}'
Payload fields can use workflow expressions such as {{$trigger.body.amount}}, {{$nodes.fetch.result.price}}, and {{$props.asset}} when the value should come from a trigger, prior node, or reusable workflow prop.
