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

Offer Sources

Download schema

API endpoints to manage offer sources


List offer sources

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

List all offer sources

List offer sources › query Parameters

status
​string · enum · required

Status of resource

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

Optional category ID to filter by

List offer sources › Responses

List of offer sources

​OfferSourceInfo[]
Slim offer source projection returned by list and findByStatus endpoints.
OfferSourceInfo
idOfferSource
​string · required

ID of the offer source

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

Offer source's name.

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

ID of the parent category

categoryName
​string · maxLength: 256

Name of the parent category

GET/offersource/list/
curl --request GET \ --url 'https://api.funnelflux.pro/v1/offersource/list?status=%3Cstring%3E'
Example Responses
[ { "idOfferSource": "idOfferSource", "offerSourceName": "offerSourceName", "status": "active", "idCategory": "idCategory", "categoryName": "categoryName" } ]
json
application/json

Find offer source by ID

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

Retrieve an offer source by ID

Find offer source by ID › query Parameters

idOfferSource
​string · required

The ID of the offer source

Find offer source by ID › Responses

The requested offer source

OfferSource
idOfferSource
​string · required

ID of the offer source

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

Offer source's name.

​object

Query parameters to add to the url. Tokens can be used as values.

umrDomainOverride
​string

Optional same-owner bare domain to use for UMR offer bounces.

Default:
postbackSubId
​string

Name of the subid parameter your offer source sends back to FunnelFlux when a conversion occurs

Default:
postbackTxId
​string

Name of the unique transaction id parameter your offer source sends back to FunnelFlux when a conversion occurs

Default:
postbackPayout
​string

Name of the payout parameter your offer source sends back to FunnelFlux when a conversion occurs

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

Category ID. Empty if uncategorized

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/offersource/find/byId/
curl --request GET \ --url 'https://api.funnelflux.pro/v1/offersource/find/byId?idOfferSource=%3Cstring%3E'
Example Responses
{ "idOfferSource": "1", "offerSourceName": "offerSourceName", "postbackSubId": "subid", "postbackTxId": "txid", "postbackPayout": "payout", "queryParams": { "param1": "value1", "param2": "value2" }, "umrDomainOverride": "clean.example.com" }
json
application/json

Find offer sources by ID list

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

Retrieve all offer sources with the specified ids

Find offer sources by ID list › query Parameters

idOfferSources
​string · required

List of the offer source IDs to retrieve

Find offer sources by ID list › Responses

List of offer sources with the specified ids

​OfferSource[]
OfferSource
idOfferSource
​string · required

ID of the offer source

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

Offer source's name.

​object

Query parameters to add to the url. Tokens can be used as values.

umrDomainOverride
​string

Optional same-owner bare domain to use for UMR offer bounces.

Default:
postbackSubId
​string

Name of the subid parameter your offer source sends back to FunnelFlux when a conversion occurs

Default:
postbackTxId
​string

Name of the unique transaction id parameter your offer source sends back to FunnelFlux when a conversion occurs

Default:
postbackPayout
​string

Name of the payout parameter your offer source sends back to FunnelFlux when a conversion occurs

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

Category ID. Empty if uncategorized

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/offersource/find/byIds/
curl --request GET \ --url 'https://api.funnelflux.pro/v1/offersource/find/byIds?idOfferSources=%3Cstring%3E'
Example Responses
[ { "idOfferSource": "1", "offerSourceName": "offerSourceName", "postbackSubId": "subid", "postbackTxId": "txid", "postbackPayout": "payout", "queryParams": { "param1": "value1", "param2": "value2" }, "umrDomainOverride": "clean.example.com" } ]
json
application/json

Find offer sources by status

GET
https://api.funnelflux.pro/v1
/offersource/find/byStatus/

Retrieve all offer sources with the specified status. Returns slim projection (same as list endpoint). Use find/byId for full objects.

Find offer sources by status › query Parameters

status
​string · enum · required

Status of resource

Enum values:
active
archived
not-deleted
all

Find offer sources by status › Responses

List of offer sources with the specified status

​OfferSourceInfo[]
Slim offer source projection returned by list and findByStatus endpoints.
OfferSourceInfo
idOfferSource
​string · required

ID of the offer source

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

Offer source's name.

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

ID of the parent category

categoryName
​string · maxLength: 256

Name of the parent category

GET/offersource/find/byStatus/
curl --request GET \ --url 'https://api.funnelflux.pro/v1/offersource/find/byStatus?status=%3Cstring%3E'
Example Responses
[ { "idOfferSource": "idOfferSource", "offerSourceName": "offerSourceName", "status": "active", "idCategory": "idCategory", "categoryName": "categoryName" } ]
json
application/json

Find offer sources by category

GET
https://api.funnelflux.pro/v1
/offersource/find/byCategory/

Retrieve all offer sources under the specified category

Find offer sources by category › query Parameters

idCategory
​string · required

Parent category of resource

Find offer sources by category › Responses

List of offer sources

​OfferSource[]
OfferSource
idOfferSource
​string · required

ID of the offer source

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

Offer source's name.

​object

Query parameters to add to the url. Tokens can be used as values.

umrDomainOverride
​string

Optional same-owner bare domain to use for UMR offer bounces.

Default:
postbackSubId
​string

Name of the subid parameter your offer source sends back to FunnelFlux when a conversion occurs

Default:
postbackTxId
​string

Name of the unique transaction id parameter your offer source sends back to FunnelFlux when a conversion occurs

Default:
postbackPayout
​string

Name of the payout parameter your offer source sends back to FunnelFlux when a conversion occurs

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

Category ID. Empty if uncategorized

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/offersource/find/byCategory/
curl --request GET \ --url 'https://api.funnelflux.pro/v1/offersource/find/byCategory?idCategory=%3Cstring%3E'
Example Responses
[ { "idOfferSource": "1", "offerSourceName": "offerSourceName", "postbackSubId": "subid", "postbackTxId": "txid", "postbackPayout": "payout", "queryParams": { "param1": "value1", "param2": "value2" }, "umrDomainOverride": "clean.example.com" } ]
json
application/json

Save offer source

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

Update an existing offer source. The id cannot be changed.

Save offer source › Request Body

OfferSource
idOfferSource
​string · required

ID of the offer source

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

Offer source's name.

​object

Query parameters to add to the url. Tokens can be used as values.

umrDomainOverride
​string

Optional same-owner bare domain to use for UMR offer bounces.

Default:
postbackSubId
​string

Name of the subid parameter your offer source sends back to FunnelFlux when a conversion occurs

Default:
postbackTxId
​string

Name of the unique transaction id parameter your offer source sends back to FunnelFlux when a conversion occurs

Default:
postbackPayout
​string

Name of the payout parameter your offer source sends back to FunnelFlux when a conversion occurs

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

Category ID. Empty if uncategorized

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.

Save offer source › Responses

Offer source updated successfully

No data returned
PUT/offersource/save/
curl --request PUT \ --url https://api.funnelflux.pro/v1/offersource/save \ --header 'Content-Type: application/json' \ --data ' { "idOfferSource": "1", "offerSourceName": "offerSourceName", "postbackSubId": "subid", "postbackTxId": "txid", "postbackPayout": "payout", "queryParams": { "param1": "value1", "param2": "value2" }, "umrDomainOverride": "clean.example.com" } '
Example Request Body
{ "idOfferSource": "1", "offerSourceName": "offerSourceName", "postbackSubId": "subid", "postbackTxId": "txid", "postbackPayout": "payout", "queryParams": { "param1": "value1", "param2": "value2" }, "umrDomainOverride": "clean.example.com" }
json
Example Responses
No example specified for this content type

Create offer source

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

Create a new offer source

Create offer source › Request Body

OfferSource
idOfferSource
​string · required

ID of the offer source

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

Offer source's name.

​object

Query parameters to add to the url. Tokens can be used as values.

umrDomainOverride
​string

Optional same-owner bare domain to use for UMR offer bounces.

Default:
postbackSubId
​string

Name of the subid parameter your offer source sends back to FunnelFlux when a conversion occurs

Default:
postbackTxId
​string

Name of the unique transaction id parameter your offer source sends back to FunnelFlux when a conversion occurs

Default:
postbackPayout
​string

Name of the payout parameter your offer source sends back to FunnelFlux when a conversion occurs

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

Category ID. Empty if uncategorized

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 offer source › Responses

Offer source created successfully

No data returned
POST/offersource/save/
curl --request POST \ --url https://api.funnelflux.pro/v1/offersource/save \ --header 'Content-Type: application/json' \ --data ' { "idOfferSource": "1", "offerSourceName": "offerSourceName", "postbackSubId": "subid", "postbackTxId": "txid", "postbackPayout": "payout", "queryParams": { "param1": "value1", "param2": "value2" }, "umrDomainOverride": "clean.example.com" } '
Example Request Body
{ "idOfferSource": "1", "offerSourceName": "offerSourceName", "postbackSubId": "subid", "postbackTxId": "txid", "postbackPayout": "payout", "queryParams": { "param1": "value1", "param2": "value2" }, "umrDomainOverride": "clean.example.com" }
json
Example Responses
No example specified for this content type

Duplicate offer source

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

Create duplicate of existing offer source.

Duplicate offer source › query Parameters

idOfferSource
​string · required

ID of the offer source to duplicate.

Duplicate offer source › 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 offer source › Responses

The newly created offer source

DuplicateResponse
id
​string

ID of the newly created asset

POST/offersource/duplicate/
curl --request POST \ --url 'https://api.funnelflux.pro/v1/offersource/duplicate?idOfferSource=%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 offer source

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

Delete the specified offer sources. Omitted cascade options preserve existing behavior and do not mutate child offer pages. cascade deletes child offer pages, move reassigns child offer pages to targetParentID, orphan clears offerParams.idOfferSource.

Delete offer source › query Parameters

idOfferSource
​string

Legacy single offer source ID fallback.

Delete offer source › Request Body optional

ParentMutationRequest
entries
​string[] · minItems: 1 · required

Parent IDs to delete or archive. Delete endpoints also keep their legacy query-ID fallback.

cascadeAction
​string · enum

Optional child handling action. Omit to preserve each endpoint's existing behavior.

Enum values:
cascade
move
orphan
targetParentID
​string

Required when cascadeAction is move. Rejected for other actions.

Delete offer source › Responses

Offer sources deleted successfully

No data returned
DELETE/offersource/delete/
curl --request DELETE \ --url https://api.funnelflux.pro/v1/offersource/delete \ --header 'Content-Type: application/json' \ --data ' { "entries": [ "parent-id" ], "cascadeAction": "move", "targetParentID": "target-parent-id" } '
Example Request Body
{ "entries": [ "parent-id" ], "cascadeAction": "move", "targetParentID": "target-parent-id" }
json
Example Responses
No example specified for this content type

Archive offer sources

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

Archive the specified offer sources. Omitted cascade options preserve existing behavior and do not mutate child offer pages. cascade archives child offer pages, move reassigns child offer pages to targetParentID, orphan clears offerParams.idOfferSource.

Archive offer sources › Request Body

ParentMutationRequest
entries
​string[] · minItems: 1 · required

Parent IDs to delete or archive. Delete endpoints also keep their legacy query-ID fallback.

cascadeAction
​string · enum

Optional child handling action. Omit to preserve each endpoint's existing behavior.

Enum values:
cascade
move
orphan
targetParentID
​string

Required when cascadeAction is move. Rejected for other actions.

Archive offer sources › Responses

Offer sources archived successfully

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

Unarchive offer sources

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

Unarchive the specified offer sources

Unarchive offer sources › Request Body

StringList
entries
​string[] · required

Unarchive offer sources › Responses

Offer sources unarchived successfully

No data returned
PUT/offersource/unarchive/
curl --request PUT \ --url https://api.funnelflux.pro/v1/offersource/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 offer sources to a category

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

Move the specified offer sources to a category

Move offer sources to a 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 offer sources to a category › Responses

Offer sources moved successfully

No data returned
PUT/offersource/move-category/
curl --request PUT \ --url https://api.funnelflux.pro/v1/offersource/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

Traffic SourcesFunnel Groups