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

# Operações de empresas: CRUD de fornecedores KYB

> Gerencie empresas (KYB) na Didit via Management API: crie, liste, consulte, atualize, altere o status e exclua. KYB pago por chamada.



Prompt de operações de empresas
        Copiar o prompt para a área de transferência



      
      

\<pre>

\````# Goal — full CRUD over Didit Business (KYB) entities

All operations sit under `https://verification.didit.me/v3/businesses/` authenticated with `x-api-key: $DIDIT_API_KEY`. Each Business is keyed by `vendor_data` (case-sensitive, unique per application).

\## Endpoint catalog

\| Action | Method + path |
\|---|---|
\| List businesses | `GET /v3/businesses/` |
\| Get one business | `GET /v3/businesses/{vendor_data}/` |
\| Create business | `POST /v3/businesses/create/` |
\| Update profile | `PATCH /v3/businesses/{vendor_data}/` |
\| Change status | `PATCH /v3/businesses/{vendor_data}/update-status/` |
\| Batch delete | `POST /v3/businesses/delete/` |

\## List (with filters)

\```bash
curl -G https://verification.didit.me/v3/businesses/ \
-H "x-api-key: $DIDIT_API_KEY" \
\--data-urlencode "status=ACTIVE" \
\--data-urlencode "country_code=GBR" \
\--data-urlencode "page_size=50"
\```

\## Get one business

\```bash
curl https://verification.didit.me/v3/businesses/biz-acme/ \
-H "x-api-key: $DIDIT_API_KEY"
\```

\## Create

\```bash
curl -X POST https://verification.didit.me/v3/businesses/create/ \
-H "x-api-key: $DIDIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"vendor_data": "biz-acme",
"display_name": "Acme Corp",
"country_code": "GBR",
"metadata": {"partner": "Acme Holdings"}
}'
\```

Not idempotent — a duplicate `vendor_data` returns conflict. `GET` first or PATCH.

\## Update profile

\```bash
curl -X PATCH https://verification.didit.me/v3/businesses/biz-acme/ \
-H "x-api-key: $DIDIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"metadata": {"tier": "enterprise"}}'
\```

Mutable: `display_name`, `metadata`, `tags`. Read-only (registry-derived after a KYB session): `legal_name`, `registration_number`, `country_code`, all aggregate counters, `features` map.

\## Change status

\```bash
curl -X PATCH https://verification.didit.me/v3/businesses/biz-acme/update-status/ \
-H "x-api-key: $DIDIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"status": "BLOCKED", "reason": "Sanctioned subsidiary detected"}'
\```

Valid statuses: `ACTIVE`, `FLAGGED`, `BLOCKED`. `BLOCKED` businesses have new KYB sessions and transactions auto-declined.

\## Batch delete

\```bash
curl -X POST https://verification.didit.me/v3/businesses/delete/ \
-H "x-api-key: $DIDIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"vendor_data": ["biz-acme", "biz-alpha", "biz-beta"]}'
\```

Idempotent. The business records are removed permanently. Verification sessions are not covered by this endpoint; delete those with the session delete endpoints.

\## Webhooks fired

\| Operation | Event |
\|---|---|
\| create | `business.data.updated` |
\| update (PATCH) | `business.data.updated` with `changed_fields` |
\| update-status | `business.status.updated` |
\| delete | `business.data.updated` with `deleted_at` set |

\## Running a KYB session against an existing Business

KYB sessions use the same `POST /v3/session/` endpoint as KYC — the workflow's `workflow_type: "kyb"` switches the session into business mode:

\```bash
curl -X POST https://verification.didit.me/v3/session/ \
-H "x-api-key: $DIDIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"workflow_id": "$KYB_WORKFLOW_ID", "vendor_data": "biz-acme"}'
\```

\## Failure modes

\- `401` — missing / invalid `x-api-key`.
\- `403` — role lacks the permission (DEVELOPER can't PATCH; see /console/roles-permissions).
\- `409` on create — `vendor_data` exists; PATCH instead.
\- `404` — wrong `vendor_data` casing.
\- `429` — rate-limited; back off with `Retry-After`.

\## Response shape

See /reference/data-models and /entities/businesses/data-model for the full Business schema.

\## Sources of truth

\- /management-api/businesses/list, /management-api/businesses/get, /management-api/businesses/create — per-endpoint reference
\- /entities/businesses/data-model — field-by-field
\- /business-verification/integration-guide — KYB session flow
\- /integration/integration-prompt — canonical end-to-end prompt````

\</pre>



      
      

Colar em

Todo o gerenciamento da entidade Business acontece por meio de seis endpoints públicos em `/v3/businesses/`. Esta página apresenta uma visão geral conceitual. Consulte a [referência da API](https://docs.didit.me/pt-br/management-api/businesses/list.md) para ver os esquemas completos de requisição e resposta.## Listar empresas**`GET /v3/businesses/`**Lista paginada das empresas da sua aplicação, com filtros por status, busca, país e intervalo de datas.```bash theme={null}
curl -G https://verification.didit.me/v3/businesses/ \
  -H "x-api-key: YOUR_API_KEY" \
  --data-urlencode "status=ACTIVE" \
  --data-urlencode "country_code=GBR" \
  --data-urlencode "page_size=50"
```## Obter uma empresa**`GET /v3/businesses/{vendor_data}/`**Recupere uma empresa por `vendor_data`.```bash theme={null}
curl https://verification.didit.me/v3/businesses/biz-acme/ \
  -H "x-api-key: YOUR_API_KEY"
```## Criar uma empresa**`POST /v3/businesses/create/`**Crie uma empresa antes de executar qualquer sessão de Verificação de empresa (KYB):```bash theme={null}
curl -X POST https://verification.didit.me/v3/businesses/create/ \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "vendor_data": "biz-acme",
    "display_name": "Acme Corp",
    "country_code": "GBR",
    "metadata": { "partner": "Acme Holdings" }
  }'
```Retorna um erro de conflito se já existir uma empresa com esse `vendor_data`. Use `PATCH` para atualizar uma empresa existente.## Atualizar uma empresa**`PATCH /v3/businesses/{vendor_data}/`**Atualize os campos editáveis do perfil. Os campos obtidos de consultas a registros (`legal_name`, `registration_number`, `country_code`) tornam-se somente leitura após a verificação, mas podem ser sobrescritos. As sobrescritas são sinalizadas no registro de auditoria.**Campos editáveis:** `display_name`, `metadata`, `tags`.
**Somente leitura após a verificação:** todos os campos obtidos de registros, contadores agregados e o mapa `features`.```bash theme={null}
curl -X PATCH https://verification.didit.me/v3/businesses/biz-acme/ \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "metadata": { "tier": "enterprise" } }'
```Emite `business.data.updated`.## Alterar o status**`PATCH /v3/businesses/{vendor_data}/update-status/`**Mova uma empresa entre `ACTIVE`, `FLAGGED` e `BLOCKED`.```bash theme={null}
curl -X PATCH https://verification.didit.me/v3/businesses/biz-acme/update-status/ \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "BLOCKED",
    "reason": "Sanctioned subsidiary detected in ownership chain"
  }'
```| De → para | Gatilho comum |
| - | - |
| `ACTIVE` → `FLAGGED` | Sessão de Verificação de empresas (KYB) movida para `In Review`, ocorrência no monitoramento AML contínuo, regra de transação |
| `ACTIVE` → `BLOCKED` | Sessão de Verificação de empresas (KYB) `Declined` com bloqueio automático, entidade sancionada confirmada |
| `FLAGGED` → `ACTIVE` | Analista concluiu a revisão sem pendências |
| `BLOCKED` → `ACTIVE` | Desbloqueio manual após a correção |Emite `business.status.updated`.## Excluir empresas (em lote)**`POST /v3/businesses/delete/`**Exclua uma ou mais empresas. Os registros das empresas são removidos permanentemente. As sessões de verificação delas não são excluídas por este endpoint e continuam existindo, com o vínculo à empresa removido; exclua-as com [Delete Session](https://docs.didit.me/pt-br/sessions-api/delete-session.md). As transações também não são excluídas por este endpoint; exclua-as pelo Console.```bash theme={null}
curl -X POST https://verification.didit.me/v3/businesses/delete/ \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "vendor_data": ["biz-acme", "biz-alpha", "biz-beta"] }'
```Idempotente: excluir uma empresa já excluída não tem efeito.## Modelo de permissõesTodos os endpoints `/v3/businesses/*` são controlados pelo recurso de permissão `businesses`:| Função | list | get | create | update | update-status | delete |
| - | :-: | :-: | :-: | :-: | :-: | :-: |
| OWNER | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| ADMIN | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| COMPLIANCE\_OFFICER | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ |
| DEVELOPER | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
| READER | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |Consulte [Funções e permissões](https://docs.didit.me/pt-br/console/roles-permissions.md).## Webhooks acionados por estas operações| Operação | Webhook |
| - | - |
| `create` | `business.data.updated` |
| `update` | `business.data.updated` com `changed_fields` |
| `update-status` | `business.status.updated` |
| `delete` | `business.data.updated` com `deleted_at` definido |## Próximos passos> [card] [Modelo de dados](https://docs.didit.me/pt-br/entities/businesses/data-model.md)
>
> Referência completa dos campos.> [card] [API de listagem](https://docs.didit.me/pt-br/management-api/businesses/list.md)
>
> Esquema de GET /v3/businesses/.> [card] [API de criação](https://docs.didit.me/pt-br/management-api/businesses/create.md)
>
> Esquema de POST /v3/businesses/create/.


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