Skip to main content
PUT
A PUT is a full save of the page, handled like saving in the dashboard editor: the page is re-rendered with the dashboard’s generator (every template, live bio tags, analytics tags), paid-only features are removed for free accounts, link ids stay stable so analytics keep adding up, and a custom-domain page is redeployed so the live site changes straight away.
data replaces the page content. Read the current page with GET /v1/websites/, change what you need, and send the whole object back.

Request

Headers

string
required
Must be application/json

Path Parameters

string
required
The website’s id, slug or custom domainExample: johndoe

Body

object
required
The complete editor data for the page (the data object returned by Get Website, edited). Links keep their id; new links without one get an id automatically.On free accounts these are removed before publishing, as in the dashboard: hideBranding, profile.verified, contact collection blocks, socialsAppearance.showFollowers and the Smart 18+ mode.
string
Switch the design (see Create Website for the list). Defaults to the current design. While the page runs an A/B test (abTestEnabled in Get Website) the design can only be switched in the editor: a different value returns 400 with code: "AB_TEST_ACTIVE", and a save updates the main design (variation A) only.
string
Redirect behavior. Defaults to data.settings.deepLinkBehavior, then the current value. Free plans are saved as conservative.
array
Geo rules for the page. Defaults to data.settings.geoRules.
boolean
default:"true"
Custom-domain pages are redeployed after every save, like the dashboard. Send false to save without redeploying (the live page then stays on its previous version until the next save). Pages on bouncy.ai and system domains are always live immediately.
A website’s address cannot be changed here. customSlug, customDomain, customPath, isSystemDomain and systemDomain may be sent (the editor re-sends them), but a value that differs from the stored one returns 400 with code: "ADDRESS_CHANGE_NOT_SUPPORTED". Use Duplicate Website to publish the page at a new address.

Response

boolean
Whether the page was saved
string
Website ID
string
Success message
object
Custom-domain redeploy result: { "success": true, "domain": "..." }, { "success": false, "domain": "...", "error": "..." } (the save itself still succeeded), or { "skipped": true, "reason": "..." }
array
Stored fields written by this save