---
title: "Qué campos puede llenar la IA en este workspace, y cuáles están activos"
method: GET
path: "/contacts/extraction-catalog"
tags: ["Contacts"]
---

# Qué campos puede llenar la IA en este workspace, y cuáles están activos

`GET /contacts/extraction-catalog`

## Request

- Base URL: `https://api.met.meteor.com.co/api/v1`
- URL: `https://api.met.meteor.com.co/api/v1/contacts/extraction-catalog`
- Auth: one of:
  - `bearer` (a scheme the document does not define)
  - HTTP bearer

Une los campos de sistema que el backend sabe extraer con los campos personalizados de tipo `text` del workspace. `active` son los elegidos hoy (o el default si nunca se eligió) y `max` el tope por extracción. Los de sistema vienen con `label: null` a propósito: su nombre visible vive en el i18n del frontend.

## Response `200`

- object: Sobre en el que viaja toda respuesta correcta de la API. El recurso está en `data`. Los SDKs oficiales lo desenvuelven por ti; un cliente hecho a mano tiene que leer `.data`.
  - `success` true, required: Siempre `true` en una respuesta 2xx.
  - `data` ExtractionCatalogResponseDto, required
    - `active` string[], required: Las claves elegidas hoy — el subconjunto de `fields` que la extracción va a mirar. Si el workspace nunca eligió, es el default de la plataforma.
    - `enabled` boolean, required: `false` = el análisis está apagado en este workspace, así que `POST /contacts/{id}/extract` devuelve `filled: []` sin llamar al modelo ni cobrar Energía.
    - `fields` ExtractionCatalogFieldDto[], required: Todos los campos elegibles: los de sistema más los personalizados de tipo texto.
      - `hint` string, required: La pista que se le da al modelo. Describe el dato, no el campo.
      - `key` string, required: Clave del campo tal como vive en el contacto. Los de sistema llevan `$` adelante (`$city`); los personalizados van sin prefijo.
      - `label` string, nullable, required: Nombre visible del campo. Los de sistema vienen en `null` a propósito: su nombre lo traduce el panel, así que un integrador que necesite mostrarlo pone el suyo.
      - `source` 'system' | 'custom', required: `system` = campo de ficha que trae la plataforma; `custom` = campo propio del workspace.
    - `max` number, required: Tope de campos por extracción.

## Other responses

- `400`: La request no es válida: un campo no pasa validación, falta un parámetro requerido o el recurso no admite la transición solicitada.
- `401`: API key ausente, inválida, revocada o expirada — o el workspace está bloqueado.
- `403`: La key está autenticada pero no puede ejecutar esta operación: scope faltante, capacidad deshabilitada, modo test restringido o recurso fuera de su cartera.
- `404`: El recurso no existe o no está disponible dentro del alcance de la key. No revela la existencia de recursos de otros tenants.
- `429`: Se superó el límite por minuto de la key o la cuota del plan. Respeta `Retry-After`; el SDK ya reintenta solo.
- `500`: Error del servidor o del Met que ejecutaba. El SDK reintenta los 5xx con backoff.

---

[API](https://skmtc.dev/meteor/apis/met-public-api.md) · [All operations](https://skmtc.dev/meteor/apis/met-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/meteor/apis/met-public-api/revisions/5d9ca294295c?raw)
