DocumentationWorkflowsApps and services
HTTP node
Calls an external URL, e.g. an API, another webhook or an MCP server. Auth, body, headers and query parameters can be filled from templates. The response body is parsed as JSON automatically. Learn how to configure it, map inputs and outputs, run a test and resolve common errors.
10 min readUpdated
What this node does
Calls an external URL, e.g. an API, another webhook or an MCP server. Auth, body, headers and query parameters can be filled from templates. The response body is parsed as JSON automatically.
Use HTTP as a clearly defined step in an anymize workflow.
- Processes one input.
- Provides one output for following steps.
- Runs as a regular step in the flow.
Set up the node
- 01Open a workflow and add HTTP from the node catalog.
- 02Complete the required fields and map values from previous steps.
- 03Run the node with a small test record and inspect its output.
- 04Connect the successful output and activate the workflow after an end-to-end test.
Operations and modes
HTTP has one focused purpose. Its available settings appear when you select the node.
Settings
| Field | Meaning | Area |
|---|---|---|
| Method | Choices: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS | Standard |
| URL | Configure this value in the node panel. | Standard |
| Authentication | How the external API authenticates. Token / key / password go into the matching field below. | Standard |
| Credentials from workflow secret | Pick the workflow secret containing the token, API key, or Basic Auth password. Plaintext never enters the workflow JSON. | Protected |
| Name of the key field | What the field is called in which the API expects your key. Usually in the API docs, often X-API-Key. | Standard |
| Name of the key parameter in the URL | What the parameter in the URL is called that carries your key, e.g. ?api_key=… . It's in the API docs. | Standard |
| Username | Configure this value in the node panel. | Standard |
| Query parameters | Appended to the URL as ?key=value. Existing query strings in the URL are kept. | Standard |
| Headers | Key/value pairs as fields. Authorization is set automatically via the auth field above, only custom headers here. | Standard |
| Body format | How the body is sent. 'Form' for older APIs that expect fields as form data; 'Raw' for XML or plain text. When in doubt: Automatic. | Standard |
| Body | No-code editor: add field + value, the type (text/number/boolean/JSON) is detected automatically. Top right you can switch to raw JSON. | Standard |
| Read response as | JSON stops the workflow if the response does not contain valid structured data. | Standard |
| Pass on | When a list is received, the next step can process each entry individually. | Standard |
| Name for text or file | The next step finds the text or file under this name. Structured JSON data keeps its own field names. | Standard |
| Import contract | Configure this value in the node panel. | Standard |
| Imported data format | Configure this value in the node panel. | Standard |
| Follow redirects | Requests the new address when redirected. When off, the next step receives the first response. | Standard |
| On HTTP error | „Keep going" lets the workflow continue even on 4xx/5xx or network errors, you check $json.ok and react (retry, fallback, log). | Standard |
| Abort after (milliseconds) | Aborts the request if the other side takes too long. In milliseconds (1000 = 1 second). Maximum 30000 (30 seconds). | Standard |
| Maximum response size (bytes) | Larger responses are aborted so the workflow doesn't get overloaded. Given in bytes (5000000 = 5 MB). Default 5 MB, maximum 10 MB. | Standard |
| Run once per item | Off (default): the node runs once for the whole input. On: if it receives several items (e.g. from Split Out), it runs once PER item, and {{ $json }} is that one item each time. This is how you work through a file list entry by entry. | Standard |
| Pause between items (milliseconds) | Wait before every run except the first. 1000 = 1 second per item. Useful when the other side would otherwise throttle you. Maximum 300000 (5 minutes). | Standard |
Inputs and outputs
| Input | Meaning | Type |
|---|---|---|
| url | Target URL. Overrides the config field. | text |
| body | Request body. | json |
| Output | Meaning | Type |
|---|---|---|
| body | Configure this value in the node panel. | json |
| status | HTTP status code. | number |
| ok | true for 2xx, false otherwise. | boolean |
| headers | Response headers (lowercase keys). | json |
Example and test run
API GET with bearer token: begin with a small, recognizable record. Inspect the output and only map fields that are present there.
Test-run example
{
"query": "anymize",
"limit": 10
}Access and security
Before activation, review which data enters this step and what its output contains.
Store keys and credentials in the protected connection manager. Never paste them into normal workflow fields, test data or descriptions.
Troubleshooting
- No output: inspect the latest run and confirm that the previous node returned the expected fields.
- Empty variable: open the previous step output and use a field name from the real test data.