> ## 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 liste des entreprises : entités KYB fournisseurs

> Récupérez toutes les entités entreprise (KYB) de Didit pour votre application, avec filtres par statut, pays, recherche et date. Cycle de vie KYB par API.



Prompt de liste des entreprises
        Copier le prompt dans le presse-papiers



      
      

\<pre>

\`Goal: Page through Didit Business (KYB) entities for an application and consume them in your backend.

Endpoint: GET https://verification.didit.me/v3/businesses/
Auth header: x-api-key: <DIDIT_API_KEY>

Query params (all optional):
\- status: "ACTIVE" | "FLAGGED" | "BLOCKED" (VendorBusinessStatusChoices, NOT the session enum).
\- search: free-text over vendor_data, display_name, legal_name, registration_number.
\- country: country of incorporation, ISO 3166-1 alpha-2 (e.g. "GB", "US").
\- limit: integer, 1–200, default 50.
\- offset: integer, 0+, default 0. Prefer following the "next" URL from the previous page.

curl:
curl -X GET 'https://verification.didit.me/v3/businesses/?limit=50&status=ACTIVE' \
-H 'x-api-key: YOUR_API_KEY'

Response 200 (envelope):
\{
"count": <int — exact up to 100, capped above; pagination still works via "next">,
"next": <URL or null>,
"previous": <URL or null>,
"results": [ BusinessListItem, ... ]
}

BusinessListItem key fields: didit_internal_id (UUID), vendor_data (string, may be null), display_name, legal_name, registration_number, country_code, effective_name, status, session_count, approved_count, declined_count, in_review_count, features (map: KYB_REGISTRY, KYB_AML, KYB_DOCUMENTS, ... -> latest status), features_list, last_session_at, first_session_at, last_activity_at, tags, created_at. See /reference/data-models for the full shape.

Notes:
\- Ordered by last_session_at desc.
\- Deleted businesses are not returned.
\- vendor_data is a free-form client-supplied string, NOT a UUID; may be null when the originating session didn't provide one.

Pagination loop:
url = 'https://verification.didit.me/v3/businesses/?limit=200&status=FLAGGED'
while url:
r = requests.get(url, headers={'x-api-key': API_KEY})
r.raise_for_status()
page = r.json()
for biz in page['results']:
    ...
url = page['next']

Failure modes (envelope {"detail": "..."}):
\- 401 — missing/invalid x-api-key.
\- 403 — key lacks list:businesses.
\- 429 — rate-limited.

For end-to-end Didit integration, paste in the full prompt at /integration/integration-prompt.`

\</pre>



      
      

Coller dans

## AperçuRenvoie une liste paginée des [entités d'entreprise](https://docs.didit.me/fr/entities/businesses/overview.md) pour l'application authentifiée.## Quand l'utiliser- **Synchronisez** votre table des entreprises avec un outil de BI externe ou un entrepôt de données.
- **Files d'attente des analystes** :  filtrez avec `status=FLAGGED` pour alimenter une boîte de réception pour examen.
- **Recherchez** par `display_name`, `legal_name`, `registration_number` ou `vendor_data`.## Filtres et pagination| Paramètre de requête | Description |
| - | - |
| `status` | `ACTIVE`, `FLAGGED` ou `BLOCKED`. |
| `search` | Correspondance partielle sur le nom d'affichage, le nom légal, le numéro d'immatriculation et vendor\_data. |
| `country_code` | Pays de constitution au format ISO 3166-1 alpha-3. |
| `created_after`, `created_before` | Plage de dates de création. |
| `last_activity_after`, `last_activity_before` | Plage d'activité. |
| `page_size` | 1–200. Par défaut : 50. |
| `cursor` | Curseur de pagination. |## Remarques- `vendor_data` peut être `null` si la session ou la transaction d'origine n'en a pas fourni.
- Pagination par curseur : conservez le curseur `next` entre les appels.
- Consultez le [modèle de données des entreprises](https://docs.didit.me/fr/entities/businesses/data-model.md) pour connaître chaque champ.## AutorisationsLe rôle doit disposer de l'autorisation `list:businesses`.## Liens connexes- [Vue d'ensemble des entreprises](https://docs.didit.me/fr/entities/businesses/overview.md)
- [Obtenir une entreprise](https://docs.didit.me/fr/management-api/businesses/get.md)
- [Opérations sur les entreprises](https://docs.didit.me/fr/entities/businesses/operations.md)


## OpenAPI

````yaml fr/openapi-25.json GET /v3/businesses/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API de vérification d'identité. Authentifiez-vous avec l'en-tête x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/businesses/:
    get:
      tags:
        - Businesses
      summary: Lister les entreprises
      description: >-
        Lister les [entreprises](/entities/businesses) que Didit regroupe à
        partir des sessions KYB partageant le même `vendor_data` (chaîne libre,
        et NON un UUID), ainsi que les entreprises créées via l'API. Paginé,
        ordonné par `last_session_at` décroissant. Cet endpoint ne prend pas en
        charge les paramètres de filtrage ou de recherche — récupérez les pages
        et filtrez côté client.
      operationId: list_businesses
      parameters:
        - name: limit
          in: query
          schema:
            type: integer
            default: 50
            minimum: 1
            maximum: 1000000
          description: >-
            Taille de page. Vaut 50 par défaut si omis. Aucun maximum n'est
            imposé, mais conservez des pages de petite taille pour limiter la
            latence.
        - name: offset
          in: query
          schema:
            type: integer
            maximum: 1000000
            minimum: 0
            default: 0
          description: >-
            Décalage de départ (base zéro) du premier enregistrement à
            retourner. Privilégiez l'utilisation de l'URL `next` de la page
            précédente plutôt que de le calculer manuellement.
      responses:
        '200':
          description: >-
            Liste paginée des entreprises avec statut, décompte des sessions et
            détail des fonctionnalités.
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    description: >-
                      Nombre de lignes correspondantes — exact jusqu'à 100,
                      plafonné à 100 au-delà pour des raisons de performance. Ne
                      l'utilisez pas pour détecter la dernière page ; fiez-vous
                      plutôt au fait que `next` soit `null`.
                  next:
                    type: string
                    nullable: true
                    description: >-
                      URL absolue de la page suivante, ou `null` sur la dernière
                      page.
                  previous:
                    type: string
                    nullable: true
                    description: >-
                      URL absolue de la page précédente, ou `null` sur la
                      première page.
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/BusinessListItem'
              examples:
                Example:
                  value:
                    count: 1
                    next: null
                    previous: null
                    results:
                      - didit_internal_id: a1b2c3d4-e5f6-4890-abcd-ef1234567890
                        vendor_data: company-123
                        display_name: null
                        legal_name: Acme Trading Ltd
                        registration_number: '12345678'
                        country_code: GB
                        effective_name: Acme Trading Ltd
                        status: ACTIVE
                        session_count: 2
                        approved_count: 1
                        declined_count: 0
                        in_review_count: 1
                        features:
                          KYB: Approved
                        features_list:
                          - feature: KYB
                            status: Approved
                        last_session_at: '2026-03-15T10:30:00Z'
                        last_activity_at: '2026-03-15T10:30:00Z'
                        first_session_at: '2026-01-10T08:00:00Z'
                        tags:
                          - uuid: 9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d
                            name: VIP
                            color: '#2567FF'
                        created_at: '2026-01-10T08:00:00Z'
        '403':
          description: >-
            Clé API manquante, invalide ou révoquée, ou la clé ne peut pas
            lister les entreprises pour cette application. Une clé manquante
            renvoie `403` ; une clé incorrecte, révoquée ou expirée renvoie
            `401`.
          content:
            application/json:
              examples:
                Forbidden:
                  value:
                    detail: You do not have permission to perform this action.
        '429':
          description: >-
            Limite de débit dépassée ; réduisez la cadence et réessayez après
            l'intervalle indiqué dans `Retry-After`.
          content:
            application/json:
              examples:
                Rate limited:
                  value:
                    detail: Request was throttled. Expected available in 30 seconds.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X GET 'https://verification.didit.me/v3/businesses/?limit=50'
            \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            for item in client.businesses.list():
                print(item)
        - lang: javascript
          label: Node.js
          source: |-
            import Didit from "@didit-protocol/sdk-node";

            // Reads DIDIT_API_KEY.
            const didit = new Didit();

            for await (const item of didit.businesses.list()) {
              console.log(item);
            }
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\niter := client.Businesses.ListAutoPaging(ctx, didit.BusinessesListParams{})\nfor iter.Next() {\n\tfmt.Printf(\"%+v\\n\", iter.Current())\n}\nif err := iter.Err(); err != nil {\n\tlog.Fatal(err)\n}"
        - lang: java
          label: Java
          source: |-
            import me.didit.Didit;

            // Reads DIDIT_API_KEY.
            Didit client = new Didit();

            for (var item : client.businesses().list()) {
                System.out.println(item);
            }
        - lang: php
          label: PHP
          source: |-
            <?php

            require 'vendor/autoload.php';

            use Didit\DiditClient;

            // Reads DIDIT_API_KEY.
            $didit = new DiditClient();

            foreach ($didit->businesses->list() as $item) {
                print_r($item->toArray());
            }
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

            # Reads DIDIT_API_KEY.
            didit = Didit::Client.new

            didit.businesses.list.auto_paging_each do |item|
              puts item.to_h
            end
        - lang: csharp
          label: .NET
          source: |-
            using System;
            using System.Text.Json;
            using Didit;

            // Reads DIDIT_API_KEY.
            using var client = new DiditClient();

            await foreach (var item in await client.Businesses.ListAsync())
            {
                Console.WriteLine(JsonSerializer.Serialize(item));
            }
components:
  schemas:
    BusinessListItem:
      type: object
      description: Une entreprise vérifiée.
      properties:
        didit_internal_id:
          type: string
          format: uuid
          description: UUID interne stable de Didit pour cette entreprise.
        vendor_data:
          type: string
          nullable: true
          description: >-
            Votre identifiant unique pour cette entreprise (transmis lors de la
            création des sessions). Peut être nul si aucun identifiant
            fournisseur n'a été fourni.
        display_name:
          type: string
          nullable: true
          description: Nom d'affichage personnalisé défini par vous
        legal_name:
          type: string
          nullable: true
          description: Raison sociale officielle issue du registre ou saisie manuelle
        registration_number:
          type: string
          nullable: true
          description: Numéro d'immatriculation ou de constitution de l'entreprise
        country_code:
          type: string
          nullable: true
          description: Pays de constitution (ISO 3166-1 alpha-2, par ex. `GB`, `US`).
        effective_name:
          type: string
          nullable: true
          description: >-
            Meilleur nom disponible : display_name s'il est défini, sinon
            legal_name
        status:
          type: string
          enum:
            - ACTIVE
            - FLAGGED
            - BLOCKED
          description: >-
            Statut de cycle de vie de l'enregistrement d'entreprise (PAS un
            statut de session). `ACTIVE` est la valeur par défaut, `FLAGGED` le
            signale pour un examen manuel, `BLOCKED` empêche de nouvelles
            sessions pour ce `vendor_data`.
        session_count:
          type: integer
          description: Nombre total de sessions de vérification pour cette entreprise
        approved_count:
          type: integer
          description: Nombre de sessions approuvées
        declined_count:
          type: integer
          description: Nombre de sessions refusées
        in_review_count:
          type: integer
          description: Nombre de sessions en cours d'examen
        features:
          type: object
          description: "Statut agrégé par fonctionnalité sur l'ensemble des sessions KYB de cette entreprise. Actuellement, la seule clé est `KYB` (le statut de vérification de l'entreprise au registre). Valeurs possibles\_: `Approved`, `Declined`, `In Review`, `Not Finished`, `Resub Requested`."
        features_list:
          type: array
          items:
            type: object
            properties:
              feature:
                type: string
              status:
                type: string
          description: >-
            Mêmes données que `features`, sous la forme d'un tableau ordonné
            d'objets `{feature, status}`.
        last_session_at:
          type: string
          format: date-time
          nullable: true
          description: Horodatage de la session la plus récente
        first_session_at:
          type: string
          format: date-time
          nullable: true
          description: Horodatage de la première session
        last_activity_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            Horodatage de l'activité la plus récente (changement de statut, mise
            à jour de la session, etc.)
        tags:
          type: array
          items:
            type: object
            properties:
              uuid:
                type: string
                format: uuid
              name:
                type: string
              color:
                type: string
          description: Tags attribués à cette entreprise
        created_at:
          type: string
          format: date-time
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        La clé API de votre application, issue de Développeurs -> Clés API dans
        la Business Console. La clé principale dispose d'un accès complet. Une
        clé nommée peut être restreinte : aucun, lecture ou écriture par
        ressource, limitée à certains workflows ou aux sessions approuvées, à
        une liste d'adresses IP et à une date d'expiration. 401 signifie que la
        clé est incorrecte, révoquée ou expirée ; 403 signifie qu'aucune clé n'a
        été envoyée, que la clé n'a pas accès à cette ressource ou action, ou
        que la requête provient d'une adresse hors de sa liste d'IP ; 404 sur
        une route de session signifie que la session est hors des workflows ou
        des statuts de la clé. Une clé sans accès aux médias reçoit les URL
        d'images, de vidéos et de PDF à null, et une clé sans accès en écriture
        aux sessions reçoit les liens et tokens de session à null. Voir
        https://docs.didit.me/console/api-keys.

````

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