Pages
Covered in this doc:
List pages
List all pages within a Site
GET /api/v2/pages/?site_id=12345Parameters
Name
Type
Description
site_id
string
required ID of the Site you want to get the pages for
Response
{
"meta": {
"limit": 20,
"next": "/api/v2/pages/?limit=20&offset=20",
"offset": 0,
"previous": null,
"total_count": 5
},
"objects": [
{
"active": true,
"id": 22225773,
"name": "Home",
"nofollow": false,
"path": "/",
"resource_uri": "/api/v2/pages/22225773/",
"site_id": 12345,
"type": "default"
},
{
"active": true,
"id": 22225774,
"name": "Contact Us",
"nofollow": false,
"path": "/contact-us/",
"resource_uri": "/api/v2/pages/22225774/",
"site_id": 12345,
"type": "default"
},
...
]
}Get a single page
Fetch the Page detail using the Page.id
GET /api/v2/pages/:id/Response
{
"site_id": "12345",
"path": "/",
"title": "Site Home Page",
"name": "Home",
"column_widths": [[50, 50]],
"modules": [
{
"module": "contact_info",
"column": 1,
"order": 1,
"row": 1
},
{
"module": "content",
"column": 2,
"order": 1,
"row": 1,
"content": "<h1>Here is some content</h1><p>You can even access site meta data like ${business_name} and ${city}</p>"
},
{
"module": "googlemaps",
"column": 2,
"order": 2,
"row": 1
},
{
"module": "about",
"column": 2,
"order": 3,
"row": 1
},
{
"module": "embed",
"column": 2,
"order": 4,
"row": 1,
"content": "<script src="..."></script>",
"props": {
"render_template": true
}
}
]
}Create a page
POST /api/v2/pages/Parameters
Name
Type
Description
site_id
integer
required
name
string
required Name of the page. Used in navigation menus and buttons
Optional
column_widths
list of lists
Percentage widths of the rows and columns within the Page. Examples: Single column page [[100]] (default), Two columns within one row [[50, 50]], Multiple rows and columns [[100], [50, 50]]
modules
list
List of Page Module objects to publish to the Page with positional details including row, column, and order
path
string
Specific path within the Site where you want to publish the page (i.e. /contact-us/)
title
string
HTML <title> tag for the Page. Defaults to the name parameter
clone_id
integer
Page ID of a page you want to duplicate/clone. More info under the Clone/Duplicate example
Example
{
"name": "Our Services",
"path": "/our-services/",
"site_id": 12345
}Response
A status code of 201 created is returned on a successful creation and contains the created page object as JSON. See the Get a single page section for an example Page object.
Cloning/duplicating a page
We have a clone_id parameter that can be used to easily duplicate/clone an entire page, including all of its modules and content.
This allows for a simple payload without the need to provide all the modules and page fields from the original.
Example:
{
"clone_id": 512345,
"site_id": 12345,
"name": "Duplicated page name"
}Update a page
PUT /api/v2/pages/:id/You can PUT a partial or full object to the detail endpoint to update/change values on the Page object. If using a partial object, you must insure that the primary page id is part of the payload.
Last updated
Was this helpful?