FunnelFlux Pro API DocumentsFunnelFlux Pro API Documents
  • Changelog
  • Status
  • Dashboard
  • Documentation
  • Authentication
  • Domains
  • Assets
  • Reporting
Information
Traffic Sources
    List traffic sourcesgetFind traffic source by IDgetFind traffic sources by ID listgetFind traffic sources by statusgetFind traffic sources by categorygetSave traffic sourceputCreate traffic sourcepostDuplicate traffic sourcepostDelete traffic sourcedeleteArchive traffic sourcesputUnarchive traffic sourcesputMove traffic sources to a categoryput
Offer Sources
    List offer sourcesgetFind offer source by IDgetFind offer sources by ID listgetFind offer sources by statusgetFind offer sources by categorygetSave offer sourceputCreate offer sourcepostDuplicate offer sourcepostDelete offer sourcedeleteArchive offer sourcesputUnarchive offer sourcesputMove offer sources to a categoryput
Funnel Groups
    List funnel groupsgetFind funnel group by IDgetFind funnel groups by ID listgetFind funnel groups by statusgetUpdate a funnel groupputCreate a funnel grouppostDuplicate a funnel grouppostDelete a funnel groupdeleteArchive funnel groupsputList funnel groupsgetFind funnel group by IDgetFind funnel groups by ID listgetFind funnel groups by statusgetUpdate an existing funnel groupputCreate a new funnel grouppostDuplicate a funnel grouppostDelete a funnel groupdeleteArchive funnel groupsputUnarchive funnel groupsput
Funnels
    List funnelsgetFind funnel by IDgetFind funnels by ID listgetFind funnels by statusgetFind funnels by typegetFind funnels by categorygetUpdate a funnelputCreate a funnelpostDuplicate a funnelpostDelete a funneldeleteArchive a funnelputUnarchive a funnelputMove a funnelput
Conditions
    List conditionsgetFind condition by IDgetFind conditions by ID listgetFind conditions by statusgetFind conditions by categorygetUpdate a conditionputCreate a conditionpostDuplicate a conditionpostDelete a conditiondeleteArchive conditionsputUnarchive conditionsputMove conditions to a categoryput
Logic Scripts
    List logic scriptsgetFind logic script by IDgetFind logic scripts by ID listgetFind logic scripts by namegetFind logic scripts by statusgetFind logic scripts by categorygetUpdate a logic scriptputCreate a logic scriptpostDuplicate a logic scriptpostSoft-delete logic scriptsdeleteGet logic script language metadatagetValidate logic script codepostArchive logic scriptsputUnarchive logic scriptsputMove logic scripts to a categoryput
Visitor Tags
    Find visitor tag by IDgetList visitor tagsgetFind visitor tags by statusgetUpdate a visitor tagputCreate a visitor tagpostDuplicate a visitor tagpostDelete visitor tagsdeleteArchive visitor tagsputUnarchive visitor tagsputMove visitor tags to categoryput
Page Groups
    List page groupsgetFind a page group by IDgetFind page groups by ID listgetFind page groups by statusgetFind page groups by typegetFind page groups by categorygetUpdate a page groupputCreate a page grouppostDuplicate a page grouppostDelete a page groupdeleteArchive page groupsputUnarchive page groupsputMove global page groups to a categoryputFind page groups by categorygetMove global page groups to a categoryput
Pages
    List pagesgetFind a page by IDgetFind pages by ID listgetFind pages by statusgetFind pages by categorygetUpdate a pageputCreate a new pagepostDuplicate a pagepostDelete a pagedeleteArchive pagesputUnarchive pagesputMove pages to a categoryput
Categories
    List categoriesgetFind category by IDgetFind categories by ID listgetUpdate a categoryputCreate a categorypostDuplicate a categorypostDelete a categorydeleteArchive categoriesputUnarchive categoriesput
User
    Get user settingsgetSave user settingsputDelete user settingsdelete
Integration
    List integration API keysgetUpdate integration API keyputGenerate integration API keypostDelete integration API keydelete
AI Node Settings
    Update AI node settingsputCreate AI node settingspostFind AI node settings by IDgetFind AI node settings by ID listgetDelete AI node settingsdelete
Webhook Configs
    List webhook configsgetFind webhook config by IDgetFind webhook configs by ID listgetSave webhook configputCreate webhook configpostDelete webhook configdeleteDuplicate webhook configpostArchive webhook configsputUnarchive webhook configsputMove webhook configs to categoryput
Middleware Configs
    List middleware configsgetFind middleware config by IDgetFind middleware configs by ID listgetSave middleware configputCreate middleware configpostDelete middleware configdeleteDuplicate middleware configpostArchive middleware configsputUnarchive middleware configsputMove middleware configs to categoryput
Schemas
FunnelFlux Assets API
FunnelFlux Assets API

Middleware Configs

Download schema

API endpoints to manage middleware node configurations


List middleware configs

GET
https://api.funnelflux.pro/v1
/middlewareconfig/list/

Retrieve secret-safe middleware configuration summaries by lifecycle status and optional category. List responses intentionally omit destination URL, headers, basic-auth password, and HMAC secret; use find-by-ID when editing a single authenticated app-internal config.

List middleware configs › query Parameters

status
​string · enum

Middleware config status filter. Empty or not-deleted excludes deleted configs.

Enum values:
active
archived
disabled
deleted
not-deleted
all
idCategory
​string

Optional category ID to filter by

List middleware configs › Responses

List of middleware config summaries

​MiddlewareConfigInfo[]
MiddlewareConfigInfo
idMiddlewareConfig
​string · required
middlewareConfigName
​string · required
status
​string · enum
Enum values:
active
archived
disabled
deleted
destinationType
​string · enum
Enum values:
custom
zapier
make
pipedream
pipedrive
n8n
tray_io
ifttt
destinationMethod
​string · enum
Enum values:
GET
POST
idCategory
​string

Category ID. Empty if uncategorized.

categoryName
​string
GET/middlewareconfig/list/
curl --request GET \ --url https://api.funnelflux.pro/v1/middlewareconfig/list
Example Responses
[ { "idMiddlewareConfig": "idMiddlewareConfig", "middlewareConfigName": "middlewareConfigName", "status": "active", "destinationType": "custom", "destinationMethod": "GET", "idCategory": "idCategory", "categoryName": "categoryName" } ]
json
application/json

Find middleware config by ID

GET
https://api.funnelflux.pro/v1
/middlewareconfig/find/byId/

Retrieve a middleware configuration by ID. User-facing REST read responses preserve editable destination headers and basic-auth username, but never return stored basic-auth password or HMAC secret values. When those secrets are set, the response returns hasBasicAuthPassword/hasHmacSecret plus a fixed placeholder value that clients may render as dots. To preserve a stored secret on save, send the placeholder, blank, or omitted secret value together with the matching hasBasicAuthPassword=true or hasHmacSecret=true flag.

Find middleware config by ID › query Parameters

idMiddlewareConfig
​string · required

The ID of the middleware config

Find middleware config by ID › Responses

The requested middleware config

MiddlewareConfig
​MiddlewareDestination · required
idMiddlewareConfig
​string · required

ID of the middleware configuration

middlewareConfigName
​string · minLength: 1 · maxLength: 256 · required

Middleware config's name.

​MiddlewareRoute[] · required

Exactly one route must be marked isDefault. Non-default routes are evaluated in ascending priority order. Route idRoute values are stable lowercase keys and are also the user-facing labels.

schemaVersion
​string · required

Middleware config schema version.

timeoutMs
​integer · int32 · min: 1 · max: 30000 · required
description
​string
idCategory
​string

Category ID. Empty if uncategorized.

Default:
status
​string · enum
Enum values:
active
archived
disabled
deleted
Default: active
GET/middlewareconfig/find/byId/
curl --request GET \ --url 'https://api.funnelflux.pro/v1/middlewareconfig/find/byId?idMiddlewareConfig=%3Cstring%3E'
Example Responses
{ "idMiddlewareConfig": "middleware-config-id", "middlewareConfigName": "Email Validation", "schemaVersion": "1.0", "status": "active", "destination": { "type": "custom", "method": "POST", "url": "https://example.com/validate", "headers": { "X-Source": "funnelflux" } }, "timeoutMs": 5000, "routes": [ { "idRoute": "default", "priority": 0, "isDefault": true }, { "idRoute": "approved", "priority": 1, "isDefault": false, "conditionLogic": "all", "conditions": [ { "field": "status_code", "operator": "is", "value": "200" }, { "field": "body_text", "operator": "contains", "value": "approved" } ] } ] }
json
application/json

Find middleware configs by ID list

GET
https://api.funnelflux.pro/v1
/middlewareconfig/find/byIds/

Retrieve all middleware configurations with the specified IDs. User-facing REST read responses preserve editable destination headers and basic-auth username, but never return stored basic-auth password or HMAC secret values. When those secrets are set, each config returns hasBasicAuthPassword/hasHmacSecret plus the fixed placeholder value. To preserve a stored secret on save, send the placeholder, blank, or omitted secret value together with the matching hasBasicAuthPassword=true or hasHmacSecret=true flag.

Find middleware configs by ID list › query Parameters

idMiddlewareConfigs
​string · required

Comma-separated middleware config IDs to retrieve

Find middleware configs by ID list › Responses

List of middleware configs with the specified IDs

​MiddlewareConfig[]
MiddlewareConfig
​MiddlewareDestination · required
idMiddlewareConfig
​string · required

ID of the middleware configuration

middlewareConfigName
​string · minLength: 1 · maxLength: 256 · required

Middleware config's name.

​MiddlewareRoute[] · required

Exactly one route must be marked isDefault. Non-default routes are evaluated in ascending priority order. Route idRoute values are stable lowercase keys and are also the user-facing labels.

schemaVersion
​string · required

Middleware config schema version.

timeoutMs
​integer · int32 · min: 1 · max: 30000 · required
description
​string
idCategory
​string

Category ID. Empty if uncategorized.

Default:
status
​string · enum
Enum values:
active
archived
disabled
deleted
Default: active
GET/middlewareconfig/find/byIds/
curl --request GET \ --url 'https://api.funnelflux.pro/v1/middlewareconfig/find/byIds?idMiddlewareConfigs=%3Cstring%3E'
Example Responses
[ { "idMiddlewareConfig": "middleware-config-id", "middlewareConfigName": "Email Validation", "schemaVersion": "1.0", "status": "active", "destination": { "type": "custom", "method": "POST", "url": "https://example.com/validate", "headers": { "X-Source": "funnelflux" } }, "timeoutMs": 5000, "routes": [ { "idRoute": "default", "priority": 0, "isDefault": true }, { "idRoute": "approved", "priority": 1, "isDefault": false, "conditionLogic": "all", "conditions": [ { "field": "status_code", "operator": "is", "value": "200" }, { "field": "body_text", "operator": "contains", "value": "approved" } ] } ] } ]
json
application/json

Save middleware config

PUT
https://api.funnelflux.pro/v1
/middlewareconfig/save/

Update an existing middleware configuration. The id cannot be changed. Middleware routes are evaluated in ascending non-default priority; exactly one default route is required for fallback.

Save middleware config › Request Body

MiddlewareConfig
​MiddlewareDestination · required
idMiddlewareConfig
​string · required

ID of the middleware configuration

middlewareConfigName
​string · minLength: 1 · maxLength: 256 · required

Middleware config's name.

​MiddlewareRoute[] · required

Exactly one route must be marked isDefault. Non-default routes are evaluated in ascending priority order. Route idRoute values are stable lowercase keys and are also the user-facing labels.

schemaVersion
​string · required

Middleware config schema version.

timeoutMs
​integer · int32 · min: 1 · max: 30000 · required
description
​string
idCategory
​string

Category ID. Empty if uncategorized.

Default:
status
​string · enum
Enum values:
active
archived
disabled
deleted
Default: active

Save middleware config › Responses

Middleware config updated successfully

No data returned
PUT/middlewareconfig/save/
curl --request PUT \ --url https://api.funnelflux.pro/v1/middlewareconfig/save \ --header 'Content-Type: application/json' \ --data ' { "idMiddlewareConfig": "middleware-config-id", "middlewareConfigName": "Email Validation", "schemaVersion": "1.0", "status": "active", "destination": { "type": "custom", "method": "POST", "url": "https://example.com/validate", "headers": { "X-Source": "funnelflux" } }, "timeoutMs": 5000, "routes": [ { "idRoute": "default", "priority": 0, "isDefault": true }, { "idRoute": "approved", "priority": 1, "isDefault": false, "conditionLogic": "all", "conditions": [ { "field": "status_code", "operator": "is", "value": "200" }, { "field": "body_text", "operator": "contains", "value": "approved" } ] } ] } '
Example Request Body
{ "idMiddlewareConfig": "middleware-config-id", "middlewareConfigName": "Email Validation", "schemaVersion": "1.0", "status": "active", "destination": { "type": "custom", "method": "POST", "url": "https://example.com/validate", "headers": { "X-Source": "funnelflux" } }, "timeoutMs": 5000, "routes": [ { "idRoute": "default", "priority": 0, "isDefault": true }, { "idRoute": "approved", "priority": 1, "isDefault": false, "conditionLogic": "all", "conditions": [ { "field": "status_code", "operator": "is", "value": "200" }, { "field": "body_text", "operator": "contains", "value": "approved" } ] } ] }
json
Example Responses
No example specified for this content type

Create middleware config

POST
https://api.funnelflux.pro/v1
/middlewareconfig/save/

Create a new middleware configuration. Middleware nodes synchronously call the configured destination during Edge traversal, evaluate the response, and select a route. Supported condition fields are status_code, body_text, and body_json.<path>.

Create middleware config › Request Body

MiddlewareConfig
​MiddlewareDestination · required
idMiddlewareConfig
​string · required

ID of the middleware configuration

middlewareConfigName
​string · minLength: 1 · maxLength: 256 · required

Middleware config's name.

​MiddlewareRoute[] · required

Exactly one route must be marked isDefault. Non-default routes are evaluated in ascending priority order. Route idRoute values are stable lowercase keys and are also the user-facing labels.

schemaVersion
​string · required

Middleware config schema version.

timeoutMs
​integer · int32 · min: 1 · max: 30000 · required
description
​string
idCategory
​string

Category ID. Empty if uncategorized.

Default:
status
​string · enum
Enum values:
active
archived
disabled
deleted
Default: active

Create middleware config › Responses

Middleware config created successfully

No data returned
POST/middlewareconfig/save/
curl --request POST \ --url https://api.funnelflux.pro/v1/middlewareconfig/save \ --header 'Content-Type: application/json' \ --data ' { "idMiddlewareConfig": "middleware-config-id", "middlewareConfigName": "Email Validation", "schemaVersion": "1.0", "status": "active", "destination": { "type": "custom", "method": "POST", "url": "https://example.com/validate", "headers": { "X-Source": "funnelflux" } }, "timeoutMs": 5000, "routes": [ { "idRoute": "default", "priority": 0, "isDefault": true }, { "idRoute": "approved", "priority": 1, "isDefault": false, "conditionLogic": "all", "conditions": [ { "field": "status_code", "operator": "is", "value": "200" }, { "field": "body_text", "operator": "contains", "value": "approved" } ] } ] } '
Example Request Body
{ "idMiddlewareConfig": "middleware-config-id", "middlewareConfigName": "Email Validation", "schemaVersion": "1.0", "status": "active", "destination": { "type": "custom", "method": "POST", "url": "https://example.com/validate", "headers": { "X-Source": "funnelflux" } }, "timeoutMs": 5000, "routes": [ { "idRoute": "default", "priority": 0, "isDefault": true }, { "idRoute": "approved", "priority": 1, "isDefault": false, "conditionLogic": "all", "conditions": [ { "field": "status_code", "operator": "is", "value": "200" }, { "field": "body_text", "operator": "contains", "value": "approved" } ] } ] }
json
Example Responses
No example specified for this content type

Delete middleware config

DELETE
https://api.funnelflux.pro/v1
/middlewareconfig/delete/

Delete the specified middleware configuration.

Delete middleware config › query Parameters

idMiddlewareConfig
​string · required

The ID of the middleware config to delete

Delete middleware config › Responses

Middleware config deleted successfully

No data returned
DELETE/middlewareconfig/delete/
curl --request DELETE \ --url 'https://api.funnelflux.pro/v1/middlewareconfig/delete?idMiddlewareConfig=%3Cstring%3E'
Example Responses
No example specified for this content type

Duplicate middleware config

POST
https://api.funnelflux.pro/v1
/middlewareconfig/duplicate/

Create duplicate of existing middleware configuration.

Duplicate middleware config › query Parameters

idMiddlewareConfig
​string · required

ID of the middleware config to duplicate.

Duplicate middleware config › Request Body

DuplicateRequest
name
​string · minLength: 1 · maxLength: 256 · required

Name for the new asset

parentId
​string

Optional parent/category ID for the new asset

​object

Optional field overrides to merge into the duplicated asset. Keys are JSON field names (e.g. baseURL, trackingFieldSlots). Protected fields (ID, owner, status) cannot be changed via this field — they are always set by the server after the merge.

Duplicate middleware config › Responses

Middleware config duplicated successfully

DuplicateResponse
id
​string

ID of the newly created asset

POST/middlewareconfig/duplicate/
curl --request POST \ --url 'https://api.funnelflux.pro/v1/middlewareconfig/duplicate?idMiddlewareConfig=%3Cstring%3E' \ --header 'Content-Type: application/json' \ --data ' { "name": "name", "parentId": "parentId", "bodyUpdates": {} } '
Example Request Body
{ "name": "name", "parentId": "parentId", "bodyUpdates": {} }
json
Example Responses
{ "id": "id" }
json
application/json

Archive middleware configs

PUT
https://api.funnelflux.pro/v1
/middlewareconfig/archive/

Archive the specified middleware configurations.

Archive middleware configs › Request Body

StringList
entries
​string[] · required

Archive middleware configs › Responses

Middleware configs archived successfully

No data returned
PUT/middlewareconfig/archive/
curl --request PUT \ --url https://api.funnelflux.pro/v1/middlewareconfig/archive \ --header 'Content-Type: application/json' \ --data ' { "entries": [ "entries", "entries" ] } '
Example Request Body
{ "entries": [ "entries", "entries" ] }
json
Example Responses
No example specified for this content type

Unarchive middleware configs

PUT
https://api.funnelflux.pro/v1
/middlewareconfig/unarchive/

Restore the specified middleware configurations to active.

Unarchive middleware configs › Request Body

StringList
entries
​string[] · required

Unarchive middleware configs › Responses

Middleware configs unarchived successfully

No data returned
PUT/middlewareconfig/unarchive/
curl --request PUT \ --url https://api.funnelflux.pro/v1/middlewareconfig/unarchive \ --header 'Content-Type: application/json' \ --data ' { "entries": [ "entries", "entries" ] } '
Example Request Body
{ "entries": [ "entries", "entries" ] }
json
Example Responses
No example specified for this content type

Move middleware configs to category

PUT
https://api.funnelflux.pro/v1
/middlewareconfig/move-category/

Move middleware configs to category › Request Body

MoveCategoryRequest
entries
​string[] · required

List of asset IDs to move

idCategory
​string · required

Target category ID (empty string to remove from category)

Move middleware configs to category › Responses

Middleware configs moved successfully

No data returned
PUT/middlewareconfig/move-category/
curl --request PUT \ --url https://api.funnelflux.pro/v1/middlewareconfig/move-category \ --header 'Content-Type: application/json' \ --data ' { "entries": [ "string" ], "idCategory": "idCategory" } '
Example Request Body
{ "entries": [ "string" ], "idCategory": "idCategory" }
json
Example Responses
No example specified for this content type

Webhook Configs