> ## 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.

# Importar y exportar empresas: carga masiva por CSV

> Carga masiva de empresas (KYB) en Didit desde CSV y exportación de la tabla completa. Disponible en la Business Console de Didit. Pago por llamada.



Prompt para importar y exportar empresas en bloque
        Copiar el prompt al portapapeles



      
      

\<pre>

\````# Goal — bulk-load (or extract) Didit Business entities programmatically

CSV import / export is console-only. For programmatic bulk operations, loop `POST /v3/businesses/create/` for imports and paginate `GET /v3/businesses/` for exports.

\## Bulk import — loop the create endpoint

\```bash
\# businesses.json — array of records
\# [{"vendor_data":"biz-acme","display_name":"Acme Corp","country_code":"GBR"}, ...]

jq -c '.[]' businesses.json | while read biz; do
curl -X POST https://verification.didit.me/v3/businesses/create/ \
-H "x-api-key: $DIDIT_API_KEY" \
-H "Content-Type: application/json" \
-d "$biz"
sleep 0.1   # respect rate limits — see /integration/rate-limiting
done
\```

Record shape (matches `POST /v3/businesses/create/`):

\```json
\{
"vendor_data": "biz-acme",         // required, unique per app
"display_name": "Acme Corp",       // optional
"country_code": "GBR",             // ISO 3166-1 alpha-3, optional
"metadata": {"partner": "Acme Holdings"},
"tags": ["b2b-tier-1"]
}
\```

\`create` is **not** idempotent. Upsert pattern:

\```bash
if curl -s -o /dev/null -w "%{http_code}" \
 https://verification.didit.me/v3/businesses/$VD/ \
 -H "x-api-key: $DIDIT_API_KEY" | grep -q 200; then
curl -X PATCH https://verification.didit.me/v3/businesses/$VD/ \
-H "x-api-key: $DIDIT_API_KEY" -H "Content-Type: application/json" \
-d "$BODY"
else
curl -X POST https://verification.didit.me/v3/businesses/create/ \
-H "x-api-key: $DIDIT_API_KEY" -H "Content-Type: application/json" \
-d "$BODY"
fi
\```

\## Bulk export — paginate the list endpoint

\```bash
PAGE=1
while :; do
RESP=$(curl -sG https://verification.didit.me/v3/businesses/ \
-H "x-api-key: $DIDIT_API_KEY" \
\--data-urlencode "page=$PAGE" \
\--data-urlencode "page_size=100")
echo "$RESP" | jq -c '.results[]' >> businesses.ndjson
HAS_NEXT=$(echo "$RESP" | jq -r '.next // empty')
\[ -z "$HAS_NEXT" ] && break
PAGE=$((PAGE+1))
done
\```

Filter with `status`, `country_code`, `search`, date ranges (see /management-api/businesses/list).

\## What survives on update vs what stays

\| Field | Behaviour |
\|---|---|
\| `display_name`, `metadata`, `tags` | Overwritten by PATCH |
\| `legal_name`, `registration_number`, `country_code` | Read-only after a verified KYB session (overrides logged in audit log) |
\| Aggregate counters, `features` map | Computed by Didit — never accept writes |

\## Failure modes

\- `409` on create — `vendor_data` exists; use PATCH.
\- `429` — rate limit; back off using `Retry-After`. Insert 100ms+ between calls for large batches.
\- `400` — bad country code or bad JSON. Log and continue.

\## Console fallback

The Business Console (Businesses → Import / Export) handles up to 100K rows for imports and 1M rows for exports with chunked async processing and an emailed signed download link.

\## Sources of truth

\- /management-api/businesses/create — POST /v3/businesses/create/ schema
\- /management-api/businesses/list — GET /v3/businesses/ pagination
\- /entities/businesses/data-model — mutable vs read-only fields
\- /integration/rate-limiting — rate limits
\- /integration/integration-prompt — canonical end-to-end prompt````

\</pre>



      
      

Pegar en

La Business Console permite importar y exportar entidades de empresa en bloque: es el mismo flujo disponible para los usuarios, adaptado a los campos de empresa.> [!NOTE]
>
> La importación y exportación en bloque solo permiten crear o actualizar perfiles de empresa. No recrea sesiones de KYB históricas, informes de registro, directivos, beneficiarios finales ni decisiones de proveedores. Para una migración completa de KYB desde otro proveedor o desde una exportación de un registro, consulta [Importar datos desde otro proveedor](https://docs.didit.me/es/sessions-api/import-verifications.md).## Importar empresas desde CSV### Cuándo usarlo- **Migración** desde otro proveedor de KYB.
- **Onboarding de socios**: carga la lista de clientes de un socio.
- **Actualización retroactiva de metadatos**: actualiza etiquetas, nivel o campos personalizados en muchas empresas a la vez.### Columnas de la plantillaDescarga la plantilla desde *Businesses → Import → Download template*:| Columna | Obligatoria | Descripción |
| - | - | - |
| `vendor_data` | Sí | Tu identificador de la empresa. Único por aplicación. |
| `display_name` | No | Nombre legible. |
| `legal_name` | No | Razón social. Se sobrescribirá con los datos verificados del registro. |
| `registration_number` | No | Número de registro de la empresa. Se sobrescribirá con los datos verificados del registro. |
| `country_code` | No | ISO 3166-1 alfa-3. Activa la comprobación de países de riesgo. |
| `status` | No | `ACTIVE`, `FLAGGED` o `BLOCKED`. El valor predeterminado es `ACTIVE`. |
| `tags` | No | Etiquetas separadas por comas. |
| `metadata_json` | No | JSON serializado como cadena para metadatos personalizados. |### Ejecutar la importación**1. Sube el CSV***Businesses → Import → Upload CSV*.**2. Revisa la vista previa**Las filas no válidas aparecen resaltadas. Los duplicados (`vendor_data` existente) se marcan como actualizaciones.**3. Inicia la importación**Didit procesa las filas de forma asíncrona; puedes seguir el progreso en *Businesses → Import history*.**4. Revisa los resultados**Descarga un informe de errores con las filas omitidas.### Actualizar o crear- `vendor_data` nuevo → crea una nueva empresa.
- `vendor_data` existente → actualiza los campos modificables y los metadatos de la empresa.
- Los campos derivados del registro (`legal_name`, `registration_number`, `country_code`) **no** se sobrescriben con importaciones una vez que una sesión de Verificación de empresas (KYB) los ha completado.## Exportar empresas a CSV### Cuándo usarlo- **Auditorías de cumplimiento** y solicitudes de reguladores.
- **Sincronización con el data warehouse** para BI.
- **Informes para socios**: vistas filtradas de empresas por país, nivel o etiqueta.### Ejecutar una exportación1) Ve a *Businesses → Export*.
2) Aplica filtros (estado, país, rango de fechas, búsqueda, etiquetas).
3) Elige las columnas.
4) Envía la solicitud: Didit genera la exportación de forma asíncrona y envía por correo electrónico un enlace de descarga firmado.Se aplican restricciones por rol; consulta [roles y permisos](https://docs.didit.me/es/console/roles-permissions.md).## Registro de auditoríaTodas las importaciones y exportaciones quedan registradas con el operador, el número de filas y las marcas de tiempo. Consulta [registros de auditoría](https://docs.didit.me/es/console/audit-logs.md).## Próximos pasos> [card] [API para crear empresas](https://docs.didit.me/es/management-api/businesses/create.md)
>
> Creación masiva programática.> [card] [Retención de datos](https://docs.didit.me/es/console/data-retention.md)
>
> Cuánto tiempo se conservan los datos importados.> [card] [Registros de auditoría](https://docs.didit.me/es/console/audit-logs.md)
>
> Revisa el historial de importaciones y exportaciones.


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