Skip to main content

API

The API Initiator allows Integration Flows to be triggered from outside of Fenergo via API Endpoint.

External Endpoints

There are two options when triggering a Flow via external API call, one secured using Fenergo security token and our new Custom Authentication allows Clients to configure different configuration schemes where OAuth is not supported by the external service.

Fenergo Token

Endpoint: https://api.fenergox.com/integrationcore/api/execution/flow/{FlowId or FlowKey}

The API Initiator requires incoming requests to include a Fenergo-issued OAuth token and the subject must have IntegrationFlows:Flow API Trigger application permissions.

info

The Fenergo Token Authentication endpoint includes MTLS authentication

Custom Authentication

Endpoint: https://api.fenergox.com/startIntegrationFlow/tenant/{tenantId}/flow/{FlowId or FlowKey}/

Integration Flows supports the following custom authentication schemes. Schemes are configured per Flow and can be combined (e.g. authentication by IP Whitelisting AND Shared Secret).

  • IP WhiteListing - Specify a single or comma-separated list of IPs / CIDR Range
  • HMAC - Hash-based Message Authentication Code provided in header
  • Shared Secret - A shared secret (e.g. API Key) can be passed in either the HTTP Header or Query Parameter

Custom Authentication Schemes are configured within the Flow Designer using the Custom Auth tab.

Custom Authentication Configuration

Runtime Details

Once the Flow execution is started by either API Endpoint above, the Execution.Request object provides access to the complete details of the HTTP Request received.

Execution VariablesDescription and Data Type
contentTypeString. Request contentType.

Supported values:
- application/json
- application/xml
- application/x-www-form-urlencoded
- multipart/form-data
- text/plain
- Null (none)
headersDictionary(Key, Value). Request Headers
pathString. Upstream APIs can provide additional Path in the URL following the Flow Id.

e.g. https://api.fenergox.com/integrationcore/api/execution/flow/{FlowId}/custom/path/123, Path = /custom/path/123
queryParamsDictionary(Key, Value). Request Query Parameters
bodyJson Request Body, formatted as Json Object
bodyRawString. Request Body, unprocessed
bodyFormDataDictionary(Key, Value). Request Form Data