Listar campos
GET
/v1/fieldsPara desarrolladores
Descripción
Devuelve el catálogo de campos de contacto de la instancia: el nombre, el tipo y las reglas de validación de cada campo. Los formularios y las columnas de los datasets usan estos mismos campos.
Consúltelo antes de enviar datos de contacto. La field_key de cada campo es la clave con que se nombra ese dato en el resto de la API: en cada columna de un dataset y al registrar un contacto. El type y el config indican qué forma debe tener cada valor, porque la plataforma valida contra ellos.
El catálogo no es fijo: trae seis campos de sistema y los que haya creado usted. Léalo en vez de asumirlo.
Guía relacionada
- Campos de contacto — Defina los campos de contacto que usan sus plantillas y formularios.
Autenticación
Authorizationbearer tokenheaderobligatorio- API key con scope
field:read. Formato:Bearer <API_KEY>. X-Instance-Slugstringheaderobligatorio- Identificador de su instancia. Ver Autenticación.
Request
Query params:
pageinteger- Número de página; la primera es la 1. Default: 1.
page_sizeinteger- Tamaño de página, 1–100. Default: 20.
is_activeboolean | null- Filtra por estado activo/inactivo. Si se omite, no se filtra.
Response
200 OKDevuelve una página de resultados:
data con los elementos y pagination para pedir la siguiente. Cada elemento tiene los campos que siguen.idintegersiempre presente- Identificador del campo.
namestringsiempre presente- Nombre visible del campo.
field_keystringsiempre presente- Clave canónica del campo (mayúsculas, guion bajo). Es la que nombra el dato al registrar un contacto en un dataset.
typestring, enum: `email | phone | text | textarea | number | date | select | multiselect | boolean | url | address`siempre presente- Tipo de dato del campo.
is_systembooleansiempre presentetruepara los campos que vienen con la cuenta (EMAIL,PHONE,FIRST_NAME,LAST_NAME,UNIQUECODE,ADDRESS) y no se pueden eliminar.is_activebooleansiempre presente- Un campo inactivo queda de solo lectura: no se puede asociar a nuevos formularios.
configobject | null- Configuración específica del tipo (por ejemplo, opciones de un
selecto unmultiselect, que comparten la misma lista). Forma libre, depende detype. created_atstring (date-time)siempre presente- —
updated_atstring (date-time)siempre presente- —
Un campo select o multiselect declara sus opciones en config.options, y cada opción es un par:
| Campo | Qué es |
|---|---|
value | Lo que queda guardado en cada respuesta y lo que se lee en el archivo exportado. Solo MAYÚSCULAS, números y guion bajo, máx. 32 caracteres. |
label | Lo que lee quien completa el formulario. Puede cambiarse sin alterar lo ya respondido. |
{ "options": [{ "value": "CL", "label": "Chile" }] }
Notas
- Lo que se registra se compara con
value: si manda ellabel, se rechaza. Use valores cortos y reconocibles, porque se guardan completos en cada respuesta. - Para crear un campo con sus opciones, use
POST /v1/fields.
Request
curl -X GET "https://$API_HOST/v1/fields?is_active=true" \
-H "Authorization: Bearer $API_KEY" \
-H "X-Instance-Slug: $SLUG"
Response
{
"data": [
{
"id": 1,
"name": "Email",
"field_key": "EMAIL",
"type": "email",
"is_system": true,
"is_active": true,
"config": {
"patternPreset": "email"
},
"created_at": "2026-05-08T14:22:31Z",
"updated_at": "2026-05-08T14:22:31Z"
}
],
"pagination": {
"page": 1,
"page_size": 20,
"has_more": false,
"total_items": 6,
"total_pages": 1
}
}