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

Funnels

Download schema

API endpoints to manage funnels


List funnels

GET
https://api.funnelflux.pro/v1
/campaign/funnel/list/

List all funnels

List funnels › query Parameters

status
​string · enum · required

Status of resource

Enum values:
active
archived
not-deleted
all
funnelType
​string · enum

Optional funnel type filter

Enum values:
visual
flow

List funnels › Responses

List of funnels

​FunnelInfo[]
Slim funnel projection returned by list and findByStatus endpoints.
FunnelInfo
idFunnel
​string · required

ID of the funnel

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

Funnel's name.

status
​Status · enum · required
Enum values:
active
archived
deleted
Default: active
idFunnelGroup
​string · required

ID of the parent funnel group

funnelGroupName
​string · maxLength: 256

Name of the parent funnel group

GET/campaign/funnel/list/
curl --request GET \ --url 'https://api.funnelflux.pro/v1/campaign/funnel/list?status=%3Cstring%3E'
Example Responses
[ { "idFunnel": "idFunnel", "funnelName": "funnelName", "status": "active", "idFunnelGroup": "idFunnelGroup", "funnelGroupName": "funnelGroupName" } ]
json
application/json

Find funnel by ID

GET
https://api.funnelflux.pro/v1
/campaign/funnel/find/byId

Retrieve a funnel by its id

Find funnel by ID › query Parameters

idFunnel
​string · required

The ID of the funnel to retrieve

Find funnel by ID › Responses

The requested funnel

Funnel
idFunnel
​string · required

ID of the funnel

idCampaign
​string · required

ID of the parent campaign (legacy alias for idFunnelGroup)

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

Funnel's name.

idFunnelGroup
​string

ID of the parent funnel group

funnelType
​FunnelType · enum
Enum values:
visual
flow
Default: visual
canvasWidth
​integer · int32 · min: 0
Default: 0
canvasHeight
​integer · int32 · min: 0
Default: 0
​object

Query parameters to add to the tracking url for this funnel

​object

A list of traffic source cost overrides. The key represents the traffic source id and the value the new cost to apply to new visits from that traffic source. Optional: omit or send an empty object to apply default costs.

​Postback[]

A list of traffic source postback overrides for this funnel.

ipAnonymizer
​string · enum

Optional. Per-funnel IP anonymization. Set this only if you want this funnel to differ from your account default. If omitted, the account-level user-settings value is applied (which may anonymize visitor IPs); omitting is NOT equivalent to "disabled".

Enum values:
disabled
All IPs
EU IPs
​FunnelNode[]

A list of nodes used in this funnel

​FunnelConnection[]

A list of connections linking this funnel's nodes.

defaultCost
​string
Default:
status
​Status · enum
Enum values:
active
archived
deleted
Default: active
owner
​string

Only filled by loading endpoints. Ignored for all saving operations as the owner is already passed as the endpoint's key query param.

Default:
​object

Reserved for the FunnelFlux user interface (UI state and edit version/conflict tracking). For internal UI use only; do not store your own data here via the API, as the UI may overwrite it.

GET/campaign/funnel/find/byId
curl --request GET \ --url 'https://api.funnelflux.pro/v1/campaign/funnel/find/byId?idFunnel=%3Cstring%3E'
Example Responses
{ "funnelName": "funnelName", "idFunnel": "1", "nodes": [ { "nodeName": "nodeName", "nodeVisitorTagParams": { "addTagIds": [ "tagid1", "tagid2" ], "removeTagIds": [ "tagid3" ] }, "nodeType": "root", "nodePageParams": { "idPage": "1", "accumulateUrlParams": false, "additionalTokens": { "key1": "value1", "key2": "value2" } }, "idNode": "1", "nodeRotatorParams": { "rotatorType": "random" }, "nodeExternalUrlParams": { "url": "url" }, "posX": 2.027, "posY": 4.145, "idFunnel": 1, "nodeConditionParams": { "idCondition": "1" } } ], "idCampaign": "1", "defaultCost": "{bid}", "incomingCostOverrides": { "key1": "value1", "key2": "value2" }, "postbackOverrides": [ { "postbackURL": "url", "postbackType": "postbackURL", "idTrafficSource": "idTrafficSource" }, { "postbackHTML": "html code", "postbackType": "html", "idTrafficSource": "idTrafficSource" } ], "connections": [ { "idConnection": "1", "connectionCodeParams": { "onDoneNumber": 8 }, "connectionPageParams": { "isConversion": false, "onActionNumbers": [ 47 ] }, "idFunnel": 1, "idSourceNode": "1", "idTargetNode": "1", "labelLocation": 4.965, "connectionRotatorParams": { "weight": 0.684 } }, { "idConnection": "1", "connectionCodeParams": { "onDoneNumber": 8 }, "connectionPageParams": { "isConversion": false, "onActionNumbers": [ 47 ] }, "idFunnel": "1", "idSourceNode": "1", "idTargetNode": "1", "labelLocation": 4.965, "connectionRotatorParams": { "weight": 0.684 } } ] }
json
application/json

Find funnels by ID list

GET
https://api.funnelflux.pro/v1
/campaign/funnel/find/byIds/

Retrieve all funnels with the specified ids

Find funnels by ID list › query Parameters

idFunnels
​string · required

List of the funnel IDs to filter to

Find funnels by ID list › Responses

List of funnels with the specified status

​Funnel[]
Funnel
idFunnel
​string · required

ID of the funnel

idCampaign
​string · required

ID of the parent campaign (legacy alias for idFunnelGroup)

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

Funnel's name.

idFunnelGroup
​string

ID of the parent funnel group

funnelType
​FunnelType · enum
Enum values:
visual
flow
Default: visual
canvasWidth
​integer · int32 · min: 0
Default: 0
canvasHeight
​integer · int32 · min: 0
Default: 0
​object

Query parameters to add to the tracking url for this funnel

​object

A list of traffic source cost overrides. The key represents the traffic source id and the value the new cost to apply to new visits from that traffic source. Optional: omit or send an empty object to apply default costs.

​Postback[]

A list of traffic source postback overrides for this funnel.

ipAnonymizer
​string · enum

Optional. Per-funnel IP anonymization. Set this only if you want this funnel to differ from your account default. If omitted, the account-level user-settings value is applied (which may anonymize visitor IPs); omitting is NOT equivalent to "disabled".

Enum values:
disabled
All IPs
EU IPs
​FunnelNode[]

A list of nodes used in this funnel

​FunnelConnection[]

A list of connections linking this funnel's nodes.

defaultCost
​string
Default:
status
​Status · enum
Enum values:
active
archived
deleted
Default: active
owner
​string

Only filled by loading endpoints. Ignored for all saving operations as the owner is already passed as the endpoint's key query param.

Default:
​object

Reserved for the FunnelFlux user interface (UI state and edit version/conflict tracking). For internal UI use only; do not store your own data here via the API, as the UI may overwrite it.

GET/campaign/funnel/find/byIds/
curl --request GET \ --url 'https://api.funnelflux.pro/v1/campaign/funnel/find/byIds?idFunnels=%3Cstring%3E'
Example Responses
[ { "funnelName": "funnelName", "idFunnel": "1", "nodes": [ { "nodeName": "nodeName", "nodeVisitorTagParams": { "addTagIds": [ "tagid1", "tagid2" ], "removeTagIds": [ "tagid3" ] }, "nodeType": "root", "nodePageParams": { "idPage": "1", "accumulateUrlParams": false, "additionalTokens": { "key1": "value1", "key2": "value2" } }, "idNode": "1", "nodeRotatorParams": { "rotatorType": "random" }, "nodeExternalUrlParams": { "url": "url" }, "posX": 2.027, "posY": 4.145, "idFunnel": 1, "nodeConditionParams": { "idCondition": "1" } } ], "idCampaign": "1", "defaultCost": "{bid}", "incomingCostOverrides": { "key1": "value1", "key2": "value2" }, "postbackOverrides": [ { "postbackURL": "url", "postbackType": "postbackURL", "idTrafficSource": "idTrafficSource" }, { "postbackHTML": "html code", "postbackType": "html", "idTrafficSource": "idTrafficSource" } ], "connections": [ { "idConnection": "1", "connectionCodeParams": { "onDoneNumber": 8 }, "connectionPageParams": { "isConversion": false, "onActionNumbers": [ 47 ] }, "idFunnel": 1, "idSourceNode": "1", "idTargetNode": "1", "labelLocation": 4.965, "connectionRotatorParams": { "weight": 0.684 } }, { "idConnection": "1", "connectionCodeParams": { "onDoneNumber": 8 }, "connectionPageParams": { "isConversion": false, "onActionNumbers": [ 47 ] }, "idFunnel": "1", "idSourceNode": "1", "idTargetNode": "1", "labelLocation": 4.965, "connectionRotatorParams": { "weight": 0.684 } } ] } ]
json
application/json

Find funnels by status

GET
https://api.funnelflux.pro/v1
/campaign/funnel/find/byStatus/

Retrieve all funnels with the specified status

Find funnels by status › query Parameters

status
​string · enum · required

Status of resource

Enum values:
active
archived
not-deleted
all
idCampaign
​string

The funnel group to filter to

Find funnels by status › Responses

List of funnels with the specified status

​FunnelInfo[]
Slim funnel projection returned by list and findByStatus endpoints.
FunnelInfo
idFunnel
​string · required

ID of the funnel

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

Funnel's name.

status
​Status · enum · required
Enum values:
active
archived
deleted
Default: active
idFunnelGroup
​string · required

ID of the parent funnel group

funnelGroupName
​string · maxLength: 256

Name of the parent funnel group

GET/campaign/funnel/find/byStatus/
curl --request GET \ --url 'https://api.funnelflux.pro/v1/campaign/funnel/find/byStatus?status=%3Cstring%3E'
Example Responses
[ { "idFunnel": "idFunnel", "funnelName": "funnelName", "status": "active", "idFunnelGroup": "idFunnelGroup", "funnelGroupName": "funnelGroupName" } ]
json
application/json

Find funnels by type

GET
https://api.funnelflux.pro/v1
/campaign/funnel/find/byType/

Retrieve all funnels with the specified type

Find funnels by type › query Parameters

funnelType
​string · enum · required

Type of funnel

Enum values:
visual
flow

Find funnels by type › Responses

List of funnels with the specified type

​Funnel[]
Funnel
idFunnel
​string · required

ID of the funnel

idCampaign
​string · required

ID of the parent campaign (legacy alias for idFunnelGroup)

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

Funnel's name.

idFunnelGroup
​string

ID of the parent funnel group

funnelType
​FunnelType · enum
Enum values:
visual
flow
Default: visual
canvasWidth
​integer · int32 · min: 0
Default: 0
canvasHeight
​integer · int32 · min: 0
Default: 0
​object

Query parameters to add to the tracking url for this funnel

​object

A list of traffic source cost overrides. The key represents the traffic source id and the value the new cost to apply to new visits from that traffic source. Optional: omit or send an empty object to apply default costs.

​Postback[]

A list of traffic source postback overrides for this funnel.

ipAnonymizer
​string · enum

Optional. Per-funnel IP anonymization. Set this only if you want this funnel to differ from your account default. If omitted, the account-level user-settings value is applied (which may anonymize visitor IPs); omitting is NOT equivalent to "disabled".

Enum values:
disabled
All IPs
EU IPs
​FunnelNode[]

A list of nodes used in this funnel

​FunnelConnection[]

A list of connections linking this funnel's nodes.

defaultCost
​string
Default:
status
​Status · enum
Enum values:
active
archived
deleted
Default: active
owner
​string

Only filled by loading endpoints. Ignored for all saving operations as the owner is already passed as the endpoint's key query param.

Default:
​object

Reserved for the FunnelFlux user interface (UI state and edit version/conflict tracking). For internal UI use only; do not store your own data here via the API, as the UI may overwrite it.

GET/campaign/funnel/find/byType/
curl --request GET \ --url 'https://api.funnelflux.pro/v1/campaign/funnel/find/byType?funnelType=%3Cstring%3E'
Example Responses
[ { "funnelName": "funnelName", "idFunnel": "1", "nodes": [ { "nodeName": "nodeName", "nodeVisitorTagParams": { "addTagIds": [ "tagid1", "tagid2" ], "removeTagIds": [ "tagid3" ] }, "nodeType": "root", "nodePageParams": { "idPage": "1", "accumulateUrlParams": false, "additionalTokens": { "key1": "value1", "key2": "value2" } }, "idNode": "1", "nodeRotatorParams": { "rotatorType": "random" }, "nodeExternalUrlParams": { "url": "url" }, "posX": 2.027, "posY": 4.145, "idFunnel": 1, "nodeConditionParams": { "idCondition": "1" } } ], "idCampaign": "1", "defaultCost": "{bid}", "incomingCostOverrides": { "key1": "value1", "key2": "value2" }, "postbackOverrides": [ { "postbackURL": "url", "postbackType": "postbackURL", "idTrafficSource": "idTrafficSource" }, { "postbackHTML": "html code", "postbackType": "html", "idTrafficSource": "idTrafficSource" } ], "connections": [ { "idConnection": "1", "connectionCodeParams": { "onDoneNumber": 8 }, "connectionPageParams": { "isConversion": false, "onActionNumbers": [ 47 ] }, "idFunnel": 1, "idSourceNode": "1", "idTargetNode": "1", "labelLocation": 4.965, "connectionRotatorParams": { "weight": 0.684 } }, { "idConnection": "1", "connectionCodeParams": { "onDoneNumber": 8 }, "connectionPageParams": { "isConversion": false, "onActionNumbers": [ 47 ] }, "idFunnel": "1", "idSourceNode": "1", "idTargetNode": "1", "labelLocation": 4.965, "connectionRotatorParams": { "weight": 0.684 } } ] } ]
json
application/json

Find funnels by category

GET
https://api.funnelflux.pro/v1
/campaign/funnel/find/byCategory/

Retrieve all funnels under the specified category

Find funnels by category › query Parameters

idCategory
​string · required

Parent category of resource

Find funnels by category › Responses

List of funnels in the category

​Funnel[]
Funnel
idFunnel
​string · required

ID of the funnel

idCampaign
​string · required

ID of the parent campaign (legacy alias for idFunnelGroup)

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

Funnel's name.

idFunnelGroup
​string

ID of the parent funnel group

funnelType
​FunnelType · enum
Enum values:
visual
flow
Default: visual
canvasWidth
​integer · int32 · min: 0
Default: 0
canvasHeight
​integer · int32 · min: 0
Default: 0
​object

Query parameters to add to the tracking url for this funnel

​object

A list of traffic source cost overrides. The key represents the traffic source id and the value the new cost to apply to new visits from that traffic source. Optional: omit or send an empty object to apply default costs.

​Postback[]

A list of traffic source postback overrides for this funnel.

ipAnonymizer
​string · enum

Optional. Per-funnel IP anonymization. Set this only if you want this funnel to differ from your account default. If omitted, the account-level user-settings value is applied (which may anonymize visitor IPs); omitting is NOT equivalent to "disabled".

Enum values:
disabled
All IPs
EU IPs
​FunnelNode[]

A list of nodes used in this funnel

​FunnelConnection[]

A list of connections linking this funnel's nodes.

defaultCost
​string
Default:
status
​Status · enum
Enum values:
active
archived
deleted
Default: active
owner
​string

Only filled by loading endpoints. Ignored for all saving operations as the owner is already passed as the endpoint's key query param.

Default:
​object

Reserved for the FunnelFlux user interface (UI state and edit version/conflict tracking). For internal UI use only; do not store your own data here via the API, as the UI may overwrite it.

GET/campaign/funnel/find/byCategory/
curl --request GET \ --url 'https://api.funnelflux.pro/v1/campaign/funnel/find/byCategory?idCategory=%3Cstring%3E'
Example Responses
[ { "funnelName": "funnelName", "idFunnel": "1", "nodes": [ { "nodeName": "nodeName", "nodeVisitorTagParams": { "addTagIds": [ "tagid1", "tagid2" ], "removeTagIds": [ "tagid3" ] }, "nodeType": "root", "nodePageParams": { "idPage": "1", "accumulateUrlParams": false, "additionalTokens": { "key1": "value1", "key2": "value2" } }, "idNode": "1", "nodeRotatorParams": { "rotatorType": "random" }, "nodeExternalUrlParams": { "url": "url" }, "posX": 2.027, "posY": 4.145, "idFunnel": 1, "nodeConditionParams": { "idCondition": "1" } } ], "idCampaign": "1", "defaultCost": "{bid}", "incomingCostOverrides": { "key1": "value1", "key2": "value2" }, "postbackOverrides": [ { "postbackURL": "url", "postbackType": "postbackURL", "idTrafficSource": "idTrafficSource" }, { "postbackHTML": "html code", "postbackType": "html", "idTrafficSource": "idTrafficSource" } ], "connections": [ { "idConnection": "1", "connectionCodeParams": { "onDoneNumber": 8 }, "connectionPageParams": { "isConversion": false, "onActionNumbers": [ 47 ] }, "idFunnel": 1, "idSourceNode": "1", "idTargetNode": "1", "labelLocation": 4.965, "connectionRotatorParams": { "weight": 0.684 } }, { "idConnection": "1", "connectionCodeParams": { "onDoneNumber": 8 }, "connectionPageParams": { "isConversion": false, "onActionNumbers": [ 47 ] }, "idFunnel": "1", "idSourceNode": "1", "idTargetNode": "1", "labelLocation": 4.965, "connectionRotatorParams": { "weight": 0.684 } } ] } ]
json
application/json

Update a funnel

PUT
https://api.funnelflux.pro/v1
/campaign/funnel/save/

Update an existing funnel. The id cannot be changed.

Update a funnel › Request Body

Funnel
idFunnel
​string · required

ID of the funnel

idCampaign
​string · required

ID of the parent campaign (legacy alias for idFunnelGroup)

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

Funnel's name.

idFunnelGroup
​string

ID of the parent funnel group

funnelType
​FunnelType · enum
Enum values:
visual
flow
Default: visual
canvasWidth
​integer · int32 · min: 0
Default: 0
canvasHeight
​integer · int32 · min: 0
Default: 0
​object

Query parameters to add to the tracking url for this funnel

​object

A list of traffic source cost overrides. The key represents the traffic source id and the value the new cost to apply to new visits from that traffic source. Optional: omit or send an empty object to apply default costs.

​Postback[]

A list of traffic source postback overrides for this funnel.

ipAnonymizer
​string · enum

Optional. Per-funnel IP anonymization. Set this only if you want this funnel to differ from your account default. If omitted, the account-level user-settings value is applied (which may anonymize visitor IPs); omitting is NOT equivalent to "disabled".

Enum values:
disabled
All IPs
EU IPs
​FunnelNode[]

A list of nodes used in this funnel

​FunnelConnection[]

A list of connections linking this funnel's nodes.

defaultCost
​string
Default:
status
​Status · enum
Enum values:
active
archived
deleted
Default: active
owner
​string

Only filled by loading endpoints. Ignored for all saving operations as the owner is already passed as the endpoint's key query param.

Default:
​object

Reserved for the FunnelFlux user interface (UI state and edit version/conflict tracking). For internal UI use only; do not store your own data here via the API, as the UI may overwrite it.

Update a funnel › Responses

Funnel updated successfully

No data returned
PUT/campaign/funnel/save/
curl --request PUT \ --url https://api.funnelflux.pro/v1/campaign/funnel/save \ --header 'Content-Type: application/json' \ --data ' { "funnelName": "funnelName", "idFunnel": "1", "nodes": [ { "nodeName": "nodeName", "nodeVisitorTagParams": { "addTagIds": [ "tagid1", "tagid2" ], "removeTagIds": [ "tagid3" ] }, "nodeType": "root", "nodePageParams": { "idPage": "1", "accumulateUrlParams": false, "additionalTokens": { "key1": "value1", "key2": "value2" } }, "idNode": "1", "nodeRotatorParams": { "rotatorType": "random" }, "nodeExternalUrlParams": { "url": "url" }, "posX": 2.027, "posY": 4.145, "idFunnel": 1, "nodeConditionParams": { "idCondition": "1" } } ], "idCampaign": "1", "defaultCost": "{bid}", "incomingCostOverrides": { "key1": "value1", "key2": "value2" }, "postbackOverrides": [ { "postbackURL": "url", "postbackType": "postbackURL", "idTrafficSource": "idTrafficSource" }, { "postbackHTML": "html code", "postbackType": "html", "idTrafficSource": "idTrafficSource" } ], "connections": [ { "idConnection": "1", "connectionCodeParams": { "onDoneNumber": 8 }, "connectionPageParams": { "isConversion": false, "onActionNumbers": [ 47 ] }, "idFunnel": 1, "idSourceNode": "1", "idTargetNode": "1", "labelLocation": 4.965, "connectionRotatorParams": { "weight": 0.684 } }, { "idConnection": "1", "connectionCodeParams": { "onDoneNumber": 8 }, "connectionPageParams": { "isConversion": false, "onActionNumbers": [ 47 ] }, "idFunnel": "1", "idSourceNode": "1", "idTargetNode": "1", "labelLocation": 4.965, "connectionRotatorParams": { "weight": 0.684 } } ] } '
Example Request Body
{ "funnelName": "funnelName", "idFunnel": "1", "nodes": [ { "nodeName": "nodeName", "nodeVisitorTagParams": { "addTagIds": [ "tagid1", "tagid2" ], "removeTagIds": [ "tagid3" ] }, "nodeType": "root", "nodePageParams": { "idPage": "1", "accumulateUrlParams": false, "additionalTokens": { "key1": "value1", "key2": "value2" } }, "idNode": "1", "nodeRotatorParams": { "rotatorType": "random" }, "nodeExternalUrlParams": { "url": "url" }, "posX": 2.027, "posY": 4.145, "idFunnel": 1, "nodeConditionParams": { "idCondition": "1" } } ], "idCampaign": "1", "defaultCost": "{bid}", "incomingCostOverrides": { "key1": "value1", "key2": "value2" }, "postbackOverrides": [ { "postbackURL": "url", "postbackType": "postbackURL", "idTrafficSource": "idTrafficSource" }, { "postbackHTML": "html code", "postbackType": "html", "idTrafficSource": "idTrafficSource" } ], "connections": [ { "idConnection": "1", "connectionCodeParams": { "onDoneNumber": 8 }, "connectionPageParams": { "isConversion": false, "onActionNumbers": [ 47 ] }, "idFunnel": 1, "idSourceNode": "1", "idTargetNode": "1", "labelLocation": 4.965, "connectionRotatorParams": { "weight": 0.684 } }, { "idConnection": "1", "connectionCodeParams": { "onDoneNumber": 8 }, "connectionPageParams": { "isConversion": false, "onActionNumbers": [ 47 ] }, "idFunnel": "1", "idSourceNode": "1", "idTargetNode": "1", "labelLocation": 4.965, "connectionRotatorParams": { "weight": 0.684 } } ] }
json
Example Responses
No example specified for this content type

Create a funnel

POST
https://api.funnelflux.pro/v1
/campaign/funnel/save/

Create a new funnel

Create a funnel › Request Body

Funnel
idFunnel
​string · required

ID of the funnel

idCampaign
​string · required

ID of the parent campaign (legacy alias for idFunnelGroup)

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

Funnel's name.

idFunnelGroup
​string

ID of the parent funnel group

funnelType
​FunnelType · enum
Enum values:
visual
flow
Default: visual
canvasWidth
​integer · int32 · min: 0
Default: 0
canvasHeight
​integer · int32 · min: 0
Default: 0
​object

Query parameters to add to the tracking url for this funnel

​object

A list of traffic source cost overrides. The key represents the traffic source id and the value the new cost to apply to new visits from that traffic source. Optional: omit or send an empty object to apply default costs.

​Postback[]

A list of traffic source postback overrides for this funnel.

ipAnonymizer
​string · enum

Optional. Per-funnel IP anonymization. Set this only if you want this funnel to differ from your account default. If omitted, the account-level user-settings value is applied (which may anonymize visitor IPs); omitting is NOT equivalent to "disabled".

Enum values:
disabled
All IPs
EU IPs
​FunnelNode[]

A list of nodes used in this funnel

​FunnelConnection[]

A list of connections linking this funnel's nodes.

defaultCost
​string
Default:
status
​Status · enum
Enum values:
active
archived
deleted
Default: active
owner
​string

Only filled by loading endpoints. Ignored for all saving operations as the owner is already passed as the endpoint's key query param.

Default:
​object

Reserved for the FunnelFlux user interface (UI state and edit version/conflict tracking). For internal UI use only; do not store your own data here via the API, as the UI may overwrite it.

Create a funnel › Responses

Funnel created successfully

No data returned
POST/campaign/funnel/save/
curl --request POST \ --url https://api.funnelflux.pro/v1/campaign/funnel/save \ --header 'Content-Type: application/json' \ --data ' { "funnelName": "funnelName", "idFunnel": "1", "nodes": [ { "nodeName": "nodeName", "nodeVisitorTagParams": { "addTagIds": [ "tagid1", "tagid2" ], "removeTagIds": [ "tagid3" ] }, "nodeType": "root", "nodePageParams": { "idPage": "1", "accumulateUrlParams": false, "additionalTokens": { "key1": "value1", "key2": "value2" } }, "idNode": "1", "nodeRotatorParams": { "rotatorType": "random" }, "nodeExternalUrlParams": { "url": "url" }, "posX": 2.027, "posY": 4.145, "idFunnel": 1, "nodeConditionParams": { "idCondition": "1" } } ], "idCampaign": "1", "defaultCost": "{bid}", "incomingCostOverrides": { "key1": "value1", "key2": "value2" }, "postbackOverrides": [ { "postbackURL": "url", "postbackType": "postbackURL", "idTrafficSource": "idTrafficSource" }, { "postbackHTML": "html code", "postbackType": "html", "idTrafficSource": "idTrafficSource" } ], "connections": [ { "idConnection": "1", "connectionCodeParams": { "onDoneNumber": 8 }, "connectionPageParams": { "isConversion": false, "onActionNumbers": [ 47 ] }, "idFunnel": 1, "idSourceNode": "1", "idTargetNode": "1", "labelLocation": 4.965, "connectionRotatorParams": { "weight": 0.684 } }, { "idConnection": "1", "connectionCodeParams": { "onDoneNumber": 8 }, "connectionPageParams": { "isConversion": false, "onActionNumbers": [ 47 ] }, "idFunnel": "1", "idSourceNode": "1", "idTargetNode": "1", "labelLocation": 4.965, "connectionRotatorParams": { "weight": 0.684 } } ] } '
Example Request Body
{ "funnelName": "funnelName", "idFunnel": "1", "nodes": [ { "nodeName": "nodeName", "nodeVisitorTagParams": { "addTagIds": [ "tagid1", "tagid2" ], "removeTagIds": [ "tagid3" ] }, "nodeType": "root", "nodePageParams": { "idPage": "1", "accumulateUrlParams": false, "additionalTokens": { "key1": "value1", "key2": "value2" } }, "idNode": "1", "nodeRotatorParams": { "rotatorType": "random" }, "nodeExternalUrlParams": { "url": "url" }, "posX": 2.027, "posY": 4.145, "idFunnel": 1, "nodeConditionParams": { "idCondition": "1" } } ], "idCampaign": "1", "defaultCost": "{bid}", "incomingCostOverrides": { "key1": "value1", "key2": "value2" }, "postbackOverrides": [ { "postbackURL": "url", "postbackType": "postbackURL", "idTrafficSource": "idTrafficSource" }, { "postbackHTML": "html code", "postbackType": "html", "idTrafficSource": "idTrafficSource" } ], "connections": [ { "idConnection": "1", "connectionCodeParams": { "onDoneNumber": 8 }, "connectionPageParams": { "isConversion": false, "onActionNumbers": [ 47 ] }, "idFunnel": 1, "idSourceNode": "1", "idTargetNode": "1", "labelLocation": 4.965, "connectionRotatorParams": { "weight": 0.684 } }, { "idConnection": "1", "connectionCodeParams": { "onDoneNumber": 8 }, "connectionPageParams": { "isConversion": false, "onActionNumbers": [ 47 ] }, "idFunnel": "1", "idSourceNode": "1", "idTargetNode": "1", "labelLocation": 4.965, "connectionRotatorParams": { "weight": 0.684 } } ] }
json
Example Responses
No example specified for this content type

Duplicate a funnel

POST
https://api.funnelflux.pro/v1
/campaign/funnel/duplicate/

Create duplicate of existing funnel.

Duplicate a funnel › query Parameters

idFunnel
​string · required

ID of the funnel to duplicate.

Duplicate a funnel › Request Body

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

Name for the new funnel

parentId
​string · minLength: 1 · required

Required funnel group ID for the new funnel.

​object

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

Duplicate a funnel › Responses

The newly created funnel

DuplicateResponse
id
​string

ID of the newly created asset

POST/campaign/funnel/duplicate/
curl --request POST \ --url 'https://api.funnelflux.pro/v1/campaign/funnel/duplicate?idFunnel=%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

Delete a funnel

DELETE
https://api.funnelflux.pro/v1
/campaign/funnel/delete/

Delete the specified funnels along with their nodes and connections. Deletion is a soft-delete (status is set to "deleted"; records are retained so historical reporting can still resolve IDs to names, and existing tracking links keep working). Cascade: the funnel's funnel-scoped (local) assets are soft-deleted alongside it: page groups and conditions whose restrictToFunnelId points at this funnel, plus AI node settings belonging to this funnel (AI node settings are always funnel-specific, since they configure a rotator that only exists within one funnel). Logic scripts are global assets and are not deleted by funnel cascade. Global assets are never affected, and pages are never deleted (a page is a global asset that may be used by many funnels); delete pages explicitly if you no longer need them.

Delete a funnel › Request Body

StringList
entries
​string[] · required

Delete a funnel › Responses

Funnels deleted successfully

No data returned
DELETE/campaign/funnel/delete/
curl --request DELETE \ --url https://api.funnelflux.pro/v1/campaign/funnel/delete \ --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

Archive a funnel

PUT
https://api.funnelflux.pro/v1
/campaign/funnel/archive/

Archive the specified funnels

Archive a funnel › Request Body

StringList
entries
​string[] · required

Archive a funnel › Responses

Funnels archived successfully

No data returned
PUT/campaign/funnel/archive/
curl --request PUT \ --url https://api.funnelflux.pro/v1/campaign/funnel/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 a funnel

PUT
https://api.funnelflux.pro/v1
/campaign/funnel/unarchive/

Unarchive the specified funnels

Unarchive a funnel › Request Body

StringList
entries
​string[] · required

Unarchive a funnel › Responses

Funnels archived successfully

No data returned
PUT/campaign/funnel/unarchive/
curl --request PUT \ --url https://api.funnelflux.pro/v1/campaign/funnel/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 a funnel

PUT
https://api.funnelflux.pro/v1
/campaign/funnel/move/

Move the specified funnels under another campaign

Move a funnel › query Parameters

idCampaign
​string · required

The ID of the funnel group to move to

Move a funnel › Request Body

StringList
entries
​string[] · required

Move a funnel › Responses

Funnels moved successfully

No data returned
PUT/campaign/funnel/move/
curl --request PUT \ --url 'https://api.funnelflux.pro/v1/campaign/funnel/move?idCampaign=%3Cstring%3E' \ --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

Funnel GroupsConditions