API request (http_write) block

The http_write block sends data to an external HTTP API endpoint using OAuth-based authentication as a destination block in a Connect+ dataflow. It supports rate limiting, configurable retry logic, and response parsing. The block is typically used to post process data to Capillary or third-party APIs.

When to use this block

Use this block when your dataflow needs to deliver data to an HTTP API, for example, posting transactions to the Capillary Transaction v2 API.

Prerequisites

Before configuring this block, make sure you have:

  • OAuth client key and secret
  • The API endpoint path
  • The HTTP method required by the API (POST or PUT)

Standard properties

Field nameRequiredDescription
Block nameYesA name for the block instance. The name must be alphanumeric. There is no character limit.
Client KeyYesThe OAuth client key used for authentication. Select the client key from the dropdown. The list shows configurations created in the Extension Configuration section of the Dev Console.
Client SecretYes

The OAuth client secret used for authentication. Select the client secret from the dropdown. The list shows configurations marked as secret in the Extension Configuration section of the Dev Console.

Note: When creating a password configuration in the Extension Configuration section of the Dev Console, set Is Secret to make it available in the dropdown.

API EndpointYesThe relative endpoint path of the API to call.
For example, /v2/transactions/bulk.
For Neo endpoints, use the format /x/neo/<neo_dataflow_name>.
API MethodYesThe HTTP method used to call the API.
Select POST or PUT from the dropdown.
Default value: POST.
Parse API ResponseNoParses the API response after each request and extracts specific values using the Parse path map.
Select true to extract values from the response.
Select false to skip response parsing.
When set to true, the parse path map defines which fields to extract from the response:
  • status_code — the error code returned by the API
  • error_message — the error description
  • entity_id — the ID of the created or updated record
Default value: true.
Set the value to false for Neo APIs.

Advanced properties

⚠️ Advanced properties for OAuth HTTP API Call. Make changes only if you know what you are doing.

Field nameRequiredDescription
API Base URLYesThe base URL of the API. You can use the default value.
If you enter a URL, do not include a trailing /.
Default value: {intouch_url}.
OAuth Base URLYesThe base URL used to obtain the OAuth token. You can use the default value.
If you enter a URL, do not include a trailing /.
Default value: {intouch_url}.
Bulk SupportYesDetermines whether bulk API calls are supported. Select from the dropdown.
Select false when the target API expects individual objects.
Select true when the target API expects an array.Default value: true.
Request Split PathYesThe JSONPath expression used to split outgoing requests.
Default value: $.*.
Response Split PathYesThe JSONPath expression used to split API responses.
Default value: $.*.
Parse Path MapYesThe JSONPath map used to parse API responses.
Default value: {"status_code":"$.[errors'].*.code","error_message":"$.[errors'].*.r..."}.
Recoverable Error CodesNoComma-separated HTTP status codes that trigger a retry.
Default value: 521,502,503,504.
Yielding Error CodesNoComma-separated HTTP status codes that cause the block to yield and wait before retrying.
Default value: 429.
Max RetriesNoThe maximum number of retry attempts on failure.
Default value: 3.
Additional HeadersNoAdditional HTTP headers to include in the API request, entered as a JSON object.
For example, {"X-Custom-Header": "value"}.
RateYesThe number of flow files processed per time period.
Default value: 1000.
Time PeriodYesThe duration of the rate limiting time window. Default value: 1.
Time UnitYesThe time unit for the rate limiting period. Select SECONDS, MINUTES, or HOURS from the dropdown. Default value: MINUTES.