site_id and optional workspace
(Which workspace). A call that changes what visitors
see, or that spends credits, answers in two calls: send it without
confirmation_id to see what would happen (nothing changes), then send the same
arguments with the confirmation_id once a person approves. The second call needs a
member’s own API key; a service-account key can propose but never approve.
Create a site
page.create makes a new site, built with Astro, from a starter with a home page, an
about page and a contact page, working navigation and the search and AI discovery
files. It answers in two calls. The first spends nothing, and the second charges what
the same request charges in Goosy.
When you give an
intent, the brief and the brand’s own kit go to our model provider
to write the copy. A new site that needs people to sign in or data to be saved is a
different kind of site, built in Goosy; this call builds the website kind.
Read what has changed
page.checkpoint reads a site’s recent changes, newest first, with what was asked
for each, when, and which files it touched. It also says whether undo and redo have
anywhere to go, and where the source stands: the checkpoint it is at, the list of
checkpoints with each one’s build status and revision, and the newest build, with the
end of its failure log when it failed. Every change to the site’s files, and every
save, makes a checkpoint. Pass site_id; it changes nothing.
Undo, redo and restore
These work on the site’s draft. The live site is untouched until you publish.page.undo and page.redo need no approval and answer in one call. To step from
exactly what page.checkpoint last reported, pass its history_revision. A change
is undone or redone only when the answer says so. page.restore_checkpoint also
answers in one call and runs under the key holder’s membership.
To change what visitors see, publish (Pages API)
or put a previous build back live (Put a previous build back).
Publish at a set time
page.schedule_publish puts the site’s built version live at a time you choose. It
answers in two calls.
atis an ISO-8601 time with its UTC offset, such as2026-09-08T09:00:00-06:00. Never send a bare local time.- It must be at least five minutes away and within the next year.
- If a time was already set, the new one replaces it and the answer says
replaced.
page.cancel_scheduled_publish calls off the scheduled publish. It takes only
site_id. When cancelled is false, nothing was waiting (it may have already
published or been cancelled) and the site won’t publish on a timer either way. The
live site keeps what it serves.
Switch tracking
page.set_tracking changes which forms count as conversions and whether one tracking
pixel runs on this site. Send either part:
conversion_forms: a list of form names (each by the lowercase name it submits as itsformfield). Only those forms’ leads are reported to the ad platforms as conversions.nullputs every form back.providerwithenabled: turns one pixel off for this site (false) or back on (true). Take the provider frompage.read’s pixel list. Which pixels exist at all comes from the workspace’s connections.
page.set_platform_properties
(consent_banner, ad_pixels, consent_mode; see
Bringing your own site).