/v2/custom-item-types.
Cuándo usarlos
Usa tipos de ítem personalizados cuando necesites:- Procesar un tipo de ítem que Trébol no soporta de forma estándar.
- Definir reglas de clasificación, validación o extracción específicas para tu negocio.
- Controlar el esquema de salida (JSON) de la extracción.
Esta funcionalidad complementa las extracciones personalizadas. Las extracciones personalizadas aplican sobre tipos ya soportados; los tipos de ítem personalizados crean un tipo nuevo desde cero.
Conceptos clave
Tipo y procesos
Un tipo de ítem personalizado (custom_item_type) agrupa uno o más procesos. Cada proceso define una tarea que Trébol ejecuta sobre el documento:
Al crear un tipo, el proceso de clasificación se crea automáticamente de forma atómica. Solo puede editarse mediante PATCH; no puede añadirse de nuevo ni eliminarse.
Identificadores
Cada tipo y cada proceso exponen dos identificadores:id— generado por Trébol, inmutable. Úsalo en las rutas de la API (ej.cit_abc123,ccp_def456).name(solo en tipos) — identificador que defines tú (no una etiqueta legible; para eso estáfriendly_name). Debe empezar con el prefijocit_y no puede contener espacios (usa_o-como separador). Único por cuenta entre tipos activos y archivados. Se usa como valor detypeal enviar ítems en verificaciones.process_reference(solo en procesos) — etiqueta elegida por ti, única dentro del mismo tipo. Editable vía PATCH.
Ciclo de vida
active— el tipo acepta documentos en verificaciones.archived— el tipo está pausado. Sigue apareciendo en el listado y puede reactivarse en cualquier momento con PATCHstatus: "active". Verificaciones que lo referencien son rechazadas mientras esté archivado.- Eliminado (DELETE) — el tipo y todos sus procesos se borran de forma permanente e irreversible. Para pausar un tipo sin perderlo, archívalo en lugar de eliminarlo.
Mejora automática
Al crear o actualizar un proceso puedes incluirauto_improve (por defecto true). Cuando está activo, Trébol mejora automáticamente tus instrucciones con IA en segundo plano para todos los tipos de proceso. Para procesos de extracción, también genera un json_schema.
Al crear un proceso de extracción no puedes enviar
json_schema: en la creación el esquema lo genera la mejora automática, por eso auto_improve no se puede desactivar (auto_improve: false devuelve error 400). Si quieres definir o ajustar el esquema manualmente, hazlo después con un PATCH sobre el proceso (campo json_schema).Autenticación
Todos los endpoints requieren tu API key en el headerx-api-key.
Crear un tipo
string
required
Identificador del tipo de documento que defines tú. Debe empezar con
cit_ y no puede contener espacios (usa _ o - como separador; ej. "cit_contrato_arrendamiento"). Único por cuenta entre tipos activos y archivados.string
required
Instrucciones para identificar este tipo de documento.
string
required
Nombre legible para interfaces. Entre 2 y 255 caracteres.
boolean
default:"true"
Cuando es
false, Trébol usa tus instrucciones tal cual, sin mejora automática.Respuesta (201)
boolean
required
Indica si la operación se completó correctamente.
object
required
Tipo de ítem personalizado creado.
La respuesta incluye un proceso de clasificación que Trébol crea junto con el tipo. Su
process_reference se genera automáticamente como <name>_classification (por eso no lo envías al crear): es estable y predecible. No cambia si más adelante renombras el tipo, y —como cualquier proceso— puedes renombrarlo con PATCH, aunque normalmente no hace falta.Errores
Listar tipos
string
Token de cursor para obtener la siguiente página. Devuelto en la respuesta cuando hay más resultados.
Respuesta (200)
boolean
required
Indica si la operación se completó correctamente.
array
required
Lista de tipos de ítem personalizados de la cuenta (activos y archivados).
string
Token de cursor para la siguiente página. Solo presente cuando hay más resultados.
Las respuestas de lectura (GET) incluyen
user_input y json_schema en cada proceso.Obtener un tipo
Actualizar un tipo
string
Renombra el tipo. No puede contener espacios. Única por cuenta entre tipos activos y archivados.
string
Actualiza el nombre legible. Entre 2 y 255 caracteres.
string
Estado del tipo. Valores permitidos:
"archived": pausa el tipo. Sigue apareciendo en el listado y puede reactivarse en cualquier momento."active": reactiva un tipo archivado.
Respuesta (200)
Devuelve solo los campos del tipo, sin procesos.boolean
required
Indica si la operación se completó correctamente.
object
required
Tipo actualizado (sin procesos).
Errores
Eliminar un tipo
Respuesta (200)
boolean
required
Indica si la operación se completó correctamente.
object
required
Contiene el identificador del tipo eliminado.
Agregar un proceso
string
required
"validation" o "extraction".string
required
Etiqueta del proceso. Única dentro del mismo tipo.
string
required
Instrucciones escritas por ti para este proceso.
boolean
Para procesos de extracción, debe enviarse como
true (enviar false devuelve error 400: en la creación el json_schema lo genera la mejora automática y no se acepta enviarlo en esta petición; para definirlo manualmente, usa un PATCH posterior). Para procesos de validación, es opcional (por defecto true).string | null
Solo para validación.
"warning": el ítem se pausa hasta que se revise el resultado. "hard_stop": si la regla no se cumple, el ítem se da por finalizado. null: el ítem continúa procesándose aunque la regla falle. Se rechaza si se envía en otro tipo de proceso.Respuesta (201)
boolean
required
Indica si la operación se completó correctamente.
object
required
Proceso creado.
Errores
Ejemplo: proceso de validación con failure_policy
Ejemplo de respuesta de error
Cuando ocurre un conflicto (por ejemplo,process_reference duplicado), la respuesta sigue esta estructura:
Obtener un proceso
user_input y json_schema.
Respuesta (200)
boolean
required
Indica si la operación se completó correctamente.
object
required
Proceso con su versión activa.
Resolución
Para que el GET responda correctamente:- La clasificación existe y no está archivado.
- El proceso existe y no está eliminado.
- La versión activa del proceso tiene
user_inputno nulo.
Actualizar un proceso
process_type y id no se pueden cambiar.
string
Renombra la etiqueta. Única dentro del mismo tipo.
boolean
Activa o pausa el proceso sin eliminarlo. El proceso de clasificación no se puede pausar.
string
Nuevas instrucciones. Si el texto difiere del valor activo, se crea una nueva versión del proceso que pasa a ser la activa.
object
Solo para procesos de extracción. Define el esquema JSON de salida. Enviarlo crea una nueva versión del proceso. Enviarlo en un proceso que no es de extracción devuelve 400.
boolean
default:"true"
Solo aplica cuando cambias
user_input. Si es false, Trébol no ejecuta mejora automática y conserva tus instrucciones tal cual.string | null
Solo para validación.
"warning": el ítem se pausa hasta que se revise el resultado. "hard_stop": si la regla no se cumple, el ítem se da por finalizado. null: el ítem continúa procesándose aunque la regla falle.El proceso de clasificación se edita igual que cualquier otro: obtén su
id con Obtener un tipo (es el proceso con process_type: "classification") y haz PATCH sobre /processes/{processId} cambiando su user_input.Versiones del proceso
Cuando el PATCH modificauser_input (y el texto difiere del valor activo), Trébol crea una nueva versión del proceso, que pasa a ser la activa.
Si auto_improve es true y cambias user_input, Trébol lanza la mejora automática en segundo plano.
Errores
Eliminar un proceso
Respuesta (200)
boolean
required
Indica si la operación se completó correctamente.
object
required
Contiene el identificador del proceso eliminado.
Procesamiento asíncrono
Cuando creas o actualizas un proceso conauto_improve = true, Trébol no bloquea la respuesta. En su lugar:
1
Respuesta inmediata
El endpoint devuelve 201 (creación) o 200 (actualización). La respuesta de escritura no incluye
user_input ni json_schema.2
Mejora en segundo plano
Trébol mejora tus instrucciones con IA para todos los tipos de proceso. Para procesos de extracción, también genera un
json_schema.3
Resultado disponible vía GET (extracción)
Para procesos de extracción, consulta el proceso con GET hasta que
json_schema esté poblado. Para clasificación y validación, el proceso es funcional de inmediato con tus instrucciones originales.Cómo saber cuándo terminó la mejora
El mecanismo varía según el tipo de proceso:Normalmente el
json_schema lo genera la mejora automática, pero también puedes definirlo tú con el campo json_schema en el PATCH del proceso (solo extracción). Otra opción para regenerarlo es cambiar el user_input con auto_improve: true para que Trébol produzca uno nuevo.Interacción con verificaciones
Envío de ítems
Al enviar un ítem de verificación que referencia un tipo de ítem personalizado:- El
namedebe corresponder a un tipo existente en tu cuenta (activo o archivado). - El tipo debe tener
status = 'active'.
Ejemplo completo
Este ejemplo crea un tipo de ítem personalizado para contratos de arrendamiento, le agrega una extracción y luego envía un documento para procesar.1
Crear el tipo
2
Agregar un proceso de extracción
Usa el La respuesta incluye el
id del tipo devuelto en el paso 1 (aquí cit_abc123).id del proceso creado (por ejemplo, ccp_ghi789). Lo necesitas en el siguiente paso.3
Esperar la mejora automática
Como se trata de un proceso de extracción, consulta el proceso con GET usando el
id del paso 2 hasta que json_schema esté poblado. Para clasificación y validación, Trébol usa tus instrucciones originales de inmediato y las reemplaza internamente por las mejoradas cuando la mejora termina.4
Enviar un documento para procesar
Crea una verificación usando el
name del tipo como type del ítem.5
Consultar los resultados
Una vez que la verificación termine de procesarse (puedes saberlo vía webhook), consulta los resultados de extracción con los endpoints v2 de lectura:La clave (
- Obtener sección por etiqueta de empresa —
GET /v2/companies/{etiqueta}/{section}consection=sources - Obtener sección por ID de verificación —
GET /v2/verifications/{verification-id}/{entity}conentity=sources
custom_user_prompts. Ese objeto usa el process_reference del proceso como clave. Ejemplo de fragmento en data.sources:extraer_datos_contrato) es el process_reference que asignaste al proceso de extracción en el paso 2. Como cada ítem de verificación pertenece a un solo tipo, las claves de custom_user_prompts de una fuente provienen siempre de ese único tipo; por eso basta con que el process_reference sea único dentro del tipo para que no haya colisiones.Siguientes pasos
Extracciones personalizadas
Personaliza la extracción para tipos de documento que Trébol ya soporta.
Reglas de validación
Reglas predefinidas y personalizadas para validar documentos.
Tipos de documentos
Lista completa de tipos de documento soportados.
Webhooks
Recibe notificaciones cuando una verificación termine de procesarse.