Skip to main content
Use update requests from trusted server-side code.
PATCH /api/public/cms/[modelId]/[id]
PUT   /api/public/cms/[modelId]/[id]
PATCH and PUT use the same update behavior.

Example

curl "https://api.plato.ae/api/public/cms/products/entry_123?fields=id,name,published" \
  -X PATCH \
  -H "Authorization: Bearer $PLATO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "values": {
      "published": false
    }
  }'

Partial Updates

Only send the fields you want to change.
{
  "values": {
    "price": 42
  }
}
Fields not included in the request keep their existing values.

Localized Field Updates

Localized fields can be updated one language at a time.
{
  "values": {
    "name": {
      "ar": "Classic Burger"
    }
  }
}
For localized fields, the update merges with the existing language values.

Response

The response is the updated entry.
{
    "id": "entry_123",
    "name": {
      "en": "Classic Burger",
      "ar": "Classic Burger"
    },
  "published": false
}

Validation

Updates validate:
  • Unknown field keys.
  • Required fields.
  • Field value types.
  • Relation targets.
If a relation id does not exist in the workspace, Plato returns a 400 error.