API de Versiones
Consulta el historial de publicaciones e instantáneas de versiones de tus formularios.
La API de Versiones te permite ver el historial de publicaciones de un formulario. Cada vez que publicas un formulario, NueForm crea una instantánea versionada que contiene la configuración completa del formulario y todas las preguntas en ese momento. Las versiones también incluyen un changelog que resume lo que cambió desde la publicación anterior.
Todos los cuerpos de respuesta utilizan nombres de campo en snake_case.
Listar Versiones del Formulario
/api/v1/forms/:id/versionsDevuelve todas las versiones publicadas de un formulario, ordenadas por número de versión (más reciente primero). Cada versión incluye la instantánea completa del formulario y un changelog de lo que fue modificado.
Parámetros de Ruta
idstringobligatorioEl ID del formulario
Campos de Respuesta
idstringID único de la versión
form_idstringEl formulario al que pertenece esta versión
versionintegerNúmero de versión secuencial (1, 2, 3, ...)
published_bystringID del usuario que publicó esta versión
published_by_namestringNombre visible de la persona que publicó
created_atstringMarca de tiempo ISO 8601 de cuando se publicó esta versión
changelogarrayLista de cambios desde la versión anterior
changelog[].typestringTipo de cambio (ver Tipos de Entrada de Changelog abajo)
changelog[].descriptionstringDescripción legible del cambio
snapshotobjectEstado completo del formulario en el momento de la publicación (incluye todos los campos del formulario y preguntas)
Tipos de Entrada de Changelog
form_createdstringEl formulario fue creado inicialmente
publishedstringUn evento de publicación (incluye número de versión)
question_addedstringSe agregó una nueva pregunta
question_updatedstringSe modificó una pregunta existente
question_deletedstringSe eliminó una pregunta
question_reorderedstringSe reordenaron las preguntas
theme_changedstringSe modificó una propiedad del tema
settings_changedstringSe modificó una configuración del formulario
title_changedstringSe cambió el título del formulario
description_changedstringSe cambió la descripción del formulario
Respuesta
{
"versions": [
{
"id": "66c3d4e5f6a7b8c9d0e1f2a3",
"form_id": "665a1b2c3d4e5f6a7b8c9d0e",
"version": 3,
"published_by": "665a0a1b2c3d4e5f6a7b8c9d",
"published_by_name": "Alice Johnson",
"created_at": "2026-02-28T14:00:00.000Z",
"changelog": [
{
"type": "question_updated",
"description": "Updated question: \"How did you hear about us?\""
},
{
"type": "question_added",
"description": "Added question: \"Would you recommend us to a friend?\""
},
{
"type": "theme_changed",
"description": "Changed theme color from #6366f1 to #2563eb"
}
],
"snapshot": {
"title": "Customer Feedback Survey",
"description": "Help us improve our product",
"theme_color": "#2563eb",
"background_color": "#ffffff",
"show_progress_bar": true,
"questions": [
{
"id": "66a1b2c3d4e5f6a7b8c9d001",
"type": "short_text",
"title": "What is your name?",
"required": true,
"order": 0,
"properties": {}
},
{
"id": "66a1b2c3d4e5f6a7b8c9d002",
"type": "multiple_choice",
"title": "How did you hear about us?",
"required": true,
"order": 1,
"properties": {
"choices": [
{ "label": "Search engine" },
{ "label": "Social media" },
{ "label": "Friend or colleague" },
{ "label": "Other" }
]
}
},
{
"id": "66a1b2c3d4e5f6a7b8c9d004",
"type": "yes_no",
"title": "Would you recommend us to a friend?",
"required": false,
"order": 2,
"properties": {}
}
]
}
},
{
"id": "66c2d3e4f5a6b7c8d9e0f1a2",
"form_id": "665a1b2c3d4e5f6a7b8c9d0e",
"version": 2,
"published_by": "665a0a1b2c3d4e5f6a7b8c9d",
"published_by_name": "Alice Johnson",
"created_at": "2026-02-15T10:30:00.000Z",
"changelog": [
{
"type": "question_added",
"description": "Added question: \"How did you hear about us?\""
}
],
"snapshot": { ... }
},
{
"id": "66c1d2e3f4a5b6c7d8e9f0a1",
"form_id": "665a1b2c3d4e5f6a7b8c9d0e",
"version": 1,
"published_by": "665a0a1b2c3d4e5f6a7b8c9d",
"published_by_name": "Alice Johnson",
"created_at": "2026-01-15T10:30:00.000Z",
"changelog": [
{
"type": "form_created",
"description": "Created form"
}
],
"snapshot": { ... }
}
]
}
Ejemplos de Código
curl -X GET "https://api.nueform.io/api/v1/forms/665a1b2c3d4e5f6a7b8c9d0e/versions" \
-H "Authorization: Bearer YOUR_API_KEY"
Cómo Funciona el Versionado
- Editar -- Realiza cambios en tu formulario (agregar preguntas, actualizar tema, modificar configuraciones). La marca
has_unpublished_changesdel formulario se establece entrue. - Publicar -- Llama a
POST /api/v1/forms/:id/publishpara crear una nueva versión. NueForm toma una instantánea del estado actual del formulario, registra el changelog e incrementa el número de versión. - Formulario en vivo -- Los encuestados siempre ven la última versión publicada. El
published_version_iden el formulario apunta a la versión activa. - Despublicar -- Llama a
DELETE /api/v1/forms/:id/publishpara sacar el formulario de línea. El historial de versiones se preserva.
El estado actual del formulario (editable a través de la API de Formularios) puede diferir de la última versión publicada si se han realizado ediciones desde la última publicación.
Respuestas de Error
Respuestas de error estándar devueltas por este endpoint.
Códigos de Error
401UnauthorizedAPI key faltante o inválida
403ForbiddenPermisos insuficientes para formularios de equipo
404Not FoundFormulario no encontrado
500Server ErrorError interno del servidor
Ejemplo de Error
{
"error": "Form not found"
}