Skip to main content
Create entries from server-side code only.
POST /api/public/cms/[modelId]/list

Example

curl "https://api.plato.ae/api/public/cms/products/list?fields=id,name,price" \
  -X POST \
  -H "Authorization: Bearer $PLATO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "values": {
      "name": {
        "en": "Classic Burger",
        "ar": "Classic Burger"
      },
      "price": 38,
      "published": true
    }
  }'

Body

Send field values inside values:
{
  "values": {
    "title": {
      "en": "Summer Menu"
    },
    "published": true
  }
}
The API also accepts data or a direct object for compatibility, but values is the clearest format.

Response

The response is the created entry.
{
    "id": "entry_123",
    "name": {
      "en": "Classic Burger",
      "ar": "Classic Burger"
    },
  "price": 38
}
Successful creates return status 201.

Defaults And Required Fields

When a field has a default value, Plato can apply it during creation. If a required field is missing or empty, Plato returns:
{
  "message": "Field 'name' is required."
}

Select The Response

Use fields when you only need part of the created entry:
?fields=id,name
That keeps the response predictable and fast.