List pages
Required scope: pages:read.
query Parameters
limitMaximum number of records. Defaults to 50 and cannot exceed 100.
pageZero-based page index. The API returns limit records starting at page × limit.
project_idOnly records in this project.
site_idOnly pages on this site.
publishedtrue for published pages, false for drafts.
is_quiztrue to return only quiz pages.
has_elementOnly pages whose builder contains this element type.
available_for_funneltrue to hide pages already used in a funnel.
List pages › Responses
Matching records. The body is a JSON array.
idPage id.
nameDisplay name. Includes the site name in parentheses when the page is on a site.
page_namePage name without the site suffix.
statuspublished or draft.
is_quiztrue when the page is a quiz.
project_idProject id.
site_idSite id once the page is attached to a site.
site_nameSite name.
domainPublished domain.
slugPath on the site. Empty means the site root.
urlPublic URL after publish.
edit_urlLink to the page in the Atomicat builder.
created_atISO-8601 timestamp.
updated_atISO-8601 timestamp.
published_atISO-8601 publish time.
Create a blank page
Creates a draft page. Publish it later with POST /pages/publish.
Required scope: pages:write.
Create a blank page › Responses
The created page.
idPage id.
nameDisplay name. Includes the site name in parentheses when the page is on a site.
page_namePage name without the site suffix.
statuspublished or draft.
is_quiztrue when the page is a quiz.
project_idProject id.
site_idSite id once the page is attached to a site.
site_nameSite name.
domainPublished domain.
slugPath on the site. Empty means the site root.
urlPublic URL after publish.
edit_urlLink to the page in the Atomicat builder.
created_atISO-8601 timestamp.
updated_atISO-8601 timestamp.
published_atISO-8601 publish time.
Create a page from a template
Required scope: pages:write.
Create a page from a template › Request Body
template_idTemplate id from GET /templates.
nameName for the new page.
site_idSite to attach, if any.
project_idProject id.
Create a page from a template › Responses
The cloned page.
idPage id.
nameDisplay name. Includes the site name in parentheses when the page is on a site.
page_namePage name without the site suffix.
statuspublished or draft.
is_quiztrue when the page is a quiz.
project_idProject id.
site_idSite id once the page is attached to a site.
site_nameSite name.
domainPublished domain.
slugPath on the site. Empty means the site root.
urlPublic URL after publish.
edit_urlLink to the page in the Atomicat builder.
created_atISO-8601 timestamp.
updated_atISO-8601 timestamp.
published_atISO-8601 publish time.
Duplicate a page
Update page metadata
page_id is required, plus at least one of name, project_id, tags, or product_label. tags can be an array or a comma-separated string.
Required scope: pages:write.
Update page metadata › Request Body
page_idPage id.
nameNew name.
project_idNew project id.
tagsArray of tag names, or a comma-separated string.
product_labelProduct label shown on the page. produkt is accepted as an alias.
Update page metadata › Responses
The updated metadata.
idPage id.
page_idPage id.
updatedtrue when the update was saved.
nameName after the update.
project_idProject id after the update.
tagsTags after the update.
product_labelProduct label after the update.
Update mapped page content
updates is an object of content-map field keys to new values. Read the keys from GET /search/page-content-map. Unknown keys are returned in missing and are not applied.
Required scope: pages:write.
Update mapped page content › Request Body
page_idPage id.
Map of content-field keys to new values. A JSON string is also accepted.
Update mapped page content › Responses
The content update result.
idPage id.
page_idPage id.
successtrue when the request completed.
applied_countNumber of fields updated.
changed_section_countNumber of sections rewritten.
missing_countNumber of keys that were not found.
appliedJSON string of applied updates.
missingJSON string of keys that were not applied.
Replace template variables
variables maps placeholder names to replacement text. Placeholders look like {{name}} inside the page.
Required scope: pages:write.
Replace template variables › Request Body
page_idPage id.
Placeholder name to replacement text. A JSON string is also accepted.
Replace template variables › Responses
The replacement result.
idPage id.
page_idPage id.
successtrue when the request completed.
replacement_countNumber of replacements made.
changed_section_countSections rewritten.
replaced_variablesJSON string of variable names that were replaced.
remaining_variablesJSON string of variables still on the page.
remaining_variable_countCount of remaining variables.
Check whether a page can be published
ready_to_publish is false when the page has no sections or still contains template variables. issues, applied, and variable lists are JSON strings so list-style clients can store them.
Required scope: pages:read.
Check whether a page can be published › Responses
The validation result.
idPage id.
page_idPage id.
ready_to_publishtrue when no issues were found.
issue_countNumber of issues.
issuesJSON string of issue objects.
field_countEditable field count.
remaining_variable_countVariables still on the page.
remaining_variablesJSON string of remaining variable names.
Publish a page
page_id and site_id are required. slug is the path on the site. An empty slug publishes at the site root.
Required scope: any of pages:publish, pages:write.
Publish a page › Request Body
page_idPage id.
site_idSite that will host the page.
slugPath on the site. Omit or send an empty string for the site root.
Publish a page › Responses
The publish result.
idPage id.
page_idPage id.
site_idSite id.
successtrue when publish succeeded.
urlPublic URL.
domainPublished domain.
slugPublished path.
revision_savedtrue when a revision was stored.
revision_warningWarning when the revision could not be stored.
Get a page
Reads a draft that has not appeared in the list yet, as well as published pages.
Required scope: pages:read.
path Parameters
pageIdPage id.
Get a page › Responses
The page.
idPage id.
nameDisplay name. Includes the site name in parentheses when the page is on a site.
page_namePage name without the site suffix.
statuspublished or draft.
is_quiztrue when the page is a quiz.
project_idProject id.
site_idSite id once the page is attached to a site.
site_nameSite name.
domainPublished domain.
slugPath on the site. Empty means the site root.
urlPublic URL after publish.
edit_urlLink to the page in the Atomicat builder.
created_atISO-8601 timestamp.
updated_atISO-8601 timestamp.
published_atISO-8601 publish time.
Delete a page
A draft with no site is deleted directly. A published page, or a page already attached to a site, is deleted through the site and must already have a site id. A published page without a site returns 400.
Required scope: pages:write.
path Parameters
pageIdPage id.
Delete a page › Responses
The record was deleted.
successtrue when the delete succeeded.
idDeleted record id.
deletedtrue when the record was removed.
List page templates
Required scope: pages:read.
query Parameters
limitMaximum number of records. Defaults to 50 and cannot exceed 100.
queryCase-insensitive text matched against the record name and related fields.
categoryTemplate category.
typeTemplate type. Defaults to page.
template_idExact template id.
List page templates › Responses
Matching records. The body is a JSON array.
idTemplate id.
nameTemplate name.
template_nameSame as name.
categoryTemplate category.
typeTemplate type, usually page.
descriptionTemplate description.
preview_urlPreview URL.
image_urlThumbnail URL.
Search page templates
Same filters and response as GET /templates.
Required scope: pages:read.
query Parameters
limitMaximum number of records. Defaults to 50 and cannot exceed 100.
queryCase-insensitive text matched against the record name and related fields.
categoryTemplate category.
typeTemplate type.
template_idExact template id.
Search page templates › Responses
Matching records. The body is a JSON array.
idTemplate id.
nameTemplate name.
template_nameSame as name.
categoryTemplate category.
typeTemplate type, usually page.
descriptionTemplate description.
preview_urlPreview URL.
image_urlThumbnail URL.
Search pages
Matches name, title, domain, and slug. page_id returns a one-item array. The default limit for this search is 100.
Required scope: pages:read.
query Parameters
limitMaximum number of records. Defaults to 50 and cannot exceed 100.
queryCase-insensitive text matched against the record name and related fields.
page_idExact page id.
Search pages › Responses
Matching records. The body is a JSON array.
idPage id.
nameDisplay name. Includes the site name in parentheses when the page is on a site.
page_namePage name without the site suffix.
statuspublished or draft.
is_quiztrue when the page is a quiz.
project_idProject id.
site_idSite id once the page is attached to a site.
site_nameSite name.
domainPublished domain.
slugPath on the site. Empty means the site root.
urlPublic URL after publish.
edit_urlLink to the page in the Atomicat builder.
created_atISO-8601 timestamp.
updated_atISO-8601 timestamp.
published_atISO-8601 publish time.