http.call
Operation: http.call
Category: http
Make an HTTP request to an external URL
Runtime
Section titled “Runtime”Type: Native (built-in)
Timeout: 300s
Retries: 3 (ExponentialWithJitter)
Inputs
Section titled “Inputs”| Name | Type | Required | Default | Description |
|---|---|---|---|---|
body | JSON | No | — | Request body (for POST/PUT/PATCH) |
Outputs
Section titled “Outputs”| Name | Type | Description |
|---|---|---|
status | Number | HTTP status code |
body | JSON | Response body |
Default Configuration
Section titled “Default Configuration”{ "method": "GET", "timeout_ms": 30000}import { WorkflowBuilder } from "@fabric-platform/sdk";
const workflow = new WorkflowBuilder("my-workflow") .node("http-call", "tool", (n) => n.config({ operation: "http.call", // ... node-specific config }) ) .build();from fabric_platform import FabricClient
fabric = FabricClient(api_key="fab_xxx")
wf_id = fabric.upsert_workflow("my-workflow", nodes=[ { "key": "http-call", "kind": "tool", },])use fabric_sdk::FabricClient;
let client = FabricClient::new("http://localhost:3001", api_key)?;
let wf_id = client.upsert_workflow("my-workflow", serde_json::json!({ "nodes": [{ "key": "http-call", "kind": "tool" }]})).await?;curl -X POST http://localhost:3001/v1/workflow-definitions \ -H "Authorization: Bearer $FABRIC_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "my-workflow", "nodes": [{ "key": "http-call", "kind": "tool" }] }'Example
Section titled “Example”{ "key": "call-webhook", "operation": "http.call", "config": { "url": "https://api.example.com/webhook", "method": "POST", "headers": { "Authorization": "Bearer {{context.api_token}}" }, "timeout_ms": 10000 }, "inputs": [{ "name": "body", "path": "$context.payload" }], "outputs": [ { "name": "status", "path": "$context.webhook_status" }, { "name": "body", "path": "$context.webhook_response" } ]}Common Errors
Section titled “Common Errors”http.call requires 'url' in config
Section titled “http.call requires 'url' in config”Cause: The url field is missing from the node’s config object
Fix: Add a url field to the node config — this is a config value, not an input binding