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

Pages

Download schema

API endpoints to manage landers and offers


List pages

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

List all pages

List pages › query Parameters

pageType
​string · enum · required

Type of page resource

Enum values:
lander
offer
status
​string · enum · required

Status of resource

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

Optional category ID to filter by

idOfferSource
​string

Optional offer source ID filter (offers only)

List pages › Responses

List of pages

​PageInfo[]
Slim page projection returned by list and findByStatus endpoints.
PageInfo
idPage
​string · required

ID of the page

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

Page's name.

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

ID of the category

pageType
​string · enum · required

Type of page (lander or offer)

Enum values:
lander
offer
idOfferSource
​string · required

ID of the offer source for offer pages

categoryName
​string · maxLength: 256

Name of the parent category

offerSourceName
​string · maxLength: 256

Name of the offer source for offer pages

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

Find a page by ID

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

Retrieve a page by its id

Find a page by ID › query Parameters

idPage
​string · required

ID of the requested page

Find a page by ID › Responses

The requested page

Page
idPage
​string · required

ID of the page

pageType
​PageType · enum · required

What kind of page. If 'offer' then 'offerParams' is required

Enum values:
lander
offer
pageName
​string · minLength: 1 · maxLength: 256 · required

Page's name.

baseURL
​string · required

Redirects to this URL when page is displayed

redirectType
​PageRedirectType · enum · required

How to redirect to the page's URL. 'umr' means 'Ultimate Meta Refresh'. By default, it uses the redirect type mentioned in the system settings for landers and offers.

Enum values:
301
307
meta
umr
​object

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

idCategory
​string

Category ID. Empty if uncategorized

Default:
notes
​string

Optional notes for this page

Default:
​OfferParams
status
​Status · enum
Enum values:
active
archived
deleted
Default: active
​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.

disableAppendVid
​boolean

Whether the page can be append visitor id or not.

​DefaultFunnel
GET/page/find/byId/
curl --request GET \ --url 'https://api.funnelflux.pro/v1/page/find/byId?idPage=%3Cstring%3E'
Example Responses
{ "pageType": "lander", "notes": "notes", "idPage": "1", "baseURL": "https://some-url.com", "redirectType": "301", "pageName": "pageName", "disableAppendVid": true, "url": "url", "idCategory": "category-id", "offerParams": { "idOfferSource": "1", "payout": "1.456" }, "defaultFunnel": { "enabled": true, "idFunnel": "funnel123456", "idNode": "node12345678", "idTrafficSource": "organic" } }
json
application/json

Find pages by ID list

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

Retrieve all pages with the specified ids

Find pages by ID list › query Parameters

idPages
​string · required

List of the page IDs to return

Find pages by ID list › Responses

List of pages

​Page[]
Page
idPage
​string · required

ID of the page

pageType
​PageType · enum · required

What kind of page. If 'offer' then 'offerParams' is required

Enum values:
lander
offer
pageName
​string · minLength: 1 · maxLength: 256 · required

Page's name.

baseURL
​string · required

Redirects to this URL when page is displayed

redirectType
​PageRedirectType · enum · required

How to redirect to the page's URL. 'umr' means 'Ultimate Meta Refresh'. By default, it uses the redirect type mentioned in the system settings for landers and offers.

Enum values:
301
307
meta
umr
​object

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

idCategory
​string

Category ID. Empty if uncategorized

Default:
notes
​string

Optional notes for this page

Default:
​OfferParams
status
​Status · enum
Enum values:
active
archived
deleted
Default: active
​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.

disableAppendVid
​boolean

Whether the page can be append visitor id or not.

​DefaultFunnel
GET/page/find/byIds/
curl --request GET \ --url 'https://api.funnelflux.pro/v1/page/find/byIds?idPages=%3Cstring%3E'
Example Responses
[ { "pageType": "lander", "notes": "notes", "idPage": "1", "baseURL": "https://some-url.com", "redirectType": "301", "pageName": "pageName", "disableAppendVid": true, "url": "url", "idCategory": "category-id", "offerParams": { "idOfferSource": "1", "payout": "1.456" }, "defaultFunnel": { "enabled": true, "idFunnel": "funnel123456", "idNode": "node12345678", "idTrafficSource": "organic" } } ]
json
application/json

Find pages by status

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

Retrieve all pages of the specified type and status. Returns slim projection (same as list endpoint). Use find/byId for full objects.

Find pages by status › query Parameters

status
​string · enum · required

Status of resource

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

Type of page resource

Enum values:
lander
offer

Find pages by status › Responses

List of pages of the specified type and status

​PageInfo[]
Slim page projection returned by list and findByStatus endpoints.
PageInfo
idPage
​string · required

ID of the page

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

Page's name.

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

ID of the category

pageType
​string · enum · required

Type of page (lander or offer)

Enum values:
lander
offer
idOfferSource
​string · required

ID of the offer source for offer pages

categoryName
​string · maxLength: 256

Name of the parent category

offerSourceName
​string · maxLength: 256

Name of the offer source for offer pages

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

Find pages by category

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

Retrieve all pages of the specified type and under the specified category

Find pages by category › query Parameters

idCategory
​string · required

Parent category of resource

pageType
​string · enum

Type of page resource

Enum values:
lander
offer

Find pages by category › Responses

List of pages

​Page[]
Page
idPage
​string · required

ID of the page

pageType
​PageType · enum · required

What kind of page. If 'offer' then 'offerParams' is required

Enum values:
lander
offer
pageName
​string · minLength: 1 · maxLength: 256 · required

Page's name.

baseURL
​string · required

Redirects to this URL when page is displayed

redirectType
​PageRedirectType · enum · required

How to redirect to the page's URL. 'umr' means 'Ultimate Meta Refresh'. By default, it uses the redirect type mentioned in the system settings for landers and offers.

Enum values:
301
307
meta
umr
​object

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

idCategory
​string

Category ID. Empty if uncategorized

Default:
notes
​string

Optional notes for this page

Default:
​OfferParams
status
​Status · enum
Enum values:
active
archived
deleted
Default: active
​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.

disableAppendVid
​boolean

Whether the page can be append visitor id or not.

​DefaultFunnel
GET/page/find/byCategory/
curl --request GET \ --url 'https://api.funnelflux.pro/v1/page/find/byCategory?idCategory=%3Cstring%3E'
Example Responses
[ { "pageType": "lander", "notes": "notes", "idPage": "1", "baseURL": "https://some-url.com", "redirectType": "301", "pageName": "pageName", "disableAppendVid": true, "url": "url", "idCategory": "category-id", "offerParams": { "idOfferSource": "1", "payout": "1.456" }, "defaultFunnel": { "enabled": true, "idFunnel": "funnel123456", "idNode": "node12345678", "idTrafficSource": "organic" } } ]
json
application/json

Update a page

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

Update an existing page. The id cannot be changed.

Update a page › Request Body

Page
idPage
​string · required

ID of the page

pageType
​PageType · enum · required

What kind of page. If 'offer' then 'offerParams' is required

Enum values:
lander
offer
pageName
​string · minLength: 1 · maxLength: 256 · required

Page's name.

baseURL
​string · required

Redirects to this URL when page is displayed

redirectType
​PageRedirectType · enum · required

How to redirect to the page's URL. 'umr' means 'Ultimate Meta Refresh'. By default, it uses the redirect type mentioned in the system settings for landers and offers.

Enum values:
301
307
meta
umr
​object

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

idCategory
​string

Category ID. Empty if uncategorized

Default:
notes
​string

Optional notes for this page

Default:
​OfferParams
status
​Status · enum
Enum values:
active
archived
deleted
Default: active
​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.

disableAppendVid
​boolean

Whether the page can be append visitor id or not.

​DefaultFunnel

Update a page › Responses

Page updated successfully

No data returned
PUT/page/save/
curl --request PUT \ --url https://api.funnelflux.pro/v1/page/save \ --header 'Content-Type: application/json' \ --data ' { "pageType": "lander", "notes": "notes", "idPage": "1", "baseURL": "https://some-url.com", "redirectType": "301", "pageName": "pageName", "disableAppendVid": true, "url": "url", "idCategory": "category-id", "offerParams": { "idOfferSource": "1", "payout": "1.456" }, "defaultFunnel": { "enabled": true, "idFunnel": "funnel123456", "idNode": "node12345678", "idTrafficSource": "organic" } } '
Example Request Body
{ "pageType": "lander", "notes": "notes", "idPage": "1", "baseURL": "https://some-url.com", "redirectType": "301", "pageName": "pageName", "disableAppendVid": true, "url": "url", "idCategory": "category-id", "offerParams": { "idOfferSource": "1", "payout": "1.456" }, "defaultFunnel": { "enabled": true, "idFunnel": "funnel123456", "idNode": "node12345678", "idTrafficSource": "organic" } }
json
Example Responses
No example specified for this content type

Create a new page

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

Create a new page

Create a new page › Request Body

Page
idPage
​string · required

ID of the page

pageType
​PageType · enum · required

What kind of page. If 'offer' then 'offerParams' is required

Enum values:
lander
offer
pageName
​string · minLength: 1 · maxLength: 256 · required

Page's name.

baseURL
​string · required

Redirects to this URL when page is displayed

redirectType
​PageRedirectType · enum · required

How to redirect to the page's URL. 'umr' means 'Ultimate Meta Refresh'. By default, it uses the redirect type mentioned in the system settings for landers and offers.

Enum values:
301
307
meta
umr
​object

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

idCategory
​string

Category ID. Empty if uncategorized

Default:
notes
​string

Optional notes for this page

Default:
​OfferParams
status
​Status · enum
Enum values:
active
archived
deleted
Default: active
​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.

disableAppendVid
​boolean

Whether the page can be append visitor id or not.

​DefaultFunnel

Create a new page › Responses

Page created successfully

No data returned
POST/page/save/
curl --request POST \ --url https://api.funnelflux.pro/v1/page/save \ --header 'Content-Type: application/json' \ --data ' { "pageType": "lander", "notes": "notes", "idPage": "1", "baseURL": "https://some-url.com", "redirectType": "301", "pageName": "pageName", "disableAppendVid": true, "url": "url", "idCategory": "category-id", "offerParams": { "idOfferSource": "1", "payout": "1.456" }, "defaultFunnel": { "enabled": true, "idFunnel": "funnel123456", "idNode": "node12345678", "idTrafficSource": "organic" } } '
Example Request Body
{ "pageType": "lander", "notes": "notes", "idPage": "1", "baseURL": "https://some-url.com", "redirectType": "301", "pageName": "pageName", "disableAppendVid": true, "url": "url", "idCategory": "category-id", "offerParams": { "idOfferSource": "1", "payout": "1.456" }, "defaultFunnel": { "enabled": true, "idFunnel": "funnel123456", "idNode": "node12345678", "idTrafficSource": "organic" } }
json
Example Responses
No example specified for this content type

Duplicate a page

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

Create duplicate of existing page.

Duplicate a page › query Parameters

idPage
​string · required

ID of the page to duplicate.

Duplicate a page › 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 a page › Responses

The newly created page

DuplicateResponse
id
​string

ID of the newly created asset

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

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

Delete the specified pages

Delete a page › Request Body

StringList
entries
​string[] · required

Delete a page › Responses

Pages deleted successfully

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

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

Archive the specified pages

Archive pages › Request Body

StringList
entries
​string[] · required

Archive pages › Responses

Pages archived successfully

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

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

Unarchive the specified pages

Unarchive pages › Request Body

StringList
entries
​string[] · required

Unarchive pages › Responses

Pages unarchived successfully

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

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

Move the specified pages to a category

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

Pages moved successfully

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

Page GroupsCategories