Saltearse al contenido

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 id existente → 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 id está 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

shell
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

NombreTipoObligatorioDescripción
idstringEl 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 ArticleBlogArticle, mantiene title (fíjate en su id), añade readingMinutes y elimina todos los demás campos al omitirlos:

shell
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ódigoDescripción
200El modelo se actualizó. El cuerpo de la respuesta contiene el id del modelo.
400Payload inválido — nombre incorrecto, fieldList vacío, nombres de campo duplicados, o un destino de relación/enum incorrecto.
401No autorizado. El token está ausente, malformado o ha expirado.
403Prohibido. El token no tiene permisos de escritura — usa un Write Token.
404No existe ninguna entidad con el :id dado en el proyecto (o un relatedModelId es desconocido).
500Error interno del servidor.