Pages

Covered in this doc:

List pages

List all pages within a Site
GET /api/v2/pages/?site_id=12345

Parameters

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

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.

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.