Saltar al contenido principal

Listar campos

GET/v1/fields

Para 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 presente
true para 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 select o un multiselect, que comparten la misma lista). Forma libre, depende de type.
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:

CampoQué es
valueLo 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.
labelLo 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 el label, 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
}
}