CMS Tool API

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

NameTypeExampleNotes
idint123Filter results by id.
pageint123Filter results by page.
titletextexampleFilter results by title.
filenametextexample.jpgFilter results by filename.
parentint123Filter results by parent.
keywordstextexampleFilter results by keywords.
publicContentOnlybooleantrueFilter results by public content only. Accepts true or 1.
offsetint123Skip this many matching records before returning results.
pageSizeint123Limit the number of records returned.

POST

Create or update a record from a JSON object.

Request content type: application/json

Request body fields

NameTypeExampleNotes
idint123Set the id value.
page_usertitletextexampleSet the page usertitle value.
page_menunametextexampleSet the page menuname value.
page_aliastextexampleSet the page alias value.
page_parentint123Set the page parent value.
page_html_contenttextexampleSet the page html content value.

Data definitions

FieldTypeDescriptionFormatExample
page_crop_aspect_thumbsboolAdditional rules to apply to thumbnail generation
page_issubmenuint0 if not a sub menu, or 1+ if a sub menu hinting as to how many sub pages
page_aliastextSEO filename for page URL
page_parentintID of a parent page, or 0 if this is a top level page
page_notify_subjecttextAny email notifications should have this subject
page_submenu_desctextIf this page is of type submenu, then this text will be the summary displayed to users
page_alturltextAn alternative link to be used rather than the default system URL for this content
page_addressautocompletetextEnable auto complete of any address fields
page_menunametextMenu button text
page_html_footertextHTML formatted content for the page footer
page_dt_begintimestampAutomatic timestamp when this page was created2025-12-31 23:59:59
page_titleimgtextImage src pathname for an image to replace the page heading
page_json_schematextCustomised JSON schema for this page, for users who want more control that the default
page_crop_aspectboolAdditional aspect rule to apply to cropping of the full sized images
page_sortingtextOverride the default sorting mode for any list on this page
page_banner_titletextIf this page has a banner, then this title will be used for the banner
page_replyaddresstextOverride the website default reply email address with this address for any emails sent
page_html_contenttextHTML 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_lengthintWhen lists include summary text, this value determines if the text to be truncated to this length.
page_submenu_imgtextIf this page is of type gallery submenu, then this image will be displayed to users. Image is a src path to the file
page_alturlsubtextAn alternative link URL to be used for sub page content, such as list content.
page_bannertextFile path / src to the image that should be used as the banner image on this page.
page_html_introtextHTML formatted content for the page introduction
page_summarytextSEO summary for page
page_enquiryform_headingtextIf this page has an enquiry form then use this title rather than the default title
page_banner_urltextIf this page has a banner, and this URL exists, then the banner will link to this URL
page_html_zone2textA secondary content area, not often used anymore, and very template specific
pageserialSystem ID for page, unique123456
page_forum_servicetextIf a comments / forum should be added where applicable to this page, or sub pages.
page_usertitletextPage H1 Heading
page_notifytextAny email notifications from this page should be sent to this email address. validate email format.
page_metatitletextSEO Title
page_crop_heightintAny images uploaded to this page will be cropped to this maximum height.
page_reference_codetextUsed only in limited situations, where the page needs to have a text ID
page_crop_widthintAny images uploaded to this page will be cropped to this maximum width.
page_thumb_dimensionstextDesired dimensions for creation of thumbnails, eg 320x320
page_json_configtextAdditional configuration parameters for this page
page_accesskeytextFor usability define a key for fast access via the menu
page_autorespond_subjecttextThe optional email subject to send to a user when an auto responder fires...
page_alttemplatetextA different web design template can be used with this page, specified by a single letter A-F
page_ogimagetextSocial media Image - Src pathname to file
page_recapturetextIf 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_duplicationidintIf this page was duplicated from another, then this ID is the original page ID
wgt_idintID of the webpage content theme or page type
page_privacyintMinimum security level of users who have permission to view this page. Public access if 0
page_windowsizeintFor list pages, how many items should display at a time
page_lastmodifiedtimestampTimestamp when this page was last modified2025-12-31 23:59:59
page_keywordstextSEO keywords
page_csstextCustom CSS to be used only on this page
page_targettextThe link target for links in a list in the page, eg _blank
page_bgtextA custom background image for this page
page_orderintPosition of this page in the menu, or in a list.
page_menuimgtextReplace the menu button text with an image (old school)
page_html_scriptstextScripts and other code to be placed on this page, but separated from the content
page_addmembergroupnametextAdd any new members to this member group
page_privacy_groupidintThe member group ID of users who have permission to view this page. Public access if 0.
page_more_info_labeltextLink 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_sharingtextIf 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.