> ## 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 entreprises KYB : opérations CRUD fournisseur

> Gérez les entités entreprise Didit (KYB) via l'API de gestion : création, liste, lecture, mise à jour, statut, suppression. KYB facturé à l'appel.



Prompt des opérations sur les entreprises
        Copier le prompt dans le presse-papiers



      
      

\<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>



      
      

Coller dans

Toutes les opérations de gestion des entreprises passent par six endpoints publics sous `/v3/businesses/`. Cette page présente le fonctionnement général. Consultez la [référence de l'API](https://docs.didit.me/fr/management-api/businesses/list.md) pour les schémas complets des requêtes et des réponses.## Lister les entreprises**`GET /v3/businesses/`**Liste paginée des entreprises de votre application, avec des filtres par statut, recherche, pays et plage de dates.```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"
```## Consulter une entreprise**`GET /v3/businesses/{vendor_data}/`**Récupère une seule entreprise à partir de son `vendor_data`.```bash theme={null}
curl https://verification.didit.me/v3/businesses/biz-acme/ \
  -H "x-api-key: YOUR_API_KEY"
```## Créer une entreprise**`POST /v3/businesses/create/`**Créez une entreprise à l'avance, avant le lancement de toute session de Vérification d'entreprise (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" }
  }'
```Renvoie une erreur de conflit si une entreprise avec ce `vendor_data` existe déjà. Utilisez `PATCH` pour mettre à jour une entreprise existante.## Mettre à jour une entreprise**`PATCH /v3/businesses/{vendor_data}/`**Met à jour les champs de profil modifiables. Les champs issus des recherches dans le registre des sociétés (`legal_name`, `registration_number`, `country_code`) sont en lecture seule après la vérification, mais peuvent être remplacés : chaque remplacement est signalé dans le journal d'audit.**Champs modifiables :** `display_name`, `metadata`, `tags`.
**En lecture seule après vérification :** tous les champs issus du registre, les compteurs agrégés et la carte `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" } }'
```Émet `business.data.updated`.## Changer le statut**`PATCH /v3/businesses/{vendor_data}/update-status/`**Fait passer une entreprise entre les statuts `ACTIVE`, `FLAGGED` et `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 → vers | Déclencheur courant |
| - | - |
| `ACTIVE` → `FLAGGED` | Session de Vérification d'entreprise (KYB) passée à `In Review`, alerte de la surveillance AML continue, règle sur les transactions |
| `ACTIVE` → `BLOCKED` | Entité sanctionnée confirmée, ajout manuel à la liste de blocage |
| `FLAGGED` → `ACTIVE` | L'analyste a validé l'examen |
| `BLOCKED` → `ACTIVE` | Déblocage manuel après remédiation |Émet `business.status.updated`.## Supprimer des entreprises (par lot)**`POST /v3/businesses/delete/`**Supprime une ou plusieurs entreprises. Les fiches d'entreprise sont supprimées définitivement. Leurs sessions de vérification ne sont pas concernées par cet endpoint : elles subsistent, leur lien avec l'entreprise étant supprimé. Supprimez-les avec [Delete Session](https://docs.didit.me/fr/sessions-api/delete-session.md). Les transactions ne sont pas non plus concernées : supprimez-les depuis la 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"] }'
```Idempotent : supprimer une entreprise déjà supprimée n'a aucun effet.## Modèle d'autorisationTous les endpoints `/v3/businesses/*` sont régis par la ressource d'autorisation `businesses` :| Rôle | Liste | Lecture | Création | Mise à jour | Mise à jour du statut | Suppression |
| - | :-: | :-: | :-: | :-: | :-: | :-: |
| OWNER | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| ADMIN | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| COMPLIANCE\_OFFICER | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ |
| DEVELOPER | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
| READER | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |Consultez [Rôles et autorisations](https://docs.didit.me/fr/console/roles-permissions.md).## Webhooks déclenchés par ces opérations| Opération | Webhook |
| - | - |
| `create` | `business.data.updated` |
| `update` | `business.data.updated` avec `changed_fields` |
| `update-status` | `business.status.updated` |
| `delete` | `business.data.updated` avec `deleted_at` renseigné |## Étapes suivantes> [card] [Modèle de données](https://docs.didit.me/fr/entities/businesses/data-model.md)
>
> Référence complète des champs.> [card] [API de liste](https://docs.didit.me/fr/management-api/businesses/list.md)
>
> Schéma de GET /v3/businesses/.> [card] [API de création](https://docs.didit.me/fr/management-api/businesses/create.md)
>
> Schéma de POST /v3/businesses/create/.


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