Update Page

Update an existing page. Works for both internal and external (SDK) pages.

Closed Alpha note: updating an external page requires external (SDK) page access — not yet enabled for all workspaces (403 otherwise). Request access at https://developers.myclickfunnels.com/page/code-support. Internal page updates are unaffected.

Field availability depends on the page type — see PageParametersUpdate for the full breakdown. Sending an internal-only field on an external page (or external_url on an internal page) returns 422 with an explicit list of the rejected field names — never silently ignored.

sort_order (optional, top-level): Reposition the page within its funnel. Zero-based. Ignored when funnel.show_page_step_id is also provided.

funnel.show_page_step_id (optional): Swap the page onto an existing show page step. The previous page on that step becomes an orphan. Shared by both page types.

external_url (external pages only): Update the external URL. The SDK token is preserved.

show_page_step.product_ids / show_page_step.bumps (optional, both page types): Append products to the page's checkout step as main products or as order bumps. Both are additive; bumps also promotes a product already attached to the step into a bump, which is how an existing attachment becomes one. Each bumps entry is {product_id, preheadline}, where preheadline is the optional copy shown above that bump's offer. Requires the page to be part of a funnel (400 otherwise).

markup (internal pages only): Replaces the page's entire tree. PML covers only a subset of what the ClickFunnels page editor can build, so if this page could have been created or edited in the editor, stop and get explicit approval from the user first: see the approval guardrail.

To move externally-hosted pages to a new domain, see Patch one page at a time in the Migrate an External Page Domain Skill.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required
Query Params
expand[]
array of strings

Expand additional data in the response. Use expand[]=field_name to include optional fields (e.g., expand[]=head_code&expand[]=footer_code&expand[]=custom_css&expand[]=markup). Markup is opt-in on every endpoint (show, list, create, update) because PML serialization runs per page. custom_css is available on internal pages only. See the Expanding guide for available fields and examples. Read a page's existing markup with expand[]=markup before editing it: see Reading Current Markup in the Pages Skill.

expand[]
Allowed:
Body Params

Information about updated fields in Page

page
object

Update parameters for a page. Field availability depends on the page type:

Shared (both internal and external pages): name, description, sort_order, funnel.show_page_step_id, show_page_step.product_ids, show_page_step.bumps.

Internal-only (returns 422 if sent on an external page): markup, theme_id, current_path, seo_title, seo_description, seo_index, head_code, footer_code, custom_css, live_data_changes.

External-only (returns 422 if sent on an internal page): external_url.

Responses

Language
Credentials
Bearer
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json