Skip to main content

API KYB: Verificación de Firmantes y Administradores

Este endpoint permite extraer información detallada de los firmantes y administradores de una empresa para el proceso de onboarding de empresas y API KYB. Utiliza OCR de actas constitutivas y otros documentos relevantes para validar la identidad y los roles clave dentro de la entidad.
Esta página documenta la respuesta de GET /v2/verifications/{verification-id}/people (auth con header x-api-key). Para el detalle del endpoint y ejemplos de request consulta Obtener sección por ID de verificación y la guía Leer información.

Estructura de la Respuesta

La respuesta incluye tres listas de personas:
  • key_people: Lista de firmantes.
  • signatory_groups: Administradores agrupados por tipo (executives, board_members, etc.). Ver Información de signatory_groups.
  • full_list: Lista completa de todas las personas detectadas.

Información de Personas Clave

1. Datos Personales

NombreCampo JSONDescripción
NombresnamesNombre completo del firmante o administrador
Identificaciónid_numberRFC o CURP detectado
RFC explícitoid_number_rfcRFC cuando difiere de id_number
Tipo de IDid_type"rfc" o "curp" (o null)
Tipo de entidadtype"person" o "business"
GénerogenderGénero reportado
NacionalidadnationalityNacionalidad (toma valor de CURP cuando existe)
Código de paísiso_country_codeISO 3166-1 alpha-2 (p. ej. MX, US)
Fecha de nacimientobirth_dateFecha de nacimiento
Entidad de nacimientobirth_entityEntidad de nacimiento
ID internopeople_idID interno de la persona en Trébol
Sugerido por IAai_suggestedtrue si fue detectada por IA
Revisado por humanohuman_reviewedtrue si fue revisada manualmente

2. Roles y Poderes

NombreCampo JSONDescripción
RolesrolesLista de roles asignados dentro de la empresa

3. Documentación Adicional

identity, fiscal, address y ubo_forms son objetos abiertos cuya estructura depende del documento extraído. Consulta Items de documentos para los esquemas por tipo.
NombreCampo JSONDescripción
IdentificaciónidentityDatos extraídos de documentos de identidad (INE/Pasaporte)
Datos básicosbasic_dataNombre y apellidos normalizados de la persona
Información FiscalfiscalDatos extraídos del CSF u otros comprobantes fiscales
DomicilioaddressDatos extraídos de comprobantes de domicilio
Formularios UBOubo_formsDatos extraídos de formularios UBO
Identidades externasexternal_identitiesDatos obtenidos de fuentes externas (p. ej. consulta CURP en RENAPO)

Detalles de Roles y Poderes

Información del Rol

Cada persona puede tener varios roles, cada rol puede tener varios poderes asociados. La estructura de los roles y poderes es la siguiente:
NombreCampo JSONDescripción
ID del RolidIdentificador único del rol
Nombre del Rolrole_nameNombre del rol (ej: presidente, secretario)
Grupogroup_nameCategoría del rol
EventoeventEvento que originó el rol (addition, mentioned, renewal, removal)
DuracióndurationDuración en años (-1 = indefinido)
PoderespowersLista de poderes otorgados
FuentesourceDetalles del documento validador (ver tabla abajo)
Vencimiento de Poderespowers_due_dateFecha de vencimiento de los poderes
Origen del Vencimientopowers_due_date_sourceOrigen de la fecha (legal o document)

Objeto source

Estructura del documento validador:
Campo JSONDescripción
item_idID del item documental
item_typeTipo del documento (ac_mx, person_id, etc.)
document_urlURL firmada al PDF original
document_dateFecha del documento
document_numberNúmero/folio del documento
entity_nameNombre de la entidad
extra_fieldsDatos adicionales específicos del tipo de documento

Poderes Legales

Este es el objeto que describe los poderes legales del representante legal:
NombreCampo JSONDescripción
DuracióndurationDuración del poder (-1 = indefinido)
Tiene Poderhas_powerIndica si tiene el poder
Tiene Límiteshas_limitsIndica si existen limitaciones
Nombre del Poderpower_nameTipo de poder otorgado
Tipo de Firmasignature_typeTipo de firma requerida: "joint" para firma mancomunada o "individual" para firma individual
Descripción de Límiteslimits_descriptionDescripción de limitaciones

Tipos de Poderes

Trebol soporta los siguientes tipos de poderes:
NombreCampo JSONDescripción
Títulos de CréditoloansPoder para firmar titulos de créditos empresariales
Poder de Dominioassets_managementPoder para otorgar garantías, comproventa de activos, etc
Poder de AdministraciónadministrationPoder para la gestión operativa general
Poder de Cuentas Bancariasbank_accountsPoder para abrir o cerrar cuentas bancarias
Poder de DelegacióndelegatePoder que permite delegar poderes
Poder de Pleitos y Cobranzaslawsuits_and_collectionsPoder que permite hacer la gestión de pleitos y cobranzas

Grupos de Roles

Ya que las empresas deciden tener distintos nombres para los roles, Trebol estandariza los distintos cargos en los siguientes grupos:
NombreCampo JSONDescripción
Consejoboard_membersSon los miembros del consejo
AdministradoresexecutivesEs el administrador único o equivalentes
ApoderadosproxiesSon los apoderados de la empresa
VigilanciaauditorsSon los comisarios o auditores de la empresa

Información de signatory_groups

Cada elemento dentro de signatory_groups[group] (p. ej. signatory_groups.executives[]) aparece de forma plana: el rol y sus folios viven al mismo nivel que los datos de la persona, no anidados dentro de un arreglo roles. Comparte la mayoría de campos con key_people, pero tiene 7 propios:
NombreCampo JSONTipoDescripción
ID del rolrole_idstring | nullIdentificador único del rol asignado a esta persona.
Nombre del rolrole_namestringNombre del rol (ej. presidente, secretario).
EventoeventenumEvento que originó el rol (addition, mentioned, renewal, removal).
DuracióndurationnumberDuración en años del rol (-1 = indefinido).
Número de foliofolio_numberstring | nullFolio del documento que valida el rol.
Fecha del foliofolio_datestring | nullFecha del folio (YYYY-MM-DD).
Fecha de inscripciónfolio_inscription_datestring | nullFecha de inscripción del folio.
Los campos names, id_number, id_number_rfc, id_type, type, identity, fiscal, address, external_identities, ubo_forms, iso_country_code y source siguen la misma semántica que en Información de Personas Clave.

Información de Identidad

Cuando se sube un documento de identificación, domicilio, o comprobante fiscal, Trebol lo valida y extrae la información relevante.

Objeto identity.person_id

Datos extraídos del documento de identidad:
NombreCampo JSONDescripción
DescripcióndescriptionTipo de identificación (p. ej. ine_mx - DASJ850405HSPRVN02)
DirecciónaddressDirección registrada en el documento
Fecha del Documentodocument_dateFecha del documento
Fecha de Vencimientodue_dateVencimiento del documento
Fecha de Emisiónissued_dateEmisión del documento
Fecha de Nacimientobirth_dateFecha de nacimiento
Ciudad de Nacimientobirth_cityCiudad de nacimiento
País de Nacimientobirth_countryPaís de nacimiento
Número Nacionalnational_id_numberNúmero nacional de identificación
GénerogenderGénero
NacionalidadnationalityNacionalidad
Campos Extraextra_fieldsDatos adicionales (CURP, RFC, etc.)
ValidacionesvalidationsValidaciones aplicadas al documento (ver tabla abajo)
FuentesourceDatos del documento (ver source en la sección anterior)
Dirección Estructuradamx_addressDirección desagregada cuando aplica para México

Cada item de validations

Campo JSONDescripción
validated_atTimestamp de la validación
validation_resultResultado (p. ej. valid_id)
sourceOrigen de la validación (p. ej. ine)

Objeto basic_data

Nombre y apellidos normalizados de la persona:
Campo JSONDescripción
first_nameNombre
other_namesOtros nombres
first_last_namePrimer apellido
other_last_namesOtros apellidos

Información de Domicilio

El objeto address contiene los datos extraídos de comprobantes de domicilio. Es un mapa libre cuya estructura depende del tipo de documento. Consulta Items de documentos para los esquemas por tipo.

Información Fiscal

El objeto fiscal contiene los datos extraídos del CSF u otros comprobantes fiscales (RFC, CURP, dirección fiscal, actividades económicas, etc.). Es un mapa libre cuya estructura depende del documento. Consulta Items de documentos para los esquemas por tipo.

Identidades externas

Trébol consulta RENAPO de forma automática cuando uno de los documentos de la persona (person_id) aporta un número CURP (típicamente extraído de un ine_mx, un passport mexicano o un residence_mx). Cuando la consulta termina, Trébol expone los datos en el item_value del person_id y en external_identities.curp dentro de cada elemento de full_list y key_people. La consulta corre de forma asíncrona. El endpoint devuelve external_identities poblado solo después de que Trébol dispara el webhook verification_people.curp_search_completed. Antes de ese webhook, la llave curp puede no existir o venir en null. Para detalles sobre los campos equivalentes disponibles en el item_value de cada person_id, consulta Items de documentos — Validación de CURP (RENAPO).
NombreCampo JSONDescripción
Número de búsquedasearch_numberCURP utilizado para la consulta.
Éxitosuccesstrue si Trébol logró completar la consulta.
MensajemessageMensaje legible cuando success es false. Llega en null cuando todo va bien.
Datos del solicitanteapplicant_dataDatos personales reportados por RENAPO. Puede llegar en null cuando success es false.
Datos del documento probatorioevidentiary_document_dataDatos del acta de nacimiento o documento probatorio. Puede llegar en null cuando success es false.
Archivo CURPcurp_fileURL firmada al PDF descargado de RENAPO. La URL incluye Expires=… y caduca: cuando expire, vuelve a consultar GET /v2/verifications/{verification-id}/people para obtener una URL renovada.
Cuando success es false, los objetos applicant_data y evidentiary_document_data pueden llegar en null y message describe la causa. Verifica siempre success antes de leer los campos anidados.

Ejemplo de Respuesta

El siguiente ejemplo es una versión recortada para ilustrar la forma general. Para la respuesta completa con todos los campos y un ejemplo navegable, consulta Obtener sección por ID de verificación en el API Reference y selecciona el ejemplo people.
{
    "success": true,
    "data": {
        "key_people": [
            {
                "names": "DANIEL SERVITJE",
                "id_number": "DASJ850405XX1",
                "id_type": "rfc",
                "type": "person",
                "iso_country_code": "MX",
                "birth_date": "1985-04-05",
                "roles": [
                    {
                        "id": "role-1",
                        "role_name": "presidente",
                        "group_name": "executives",
                        "event": "addition",
                        "duration": -1,
                        "powers": [
                            {
                                "power_name": "administration",
                                "has_power": true,
                                "has_limits": false,
                                "signature_type": "joint",
                                "duration": -1,
                                "limits_description": ""
                            }
                        ],
                        "source": {
                            "item_id": 94852,
                            "item_type": "ac_mx",
                            "document_date": "2015-06-15",
                            "entity_name": "ACME MEXICO"
                        }
                    }
                ],
                "identity": {
                    "person_id": {
                        "description": "ine_mx - DASJ850405HSPRVN02",
                        "extra_fields": {
                            "curp": "DASJ850405HSPRVN02",
                            "rfc": "DASJ850405XX1"
                        },
                        "source": {
                            "item_id": 84856,
                            "item_type": "person_id"
                        }
                    }
                },
                "fiscal": {},
                "address": {},
                "ubo_forms": {},
                "external_identities": {
                    "curp": {
                        "search_number": "DASJ850405HSPRVN02",
                        "success": true,
                        "message": null,
                        "applicant_data": {
                            "curp": "DASJ850405HSPRVN02",
                            "names": "DANIEL",
                            "gender": "HOMBRE",
                            "birth_date": "1985-04-05",
                            "birth_entity": "DISTRITO FEDERAL",
                            "nationality": "MEXICO",
                            "first_surname": "SERVITJE",
                            "second_surname": "MONTULL",
                            "evidentiary_document": "Acta de nacimiento"
                        },
                        "evidentiary_document_data": {
                            "act_number": "00452",
                            "registry_date": "1985",
                            "register_entity": "09 DISTRITO FEDERAL",
                            "register_municipality": "016 MIGUEL HIDALGO"
                        },
                        "curp_file": "https://files.gotrebol.com/mx/curps/DASJ850405HSPRVN02_file.pdf?Expires=…&Signature=…"
                    }
                },
                "people_id": 3025,
                "ai_suggested": false,
                "human_reviewed": false
            }
        ],
        "signatory_groups": {
            "executives": [
                {
                    "role_id": "role-1",
                    "names": "DANIEL SERVITJE",
                    "id_number": "DASJ850405XX1",
                    "id_number_rfc": "DASJ850405XX1",
                    "id_type": "rfc",
                    "role_name": "presidente",
                    "event": "addition",
                    "duration": -1,
                    "folio_number": "00452",
                    "folio_date": "2015-06-15",
                    "folio_inscription_date": "2015-06-20",
                    "iso_country_code": "MX",
                    "type": "person",
                    "source": {
                        "item_id": 94852,
                        "item_type": "ac_mx",
                        "document_date": "2015-06-15",
                        "entity_name": "ACME MEXICO"
                    },
                    "identity": {},
                    "fiscal": {},
                    "address": {},
                    "external_identities": {},
                    "ubo_forms": {}
                }
            ]
        },
        "full_list": []
    },
    "meta": {
        "section": "people",
        "verification": {
            "id": "09786e1d-92b7-4503-b84d-d455375be01d",
            "tag": "id-trebol-demo-01",
            "status": "finished"
        }
    }
}