Actualizar Entidad
Actualiza un modelo Entity existente: su nombre y el conjunto completo de campos. El body describe el estado final deseado del modelo; el servidor lo reconcilia con el modelo actual por id de campo.
Cómo funciona la reconciliación
El fieldList que envías es autoritativo — reemplaza la lista de campos del modelo, emparejada por id:
- un campo con un
idexistente → ese campo se actualiza en su sitio (renombrar, cambiar tipo, cambiar validaciones, …); - un campo sin
id→ se añade un nuevo campo al final; - un campo existente cuyo
idestá ausente de la lista → se elimina, y sus valores se borran de todos los contenidos de este tipo.
La forma del campo (FieldSpec), los tipos de campo, las validaciones y las reglas de nombres son idénticas a las de
POST /model/entity — consulta esa página para la referencia completa.
Endpoint
curl -X PUT https://api.contentisland.net/api/1.0/model/entity/:id \--header 'Authorization: Bearer TU_WRITE_TOKEN' \--header 'Content-Type: application/json' \--data '{ ... }'Path Parameters
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
id | string | sí | El id de 24 caracteres de la entidad a actualizar. |
Body
interface UpdateEntityPayload { name: string; // nombre del modelo (puede renombrar el modelo) fieldList: FieldSpec[]; // la lista de campos completa deseada, emparejada por id}Ejemplo
Renombra Article → BlogArticle, mantiene title (fíjate en su id), añade readingMinutes y elimina todos los demás campos al omitirlos:
curl -X PUT https://api.contentisland.net/api/1.0/model/entity/660f5b8a3a1c2d4e7f8b9012 \--header 'Authorization: Bearer TU_WRITE_TOKEN' \--header 'Content-Type: application/json' \--data '{ "name": "BlogArticle", "fieldList": [ { "id": "770a6c9b4b2d3e5f8a9c0123", "name": "title", "type": "short-text", "validations": [ { "name": "required" }, { "name": "max-length", "customArgs": { "length": 200 } } ] }, { "name": "readingMinutes", "type": "number" } ]}'Respuesta
En caso de éxito, el endpoint devuelve 200 OK con el id del modelo:
{ "id": "660f5b8a3a1c2d4e7f8b9012"}Códigos de estado
| Código | Descripción |
|---|---|
| 200 | El modelo se actualizó. El cuerpo de la respuesta contiene el id del modelo. |
| 400 | Payload inválido — nombre incorrecto, fieldList vacío, nombres de campo duplicados, o un destino de relación/enum incorrecto. |
| 401 | No autorizado. El token está ausente, malformado o ha expirado. |
| 403 | Prohibido. El token no tiene permisos de escritura — usa un Write Token. |
| 404 | No existe ninguna entidad con el :id dado en el proyecto (o un relatedModelId es desconocido). |
| 500 | Error interno del servidor. |