Skip to main content
Use list requests to render pages, sync content, or fetch a small page of records.
GET /api/public/cms/[modelId]/list

Example

curl "https://api.plato.ae/api/public/cms/products/list?limit=20&offset=0" \
  -H "Authorization: Bearer $PLATO_API_KEY"

Query Parameters

ParameterTypeDefaultNotes
limitnumber20Minimum 1, maximum 100.
offsetnumber0Number of entries to skip.
fieldsstringsystem fields and visible fieldsSelect specific fields.
includeHiddenbooleanfalseInclude hidden CMS fields when the key can access them.
maxDepthnumber3Relation expansion depth. Maximum 6.

Select Fields

Use fields to keep responses small:
curl "https://api.plato.ae/api/public/cms/products/list?fields=id,name,price,category(id,name)" \
  -H "Authorization: Bearer $PLATO_API_KEY"
Nested relation fields use parentheses:
category(id,name)

Response

The response body is an array.
[
  {
    "id": "entry_123",
    "name": {
      "en": "Classic Burger",
      "ar": "Classic Burger"
    },
    "price": 38,
    "category": {
      "id": "entry_category_1",
      "name": {
        "en": "Burgers"
      }
    }
  }
]
Pagination metadata is returned in headers:
x-cms-total: 86
x-cms-limit: 20
x-cms-offset: 0
x-cms-has-more: 1

Next Page

Increase offset by the number of rows already loaded:
curl "https://api.plato.ae/api/public/cms/products/list?limit=20&offset=20" \
  -H "Authorization: Bearer $PLATO_API_KEY"

Notes

  • Lists are scoped to the workspace attached to the API key.
  • Unknown field names return 400.
  • Relation expansion stops at maxDepth.
  • For public pages, select only the fields needed on that page.