Last updated:
REST Webservice
The REST Webservice node allows direct communication with any RESTful web service from within Datahub. It supports all common HTTP methods (GET, POST, PUT, PATCH, DELETE) and multiple body formats including JSON, form-data, and binary.
Configuration
Section titled “Configuration”| Setting | Type | Required | Description |
|---|---|---|---|
| Connection | Select | No | An existing connection, e.g. OAuth 2.0 or API key connection. |
| Body type | Select | Yes | The format of the request body: JSON (default), Form-data, Form-urlencoded, or Binary. |
| Rate limit | Numeric | No | Maximum number of requests per minute to prevent API throttling. |
| Execute | Select | Yes | When and how the call is executed: Once, For Each Row, or For Each Group. |
| Advanced | Button | Yes | Opens the configuration window for endpoint details, headers, parameters, and output behavior. |
Execute modes & placeholders
Section titled “Execute modes & placeholders”When Execute is set to For Each Row or For Each Group, placeholders can dynamically insert input data into the endpoint or request body, using the toolbar buttons:
- Endpoint parameter: inserts a placeholder into the URL.
- Body parameter: inserts a placeholder into the body.
For example, https://api.example.com/orders/{OrderId}: {OrderId} is automatically replaced by the value from the input column OrderId.
Advanced configuration
Section titled “Advanced configuration”The Advanced configuration window has the following tabs: Endpoint, Parameters, Headers, Request body, Response body, Preview, Columns.
Endpoint
Section titled “Endpoint”Define the full API endpoint and select the HTTP method, e.g. GET https://api.example.com/orders?Page=1&Size=200. Query parameters can be included directly in the URL or configured via the Parameters tab.
Parameters
Section titled “Parameters”| Column | Description |
|---|---|
| Name | The parameter name (e.g. Page, Size, Filter). |
| Type | Request (normal query parameter), Take (items per page), Skip (items to skip), or Page (page number). |
| Value | Static value or expression (can include placeholders). |
| Description | Explanation of the parameter purpose. |
Paging: when the parameter type is Take, Skip, or Page, the node automatically performs paging. For endpoints using Top/Offset, use Take and Skip; for endpoints using Size/PageNo, use Take and Page. The node automatically adjusts Skip or Page values until all data is retrieved.
Headers
Section titled “Headers”Define custom HTTP headers, such as Authorization: Bearer {token} for authentication or x-api-key for API key access. Headers can include static values or dynamic placeholders from input columns.
Request body
Section titled “Request body”Used for requests that send data (POST, PUT, PATCH). Supports different formats depending on Body type: enter raw JSON or form-data, and add placeholders to dynamically insert input values.
Response body
Section titled “Response body”Optionally, paste a sample API response here for testing or schema definition. When using Test mode, this sample response is used instead of executing the live API call: useful for POST, PATCH, or DELETE actions to prevent data changes.
Preview
Section titled “Preview”Displays a preview of the node’s output. Use the Output mode dropdown to control how the response is parsed:
| Mode | Description |
|---|---|
| Raw | Shows StatusCode, StatusDescription, and raw response content. |
| JSON | Parses the JSON response into a readable structure. |
| JSON → Table | Converts JSON to a structured table (properties become columns, arrays become rows). |
A JSONPath field allows you to filter or extract specific data from the response (JSONPath works similarly to XPath for XML), e.g. $.orders[*]. You can click column headers in the Preview to select which columns to include in the final output.
Columns
Section titled “Columns”Lists all columns selected in the Preview. You can rename or remove columns to define the final output schema.
Call & Test buttons
Section titled “Call & Test buttons”| Button | Description |
|---|---|
| Call | Executes the live API request and populates the Preview with real data. |
| Test | Uses the sample response from the Response body tab instead of calling the live API. |
Input / Output
Section titled “Input / Output”| Direction | Type | Description |
|---|---|---|
| Input | Table | Data rows used to construct dynamic endpoints or request bodies. |
| Output | Table | Table containing HTTP status and response data. Structure depends on Preview settings. |
- For POST/DELETE requests, prefer Test mode with a sample response to avoid altering data.
- Enable paging parameters (Take, Skip, Page) to automatically handle large datasets.
Troubleshooting
Section titled “Troubleshooting”| Error | Meaning | Solution |
|---|---|---|
| 401 Unauthorized | Invalid or expired credentials. | Verify the connection or API key. |
| 404 Not Found | The specified endpoint does not exist. | Check endpoint path and spelling. |
| 400 Bad Request | Invalid or incomplete request payload. | Validate the JSON body and required fields. |