REST API Connector

A generic HTTP integration. The connection captures the base URL and authentication scheme; each Data Source node that uses it carries its own AI-generated fetch function describing exactly which endpoints to hit and how to paginate.

What it lets you do

  • Save a base URL and credentials once, reuse it across many Data Source nodes.
  • For any node, describe in plain language what data you want; the AI generates a custom fetch function that handles authentication, pagination, and shaping the response into rows.
  • Use four authentication schemes out of the box.

Connection details required

Field Sensitive Default
Base URL No (empty)
Auth type No None
API key header name No X-API-Key (only for API-key auth)
Bearer token Yes (only for bearer auth)
API key value Yes (only for API-key auth)
Basic username No (only for basic auth)
Basic password Yes (only for basic auth)

The form shows only the fields relevant to the auth type you picked.

How a fetch function is built

When you create a Data Source node pointing at this connection and describe what data you want, the AI generates an asynchronous JavaScript function that:

  • Receives an HTTP client.
  • Loops over pages, cursor tokens, or related endpoints as the API requires.
  • Returns rows as an array of plain objects.
Security
The function uses placeholder tokens ({{BASE_URL}}, {{AUTH_HEADER_NAME}}, etc.) — never literal credentials — when referencing the connection. The placeholders are filled in with real values only inside the background engine, just before the function runs. The interactive layer therefore never holds a decrypted key, and saved workflows contain no secrets even if shared.

Behaviour notes

  • The connection itself doesn't perform any request beyond the test-connection probe. Real fetches happen from inside the Data Source node's fetch function.
  • A safety cap on the maximum number of pages prevents an unbounded API from looping forever.
  • Sensible defaults are baked into generated functions: GET method, JSON Accept header, a request timeout, and a reasonable page size.
  • If the API returns nothing, DagFlux still creates an empty collection so downstream nodes have a defined source.
  • If the API returns a single object, DagFlux wraps it as a single-element array.