Funnel
Fetch Funnel Structure
Changed onA funnel's steps as a single, flat, ordered list — the same top‑to‑bottom flow you see in the funnel builder. Use it to read or visualize how a funnel is laid out.
Each entry in steps is one of three kinds:
- show_page_step — a page. Includes page (its name, url, and the external / sdk_token flags for externally‑hosted SDK pages) and show_page_step_id — the id you hand back as funnel.show_page_step_id to swap a page onto this step.
- split_test_step — an A/B test: a variants list, each with a weight and its own steps.
- conditional_split_step — routing by a saved contact filter: a branches list, always [matched, unmatched], each with its own steps.
Splits can nest — a split placed inside a branch shows up inside that branch's steps.
Two things to know when reading it:
- Follow the array order, not sort_order. sort_order only numbers a step within its own list, so it repeats across branches and after splits — in the example below the top level runs 0, 1, 0, 1. The array order is the real sequence. (Separately: when you create a step, the sort_order you send positions it among the funnel's top‑level steps.)
- Branches come back together. A branch lists only its own steps; afterwards the flow continues at the step right after the split, and every branch ends up there. In the example below, both branches lead on to Order Form → Thank You. A split with nothing after it ends the funnel.
The 200 example below is this funnel:
Entry
└─ Conditional Split
├─ matched: VIP Welcome → Split Test ( Premium Offer A 50% / Premium Offer B 50% )
└─ unmatched: Guest Welcome → Conditional Split ( Returning Customer / New Customer )
→ Order Form → Thank You (every path comes back together here)
Related: the Pages skill (create, position, and swap pages) and the Funnels skill (add split tests and conditional splits). When migrating externally-hosted pages to a new domain, this is the read that inventories them: see Migrate an External Page Domain.
get/funnels/{id}/structure
Request
- Base URLhttps://myworkspace.myclickfunnels.com/api/v2
- Auth
- HTTP bearer
- or OAuth 2Authorization codehttps://accounts.myclickfunnels.com/oauth/authorizeToken URLhttps://accounts.myclickfunnels.com/oauth/token
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Path parameters
idstring required
Response
OK
Example response
{
"steps": [
{
"step_type": "show_page_step"
}
]
}Changes
- info
endpoint added
- info