Skip to main content
The CMS API exposes the custom databases you build in Plato CMS. Use it for websites, catalogs, landing pages, partner portals, and internal tools that need structured content from a Plato workspace.

List Entries

Fetch entries with fields, filters, pagination, and predictable response headers.

Get One Entry

Read a single CMS entry by id from a trusted integration.

Create Entry

Add new CMS content from a backend, website, or internal tool.

Update Entry

Patch or replace existing CMS content safely.

Delete Entry

Remove CMS records when the integration owns the lifecycle.

Fields And Relations

Understand values, system fields, relation ids, and linked content.

Endpoints

GET    /api/public/cms/[modelId]/list
POST   /api/public/cms/[modelId]/list
GET    /api/public/cms/[modelId]/[id]
PATCH  /api/public/cms/[modelId]/[id]
PUT    /api/public/cms/[modelId]/[id]
DELETE /api/public/cms/[modelId]/[id]
modelId can be the CMS database identifier or the database id. Use readable database identifiers such as products, locations, or team_members when possible. They make API URLs easier to maintain.

Authentication

CMS endpoints accept:
Authorization: Bearer plato_your_api_key
or:
x-api-key: plato_your_api_key
Older integrations can use:
?apiKey=plato_your_api_key
The API key role must include CMS access.

System Fields

Every entry can include:
FieldMeaning
idEntry id.
createdAtEntry creation date.
updatedAtLast update date, when available.
These fields are selected by default when no fields query is sent.

Response Headers

List and entry responses include CMS metadata headers.
HeaderMeaning
x-cms-model-idThe internal database id that matched the request.
x-cms-model-identifierThe readable database identifier, when configured.
x-cms-totalTotal number of entries for list requests.
x-cms-limitLimit used by the list request.
x-cms-offsetOffset used by the list request.
x-cms-has-more1 when more rows are available.

Typical Flow

  1. Create or open the CMS database in Plato.
  2. Confirm the database identifier and field keys.
  3. Create an API key with CMS access.
  4. List entries with the fields your app needs.
  5. Use create, update, and delete only from trusted server code.
For schema setup, see CMS Developer Tools.