CMS Tool API schema
Public API version 1.4.10.
Web Page
A website is made up of the primary navigational pages that create the primary menu, as well as hidden pages and member only pages. Pages can contain pages in a treelike structure, however, this excludes sub pages which are defined as blogs or products
Endpoint URL
https://api.cms-tool.net/api/page
/api/page
Read and update website pages.
GET
List records, or retrieve one by appending its ID to the path.
Query parameters
| Name | Type | Example | Notes |
|---|---|---|---|
id | int | 123 | Filter results by id. |
page | int | 123 | Filter results by page. |
title | text | example | Filter results by title. |
filename | text | example.jpg | Filter results by filename. |
parent | int | 123 | Filter results by parent. |
keywords | text | example | Filter results by keywords. |
publicContentOnly | boolean | true | Filter results by public content only. Accepts true or 1. |
offset | int | 123 | Skip this many matching records before returning results. |
pageSize | int | 123 | Limit the number of records returned. |
POST
Create or update a record from a JSON object.
Request content type: application/json
Request body fields
| Name | Type | Example | Notes |
|---|---|---|---|
id | int | 123 | Set the id value. |
page_usertitle | text | example | Set the page usertitle value. |
page_menuname | text | example | Set the page menuname value. |
page_alias | text | example | Set the page alias value. |
page_parent | int | 123 | Set the page parent value. |
page_html_content | text | example | Set the page html content value. |
Data definitions
| Field | Type | Description | Format | Example |
|---|---|---|---|---|
page_crop_aspect_thumbs | bool | Additional rules to apply to thumbnail generation | ||
page_issubmenu | int | 0 if not a sub menu, or 1+ if a sub menu hinting as to how many sub pages | ||
page_alias | text | SEO filename for page URL | ||
page_parent | int | ID of a parent page, or 0 if this is a top level page | ||
page_notify_subject | text | Any email notifications should have this subject | ||
page_submenu_desc | text | If this page is of type submenu, then this text will be the summary displayed to users | ||
page_alturl | text | An alternative link to be used rather than the default system URL for this content | ||
page_addressautocomplete | text | Enable auto complete of any address fields | ||
page_menuname | text | Menu button text | ||
page_html_footer | text | HTML formatted content for the page footer | ||
page_dt_begin | timestamp | Automatic timestamp when this page was created | 2025-12-31 23:59:59 | |
page_titleimg | text | Image src pathname for an image to replace the page heading | ||
page_json_schema | text | Customised JSON schema for this page, for users who want more control that the default | ||
page_crop_aspect | bool | Additional aspect rule to apply to cropping of the full sized images | ||
page_sorting | text | Override the default sorting mode for any list on this page | ||
page_banner_title | text | If this page has a banner, then this title will be used for the banner | ||
page_replyaddress | text | Override the website default reply email address with this address for any emails sent | ||
page_html_content | text | HTML formatted content for the main body of the page and often empy for pages that have special functionality depending on the wgt_id | ||
page_summary_text_length | int | When lists include summary text, this value determines if the text to be truncated to this length. | ||
page_submenu_img | text | If this page is of type gallery submenu, then this image will be displayed to users. Image is a src path to the file | ||
page_alturlsub | text | An alternative link URL to be used for sub page content, such as list content. | ||
page_banner | text | File path / src to the image that should be used as the banner image on this page. | ||
page_html_intro | text | HTML formatted content for the page introduction | ||
page_summary | text | SEO summary for page | ||
page_enquiryform_heading | text | If this page has an enquiry form then use this title rather than the default title | ||
page_banner_url | text | If this page has a banner, and this URL exists, then the banner will link to this URL | ||
page_html_zone2 | text | A secondary content area, not often used anymore, and very template specific | ||
page | serial | System ID for page, unique | 123456 | |
page_forum_service | text | If a comments / forum should be added where applicable to this page, or sub pages. | ||
page_usertitle | text | Page H1 Heading | ||
page_notify | text | Any email notifications from this page should be sent to this email address. validate email format. | ||
page_metatitle | text | SEO Title | ||
page_crop_height | int | Any images uploaded to this page will be cropped to this maximum height. | ||
page_reference_code | text | Used only in limited situations, where the page needs to have a text ID | ||
page_crop_width | int | Any images uploaded to this page will be cropped to this maximum width. | ||
page_thumb_dimensions | text | Desired dimensions for creation of thumbnails, eg 320x320 | ||
page_json_config | text | Additional configuration parameters for this page | ||
page_accesskey | text | For usability define a key for fast access via the menu | ||
page_autorespond_subject | text | The optional email subject to send to a user when an auto responder fires... | ||
page_alttemplate | text | A different web design template can be used with this page, specified by a single letter A-F | ||
page_ogimage | text | Social media Image - Src pathname to file | ||
page_recapture | text | If enabling google human capture, this value is t. This feature is not required as we have another non UI component to block spam that works just as well. | ||
page_duplicationid | int | If this page was duplicated from another, then this ID is the original page ID | ||
wgt_id | int | ID of the webpage content theme or page type | ||
page_privacy | int | Minimum security level of users who have permission to view this page. Public access if 0 | ||
page_windowsize | int | For list pages, how many items should display at a time | ||
page_lastmodified | timestamp | Timestamp when this page was last modified | 2025-12-31 23:59:59 | |
page_keywords | text | SEO keywords | ||
page_css | text | Custom CSS to be used only on this page | ||
page_target | text | The link target for links in a list in the page, eg _blank | ||
page_bg | text | A custom background image for this page | ||
page_order | int | Position of this page in the menu, or in a list. | ||
page_menuimg | text | Replace the menu button text with an image (old school) | ||
page_html_scripts | text | Scripts and other code to be placed on this page, but separated from the content | ||
page_addmembergroupname | text | Add any new members to this member group | ||
page_privacy_groupid | int | The member group ID of users who have permission to view this page. Public access if 0. | ||
page_more_info_label | text | Link text for a link that will take user to a sub page, if not provided, then more links won't be made. Generally lists will present a clickable title for products or blogs, and more links look ugly | ||
page_social_sharing | text | If any social sharing widgets should be added to the footer of this page. |
Usage instructions and examples
GET a Page
Get a specific blog by id (aka page)
GET /webapps/api/page?id=99999
GET /webapps/api/page/99999
SEARCH FOR Pages
Returns an array of blog/info objects in data
Get all pages under parent page 9999
GET /webapps/api/page?page_parent=9999
Get blogs matching a LIKE pattern
GET /webapps/api/page?filename=/section/flying%pigs
GET /webapps/api/page?keywords=
GET /webapps/api/page?title=
GET /webapps/api/page?tags=
INSERT / UPDATE a page
If an ID is provided, then the page is updated. If an ID is not provided, then the page is inserted.
POST /webapps/api/page
submit the JSON data as per following format.
Example JSON to create a new page
{
"page_usertitle": "New Blog",
"page_summary": "Hello World",
"page_html_content": "<p>Hello world</p>"
}
Example JSON to update a page
{
"id": 123123,
"page_usertitle": "Updated Title",
"page_summary": "Hello World Updated",
}
Field D
Sample object
{"id":123456,"page_usertitle": "Hello World","page_summary": "A typical short test of functionality",
"page_html_content": "<p>Hello world</p>"
} Machine-readable documentation
This documentation is also available as JSON or Markdown at the same URL. Request JSON with Accept: application/json or Markdown with Accept: text/markdown.