> ## Documentation Index
> Fetch the complete documentation index at: https://docs.plato.ae/llms.txt
> Use this file to discover all available pages before exploring further.

# Créer une entrée CMS

> Créez une nouvelle entrée dans une base de données CMS à partir d'un backend approuvé.

Créez des entrées à partir du code côté serveur uniquement.

```text theme={null}
POST /api/public/cms/[modelId]/list
```

## Exemple

```bash theme={null}
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
    }
  }'
```

## Corps

Envoyer les valeurs des champs dans `values` :

```json theme={null}
{
  "values": {
    "title": {
      "en": "Summer Menu"
    },
    "published": true
  }
}
```

Le API accepte également `data` ou un objet direct pour des raisons de compatibilité, mais `values` est le format le plus clair.

## Réponse

La réponse est l'entrée créée.

```json theme={null}
{
    "id": "entry_123",
    "name": {
      "en": "Classic Burger",
      "ar": "Classic Burger"
    },
  "price": 38
}
```

La réussite crée le statut de retour `201`.

## Valeurs par défaut et champs obligatoires

Lorsqu'un champ a une valeur par défaut, Plato peut l'appliquer lors de la création.

Si un champ obligatoire est manquant ou vide, Plato renvoie :

```json theme={null}
{
  "message": "Field 'name' is required."
}
```

## Sélectionnez la réponse

Utilisez `fields` lorsque vous n'avez besoin que d'une partie de l'entrée créée :

```text theme={null}
?fields=id,name
```

Cela permet de garantir une réponse prévisible et rapide.
