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

# KYB-Schnellstart: Unternehmensverifizierung in 10 Minuten

> Mit Didit Unternehmen in unter 10 Minuten verifizieren: Register, UBO, Geschäftsführer, AML, Webhooks. Ab $2.00 pro Prüfung, ohne Verträge.

Dieser Leitfaden führt Sie in unter 10 Minuten durch eine vollständige Unternehmensverifizierung (KYB). Sie erstellen einen Workflow, starten eine Sitzung, senden den gehosteten Verifizierungslink an Ihren Ansprechpartner im Unternehmen, warten auf den Webhook und rufen die endgültige Entscheidung ab.

## Voraussetzungen

* Eine Didit-Anwendung mit aktiviertem KYB. Erstellen Sie bei Bedarf eine unter [business.didit.me](https://business.didit.me).
* Ein API-Schlüssel aus *Developer Settings → API Keys*.
* Ein aus dem Internet erreichbarer Webhook-Endpoint (für den Entscheidungs-Webhook).

## Schritte

**1. Einen Unternehmensverifizierungs-Workflow in der Konsole erstellen**

Öffnen Sie *Workflows → Create workflow*. Wählen Sie als Workflow-Typ **Unternehmensverifizierung (KYB)** aus.

Aktivieren Sie die Funktionen, die Sie benötigen:

* **Abfrage des Unternehmensregisters** (erforderlich)
* **Unternehmens-AML** (empfohlen)
* **Schlüsselpersonen** (für die meisten regulierten Branchen erforderlich)
* **Dokumente** (optional: Wählen Sie die Dokumenttypen aus, die Sie verlangen)

Speichern Sie den `workflow_id` und kopieren Sie ihn. Sie benötigen ihn im nächsten Schritt.

**2. Eine Unternehmensverifizierungs-Sitzung (KYB) über die API erstellen**

```bash theme={null}
curl -X POST https://verification.didit.me/v3/session/ \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "workflow_id": "YOUR_KYB_WORKFLOW_ID",
    "vendor_data": "biz-acme-001"
  }'
```

Die Antwort enthält die `session_id`, `session_number` und `url`, also den gehosteten Verifizierungslink, den Sie an den Ansprechpartner im Unternehmen senden. Der Workflow-Typ (KYB) kennzeichnet die Sitzung automatisch als Unternehmenssitzung.

**3. Den Link an Ihren Ansprechpartner im Unternehmen senden**

Senden Sie die `url` über Ihre eigene E-Mail oder Ihren eigenen Chat an den Unternehmensadministrator. Dieser öffnet den Link, trägt die Registerdaten ein, fügt Schlüsselpersonen und wirtschaftlich Berechtigte (UBOs) hinzu und lädt Dokumente hoch.

Sie können die gehostete Nutzererfahrung mit Branding, Logo und Domain anpassen. Siehe [White-Label](https://docs.didit.me/de/console/white-label.md).

**4. Den Status-Webhook empfangen**

Sobald das Unternehmen den Ablauf abgeschlossen hat und die KYB-Verarbeitung einen Endstatus erreicht, sendet Didit ein `status.updated`-Ereignis per POST an Ihren Webhook-Endpoint. Unternehmenssitzungs-Ereignisse enthalten `session_kind: "business"` innerhalb von `data`. Filtern Sie danach, um das Ereignis an Ihren KYB-Handler weiterzuleiten.

Prüfen Sie die HMAC-Signatur `X-Signature-V2`, bevor Sie dem Ereignis vertrauen (siehe [Webhooks](https://docs.didit.me/de/integration/webhooks.md)), und lösen Sie dann Ihre nachgelagerte Logik aus. Speichern Sie das `secret_shared_key` des Ziels (das bei der Registrierung des Webhooks zurückgegeben wird) als `DIDIT_WEBHOOK_SECRET` in Ihrer `.env`.

Beispiel-Payload:

```json theme={null}
{
  "event_id": "7f3c2c1e-6a1d-4c36-9d8e-0d3b5f4e2a10",
  "webhook_type": "status.updated",
  "session_id": "a1b2c3d4-5678-4abc-9def-1234567890ab",
  "business_session_id": "a1b2c3d4-5678-4abc-9def-1234567890ab",
  "session_kind": "business",
  "vendor_data": "biz-acme-001",
  "status": "Approved",
  "created_at": 1776515400,
  "timestamp": 1776515401,
  "decision": { "...": "full KYB decision" }
}
```

**5. Die Entscheidung abrufen (optional)**

> [!NOTE]
>
> Die `status.updated`-Webhook-Payload enthält bereits die vollständige Entscheidung. Sie müssen diesen Endpoint nur aufrufen, wenn Sie keine Webhooks abonniert haben oder die Entscheidung später bei Bedarf abrufen möchten.

```bash theme={null}
curl https://verification.didit.me/v3/session/bs_01H.../decision/ \
  -H "x-api-key: YOUR_API_KEY"
```

Die Entscheidung umfasst Registerdaten, Schlüsselpersonen (wirtschaftlich Berechtigte, Gesellschafter, Geschäftsführer und Vertreter), AML-Treffer, Dokumente und die Ergebnisse je Funktion. Die vollständige Payload-Referenz finden Sie im [Antwortschema](https://docs.didit.me/de/business-verification/response-schema.md).

**6. Auf die Entscheidung reagieren**

Abhängig von `status`:

* `"Approved"`: Nehmen Sie das Unternehmen auf.
* `"Declined"`: Lehnen Sie ab und protokollieren Sie die `warnings[]`-Tags aus der Entscheidung.
* `"In Review"`: Warten Sie auf die Entscheidung des Prüfers. Sie erhalten einen weiteren Webhook, sobald sie feststeht.

## Node.js-Beispiel

```typescript theme={null}
import fetch from 'node-fetch';

const API_KEY = process.env.DIDIT_API_KEY!;
const WORKFLOW_ID = process.env.DIDIT_KYB_WORKFLOW_ID!;
const BASE_URL = 'https://verification.didit.me';

async function startKybVerification(vendorData: string) {
  const res = await fetch(`${BASE_URL}/v3/session/`, {
    method: 'POST',
    headers: {
      'x-api-key': API_KEY,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({ workflow_id: WORKFLOW_ID, vendor_data: vendorData }),
  });
  if (!res.ok) throw new Error(`Session create failed: ${res.status}`);
  return res.json();
}

async function getDecision(sessionId: string) {
  const res = await fetch(`${BASE_URL}/v3/session/${sessionId}/decision/`, {
    headers: { 'x-api-key': API_KEY },
  });
  return res.json();
}

// Kick off the flow
const { session_id, url } = await startKybVerification('biz-acme-001');
console.log('Deliver this URL to your contact:', url);

// ... later, after the webhook confirms completion:
const decision = await getDecision(session_id);
console.log('KYB status:', decision.status);
```

## Was automatisch passiert

* Abfrage des Unternehmensregisters in 190+ Jurisdiktionen.
* Ermittlung der wirtschaftlich Berechtigten (UBOs) und Organmitglieder aus den Registerdaten.
* Unternehmensbezogenes AML-Screening (Sanktionen, PEP, negative Medienberichte).
* Personenbezogenes AML-Screening für jede identifizierte Partei.
* Dokumenten-OCR und Dokumentenabgleich.
* Erstellung und Aggregation von [Unternehmensprofilen](https://docs.didit.me/de/business-verification/business-profiles.md), wobei `vendor_data` als Schlüssel verwendet wird.

## Nächste Schritte

> [card] [Integrationsleitfaden](https://docs.didit.me/de/business-verification/integration-guide.md)
>
> End-to-End-Architektur, Polling versus Webhooks, Logik für Wiederholungsversuche.

> [card] [KYB-Webhooks](https://docs.didit.me/de/business-verification/webhooks.md)
>
> Jedes KYB-Ereignis und jede Payload-Struktur.

> [card] [Statusangaben](https://docs.didit.me/de/business-verification/statuses.md)
>
> Referenz für Sitzungs-, Funktions- und Registerstatus.

> [card] [Antwortschema](https://docs.didit.me/de/business-verification/response-schema.md)
>
> Die vollständige KYB-Entscheidungs-Payload.

> [card] [Unternehmensentitäten](https://docs.didit.me/de/entities/businesses/overview.md)
>
> Wie Profile über Sitzungen hinweg aggregiert werden.


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