> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# API de registro de empresas: extracción KYB automatizada

> Didit consulta registros de empresas, valida su estado y extrae datos en 220+ países. Desde $2.00 por consulta según país y nivel, sin contratos.

Cuando se inicia una sesión de verificación de empresas, Didit consulta los registros oficiales de empresas para obtener y validar la información de la empresa. Esta consulta automatizada es la base de todo el proceso de verificación de empresas.

## Búsqueda en el registro

Didit se conecta a los registros de empresas de los países compatibles para obtener datos oficiales. En el flujo alojado, el usuario selecciona el país de constitución e introduce el nombre de la empresa, el número de registro o ambos; se requiere al menos uno. Los números de registro se normalizan cuando el registro lo exige (por ejemplo, los números de empresa del Reino Unido se completan con ceros a la izquierda hasta ocho dígitos) y, cuando se proporcionan ambos identificadores, la búsqueda en el registro los combina.

### Rellenar previamente la búsqueda con `expected_details`

Si ya conoces la empresa, pasa `expected_details` (`company_name`, `registry_country`, `registration_number`) al [crear la sesión](https://docs.didit.me/es/sessions-api/create-session.md). El flujo alojado preselecciona y bloquea el país (y el estado en los registros de nivel estatal como `US-CA`), rellena los campos de búsqueda correspondientes y ejecuta automáticamente la búsqueda indicada, de modo que el usuario llega directamente al resultado de su empresa. Ambos campos siguen siendo editables para que el usuario pueda corregir datos declarados incorrectos. Es solo un relleno previo: seleccionar una empresa distinta de la indicada no genera ninguna advertencia.

### Tipos de búsqueda

Las búsquedas en el registro admiten dos modos:

| Modo | Descripción |
| - | - |
| **Exacta** | Coincide exactamente con el nombre de la empresa o el número de registro |
| **Contiene** | Encuentra las empresas cuyo nombre contiene el término de búsqueda; útil cuando no se conoce la denominación legal exacta |

### Proceso de búsqueda

La búsqueda en el registro sigue un proceso asíncrono:

**1. Buscar**

Didit consulta el registro con el país seleccionado y los identificadores proporcionados: nombre de la empresa, número de registro o ambos combinados. El campo `searched_by` de la respuesta indica cómo se cotejaron los resultados (`name`, `registration_number` o `registration_number_and_name`), y la interfaz alojada ofrece, en los resultados por número de registro, la opción "Search as company name instead" para buscar por nombre de empresa con un solo toque. La búsqueda se ejecuta de forma asíncrona.

**2. Consultar los resultados**

Consulta periódicamente el estado de la búsqueda hasta que se resuelvan los resultados. Los registros grandes pueden tardar unos segundos en devolver resultados.

**3. Seleccionar la empresa**

Revisa las empresas devueltas y selecciona la que corresponda. Didit vincula la empresa seleccionada a la comprobación KYB y completa todos los datos disponibles.

**4. Confirmar y continuar**

Confirma o corrige los datos de la empresa y continúa con el siguiente paso configurado.
Algunos registros devuelven el perfil de la empresa antes de que el informe de propiedad esté listo; ese informe sigue generándose en segundo plano mientras el solicitante completa pasos independientes, como la carga de documentos.
El relleno previo desde el registro no bloquea el formulario de personas clave: el solicitante puede introducir personas manualmente, y las personas disponibles en el registro aparecen antes del envío a medida que llega el informe.
Las decisiones personalizadas que dependen del informe siguen esperando al informe en lugar de suponer su resultado.
Tus correcciones se conservan cuando llega el informe.
Un informe pendiente no cuenta como una comprobación de registro completada ni como una aprobación automática, y la facturación del registro se basa en el nivel realmente entregado.

**5. Envío manual**

Si la empresa no se encuentra en el registro, envía los datos de la empresa manualmente. La sesión continúa con los datos proporcionados y `is_from_registry` se establece en `false`.

### Datos obtenidos

| Campo | Descripción |
| - | - |
| `company_name` | Denominación legal tal como consta ante la autoridad |
| `registration_number` | Número oficial de registro o de constitución de la empresa |
| `country_code` | País de constitución (ISO 3166-1 alfa-3) |
| `company_type` | Tipo de entidad jurídica (Ltd, LLC, PLC, SA, GmbH, SL, etc.) |
| `registry_status` | Estado actual de la empresa según el registro (`active`, `dissolved`, `struck_off`, etc.) |
| `incorporation_date` | Fecha en que la empresa se registró originalmente |
| `registered_address` | Dirección oficial del domicilio social |
| `tax_number` | Número de identificación fiscal, cuando esté disponible |
| `alternative_names` | Nombres comerciales, DBA, denominaciones legales anteriores o nombres en el idioma original, como valor de texto |
| `legal_entity_identifier` | LEI: para instituciones financieras y entidades cotizadas |
| `nature_of_business` | Breve descripción de la actividad (en el idioma del registro) |
| `registered_capital` | Capital autorizado / emitido como objeto `{amount, currency}` |
| `location_of_registration` | Ciudad / subdivisión del registro en el que consta inscrita |
| `control_scheme` | Esquema de control / gobierno, cuando el registro lo expone |
| `website`, `email`, `phone` | Datos de contacto que constan en el registro |
| `addresses[]` | Direcciones registradas o comerciales adicionales |
| `industries[]` | Códigos de clasificación sectorial (SIC, NACE o equivalentes locales) |
| `accounts` | Fechas de presentación, cuando se informan, incluidas `last_annual_return_date` y `last_agm_date`. Las declaraciones anuales y las juntas son distintas de las cuentas financieras. |
| `financial_summary` | Resumen de datos financieros, cuando el registro los publica (ingresos, empleados, estado de presentación) |
| `confirmed_by_user_at` | Marca de tiempo en que el usuario final confirmó o editó los datos del registro |
| `last_console_edit_at` | Marca de tiempo de la última edición realizada por un analista desde la consola |
| `is_editable` | `true` mientras el usuario final aún puede editar en el flujo alojado los datos procedentes del registro |
| `is_from_registry` | `true` para empresas procedentes del registro, `false` para introducción manual |
| `fetch_status` | `pending`, `resolved` o `failed`: estado de la búsqueda en el registro |
| `verification_status` | `verified`, `failed` o `unknown` |

### Estados de la empresa

| Estado | Descripción |
| - | - |
| **Activa** | La empresa está activa actualmente y en regla |
| **Disuelta** | La empresa se ha disuelto formalmente |
| **Dada de baja** | Eliminada del registro (por ejemplo, por incumplimiento) |
| **En liquidación** | La empresa está en proceso de liquidación |
| **Inactiva** | Registrada, pero sin actividad comercial actualmente |

> [!WARNING]
>
> Las empresas con un estado distinto de **Activa** pueden marcarse o rechazarse automáticamente según la configuración de tu flujo de verificación (workflow).

### Indicador de origen de los datos

Cada registro de empresa incluye un indicador `is_from_registry`:

* **`true`**: los datos se obtuvieron de un registro oficial de empresas
* **`false`**: los datos se enviaron manualmente porque la empresa no se encontró en el registro

El campo `fetch_status` indica si la consulta al registro ha finalizado, ha fallado o sigue en curso.

## Niveles de datos y precios

En el flujo alojado, seleccionar una empresa genera el cargo del registro, aunque el solicitante abandone antes de confirmar los datos o de terminar la verificación.
Si el informe está listo en el momento de la selección, el nivel entregado se cobra de inmediato.
Si la propiedad sigue pendiente, se cobra Lite en la selección y solo se cobra la diferencia de precio cuando se entrega un nivel superior.
Si la propiedad no está disponible, no se aplica ningún recargo por propiedad.
El total usa los precios indicados en la selección y nunca supera el precio indicado para el nivel solicitado.
La selección y cualquier ajuste posterior de propiedad cuentan como una sola consulta al registro; leer el informe adquirido o confirmar sus datos no genera un nuevo cargo.
Los contratos de tarifa plana existentes generan una consulta al registro en la selección, sin una segunda unidad de contrato por la entrega posterior de la propiedad.
Las búsquedas del flujo alojado no tienen una tarifa de búsqueda aparte.
Las búsquedas independientes por API pueden tener una tarifa de \$0.50 por solicitud exitosa; consulta [facturación de búsquedas](https://docs.didit.me/es/standalone-apis/kyb-registry-search.md). Consulta [precios del registro KYB](https://docs.didit.me/es/getting-started/kyb-registry-pricing.md) para ver la tabla completa por país.

| Nivel | Qué obtienes |
| - | - |
| **Lite** | Los campos anteriores: perfil de la empresa, identificadores, estado, domicilio social, actividad y administradores |
| **Accionistas** | Lite más los accionistas directos (personas físicas y personas jurídicas) con sus rangos de propiedad |
| **UBOs** | Accionistas más los beneficiarios finales, resueltos a través de la cadena de propiedad |

Un flujo alojado elige el nivel por país en *Workflows → KYB Registry Check → Countries*. Cuando el registro no tiene datos de propiedad de una empresa, una solicitud de Accionistas o de UBO se entrega y se factura al nivel más alto que pueden ofrecer los registros del país, normalmente Lite.

Una empresa que no se encuentra y se introduce manualmente (`is_from_registry: false`) se factura a una tarifa fija de **\$0.75**: la búsqueda se realizó igualmente, aunque no se devolvió ningún registro.

> [accordion] Ejemplo: respuesta del nivel Lite
>
> Lite devuelve solo el perfil de la empresa, sin accionistas, UBOs ni estructura de propiedad:
>
> ```json theme={null}
> {
>   "company_name": "ACME HOLDINGS PTY LTD",
>   "registration_number": "094447122",
>   "country_code": "AU",
>   "registry_status": "active",
>   "incorporation_date": "2000-09-12",
>   "company_type": "Proprietary Limited",
>   "registered_address": "Sydney, NSW, 2000",
>   "tax_number": null,
>   "vat_number": null,
>   "website": null,
>   "is_from_registry": true
> }
> ```
>
> El nivel Accionistas añade `ownership_structure` y las entradas de accionistas, además de los directores y administradores. El nivel UBOs además resuelve los beneficiarios finales con sus porcentajes de propiedad. Consulta [Propiedad](https://docs.didit.me/es/business-verification/ownership.md) y [Administradores y directores](https://docs.didit.me/es/business-verification/officers.md).

## Datos del registro frente a datos proporcionados por el usuario

Didit conserva los datos devueltos por el registro y los datos confirmados por el usuario como **registros de auditoría separados**, con una vista canónica combinada que usan las comprobaciones posteriores. Cada empresa incluye tres bloques relacionados:

| Campo | Descripción |
| - | - |
| `registry_data` | El detalle normalizado del registro por parte de Didit: el resultado de titularidad (`ownership_error`, `section_errors`, `ubo_resolution`), las correcciones realizadas con [update-data](https://docs.didit.me/es/sessions-api/update-data.md) y los datos del registro que no tienen un campo propio. Sus claves varían según la empresa y no constituyen un contrato estable. |
| `user_provided_data` | Lo que el usuario final confirmó o editó durante el paso de confirmación del registro en el flujo alojado. |
| Campos canónicos de nivel superior (`company_name`, `registration_number`, `country_code`, `incorporation_date`, etc.) | La versión combinada de referencia: los datos confirmados por el usuario cuando existen y, en su defecto, los datos del registro. Las funciones posteriores (comprobación cruzada con el OCR del documento, análisis AML, evaluación de riesgo) se ejecutan sobre la vista canónica. |

La marca de tiempo `confirmed_by_user_at` indica cuándo el usuario final confirmó o editó los datos del registro. Mientras esa marca de tiempo siga siendo nula y `is_editable` sea `true`, el usuario final puede seguir modificando campos dentro del flujo alojado.

En las **empresas introducidas manualmente** (`is_from_registry: false`), `user_provided_data` es la única fuente y `is_editable` pasa a ser `false` cuando el usuario envía los datos.

Los analistas pueden ver ambas fuentes lado a lado en la revisión de la sesión en [Business Console](https://docs.didit.me/es/business-verification/console.md) y comparar lo que figuraba en el registro con lo que confirmó el usuario.

## Campos configurables del formulario de registro

Tú decides qué campos de datos de la empresa solicita el flujo de verificación alojado durante el paso de confirmación del registro. Puedes configurarlos en la Business Console: abre el editor del flujo de verificación (workflow), selecciona el nodo **KYB Registry check** y cambia a la pestaña **Fields**.

Cada campo puede estar en uno de estos tres estados:

| Estado | Comportamiento |
| - | - |
| **Oculto** | El campo no se muestra en el flujo alojado y no se recopila. |
| **Opcional** | El campo se muestra y el usuario puede dejarlo vacío. |
| **Obligatorio** | El campo se muestra y debe completarse antes de que el usuario pueda enviar el formulario. |

Hay tres campos que siempre se muestran y siempre son obligatorios, porque identifican a la empresa y no se pueden configurar: `company_name`, `country_code` y `region` (estado o región, cuando el registro es regional).

Los 16 campos configurables:

`registration_number`, `incorporation_date`, `legal_address`, `vat_number`, `alternative_names`, `tax_number`, `company_type`, `legal_entity_identifier`, `location_of_registration`, `nature_of_business`, `registered_capital_amount`, `registered_capital_currency`, `website`, `email`, `phone`, `control_scheme`

De forma predeterminada, y en todos los flujos existentes, solo `incorporation_date` es **Obligatorio**; todos los demás campos configurables son **Opcionales**, de modo que el formulario se comporta exactamente igual que antes de que existiera esta opción.

La obligatoriedad se aplica en el servidor: si envías el formulario de registro con un campo obligatorio vacío, se devuelve `400` con mensajes de error por campo, y la interfaz alojada muestra solo los campos habilitados. En la API de flujos, esta opción es el objeto `kyb_registry_fields_config` del nodo KYB Registry; consulta las [configuraciones de funciones](https://docs.didit.me/es/management-api/workflows/feature-configs.md#registro-kyb) para ver su estructura.

> [!NOTE]
>
> Cuando `vat_number` está marcado como **Obligatorio**, solo se exige para empresas constituidas en un país con IVA de la UE (ver más abajo); para el resto de países, el campo se trata como opcional aunque esté marcado como obligatorio, ya que no hay ningún número de IVA de la UE que recopilar. Su `tax_number` se sigue validando cuando se proporciona.

## Validación del IVA y de la identificación fiscal

Cuando se envía el paso de registro, Didit valida el `vat_number` de la empresa con la fuente oficial de su país.
Si la empresa no tiene `vat_number`, se valida su `tax_number` en su lugar.
El número puede enviarse con o sin el prefijo del país y con cualquier separador (`DE 123 456 789`, `DE123456789` y `123456789` son equivalentes para una empresa alemana).

**Registros oficiales.** En estos países, el número se comprueba en tiempo real con el registro mercantil oficial o de la administración pública, que además devuelve el nombre registrado (y, en la mayoría de los casos, la dirección):

| País | Fuente |
| - | - |
| 27 Estados miembros de la UE e Irlanda del Norte (`XI`) | [VIES](https://ec.europa.eu/taxation_customs/vies/) de la Comisión Europea |
| Polonia | VIES y, si VIES no incluye a la empresa, el registro de contribuyentes de IVA del Ministerio de Finanzas (la "Lista Blanca") |
| Noruega | Centro de Registros de Brønnøysund (Registro Central Coordinador de Entidades Jurídicas) |
| Suiza | Registro UID de la Oficina Federal de Estadística |
| Brasil | Registro CNPJ de la Receita Federal |
| Colombia | RUES, el Registro Único Empresarial y Social de las cámaras de comercio |
| Costa Rica | Registro de contribuyentes del Ministerio de Hacienda |
| Ecuador | Registro de contribuyentes del Servicio de Rentas Internas (SRI) |
| Paraguay | Registro RUC de la Dirección Nacional de Ingresos Tributarios (DNIT) |

Si se envía como número de IVA un SIREN o SIRET francés, un RSIN neerlandés o un número fiscal húngaro completo, se convierte en el número de IVA correspondiente antes de comprobarlo.
Los números de IVA griegos se comprueban automáticamente con el prefijo `EL`.

**Reglas de dígito de control.** En estos países no se puede consultar ningún registro, así que el número se comprueba con el formato oficial y las reglas de dígito de control del país: Albania, Andorra, Argentina, Australia, Azerbaiyán, Bielorrusia, Canadá, Chile, China, República Dominicana, Egipto, El Salvador, Ghana, Guatemala, Islandia, India, Indonesia, Israel, Japón, Kenia, Liechtenstein, México, Moldavia, Mónaco, Montenegro, Marruecos, Mozambique, Nueva Zelanda, Macedonia del Norte, Perú, Rusia, San Marino, Serbia, Singapur, Sudáfrica, Corea del Sur, Taiwán, Tailandia, Túnez, Turquía, Ucrania, Reino Unido, Estados Unidos, Uruguay, Venezuela y Vietnam.
Estas reglas también se aplican en la UE cuando un `tax_number` es una identificación fiscal nacional sin número de IVA que comprobar, como la Steuernummer alemana.
Un `tax_number` solo indica un identificador fiscal, no un registro de IVA, así que, cuando VIES no lo incluye, el resultado se determina con estas reglas en lugar de ser `invalid`.

Las empresas de cualquier otro país obtienen `vat_validation_status: "not_applicable"`.
Lo mismo ocurre con las sesiones de sandbox, que nunca contactan con un registro fiscal.

El resultado se guarda en la empresa y se expone en el [payload de decisión de KYB](https://docs.didit.me/es/business-verification/response-schema.md#bloque-company):

| Campo | Descripción |
| - | - |
| `vat_number` | El número de IVA tal como se envió |
| `vat_validation_status` | `valid`, `invalid`, `format_valid`, `invalid_format`, `could_not_validate` o `not_applicable` |
| `vat_validated_number` | El número que se comprobó, tal como lo conoce la fuente (por ejemplo, el número de IVA derivado de un SIREN) |
| `vat_validation_source` | La fuente que determinó el estado (ver más abajo) |
| `vat_validated_name` | Nombre registrado según la fuente, cuando esta lo facilita |
| `vat_validated_address` | Dirección registrada según la fuente, cuando esta la facilita |
| `vat_checked_at` | Marca de tiempo de la comprobación |

| Estado | Significado |
| - | - |
| `valid` | El registro oficial confirmó que el número está registrado y activo |
| `invalid` | El registro oficial no tiene ningún registro activo para el número. En la UE, VIES solo incluye a las empresas registradas para el comercio intracomunitario |
| `format_valid` | El número cumple el formato y las reglas de dígito de control del país; no se consultó ningún registro |
| `invalid_format` | El número no cumple el formato o las reglas de dígito de control del país |
| `could_not_validate` | El registro no estaba disponible, así que no se pudo comprobar el número. Se vuelve a comprobar la próxima vez que se ejecute la comprobación de registro |
| `not_applicable` | No se proporcionó ningún número de IVA ni identificación fiscal, el país no tiene registro ni reglas, o la sesión es una sesión de sandbox |

`vat_validation_source` es uno de estos valores: `eu_vies`, `pl_vat_white_list`, `no_brreg`, `ch_uid_register`, `br_receita_federal`, `co_rues`, `cr_hacienda`, `ec_sri`, `py_dnit` o `format_rules`.

Una vez que un número es `valid`, `invalid`, `format_valid` o `invalid_format`, el resultado se conserva durante el resto de la sesión y no se vuelve a consultar el registro, a menos que el número cambie.

**Comparación del nombre.** Cuando el número es `valid` y la fuente facilita el nombre registrado, Didit lo compara de forma aproximada (fuzzy) con el nombre de la empresa enviado.
Una diferencia significativa genera la advertencia `KYB_COMPANY_VAT_NAME_MISMATCH` sin cambiar el estado de la sesión: es una señal orientativa para los revisores.
Su `additional_data` incluye `registry_name`, `registry_source` y `submitted_name`, además de `vies_name` cuando la fuente es VIES.
Algunos Estados miembros de la UE no facilitan el nombre ni la dirección; en ese caso, los campos se devuelven vacíos y no se realiza ninguna comparación.

**Acciones configurables.** Dos opciones de configuración del nodo de comprobación de registro KYB controlan qué efecto tiene en la sesión una comprobación fallida (valores `REVIEW`, `DECLINE`, `NO_ACTION`):

| Opción | Se activa cuando | Valor predeterminado |
| - | - | - |
| `kyb_vat_invalid_action` | `vat_validation_status` es `invalid`, o un `vat_number` es `invalid_format` | `REVIEW`: la sesión pasa a En revisión |
| `kyb_vat_unverified_action` | `vat_validation_status` es `could_not_validate` | `NO_ACTION`: no tiene efecto en la sesión |

Un `tax_number` que es `invalid_format` se indica en el payload sin activar ninguna acción, porque el campo fiscal de texto libre suele contener otro identificador de la empresa.

Cada resultado también genera la advertencia correspondiente (`KYB_COMPANY_VAT_INVALID`, `KYB_COMPANY_VAT_COULD_NOT_VALIDATE`) en la comprobación de registro; consulta las [advertencias de Verificación de empresas](https://docs.didit.me/es/business-verification/warnings.md#advertencias-del-registro-kyb).

## Verificación cruzada de datos

Didit compara automáticamente los datos proporcionados por el usuario o los datos canónicos con lo que devolvió el registro y con los datos de OCR extraídos de los documentos subidos:

* **Nombre de la empresa**: coincidencia aproximada para tener en cuenta abreviaturas y diferencias de formato
* **Número de registro**: validación de coincidencia exacta
* **País**: comprobación de coherencia entre el país proporcionado y el del registro
* **Dirección**: geocodificación y normalización para la comparación

Cualquier incoherencia se marca como advertencia en la sesión y los analistas pueden verla en la consola.

## Resumen financiero

Cuando están disponibles, Didit obtiene del registro datos financieros resumidos:

* Ingresos o volumen de negocio
* Número de empleados
* Códigos de actividad SIC/NACE
* Fechas de presentación y estado de cumplimiento

## Campos adicionales del registro

Según la cobertura de cada jurisdicción, la respuesta del registro también puede incluir:

* `alternative_names`: nombres comerciales, nombres DBA y denominaciones legales anteriores
* `legal_entity_identifier` (LEI): para entidades financieras y entidades cotizadas
* `website`, `email`, `phone`: datos de contacto que constan en el registro
* `nature_of_business`: descripción breve (en el idioma del registro)
* `registered_capital`: capital autorizado o emitido como objeto `{amount, currency}`

Todos los campos se incluyen en el bloque [`business`](https://docs.didit.me/es/business-verification/response-schema) de la decisión KYB.

## Confianza y estado de verificación

Cada respuesta del registro incluye un `verification_status`:

| Valor | Significado |
| - | - |
| `VERIFIED` | El registro devolvió una coincidencia y se obtuvieron los datos. |
| `FAILED` | El registro devolvió una coincidencia, pero la obtención de datos falló (p. ej., respuesta parcial). |
| `UNKNOWN` | No se pudo localizar la empresa en ningún registro. |

Combínalo con `is_from_registry` para controlar tu propia lógica posterior:

| `is_from_registry` | `verification_status` | Significado |
| - | - | - |
| true | VERIFIED | Totalmente verificado frente al registro oficial |
| true | FAILED | Parcial: algunos campos pueden estar desactualizados o faltar |
| false | UNKNOWN | Solo datos proporcionados por el usuario; sin coincidencia en el registro |

## Resultados de la verificación cruzada

Cada verificación cruzada se ejecuta por campo y devuelve uno de estos valores:

* `MATCH`: los datos proporcionados coinciden con el registro.
* `MISMATCH`: divergencia significativa. Se marca como advertencia.
* `NO_DATA`: una de las dos partes no contenía datos; no es posible comparar.

Las discrepancias se pueden ver campo por campo en la revisión de la sesión en la consola.

## Qué determina el resultado

El estado de la empresa, el país de constitución, los resultados AML y la coincidencia con los datos declarados contribuyen a la decisión mediante etiquetas de advertencia en la comprobación del registro y en el análisis AML.
Tu flujo decide si cada advertencia conlleva la aprobación, la revisión o el rechazo.
Consulta la [evaluación de riesgos](https://docs.didit.me/es/business-verification/risk-assessment.md) para ver las señales y las claves del flujo que las controlan.

## Países admitidos

La cobertura varía según el país: consulta los [países admitidos](https://docs.didit.me/es/business-verification/supported-countries.md) para ver el desglose de niveles por región.

## Próximos pasos

> [card] [Propiedad](https://docs.didit.me/es/business-verification/ownership.md)
>
> Identificación de UBO y cadenas de propiedad.

> [card] [Esquema de respuesta](https://docs.didit.me/es/business-verification/response-schema.md)
>
> Dónde aparece cada campo en el payload.

> [card] [Países admitidos](https://docs.didit.me/es/business-verification/supported-countries.md)
>
> Cobertura por región.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.