Saltar al contenido principal
POST
cURL
Usa este endpoint para crear cuestionarios sencillos a través de la API. Envía un array form_elements en el orden en que los usuarios deben responder las preguntas. Didit construye por ti el grafo interno del cuestionario. La API solo admite cuestionarios lineales sencillos. No envíes graph, branches, next ni reglas condicionales.

Campos obligatorios

  • title es el nombre interno del cuestionario.
  • languages debe incluir en.
  • form_elements debe contener al menos una pregunta.
  • Cada elemento del formulario necesita un element_type y un label traducido.
También puedes añadir a un elemento del formulario una description traducida opcional como texto de ayuda. Se acepta en todos los tipos de elemento excepto separator y se devuelve como la description del elemento en el informe del cuestionario.

Tipos de elemento

Usa valores en minúsculas como short_text, multiple_choice, email, file_upload o date_picker. También se aceptan valores de enum en mayúsculas como SHORT_TEXT. Para dropdown, single_choice y multiple_choice, añade options. Si omites el value de una opción, Didit genera uno a partir de la etiqueta.

Validación de campos

Añade un objeto validation opcional a un elemento short_text, long_text o number para exigir un formato en la respuesta del usuario. Resulta útil para identificadores con formatos estrictos, como identificaciones fiscales, documentos nacionales de identidad o números de tarjeta. La validación se ejecuta mientras el usuario rellena el campo (el usuario no puede continuar hasta que la supere) y la API la vuelve a aplicar al enviar el formulario.
La respuesta incluye questionnaire_id. Guárdalo, porque lo usarás como questionnaire_uuid cuando añadas el cuestionario a un flujo de trabajo.

Autorizaciones

x-api-key
string
header
requerido

La clave de API de tu aplicación, que encontrarás en Developers -> API keys en la Business Console. La clave principal tiene acceso completo. Una clave con nombre puede tener un alcance limitado: ninguno, lectura o escritura por recurso, limitada a algunos flujos o a sesiones aprobadas, a una lista de direcciones IP y a una fecha de caducidad. 401 significa que la clave es incorrecta, se revocó o expiró; 403 significa que no se envió ninguna clave, que la clave no tiene acceso a este recurso o acción, o que la solicitud provino de una dirección fuera de su lista de IP; 404 en una ruta de sesión significa que la sesión está fuera de los flujos o estados de la clave. Una clave sin acceso a contenido multimedia recibe las URL de imágenes, videos y PDF como null, y una clave sin permiso de escritura en sesiones recibe los enlaces y tokens de sesión como null. Consulta https://docs.didit.me/console/api-keys.

Cuerpo

application/json

Crea un cuestionario lineal simple. La API convierte form_elements en el grafo interno del cuestionario.

title
string
requerido

Nombre interno del cuestionario.

languages
string[]
requerido

Idiomas incluidos en cada etiqueta. Debe incluir en.

Ejemplo:
form_elements
object[]
requerido

Preguntas en el orden exacto en que los usuarios deben verlas. No se admiten ramificaciones ni campos condicionales.

Minimum array length: 1
description
string | null
default_language
string

Idioma predeterminado. Debe estar incluido en languages.

Ejemplo:

"en"

is_active
boolean
predeterminado:true
status
enum<string>

Omite este campo para crear un cuestionario publicado y listo para usarse en flujos.

Opciones disponibles:
draft,
published

Respuesta

Cuestionario creado. La respuesta incluye el questionnaire_id: guárdalo para hacer referencia a este cuestionario desde los flujos o en futuras llamadas de actualización o eliminación.

Detalle completo del cuestionario que devuelven los endpoints GET, POST (crear) y PATCH (actualizar).

questionnaire_id
string<uuid>

Identificador único del cuestionario. Usa este id para hacer referencia al cuestionario desde un flujo o en solicitudes posteriores de actualización o eliminación.

title
string
description
string | null
languages
string[]
default_language
string
is_active
boolean
is_simple_questionnaire
boolean
graph
object

Estructura de grafo con start_node y un mapa de nodos.

sections
object[]

Contenido del cuestionario agrupado en secciones (derivado del grafo).

questionnaire_group_id
string<uuid>

Identificador estable que agrupa todas las versiones del mismo cuestionario.

version
integer
status
enum<string>
Opciones disponibles:
draft,
published
published_at
string<date-time> | null
is_editable
boolean

True cuando el cuestionario aún puede editarse directamente (versiones en borrador).

Última modificación el 1 de noviembre de 2026