Skip to main content
cesteralDocs
FAQContact

HTTP Node

Call external REST APIs and map responses back to records

Last updated 8 Oct 2026

The HTTP node makes an outbound HTTP request — once per run or once per record — and merges the response back into the automation data.

When to Use

Use HTTP to call any REST API that doesn't have a dedicated integration — enrichment APIs, internal services, and so on.

Configuration

FieldTypeDescription
urlstringRequest URL. Supports {{variable}} syntax
urlTemplatestringAlternative templated URL (used when url is not set)
methodGET | POST | PUT | PATCH | DELETEHTTP method (default: GET)
headersobjectRequest headers. Values support {{variable}} syntax
bodystringRequest body. Supports {{variable}} syntax
bodyTypejson | form | text | noneHow the body is encoded (default: none)
authobjectAuthentication: { type: "none" | "credential_ref", credentialId? }
iterationModesingle | per_rowCall once for the whole batch, or once per record (default: single)
timeoutnumberRequest timeout in milliseconds (default: 30000)
responseMappingobject{ dataPath?, outputMode? } — where to read the response from and how to merge it

Response Mapping

responseMapping.dataPath is a dot-notation path into the JSON response body (the part to keep). responseMapping.outputMode controls how the result is merged into the data: replace, merge, or append.

responseMapping:
  dataPath: data.company
  outputMode: merge

Authentication

For authenticated requests, set auth.type to credential_ref and reference a stored credential by auth.credentialId. The credential's type determines how it is applied (bearer/OAuth2 → Authorization: Bearer, basic → Authorization: Basic, API key → a configured header such as X-API-Key).

Example

Enrich records with company data, calling once per row:

url: "https://api.example.com/v2/companies/find?domain={{domain}}"
method: GET
iterationMode: per_row
auth:
  type: credential_ref
  credentialId: cred_company_api
responseMapping:
  dataPath: data.company
  outputMode: merge

Notes

  • The node enforces SSRF protection: private/internal IP ranges, cloud metadata endpoints, and internal hostnames are blocked, and resolved IPs are validated before connecting.
  • Don't embed API keys directly in url or body — use auth.credentialId and the credential store. Inline secrets in the URL or body are rejected.
  • Dangerous and sensitive headers are stripped, and response size is capped (10 MB) to prevent out-of-memory failures.
  • HTTP requests run on the governed external rail; non-read methods are classified as action:external scope and evaluated by guardrails before the request is sent.

Related articles

Still stuck? Browse the FAQ or contact us.