Crear Contenido
Crea una nueva entrada de contenido para un modelo dado.
Este endpoint es útil para crear contenido desde scripts, migraciones, integraciones o pipelines de CI/CD.
Endpoint
curl -X POST https://api.contentisland.net/api/1.0/content \--header 'Authorization: Bearer TU_WRITE_TOKEN' \--header 'Content-Type: application/json' \--data '{ ... }'Body
El endpoint espera un body JSON con la siguiente estructura:
interface CreateContentPayload { contentType: string; // nombre del modelo (por ejemplo "post") name: string; // nombre del nuevo contenido content: CreateContentLanguageEntry[];}
interface CreateContentLanguageEntry { language?: LanguageCode; // opcional — por defecto, el primer idioma del proyecto fields: CreateContentField[];}
interface CreateContentField { name: string; // nombre del campo tal y como está definido en el modelo value: any; // valor del campo (el tipo depende del campo)}| Nombre | Descripción |
|---|---|
contentType | El nombre del modelo al que pertenece el nuevo contenido. Debe coincidir con un modelo existente del proyecto. |
name | Nombre legible para humanos de la nueva entrada de contenido, mostrado en el dashboard. |
content | Array de entradas por idioma. Cada entrada contiene los fields que se van a poblar para ese language. Si se omite language, se aplica el idioma por defecto del proyecto. |
Ejemplo
curl -X POST https://api.contentisland.net/api/1.0/content \--header 'Authorization: Bearer TU_WRITE_TOKEN' \--header 'Content-Type: application/json' \--data '{ "contentType": "post", "name": "Mi primer post", "content": [ { "language": "es", "fields": [ { "name": "title", "value": "Hola mundo" }, { "name": "body", "value": "Esto se creó a través de la API REST." }, { "name": "order", "value": 1 } ] } ]}'Respuesta
En caso de éxito, el endpoint devuelve 201 Created con el ID del nuevo contenido:
interface CreateContentResponse { id: string;}{ "id": "660f5b8a3a1c2d4e7f8b9012"}Códigos de estado
| Código | Descripción |
|---|---|
| 201 | El contenido se creó correctamente. El cuerpo de la respuesta contiene el id del nuevo contenido. |
| 400 | Payload inválido. La respuesta incluye un mensaje error y, cuando aplica, un mapa fieldErrors con el detalle de cada problema. |
| 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 | El contentType proporcionado no coincide con ningún modelo del proyecto. |
| 500 | Error interno del servidor. Se produjo un error al procesar la solicitud. |