/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. Identifica el resultado de ese proceso dentro del ítem procesado (ver Dónde salen los resultados).
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.
Extracción con json_schema propio
Si proporcionas un json_schema al crear o actualizar un proceso de extracción, auto_improve se establece automáticamente en false. Enviar auto_improve: true junto con json_schema devuelve error 400: cuando defines tu propio esquema, Trébol lo usa tal cual sin modificarlo.
Esto aplica tanto en la creación (POST) como en la actualización (PATCH) del proceso.
Al crear un proceso de extracción tienes dos caminos:
- Sin
json_schema:auto_improvedebe enviarse comotrue(o se omite y toma ese valor por defecto). Trébol genera el esquema automáticamente.auto_improve: falsesinjson_schemadevuelve error 400. - Con
json_schema:auto_improvese establece enfalseautomáticamente. Enviarauto_improve: truedevuelve error 400. Trébol usa tu esquema tal cual.
Autenticación
Todos los endpoints requieren tu API key en el headerx-api-key.
Referencia de la API
Todos los endpoints, parámetros, ejemplos de request/response y códigos de error están documentados en la API Reference:Tipos
Crear un tipo
POST /v2/custom-item-typesListar tipos
GET /v2/custom-item-typesObtener un tipo
GET /v2/custom-item-types/{id}Actualizar un tipo
PATCH /v2/custom-item-types/{id}Eliminar un tipo
DELETE /v2/custom-item-types/{id}Procesos
Agregar un proceso
POST /v2/custom-item-types/{id}/processesObtener un proceso
GET /v2/custom-item-types/{id}/processes/{processId}Actualizar un proceso
PATCH /v2/custom-item-types/{id}/processes/{processId}Eliminar un proceso
DELETE /v2/custom-item-types/{id}/processes/{processId}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:Si proporcionas tu propio
json_schema al crear o actualizar el proceso, no hay espera asíncrona: Trébol lo usa de inmediato y el proceso queda listo para recibir documentos. Solo necesitas esperar a que json_schema se pueble cuando dejas que la mejora automática lo genere (auto_improve: true sin json_schema).Estructura del json_schema
El json_schema sigue el formato JSON Schema y define los campos que Trébol extrae del documento. La raíz debe ser un objeto ("type": "object") con properties y, opcionalmente, required.
Reglas
- Raíz: siempre
"type": "object". - Tipos permitidos:
string,number,integer,boolean,array,object,null. - Campos obligatorios: lista las claves en
requiredpara que Trébol siempre intente extraerlas. - Campos anulables: usa
"type": ["<tipo>", "null"]en campos donde el documento podría no contener la información. Trébol devuelvenullen lugar de inventar un valor. - Descripciones: cada campo debe incluir
descriptionpara que Trébol entienda qué buscar en el documento.
Ejemplo: esquema plano
Extrae datos básicos de un contrato con campos que pueden no estar presentes:Ejemplo: esquema con arrays y objetos anidados
Extrae una lista de personas con sus roles:Ejemplo: esquema mixto con campos opcionales
Extrae información financiera donde algunos campos son opcionales:Ejemplo: crear un proceso de extracción con json_schema
Este ejemplo crea un proceso de extracción proporcionando un json_schema que usa el esquema de personas con campos anulables. Como se envía json_schema, auto_improve se establece en false automáticamente.
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'.
Dónde salen los resultados
Los resultados de un ítem de tipo personalizado viven enitem_value.pipeline, dentro del ítem. Léelo con cualquiera de estos endpoints:
- Obtener un item de verificación por ID —
GET /verification-items/{id} - Obtener una verificación por su ID —
GET /verifications/{verification-id}, con los ítems enitems[]
item_value tiene esta forma:
array
Un elemento por proceso de extracción configurado en el tipo. Array vacío si el tipo no tiene extracciones.
array
Un elemento por regla de validación configurada en el tipo. Array vacío si el tipo no tiene validaciones.
string
Etapa del pipeline interno en la que quedó el ítem. Es informativa y su lista de valores no es estable. Para saber si el ítem terminó, usa
item_status junto con item_error.Trébol elimina de cada
value de extracción, en todos los niveles, las claves que empiezan por paragraphs_ o parrafos_. Son trazas internas de citas y no forman parte de tu esquema.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 Trébol genera el La respuesta incluye el
id del tipo devuelto en el paso 1 (aquí cit_abc123). Tienes dos opciones:- Con auto_improve (sin json_schema)
- Con json_schema propio
json_schema automáticamente. Necesitas esperar a que esté listo (paso 3).id del proceso creado (por ejemplo, ccp_ghi789). Lo necesitas en el siguiente paso.3
Esperar la mejora automática (solo si no enviaste json_schema)
Si creaste el proceso con
auto_improve: true (sin json_schema), consulta el proceso con GET hasta que json_schema esté poblado. Si proporcionaste tu propio json_schema, salta este paso.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), lee el ítem con Las claves de El contrato completo, campo por campo, está en Dónde salen los resultados.
GET /verification-items/{id}. Los resultados están en item_value.pipeline.extraction: un elemento por proceso de extracción, identificado por su process_reference.- Resultado con auto_improve
- Resultado con json_schema propio
value las define el json_schema que Trébol generó automáticamente en el paso 3.Siguientes pasos
Extracciones personalizadas
Personaliza la extracción para tipos de documento que Trébol ya soporta.
Divisor de documentos
Divide un PDF con varios documentos y usa tus tipos personalizados (
cit_*) como destino de cada corte.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.