CMS Tool API

CMS Tool API schema

Public API version 1.4.13.

API usage

Pagination, filtering, sorting, values and request formats for API clients.

Endpoints and responses

Send authenticated requests to https://api.cms-tool.net/api/{endpoint}. Use GET to retrieve data. JSON is the default response; request application/xml or text/csv with the Accept header when supported.

A response has a success flag and a data field. List requests normally return data as an array; a request for one ID normally returns one object. Failed requests include an error message and no data.

Endpoint catalog

Authentication

Pagination

Use offset to skip matching rows and pageSize to limit the page. offset defaults to 0; pageSize defaults to 200. maxrows is an alias that takes precedence over pageSize. Currently accepted page sizes are 1 through 999; values outside that range use 200.

For standard list responses, resultCount is the number of rows in this page. totalRowCount is the number of matching rows across all pages. A short page establishes the total directly; a full page or an empty page beyond the end uses a count query. Some specialised endpoints have different response shapes.

Parameters

NameTypeExampleNotes
offsetint200Number of matching rows to skip; use 0 for the first page.
pageSizeint200Maximum rows to return, from 1 through 999.
maxrowsint200Alternative to pageSize; takes precedence when both are present.
{"success":true,"data":[{"id":123}],"offset":200,"pageSize":200,"resultCount":1,"totalRowCount":201}

Filtering and comparisons

Use the filters listed in each endpoint schema. Text filters marked as LIKE searches match substrings without you adding surrounding wildcards; spaces act as flexible separators. For example, keywords=hip mus can match text containing those terms with other characters between them.

For filters that document matchType, comparison values include =, <>, <, <=, >, >=, LIKE and ILIKE. matchType applies only to the field named by that endpoint, not to every request parameter. A literal NULL value on a supported filter requests records whose field is NULL.

Some endpoints have named date range filters such as updatedAfter and updatedBefore. Use the endpoint schema to find the available filters.

Parameters

NameTypeExampleNotes
matchTypetext>=Comparison operator for the endpoint's supported comparison field.

Sorting

Where supported, orderby chooses a named sort field and orderdirection=reverse reverses that order. Sort options differ by endpoint: products support created, name, updated and code; articles support created, title and updated. Do not assume creation order when no orderby is supplied.

Parameters

NameTypeExampleNotes
orderbytextcreatedEndpoint-specific sort field.
orderdirectiontextreverseReverse the selected sort order.

Dates, values and missing fields

Use unambiguous ISO-style dates such as 2026-09-25 or 2026-09-25 14:30:00 for date filters. Avoid dates such as 09/10/2026 that can be read in more than one order. Invalid date filters return an error.

Responses can omit fields with no value. Treat an absent field as missing rather than assuming every object has the same keys. Decimal values are JSON numbers when available; boolean values may be JSON booleans or legacy text values such as t and f.

Posting data and files

Send one JSON object in a JSON request body, or send it as the data form field. For product and article image uploads, use multipart/form-data with one uploadPrimaryImage file and repeatable uploadAdditionalImage or uploadAdditionalImages files; data is JSON text.

A JSON array can submit multiple objects to the same endpoint. Do not put a single record ID in the URL for an array update. Some nested records, such as product variants, are handled only in single-object mode.

/api/schema/usage

Read the API usage guide.

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.