Saltar al contenido principal

Obtener un formulario

GET/v1/forms/{id}

Para desarrolladores

Descripción​

Devuelve un formulario con sus ítems, en el orden en que se muestran. Incluye public_token, con el que puede armar su propio enlace o inserción del formulario público.

Guía relacionada​

  • Formularios — Arme formularios de captura y revise lo que se envió.

Autenticación​

Authorizationbearer tokenheaderobligatorio
API key con scope form:read. Formato: Bearer <API_KEY>.
X-Instance-Slugstringheaderobligatorio
Identificador de su instancia. Ver Autenticación.

Request​

Path params:

idintegerobligatorio
Identificador del formulario.

Response​

200 OKDevuelve un objeto con los campos que siguen.
idintegersiempre presente
Identificador del formulario.
namestringsiempre presente
Nombre del formulario.
kindstring, enum: `consent | advanced`siempre presente
consent: formularios simples generados por el módulo de consentimiento (solo identificador + ítems de consentimiento). advanced: formularios armados libremente con cualquier campo del catálogo.
typestring, enum: `registration | update`siempre presente
registration: capta contactos nuevos. update: actualiza datos de un contacto existente.
dataset_idinteger | null
Dataset que alimentan las respuestas confirmadas de este formulario, si está vinculado a uno.
public_tokenstringsiempre presente
Token que identifica al formulario en su URL o inserción pública.
is_defaultbooleansiempre presente
—
is_activebooleansiempre presente
true cuando el formulario está activo y acepta envíos.
settingsobject | null
Textos públicos del formulario (title, header_text, footer_text) y diseño de su página pública (design: primary_color, secondary_color, logo_url, custom_css), forma libre.
created_atstring (date-time)siempre presente
Fecha y hora de creación.
updated_atstring (date-time)siempre presente
Fecha y hora de la última modificación.
itemsobject[]siempre presente
Los ítems del formulario, en orden.
idintegersiempre presente
Identificador del ítem.
kindstring, enum: `field | consent | divider | text`siempre presente
field: un campo del catálogo (usa field_id). consent: un ítem de consentimiento (usa term_id). divider: separador visual. text: bloque de texto libre (usa content).
field_idinteger | null
id del campo, cuando kind=field.
term_idinteger | null
id del término de consentimiento, cuando kind=consent (ver `GET /v1/consent-terms`).
labelstring | null
Etiqueta personalizada del ítem, si se definió una distinta a la del campo o del término.
contentstring | null
Texto del bloque, cuando kind=text.
is_requiredbooleansiempre presente
Si el visitante debe completarlo para enviar el formulario.
sort_orderintegersiempre presente
Posición del ítem en el formulario, ascendente.
widthstring, enum: `full | half`siempre presente
Ancho del ítem en la página pública del formulario. Solo tiene efecto sobre kind=field. El resto de los tipos de ítem siempre ocupa la fila completa.

Errores​

CódigoCuándo
404El id de formulario no existe en la cuenta (form_not_found).

Detalle completo en Errores genéricos.

Request
curl -X GET "https://$API_HOST/v1/forms/5" \
-H "Authorization: Bearer $API_KEY" \
-H "X-Instance-Slug: $SLUG"
Response
{
"id": 5,
"name": "Suscripción newsletter",
"kind": "advanced",
"type": "registration",
"dataset_id": null,
"public_token": "f3b1c2...",
"is_default": false,
"is_active": true,
"settings": {
"title": "Súmate a nuestras novedades"
},
"created_at": "2026-05-08T14:22:31Z",
"updated_at": "2026-05-08T14:22:31Z",
"items": [
{
"id": 11,
"kind": "field",
"field_id": 1,
"term_id": null,
"label": null,
"content": null,
"is_required": true,
"sort_order": 0,
"width": "full"
},
{
"id": 12,
"kind": "consent",
"field_id": null,
"term_id": 4,
"label": null,
"content": null,
"is_required": true,
"sort_order": 1,
"width": "full"
}
]
}