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

# Identitätsverifizierung schnell einrichten: Quick Start

> In Minuten zum ersten KYC-Flow mit Didit: Workflow konfigurieren, Sitzung starten und Webhooks empfangen. $10 kostenlose Credits/Monat.

Dieser Schnellstart führt Sie von einem neuen Didit-Konto bis zu einer produktiven Identitätsverifizierung: Erstellen Sie Ihr Konto, erstellen Sie einen Verifizierungs-Workflow aus einer Vorlage, konfigurieren Sie einen Webhook und kopieren Sie Ihren API-Schlüssel, starten Sie eine Verifizierungssitzung mit einem einzigen API-Aufruf und erhalten Sie die Entscheidung in Echtzeit.Diese Seite gehört zur unten stehenden Academy-Lektion: eine 19-minütige Bildschirmaufnahme, die zeigt, wie Sie einen Verifizierungs-Workflow in der echten Konsole erstellen – von der Vorlage bis zum veröffentlichten Workflow, einschließlich Regeln, Verzweigungen, Preisen und dem teilbaren Link.[Erstellen Sie Ihren ersten Verifizierungs-Workflow — Didit Academy](https://www.youtube.com/embed/7-nJ3JE20i4?rel=0\&playsinline=1)

Schnellstart-Prompt
        Prompt in die Zwischenablage kopieren



      
      

\<pre>

\````# Goal — ship your first Didit verification end-to-end

You are integrating Didit (https://docs.didit.me) into my project. Take me from zero to a working KYC / KYB flow: account, workflow, session, hosted UI, webhook, decision.

For the full canonical recipe (5K-token version covering SDK pick, webhook HMAC verification, every status, decision parsing), use:

https://docs.didit.me/integration/integration-prompt

That page has a "Copy Prompt" button — copy its prompt and follow it. The summary below is enough to bootstrap if you can't fetch the full prompt.

\## My application context

\<my_stack>
Stack: [framework + language, e.g. Next.js 15 + TypeScript]
Surface: [web | iOS | Android | React Native | Flutter | backend-only]
Use case: [KYC at signup | KYB at business onboarding | age gate | re-auth]
Database: [Postgres | MySQL | Mongo]
\</my_stack>

\## Steps

1\. **Register programmatically (2 calls)** — `POST https://apx.didit.me/auth/v2/programmatic/register/` then `POST https://apx.didit.me/auth/v2/programmatic/verify-email/` with the 6-char code. Save `response.application.api_key` as `DIDIT_API_KEY`.

2\. **Create a workflow** —
\```bash
curl -X POST https://verification.didit.me/v3/workflows/ \
-H "x-api-key: $DIDIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"workflow_label": "Standard KYC",
"workflow_type": "kyc",
"features": [
  \{"feature": "OCR"},
  \{"feature": "LIVENESS", "config": {"face_liveness_method": "PASSIVE"}},
  \{"feature": "FACE_MATCH"},
  \{"feature": "AML"}
]
}'
\```
Persist `workflow.id`.

3\. **Create a session** —
\```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": "$WORKFLOW_ID", "vendor_data": "user-42", "callback": "https://myapp.com/kyc/return"}'
\```
Response contains `session_id`, `url`, `session_token`. Redirect the user to `url` (or open in the SDK / an iframe).

4\. **Register a webhook destination** — `POST https://verification.didit.me/v3/webhook/destinations/` with `{"label": "Production", "url": "...", "subscribed_events": ["status.updated","data.updated","user.status.updated","user.data.updated"], "webhook_version": "v3"}` (`label` and `url` are required). Save the returned `secret_shared_key` as `DIDIT_WEBHOOK_SECRET` (`GET /v3/webhook/destinations/{destination_uuid}/` returns it again).

5\. **Receive webhooks** — verify the `X-Signature-V2` header (HMAC-SHA256 of canonical JSON; see /integration/webhooks). De-dupe on `event_id`. Respond within 5 seconds. Apply decision to your DB based on `status`.

6\. **Retrieve the decision (fallback)** — `GET https://verification.didit.me/v3/session/{session_id}/decision/`. V3 returns plural arrays (`id_verifications[]`, `liveness_checks[]`, `face_matches[]`, `aml_screenings[]`, ...). Never assume singular V2 fields.

\## Failure modes
\- Missing API key → `403 {"detail": "You do not have permission to perform this action."}` on verification.didit.me. Wrong, revoked or expired key → `401`. JWT problems on apx.didit.me → `403`.
\- Invalid `workflow_id` → `400`.
\- Webhook handler slower than 5s, or answering 5xx or 404 → Didit retries twice, after about 1 and 4 minutes, then drops the delivery. Resend it from the destination's delivery log.

\## Sources of truth (cross-check before shipping)
\- /openapi-25.json — verification API
\- /openapi-auth.json — programmatic auth
\- /reference/data-models — V3 decision shape
\- /integration/integration-prompt — canonical end-to-end prompt````

\</pre>



      
      

Einfügen in

**1. Erstellen Sie Ihr Didit-Konto**1) Rufen Sie [business.didit.me](https://business.didit.me) auf
2) Registrieren Sie sich per SSO oder mit E-Mail-Adresse und Passwort
3) Erstellen Sie Ihre **Organisation** – hier verwaltet Ihr Team Workflows, API-Schlüssel und Verifizierungsaktivitäten**2. Erstellen Sie einen Verifizierungs-Workflow**Navigieren Sie in der Seitenleiste zu **Workflows** und klicken Sie auf **Create New**. Wählen Sie einen Workflow-Typ:| Typ | Beschreibung |
| - | - |
| **Simple Workflow** | Schritte laufen in einer festgelegten Reihenfolge ab – ideal für standardmäßige Onboarding-Abläufe |
| **Node-Based Workflow** | Flexible Verzweigungslogik – erstellen Sie bedingte Pfade basierend auf Verifizierungsergebnissen |Wählen Sie eine Vorlage, um loszulegen:| Vorlage | Anwendungsfall |
| - | - |
| **KYC** | Standardmäßiges Benutzer-Onboarding |
| **Adaptive Altersverifizierung** | Selfie-basierte Altersprüfung mit Ausweis-Fallback |
| **Biometrische Authentifizierung** | Passwortlose Selfie-Re-Authentifizierung |
| **Adressverifizierung** | Ablauf für Adressnachweise |Passen Sie den Workflow an, indem Sie Bausteine aktivieren oder deaktivieren: Liveness, Gesichtsabgleich, AML, NFC, Telefon, E-Mail und mehr.Der folgende Ausschnitt setzt die Academy-Lektion bei 2:50 fort, wo ein neuer Workflow aus einer Vorlage erstellt und Knoten für Knoten konfiguriert wird.[Einen neuen Workflow aus einer Vorlage erstellen — Didit Academy](https://www.youtube.com/embed/7-nJ3JE20i4?start=170\&rel=0\&playsinline=1)**3. Webhook konfigurieren und API-Schlüssel kopieren**Navigieren Sie in der Seitenleiste zu **Entwickler** und anschließend zu **API-Schlüsseln** und **Webhooks**:1. Fügen Sie Ihre **Webhook-URL** hinzu – Didit sendet Statusaktualisierungen hierher
2. Kopieren Sie Ihren **API-Schlüssel** – bewahren Sie ihn ausschließlich serverseitig auf und geben Sie ihn niemals im Frontend-Code preis
3. Speichern Sie das **Signaturgeheimnis** des Ziels als `DIDIT_WEBHOOK_SECRET` in Ihrer `.env` – es wird benötigt, um die `X-Signature-V2`-HMAC eingehender Webhooks zu prüfen> [!TIP]
>
> Sie können **Webhooks direkt** von dieser Seite aus mit unterschiedlichen Daten und Statuswerten testen – ohne eine vollständige Verifizierung durchführen zu müssen. So können Sie überprüfen, ob Ihre Integration ordnungsgemäß funktioniert, bevor Sie live gehen.**4. Verifizierungssitzung starten****Option A – Gehostete Sitzungen** (empfohlen)Unsere bevorzugte Integrationsmethode. Didit führt kontinuierlich A/B-Tests für den gehosteten Ablauf durch, sodass Abschlussrate, Geschwindigkeit und Betrugsresistenz kontinuierlich verbessert werden, ohne dass Sie eigene Benutzeroberflächen bereitstellen müssen.Klicken Sie in der Konsole auf **"+"** → wählen Sie einen Workflow aus → generieren Sie einen Link oder QR-Code. Oder erstellen Sie Sitzungen programmatisch:```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-workflow-id"}'
```> [!NOTE]
>
> Sie finden Ihre `workflow_id` in der Seitenleiste unter **Workflows**.In der Integrationslektion der Academy ist dies die Stelle bei 3:36: der Aufruf zum Erstellen der Sitzung mit dem einzigen erforderlichen Feld, gefolgt von Anbieterdaten und der Callback-URL.[Sitzung erstellen: das einzige erforderliche Feld — Didit Academy](https://www.youtube.com/embed/fX03-WEu_EI?start=216\&rel=0\&playsinline=1)**Option B – Eigenständige APIs** (für Fortgeschrittene)Rufen Sie Endpoints direkt von Ihrem Backend aus auf – keine Sitzung erforderlich. Ideal für Server-zu-Server- oder individuelle Abläufe:| Endpoint | Zweck |
| - | - |
| `POST /v3/id-verification/` | Dokumentenprüfung |
| `POST /v3/face-match/` | Selfie vs. Ausweis |
| `POST /v3/aml/` | Sanktionen & PEP |
| `POST /v3/passive-liveness/` | Deepfake-Erkennung |Die vollständige Liste finden Sie in der [API-Referenz](https://docs.didit.me/de/standalone-apis/id-verification.md).**5. Ergebnisse in Echtzeit empfangen**Didit sendet Webhook-Ereignisse an Ihren Endpoint – kein Polling erforderlich.| Ereignis | Auslöser |
| - | - |
| `status.updated` | Status der Benutzersitzung oder Unternehmenssitzung ändert sich |
| `data.updated` | Verifizierungsdaten der Sitzung oder Unternehmenssitzung ändern sich |
| `user.status.updated` | Der Benutzerstatus beim Anbieter ändert sich |
| `user.data.updated` | Das Benutzerprofil oder aggregierte Daten beim Anbieter ändern sich |
| `business.status.updated` | Der Unternehmensstatus beim Anbieter ändert sich |
| `business.data.updated` | Das Unternehmensprofil oder aggregierte Daten beim Anbieter ändern sich |
| `activity.created` | Aktivitätsereignis aufgezeichnet |
| `transaction.created` | Transaktion erstellt |
| `transaction.status.updated` | Transaktionsstatus ändert sich |Format der Payload und Signaturprüfung finden Sie unter [Webhooks](https://docs.didit.me/de/integration/webhooks.md).**6. Verwalten und überwachen**Nutzen Sie die Konsole für Folgendes:- Sitzungsfortschritt in Echtzeit einsehen
- PDF-/CSV-Berichte für die Compliance herunterladen
- Verdächtige Ausweise oder Gesichter auf die Sperrliste setzen
- Sitzungen manuell aktualisieren oder ablehnenDie Academy-Lektion zum Lesen von Ergebnissen führt Prüfung für Prüfung durch eine echte Sitzung: Warnungen, Scores, das Ereignisprotokoll, Webhook-Zustellungen und den PDF-Export, den Ihr Compliance-Team anfordern wird.[So lesen Sie ein Verifizierungsergebnis — Didit Academy](https://www.youtube.com/embed/7htTWCWsl60?rel=0\&playsinline=1)## Benötigen Sie Hilfe?> [card] [E-Mail](mailto:hello@didit.me)
>
> [hello@didit.me](mailto:hello@didit.me)


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