Docs / Contact / connectors/http

HTTP Connector

Direction: Read / Write | Type: http

Send and receive data from any HTTP endpoint including REST APIs, webhooks, and HTTP-based services. Supports multiple authentication methods, SSL/TLS, and request customization.

Operations

Operation Direction Description
GET Read Retrieve data from the API endpoint
POST Write Send data to the API endpoint
PUT Write Replace data at the API endpoint
PATCH Write Partially update data at the API endpoint
DELETE Write Delete data at the API endpoint

Connector Configuration

Field Required Default Description
URL Yes - Base URL for the API (e.g., https://api.example.com)
Default Method No POST Default HTTP method for requests
Default Headers No - Headers included in all requests (supports Jinja2)
Auth No none Authentication configuration (see below)
Timeout No 30 Request timeout in seconds (1–300)
Follow Redirects No true Automatically follow HTTP redirects
Max Redirects No 10 Maximum number of redirects to follow
Verify SSL No true Verify SSL/TLS certificates

Authentication Options

None

No authentication (default).

Basic Authentication

json

{
  "type": "basic",
  "username": "${secrets.api_user}",
  "password": "${secrets.api_pass}"
}

Bearer Token

json

{
  "type": "bearer",
  "token": "${secrets.api_token}"
}

API Key

json

{
  "type": "api_key",
  "api_key_header": "X-API-Key",
  "api_key_value": "${secrets.api_key}",
  "api_key_location": "header"
}

Location options: header (default), query

OAuth2

json

{
  "type": "oauth2",
  "oauth2": {
    "token_url": "https://oauth.example.com/token",
    "client_id": "${secrets.oauth_client_id}",
    "client_secret": "${secrets.oauth_client_secret}",
    "scope": "read write",
    "grant_type": "client_credentials"
  }
}

Grant types: client_credentials (default), authorization_code

Custom Headers

json

{
  "type": "custom",
  "custom_headers": {
    "X-Custom-Auth": "{{ payload.token }}",
    "X-API-Version": "v2"
  }
}

Per-Operation Configuration

These settings apply per request when the connector dispatches a matched message:

Field Required Description
Endpoint No Path appended to the base URL (supports Jinja2)
Method No HTTP method override
Headers No Additional headers merged with connector defaults
Body No Request body (supports Jinja2 templating)
Query Parameters No URL query parameters

Output

The flow step records the standardized result, with the HTTP response details in data:

json

{
  "status": "completed",
  "statusCode": 200,
  "data": {
    "method": "GET",
    "url": "https://api.example.com/users",
    "status": "200 OK",
    "statusCode": 200,
    "body": "{\"id\":123,\"name\":\"John\"}",
    "duration": 84
  }
}

The response body is returned as a string in data.body. Access it in subsequent nodes:

jinja2

{{ payload.data.body }}
{{ payload.data.statusCode }}

Example

Connector Setup:

json

{
  "url": "https://api.example.com",
  "default_method": "POST",
  "auth": {
    "type": "bearer",
    "token": "${secrets.api_token}"
  },
  "default_headers": {
    "Content-Type": "application/json"
  }
}

Node Usage:

Result: GET https://api.example.com/users/123 with Bearer token and custom headers.