status: "finished"), puedes consultar la información extraída a través de la API. Trébol ofrece varias formas de acceder a los datos según lo que necesites.
Los hallazgos de la Síntesis de Dictamen son la excepción: una corrida provisional se puede leer antes de que la verificación quede finished.
Los endpoints de lectura aplican a todos los casos de uso — KYB, Hipotecas, Nómina, etc. Lo que cambia es el contenido del reporte según los items que incluiste en la verificación.
1. Listar verificaciones
Consulta todas las verificaciones de tu cuenta, opcionalmente filtrando por estado. Útil para obtener un listado general o para encontrar verificaciones en un estado específico.Parámetros de consulta
La respuesta incluye un arreglo
data con las verificaciones y un campo next (si hay más páginas) que puedes usar como parámetro en la siguiente llamada.
Para la estructura completa de la respuesta, consulta Listar verificaciones de la cuenta en el API Reference.
2. Obtener una verificación por ID
Consulta una verificación específica usando suverification_id o el tag (etiqueta) que asignaste al crearla.
Por verification_id
Por etiqueta (tag)
item_status y los item_value con la información extraída.
Si la verificación tiene consultas a fuentes externas (SAT, RENAPO, INE, SIGER), la respuesta puede incluir
lookups_report con una URL firmada para descargar el reporte PDF de auditoría. El campo se omite cuando no hay reporte. Ver Consultas públicas externas.Síntesis de Dictamen
GET /verifications/{verification-id} incluye además un bloque findings con los hallazgos de la Síntesis de Dictamen: lo que Trébol detecta como faltante o inconsistente en la documentación de la empresa.
El listado GET /verifications no trae este campo. Para leer los hallazgos de una verificación, consúltala por su ID.
El webhook entrega los mismos hallazgos con otra forma: ahí
findings es
el array de hallazgos y source / computed_at viajan a su lado, no dentro.
Acá findings es un objeto y los hallazgos están en findings.items. Si
reutilizas el mismo parser para las dos superficies, no compartas el acceso al
campo. Ver verification.v2.findings.updated.object | null
El bloque completo de la revisión. Es
null mientras la revisión no haya corrido para esa verificación.null no es lo mismo que una lista vacía
"findings": null— la revisión todavía no ha corrido para esa verificación."findings": { "items": [], ... }— la revisión corrió y no encontró nada.
Cuándo deja de ser null
La Síntesis de Dictamen se habilita por cuenta. Si la tuya no la tiene habilitada, findings es null en todas tus verificaciones, siempre — no es un estado transitorio. Si esperas hallazgos y no llegan, confírmalo con tu contacto en Trébol antes de seguir consultando.
Con la revisión habilitada, Trébol la corre por su cuenta: una corrida provisional cuando termina de procesar los documentos cargados, y una final al completarse la verificación. También puedes pedir una corrida tú mismo — ver Pedir una corrida bajo demanda más abajo.
Para saber que ya llegó la definitiva tienes dos caminos:
- Webhook (recomendado): suscríbete a
verification.v2.findings.updatedy recibirás cada corrida, con susource, en cuanto se guarde. Si solo te interesa la definitiva,verification.v2.finishedtambién sirve: Trébol escribe la corridafinalantes de publicarlo. Ninguno de los dos necesita polling. - Polling: consulta la verificación por su ID y revisa
findings.source. Cuando valefinal, esos son los hallazgos definitivos de esa corrida.
findings.source es la señal, no el status de la verificación: una corrida final solo se escribe al completarse, así que el source ya lo implica.
Toda corrida que se guarde emite verification.v2.findings.updated — las provisional, la final y las que pidas tú. Es opt-in: hay que suscribirse a ese evento. Sin la suscripción, la corrida provisional solo se ve consultando la verificación, porque verification.v2.finished se dispara al completarse la verificación y no una vez por corrida.
Si después de finalizada se agregan documentos y la verificación se vuelve a procesar, una nueva corrida puede reemplazar los hallazgos.
Pedir una corrida bajo demanda
Si no quieres esperar a que un documento nuevo la dispare, puedes encolar una corrida conPOST /verifications/{verification-id}/findings/run. Sirve, sobre todo, porque varios hallazgos dependen de la vigencia de los documentos: las conclusiones pueden cambiar con el calendario aunque no hayas subido nada.
{verification-id} por el id que te devolvió POST /verifications y TU_API_KEY por tu API key. Si la corrida queda encolada, la respuesta es:
202 {"status": "queued"} y la corrida termina unos segundos después; el 202 sólo dice que quedó encolada. Para saber que terminó, guarda el findings.computed_at que tenías antes de llamar y consulta la verificación cada 3-5 segundos hasta que ese valor cambie — o hasta que findings deje de ser null, si la revisión nunca había corrido. Dos minutos de espera son holgados; si se agotan, vuelve a consultar más tarde en vez de reintentar el POST, porque la corrida encolada sigue en curso.
Un 202 implica que tu cuenta tiene la revisión habilitada: si no la tuviera, la respuesta sería 409 not_enabled. La corrida que pidas se escribe como final si la verificación ya está completa y como provisional si todavía no lo está.
Cuando no procede, responde 409 con un error_code:
not_enabled— tu cuenta no tiene la revisión habilitada. Reintentar no cambia nada.pending_documents— faltan documentos por subir o procesar.pending_itemslos nombra, pero son etiquetas para mostrar, no identificadores: para saber cuándo reintentar, consulta la verificación y espera a que sus items documentales estén enitem_status: "complete".already_scheduled— ya hay una corrida en vuelo. No reintentes elPOST: pasa directo a sondear, porque su resultado es el que esperas. Puede llegar también en tu primerPOST, si una corrida automática ya estaba corriendo.recently_run— corrió hace poco. Esperaretry_after_secondsy vuelve a pedirla.
pending_items sólo viene con pending_documents, y retry_after_seconds sólo con recently_run. Un segundo POST mientras hay una corrida en vuelo devuelve 409 already_scheduled, nunca un 202 que duplique la corrida.
Los códigos generales de la API (401, 404, 500) están en Errores, y la tabla completa del endpoint en la referencia.
Si estás suscrito a
verification.v2.findings.updated, la corrida que pidas por este endpoint también lo emite al guardarse, y te llega sin sondear. Si no, lee el resultado consultando la verificación, como arriba.provisional y final
source dice en qué momento Trébol calculó la revisión.
provisional: la calcula antes de completarse la verificación, con un modelo más rápido. Una corrida final puede reemplazarla, y sus hallazgos pueden cambiar de severidad o desaparecer.final: la calcula al completarse la verificación.
Patrón recomendado
3. Leer por sección de la empresa
Para consultas más granulares, puedes leer una sección específica de los datos de la empresa. Esto es útil cuando solo necesitas una parte de la información (por ejemplo, solo los accionistas o solo los documentos). Hay dos formas de consultar por sección:Por ID de verificación
Por etiqueta de empresa (tag)
Secciones disponibles
Para la estructura completa de cada sección, consulta los endpoints en el API Reference:
4. Estado de validación de documentos (widget)
Cuando una verificación se crea vía widget con unflow_id que tiene un record_validation_schema, puedes consultar el estado de validación de cada documento requerido. Esto te permite saber qué documentos se han subido, cuáles están pendientes y cuáles han sido validados.
record_validation_schema del flujo, incluyendo si el documento fue subido, clasificado correctamente y validado.
Este endpoint aplica únicamente a verificaciones creadas a través del widget de onboarding que tienen un flujo con
record_validation_schema configurado. Para más detalle sobre los estados del expediente, consulta Estados del expediente.Siguientes pasos
Estados de verificación
Ciclo de vida de una verificación: cuándo está lista para consultar.
Webhooks
Recibe eventos automáticos cuando una verificación termina.
Notificaciones
Notificaciones por email, Slack, Teams o Google Workspace.