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

# Sitzungen auflisten API: KYC- & KYB-Sitzungen filtern

> Listet Didit-Verifizierungssitzungen per GET /v3/sessions/ auf, filterbar nach Art, Status, Workflow und Anbieterdaten. Pay-per-use-Preise.



Prompt zum Auflisten von Sitzungen
        Prompt in die Zwischenablage kopieren



      
      

\<pre>

\`List Didit verification sessions for your application with filters and pagination.

Endpoint:
GET https://verification.didit.me/v3/sessions

Authentication:
Use the x-api-key header with your Didit API key. The key must hold read:sessions.

Query parameters:
\- session_kind ("user" | "business" | "all", default "user") — chooses which kind to list. "user" returns only KYC sessions (backward-compatible default). "business" returns only KYB. "all" concatenates both (KYB rows are appended; not interleaved by timestamp).
\- vendor_data (string) — exact match on your stable identifier.
\- didit_internal_id (UUID) — matches vendor_user_id.
\- status (one or more, comma-separated) — Approved, Declined, In Review, In Progress, Not Started, Expired, Abandoned, Kyc Expired, Resubmitted, Awaiting User.
\- workflow_id (one or more UUIDs, comma-separated).
\- country (one or more ISO-3 codes, comma-separated) — issuing-state for KYC, country_code for KYB.
\- region (one or more, comma-separated).
\- document_type (one or more, comma-separated).
\- date_from, date_to (ISO 8601 date) — inclusive on created_at.
\- search (string) - a complete displayed reference such as S-0001 (user) or B-0001 (business) matches only that session number and kind, ignoring leading zeros and letter case.
Other input searches the existing name, contact, document, registration-number and vendor_data fields.
\- tags (comma-separated tag ids) — sessions that carry any of them.
\- decided_from, decided_to (ISO 8601 datetimes) — sessions whose status last changed at or after / before the value.
\- limit (int, default 50), offset (int, default 0) — limit/offset pagination. Both accept values up to 1000000; larger values return 400.

Per-kind filters (silently ignored on the other kind): is_kyc_to_be_reviewed, status_initialized_as_in_review, session_type, api_service, screened_full_name, document_name, warning.

curl example:
curl -G https://verification.didit.me/v3/sessions/ \
-H "x-api-key: <API_KEY>" \
\--data-urlencode "session_kind=all" \
\--data-urlencode "status=Approved,In Review" \
\--data-urlencode "date_from=2026-01-01" \
\--data-urlencode "limit=50"

Response envelope:
\{
"count": <int>,   // exact up to 100, capped at 100 beyond that: paginate with next
"next": "<url|null>",
"previous": "<url|null>",
"results": [ ...rows ]
}

Every row has:
\- session_id (UUID), session_kind ("user" | "business"), session_number, status, vendor_data, created_at.

KYC row extras: portrait_image, document_type, full_name, country (issuing state), phone_number, email_address, features, didit_internal_id, assignee, waiting_since, sla_due_at, top_warnings, warnings_count.

KYB row extras: workflow_type, workflow_label, company_name, registration_number, country (incorporation).

Each row is a LIGHT projection. For the full feature payload of a row, call GET /v3/session/{session_id}/decision/ — see /sessions-api/retrieve-session.

Failure modes:
\- 401 — invalid API key.
\- 403 — { "detail": "You do not have permission to perform this action." } when the key lacks read:sessions.
\- 400 — malformed UUIDs in filters are silently dropped (no error); malformed ISO dates return { "date_from": ["..."] }.

Common patterns:
\- Build a dashboard: paginate with limit + offset, sort newest-first (server orders by -session_number within each kind).
\- Find pending review queue: status=In Review.
\- Find a specific entity's sessions: vendor_data=<your-id>.
\- Refresh ongoing AML hits: filter by workflow_id of your AML workflow.

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

\</pre>



      
      

Einfügen in

## Filter nach SitzungsartVerwenden Sie den Query-Parameter `session_kind`, um festzulegen, welche Art von Sitzungen zurückgegeben wird:| Wert | Liefert |
| - | - |
| `user` (Standard) | Nur Sitzungen der Benutzerverifizierung (KYC). **Abwärtskompatibles Verhalten:** Lassen Sie `session_kind` weg, um dieses Ergebnis zu erhalten. |
| `business` | Nur Sitzungen der Unternehmensverifizierung (KYB). |
| `all` | Sitzungen der Benutzerverifizierung und der Unternehmensverifizierung, hintereinander ausgegeben. |Jede Zeile der Antwort enthält `session_kind: "user" | "business"`, damit Ihr Client die Struktur pro Zeile unterscheiden kann.## Gemeinsame FilterDiese Filter gelten für beide Arten. Die nur für Benutzer vorgesehenen Filter werden ignoriert, wenn `session_kind=business` gesetzt ist, und umgekehrt:| Query-Parameter | Beschreibung |
| - | - |
| `session_kind` | `user`, `business` oder `all`. Standard: `user`. |
| `vendor_data` | Exakte Übereinstimmung mit Ihrer Kennung. |
| `status` | Ein oder mehrere Status, durch Kommas getrennt, genau so geschrieben, wie die API sie zurückgibt: `Approved`, `Declined`, `In Review` usw. (siehe [Verifizierungsstatus](https://docs.didit.me/de/integration/verification-statuses.md)). |
| `workflow_id` | Filtert nach dem verwendeten Workflow. |
| `country` | Filter nach Ländercode (Benutzer: `issuing_states`, Unternehmen: `country_code`). |
| `date_from`, `date_to` | Zeitfenster für das Erstellungsdatum (ISO 8601). |
| `tags` | Durch Kommas getrennte Tag-IDs. Liefert die Sitzungen zurück, die mindestens einen davon enthalten. |
| `decided_from`, `decided_to` | ISO-8601-Zeitstempel. Liefert die Sitzungen zurück, deren Status in diesem Zeitfenster zuletzt geändert wurde (Beginn inklusive, Ende exklusive). Maßgeblich ist der Zeitpunkt der letzten Statusänderung, nicht der Erstellungszeitpunkt. |
| `search` | Eine vollständige angezeigte Referenz wie `S-0001` oder `B-0001` passt nur auf diese Sitzungsnummer und Art und ignoriert führende Nullen sowie Groß- und Kleinschreibung. Andere Eingaben durchsuchen die vorhandenen Felder für Name, Kontakt, Dokument, Registernummer und `vendor_data`. |## Beispiele> [tab] Sitzungen der Benutzerverifizierung (KYC) auflisten (Standard)
>
> ```bash theme={null}
> curl -G https://verification.didit.me/v3/sessions/ \
>   -H "x-api-key: YOUR_API_KEY" \
>   --data-urlencode "vendor_data=user-42"
> ```
>
> **Antwort (gekürzt):**
>
> ```json theme={null}
> {
>   "count": 3,
>   "next": null,
>   "previous": null,
>   "results": [
>     {
>       "session_id": "...",
>       "session_kind": "user",
>       "session_number": 1024,
>       "session_url": "...",
>       "portrait_image": "...",
>       "document_type": "Passport",
>       "full_name": "John Doe",
>       "country": "GBR",
>       "status": "Approved",
>       "vendor_data": "user-42",
>       "didit_internal_id": "...",
>       "created_at": "2026-04-10T09:00:00Z",
>       "features": "ID_VERIFICATION,LIVENESS,FACE_MATCH,AML",
>       "phone_number": "+14155550123",
>       "email_address": "jane@example.com",
>       "additional_details": null
>     }
>   ]
> }
> ```> [tab] Sitzungen der Unternehmensverifizierung (KYB) auflisten
>
> ```bash theme={null}
> curl -G https://verification.didit.me/v3/sessions/ \
>   -H "x-api-key: YOUR_API_KEY" \
>   --data-urlencode "session_kind=business" \
>   --data-urlencode "status=Approved"
> ```
>
> **Antwort (gekürzt):**
>
> ```json theme={null}
> {
>   "count": 1,
>   "next": null,
>   "previous": null,
>   "results": [
>     {
>       "session_id": "...",
>       "session_kind": "business",
>       "session_number": 89,
>       "status": "Approved",
>       "vendor_data": "biz-acme-001",
>       "created_at": "2026-04-01T09:00:00Z",
>       "workflow_id": "wf_kyb_standard",
>       "workflow_type": "business",
>       "workflow_label": "Standard KYB",
>       "company_name": "Acme Corporation Limited",
>       "registration_number": "12345678",
>       "country": "GBR"
>     }
>   ]
> }
> ```> [tab] Beide Arten auflisten
>
> ```bash theme={null}
> curl -G https://verification.didit.me/v3/sessions/ \
>   -H "x-api-key: YOUR_API_KEY" \
>   --data-urlencode "session_kind=all" \
>   --data-urlencode "date_from=2026-04-01T00:00:00Z"
> ```
>
> Liefert Zeilen der Benutzerverifizierung und der Unternehmensverifizierung in einem einzigen Array `results`. Ihre Anwendung sollte pro Zeile anhand von `session_kind` unterscheiden.
>
> > [!NOTE]
> >
> > Der Modus `all` hängt die Ergebnisse aneinander, statt sie nach Zeitstempel abwechselnd anzuordnen. Bei umfangreichen gemischten Abfragen sollten Sie jede Art separat aufrufen und clientseitig zusammenführen.## Zeilenstrukturen unterscheiden sich nach ArtZeilen der Benutzerverifizierung (KYC) enthalten `portrait_image`, `document_type`, `full_name`, `country` (Ausstellungsstaat), `phone_number`, `email_address` sowie einige Prüffelder: `assignee` (der Prüfer in der Console, dem die Sitzung zugewiesen ist, oder `null`), `waiting_since` und `sla_due_at` (nur gesetzt, solange die Sitzung `In Review` ist), `top_warnings` (die wichtigsten Warnungen, jeweils mit `risk`, `feature`, `log_type` und `short_description`) und `warnings_count`.Zeilen der Unternehmensverifizierung (KYB) enthalten `workflow_type`, `workflow_label`, `company_name`, `registration_number` und `country` (Gründungsland).Beide enthalten `session_id`, `session_kind`, `session_number`, `status`, `vendor_data` und `created_at`.Die vollständige Funktionsmatrix finden Sie unter [Sitzungsübersicht](https://docs.didit.me/de/sessions-api/overview.md).## PaginierungDie Paginierung verwendet `limit` (Standard `50`) und `offset` (Standard `0`). Die Antwort enthält absolute URLs für `next` und `previous`. Beide Parameter akzeptieren Werte bis `1000000`; ein größerer Wert liefert `400`.`count` ist bis `100` exakt und bleibt darüber bei `100`. Verwenden Sie den Wert daher nicht als Gesamtzahl. Rufen Sie die URL in `next` so lange ab, bis sie `null` ist. Bei `session_kind=all` ist `count` die Summe beider Arten, wobei jede Art auf `100` begrenzt ist.## Verwandte Themen- [Sitzungsübersicht](https://docs.didit.me/de/sessions-api/overview.md)
- [Sitzung abrufen](https://docs.didit.me/de/sessions-api/retrieve-session.md): vollständige Entscheidung für eine einzelne Zeile
- [Unternehmensübersicht](https://docs.didit.me/de/entities/businesses/overview.md): die Entität Unternehmen, zusammengefasst über Sitzungen
- [Benutzerübersicht](https://docs.didit.me/de/entities/users/overview.md): die Entität Benutzer, zusammengefasst über Sitzungen


## OpenAPI

````yaml de/openapi-25.json GET /v3/sessions/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API für Ausweisverifizierung. Authentifizierung über den x-api-key-Header.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/sessions/:
    get:
      tags:
        - Sessions
      summary: >-
        Verifizierungssitzungen (KYC und/oder KYB) mit Filtern und Paginierung
        auflisten
      description: >-
        Gibt eine paginierte Liste von Verifizierungssitzungen für die durch
        Ihren API-Schlüssel identifizierte Anwendung zurück, die neuesten zuerst
        (absteigende `session_number`).


        **Kanonische URL:** Die Route lautet `/v3/sessions/` (abschließender
        Schrägstrich). Anfragen an `/v3/sessions` ohne Schrägstrich erhalten
        eine `301`-Weiterleitung zur URL mit Schrägstrich, wobei der
        Query-String erhalten bleibt; die meisten HTTP-Clients folgen dieser bei
        GET automatisch.


        **Wann dieser Endpoint im Vergleich zu Webhooks verwendet werden
        sollte.** Verwenden Sie diesen Endpoint für Dashboards,
        Back-Office-Suchen, Abgleiche und Batch-Exporte. Führen Sie kein Polling
        durch, um den Fortschritt einzelner Verifizierungen zu verfolgen –
        konfigurieren Sie stattdessen [Webhooks](/de/integration/webhooks), die
        `status.updated`-Ereignisse übertragen, sobald sich eine Sitzung ändert.
        Um das vollständige Ergebnis einer Sitzung abzurufen, rufen Sie `GET
        /v3/session/{sessionId}/decision/` auf.


        **KYC- und KYB-Sitzungen.** `session_kind` wählt aus, welche Arten
        aufgelistet werden:

        - `user` (Standard) – Nur Sitzungen zur Benutzerverifizierung (KYC).
        Abwärtskompatibles Verhalten.

        - `business` – Nur Sitzungen zur Unternehmensverifizierung (KYB). Zeilen
        weisen eine andere, kompaktere Struktur auf (siehe Antwort-Schema).

        - `all` – Beide Arten in einer einzigen Antwort: Die KYC-Seite und die
        KYB-Seite für dieselben Werte von `limit`/`offset` werden in `results`
        aneinandergehängt (KYC-Zeilen zuerst), sodass eine Seite bis zu `2 x
        limit` Zeilen enthalten kann. `count` ist die Summe beider Arten und
        `next`/`previous` spiegeln die Paginierung auf KYC-Seite wider. Für eine
        strikte Paginierung gemischter Daten rufen Sie `user` und `business`
        separat auf.


        Jede Zeile enthält einen `session_kind`-Diskriminator (`"user"` oder
        `"business"`).


        **Paginierung.** Standardmäßiges Limit/Offset: `limit` (Standard 50) und
        `offset` (Standard 0), mit vorgefertigten Seiten-URLs für
        `next`/`previous`. Bei KYC-Zeilen ist `count` exakt. Bei KYB-Zeilen wird
        `count` über einen begrenzten Scan berechnet und ist auf 100 begrenzt –
        gibt es mehr als 100 Treffer, bleibt der Wert bei 100. Iterieren Sie
        daher über `next` (oder prüfen Sie, ob eine vollständige Seite
        zurückgegeben wurde), anstatt die Gesamtzahl der Seiten anhand von
        `count` zu berechnen.


        **Filtersemantik.** Alle Filter werden mit UND verknüpft und gelten für
        KYC-Zeilen. Wenn `session_kind` auf `business` oder `all` gesetzt ist,
        berücksichtigt die KYB-Seite die gemeinsamen Parameter `vendor_data`,
        `status`, `workflow_id`, `country` (Ländercode des
        Registerunternehmens), `date_from`, `date_to`, `search`
        (Unternehmensname, Registernummer – geben Sie Registernummern ohne
        Trennzeichen ein, z. B. `DPC001` statt `DPC-001` –, vendor_data,
        Sitzungsnummer oder Sitzungs-UUID), `warning` und `organization_name`;
        die übrigen reinen KYC-Filter werden für KYB-Zeilen ignoriert.
        Kommagetrennte Parameter (`status`, `country`, `document_type`,
        `region`, `workflow_id`, `document_name`, `warning`,
        `organization_name`, `session_type`) stimmen mit jedem der aufgeführten
        Werte überein (ODER innerhalb des Parameters). `vendor_data` ist eine
        exakte Übereinstimmung – verwenden Sie `search` für
        Teilübereinstimmungen. Unbekannte Werte in Listenfiltern geben einfach
        keine Zeilen zurück (kein Fehler); fehlerhafte typisierte Werte
        (`date_from`, `date_to`, `didit_internal_id`, `api_service`,
        `session_kind`) geben `400` mit einem feldspezifischen Fehlerobjekt
        zurück.


        **Suche.** `search` passt sich der Eingabe an: Eine vollständige UUID
        schlägt `session_id` nach; Ziffern (optional mit `+ - . space`) stimmen
        mit dem Präfix der Sitzungsnummer, Dokumenten-/Personennummern, dem
        Präfix der Telefonnummer oder `vendor_data` überein; Werte, die `@`
        enthalten, stimmen mit E-Mail-Präfixen überein; jeder andere Text stimmt
        mit Namen (unabhängig von Akzenten) und `vendor_data` überein.


        Es wird kein festes Rate-Limit pro Endpoint erzwungen, aber halten Sie
        das Polling von Listen gering und verlassen Sie sich bei
        Echtzeit-Updates auf Webhooks.
      operationId: get_v3_sessions
      parameters:
        - name: session_kind
          in: query
          required: false
          description: >-
            Welche Art von Sitzungen aufgelistet werden soll: `user` (nur KYC,
            Standard), `business` (nur KYB) oder `all` (beide verkettet - siehe
            Beschreibung für die Semantik der zusammengeführten Paginierung).
            Beim Abgleich wird die Groß-/Kleinschreibung nicht berücksichtigt
            (`BUSINESS` funktioniert); jeder andere Wert als eine
            Schreibweisenvariante von `user`/`business`/`all` gibt `400` zurück.
          schema:
            type: string
            enum:
              - user
              - business
              - all
            default: user
          example: all
        - name: limit
          in: query
          required: false
          description: >-
            Maximale Anzahl an Zeilen pro Seite (pro Art, wenn
            `session_kind=all`). Standardmäßig 50.
          schema:
            type: integer
            default: 50
            minimum: 1
            maximum: 1000000
          example: 20
        - name: offset
          in: query
          required: false
          description: >-
            Anzahl der vor der ersten zurückgegebenen Zeile zu überspringenden
            Zeilen. Standardmäßig 0. Folgen Sie vorzugsweise den
            `next`/`previous`-URLs aus der Antwort.
          schema:
            type: integer
            maximum: 1000000
            minimum: 0
            default: 0
          example: 20
        - name: status
          in: query
          required: false
          description: >-
            Kommagetrennte Liste der einzuschließenden Sitzungsstatus, z. B.
            `Approved,In Review`. Bei den Werten wird zwischen Groß- und
            Kleinschreibung unterschieden; siehe
            [Verifizierungsstatus](/de/integration/verification-statuses).
            Unbekannte Werte stimmen mit nichts überein.
          schema:
            type: string
          example: Approved,In Review
        - name: vendor_data
          in: query
          required: false
          description: >-
            Exakter Übereinstimmungsfilter für die `vendor_data`, die Sie bei
            der Sitzungserstellung übermittelt haben (Ihre eigene
            Benutzer-/Unternehmenskennung). Für Teilübereinstimmungen verwenden
            Sie stattdessen `search`.
          schema:
            type: string
          example: your-user-id-123
        - name: search
          in: query
          required: false
          description: >-
            Eine vollständige angezeigte Referenz wie `S-0001` (Benutzer) oder
            `B-0001` (Unternehmen) stimmt nur mit dieser Sitzungsnummer und Art
            überein; führende Nullen und Groß-/Kleinschreibung haben keinen
            Einfluss auf die Übereinstimmung. Intelligente Freitextsuche. Eine
            vollständige UUID stimmt mit `session_id` überein; numerische
            Eingaben stimmen mit Sitzungsnummern-Präfixen,
            Dokumenten-/persönlichen Nummern, Telefonvorwahlen oder
            `vendor_data` überein; Eingaben mit `@` stimmen mit E-Mail-Präfixen
            überein; anderer Text stimmt mit Namen (ohne Berücksichtigung von
            Akzenten) und `vendor_data` überein. Freitext mit Ziffern stimmt
            zusätzlich mit Suchfeldern für Dokumenten-/persönliche Nummern und
            Sitzungsnummern-Präfixen überein.
          schema:
            type: string
          example: jane doe
        - name: workflow_id
          in: query
          required: false
          description: >-
            Kommagetrennte Workflow-UUIDs (Sie finden sie auf der Seite
            „Workflows“ in der Console). Ungültig formatierte UUIDs in der Liste
            werden ignoriert; wenn keine gültig ist, ist das Ergebnis leer.
          schema:
            type: string
          example: 9f9b1234-aaaa-bbbb-cccc-1234567890ab
        - name: date_from
          in: query
          required: false
          description: >-
            Nur Sitzungen, die an oder nach diesem Datum (UTC) erstellt wurden,
            Format `YYYY-MM-DD`. Fehlerhafte Datumsangaben geben `400` zurück.
          schema:
            type: string
            format: date
          example: '2026-06-01'
        - name: date_to
          in: query
          required: false
          description: >-
            Nur Sitzungen, die bis zu diesem Datum (UTC) erstellt wurden, Format
            `YYYY-MM-DD`. Für KYC-Zeilen wird der gesamte Tag einbezogen; für
            KYB-Zeilen lautet der Vergleich `created_at <= date_to`
            (Mitternacht), verwenden Sie daher das Datum des nächsten Tages, um
            einen vollständigen Tag mit KYB-Sitzungen einzuschließen.
          schema:
            type: string
            format: date
          example: '2026-06-30'
        - name: tags
          in: query
          required: false
          schema:
            type: string
          description: >-
            Kommagetrennte Tag-IDs (`tags` Ihrer Anwendung). Gibt die Sitzungen
            zurück, die eines davon enthalten. IDs, die keine gültigen UUIDs
            sind, werden ignoriert, und wenn keine gültig ist, ist die Liste
            leer.
        - name: decided_from
          in: query
          required: false
          schema:
            type: string
            format: date-time
          description: >-
            ISO 8601-Datum/Uhrzeit. Gibt die Sitzungen zurück, deren Status sich
            zuletzt zu diesem Zeitpunkt oder danach geändert hat. Filtert nach
            dem Zeitpunkt der letzten Statusänderung, nicht nach dem
            Erstellungszeitpunkt.
        - name: decided_to
          in: query
          required: false
          schema:
            type: string
            format: date-time
          description: >-
            ISO 8601-Datum/Uhrzeit. Gibt die Sitzungen zurück, deren Status sich
            zuletzt davor geändert hat. Kombinieren Sie dies mit `decided_from`
            für ein halboffenes Intervall.
        - name: country
          in: query
          required: false
          description: >-
            Kommagetrennter Länderfilter. Für KYC-Zeilen: ISO
            3166-1-Alpha-3-Codes des Ausstellungsstaates des Ausweisdokuments
            (z. B. `ESP,USA`), der von der Staatsangehörigkeit abweichen kann.
            Für KYB-Zeilen: der Ländercode des im Unternehmensregister
            eingetragenen Unternehmens.
          schema:
            type: string
          example: ESP,USA
        - name: document_type
          in: query
          required: false
          description: >-
            Kommagetrennte Codes der in der Sitzung verifizierten
            Ausweisdokumenttypen (nur KYC-Zeilen): `P` (Reisepass), `ID`
            (Personalausweis), `DL` (Führerschein), `RP` (Aufenthaltstitel),
            `SSC` (Sozialversicherungsausweis), `HIC`
            (Krankenversicherungskarte), `WP` (Arbeitserlaubnis), `TC`
            (Steuerkarte), `VISA`, `PSC` (Public Service Card), `BC`
            (Geburtsurkunde), `OTHER`. Beachten Sie, dass das Antwortfeld
            `document_type` den Anzeigenamen enthält, nicht den Code.
          schema:
            type: string
          example: P,ID
        - name: document_name
          in: query
          required: false
          description: >-
            Exakte Dokumentnamen; mehrere Namen können kommagetrennt übergeben
            werden, der Wert wird jedoch nur an Kommas aufgeteilt, wenn er mehr
            als ein Trennzeichen ` - ` enthält (ein einzelner Name mit einem
            eingebetteten Komma wird als Ganzes abgeglichen). Namen, wie sie von
            der Dokumentenprüfung erkannt werden (Vorder- oder Rückseite), z. B.
            `Spain - Id Card (2021)`. Nur KYC-Zeilen.
          schema:
            type: string
          example: Spain - Id Card (2021)
        - name: region
          in: query
          required: false
          description: >-
            Kommagetrennte Werte für Dokumentregion/-bundesstaat (für Dokumente,
            die pro Region ausgestellt werden, wie etwa US-Führerscheine). Nur
            KYC-Zeilen.
          schema:
            type: string
          example: CA,TX
        - name: didit_internal_id
          in: query
          required: false
          description: >-
            Filtern Sie nach Didits internem Benutzerbezeichner (dem Antwortfeld
            `didit_internal_id`), um alle Sitzungen eines verifizierten
            Benutzers aufzulisten. Muss eine gültige UUID sein; fehlerhafte
            Werte geben `400` zurück. Nur KYC-Zeilen.
          schema:
            type: string
            format: uuid
          example: d9e78474-6c8d-4f2a-bb90-6f5c2f3a1147
        - name: session_type
          in: query
          required: false
          description: >-
            Kommagetrennte Kanäle zur Sitzungserstellung: `API`, `HOSTED`,
            `MIGRATED`. Der spezielle Wert `ALL` (oder das Weglassen des
            Parameters) deaktiviert den Filter. Nur für KYC-Zeilen.
          schema:
            type: string
          example: HOSTED
        - name: api_service
          in: query
          required: false
          description: >-
            Eigenständige API-Sitzungen nach Dienst filtern. Ungültige Werte
            geben `400` zurück. Nur KYC-Zeilen.
          schema:
            type: string
            enum:
              - ID_VERIFICATION
              - FACE_MATCH
              - AGE_ESTIMATION
              - FACE_SEARCH
              - POA
              - AML
              - KYB_REGISTRY
              - PASSIVE_LIVENESS
              - DATABASE_VALIDATION
              - PHONE_VERIFICATION
              - EMAIL_VERIFICATION
          example: AML
        - name: screened_full_name
          in: query
          required: false
          description: >-
            Namenssuche ohne Berücksichtigung von Akzenten innerhalb der durch
            AML und Datenbankvalidierung geprüften Daten. In Kombination mit
            `api_service=AML` oder `api_service=DATABASE_VALIDATION` wird die
            Suche auf die geprüften Daten dieser Funktion beschränkt. Nur
            KYC-Zeilen.
          schema:
            type: string
          example: Jane Doe
        - name: warning
          in: query
          required: false
          description: >-
            Kommagetrennte Risiko-Codes für Warnungen; gibt Sitzungen zurück,
            die einen davon ausgelöst haben (z. B. `POSSIBLE_FRAUD`).
            Risiko-Codes sind pro Funktion in der
            [Warnungsdokumentation](/de/integration/webhooks) aufgeführt. Gilt
            für KYC-Zeilen und, mit Warnungs-Codes für Unternehmen, für
            KYB-Zeilen.
          schema:
            type: string
          example: POSSIBLE_FRAUD
        - name: status_initialized_as_in_review
          in: query
          required: false
          description: >-
            Wenn `true`, nur Sitzungen, deren Entscheidung anfänglich auf `In
            Review` fiel (nützlich zur Überprüfung des Volumens manueller
            Prüfungen). Nur KYC-Zeilen.
          schema:
            type: boolean
          example: true
        - name: is_kyc_to_be_reviewed
          in: query
          required: false
          description: >-
            `true` gibt Sitzungen zurück, deren Dokumentenprüfung für eine
            manuelle Prüfung markiert ist; `false` gibt Sitzungen zurück, bei
            denen die Dokumentenprüfung ausdrücklich nicht markiert ist.
            Weglassen zum Deaktivieren. Nur KYC-Zeilen.
          schema:
            type: boolean
          example: true
        - name: euuid
          in: query
          required: false
          description: >-
            Nach der euuid des Endbenutzers filtern (dem zu verifizierenden
            Benutzer zugewiesene UUID, die von Console-Deeplinks verwendet
            wird). Muss eine gültige UUID sein; fehlerhafte Werte geben einen
            400-Feldfehler zurück. Nur KYC-Zeilen.
          schema:
            type: string
            format: uuid
          example: 0f8fad5b-d9cb-469f-a165-70867728950e
        - name: organization_name
          in: query
          required: false
          description: >-
            Kommagetrennte Organisationsnamen. Für die Console vorgesehen; mit
            einem API-Schlüssel (der bereits auf eine Anwendung beschränkt ist)
            stimmt dies nur mit dem Namen Ihrer eigenen Organisation überein.
          schema:
            type: string
          example: Acme Inc
      responses:
        '200':
          description: >-
            Paginierte Sitzungsliste. `results`-Einträge sind je nach
            `session_kind` KYC-Zeilen, KYB-Zeilen oder beides; unterscheiden Sie
            anhand des Felds `session_kind` jeder Zeile.
          content:
            application/json:
              schema:
                type: object
                required:
                  - count
                  - next
                  - previous
                  - results
                properties:
                  count:
                    type: integer
                    description: >-
                      Anzahl der den Filtern entsprechenden Sitzungen: exakt bis
                      100 und darüber auf 100 begrenzt, verwenden Sie sie daher
                      nicht als Gesamtsumme. Nutzen Sie `next`, um zu erfahren,
                      ob weitere Seiten vorhanden sind. Bei `session_kind=all`
                      ist es die Summe beider Arten, jeweils auf 100 begrenzt.
                    example: 2
                  next:
                    type: string
                    format: uri
                    nullable: true
                    description: >-
                      Absolute URL der nächsten Seite oder `null` auf der
                      letzten Seite.
                    example: >-
                      https://verification.didit.me/v3/sessions/?limit=20&offset=20
                  previous:
                    type: string
                    format: uri
                    nullable: true
                    description: >-
                      Absolute URL der vorherigen Seite oder `null` auf der
                      ersten Seite.
                    example: null
                  results:
                    type: array
                    description: >-
                      Sitzungszeilen, neueste zuerst. Bei `session_kind=all`
                      stehen KYC-Zeilen an erster Stelle, gefolgt von
                      KYB-Zeilen.
                    items:
                      oneOf:
                        - $ref: '#/components/schemas/UserSessionListItem'
                        - $ref: '#/components/schemas/BusinessSessionListItem'
                      discriminator:
                        propertyName: session_kind
                        mapping:
                          user: '#/components/schemas/UserSessionListItem'
                          business: '#/components/schemas/BusinessSessionListItem'
              examples:
                KYC sessions (default):
                  summary: >-
                    session_kind=user - eine abgeschlossene und eine nicht
                    gestartete Sitzung
                  value:
                    count: 2
                    next: null
                    previous: null
                    results:
                      - session_id: 5b3720ed-d429-42ef-b67f-37ea805f48ee
                        session_kind: user
                        session_number: 720
                        session_url: https://verify.didit.me/session/CuXoBYCYVO5Y
                        portrait_image: >-
                          https://<media-host>/portraits/5b3720ed.jpg?X-Amz-Expires=3600&X-Amz-Signature=...
                        document_type: Passport
                        full_name: Jane Marie Doe
                        country: ESP
                        status: Approved
                        vendor_data: your-user-id-123
                        didit_internal_id: d9e78474-6c8d-4f2a-bb90-6f5c2f3a1147
                        created_at: '2026-06-09T12:26:54.328364Z'
                        features:
                          - feature: ID_VERIFICATION
                            status: Approved
                          - feature: LIVENESS
                            status: Approved
                          - feature: FACE_MATCH
                            status: Approved
                          - feature: AML
                            status: Approved
                          - feature: IP_ANALYSIS
                            status: Approved
                        phone_number:
                          number: '+14155552671'
                          is_verified: true
                        email_address:
                          email: jane@example.com
                          is_verified: true
                        additional_details:
                          aml:
                            total_hits: 0
                            entity_type: person
                            is_adverse_media_fetched: false
                          liveness:
                            method: PASSIVE
                            score: 0.98
                          face_match:
                            score: 0.95
                      - session_id: 038ad62f-5ebd-46c2-afe9-4b2956bf687f
                        session_kind: user
                        session_number: 719
                        session_url: https://verify.didit.me/session/7RGKiO6ioGH6
                        portrait_image: null
                        document_type: null
                        full_name: null
                        country: null
                        status: Not Started
                        vendor_data: your-user-id-124
                        didit_internal_id: eb4e679d-ca4b-461f-9685-687bac29ebdb
                        created_at: '2026-06-09T08:02:23.343053Z'
                        features:
                          - feature: ID_VERIFICATION
                            status: Not Finished
                          - feature: LIVENESS
                            status: Not Finished
                          - feature: FACE_MATCH
                            status: Not Finished
                          - feature: AML
                            status: Not Finished
                          - feature: IP_ANALYSIS
                            status: Not Finished
                        phone_number: null
                        email_address: null
                        additional_details: null
                Mixed KYC + KYB (session_kind=all):
                  summary: session_kind=all - KYC-Zeile gefolgt von einer KYB-Zeile
                  value:
                    count: 2
                    next: null
                    previous: null
                    results:
                      - session_id: 5b3720ed-d429-42ef-b67f-37ea805f48ee
                        session_kind: user
                        session_number: 720
                        session_url: https://verify.didit.me/session/CuXoBYCYVO5Y
                        portrait_image: null
                        document_type: Identity Card
                        full_name: Jane Marie Doe
                        country: ESP
                        status: In Review
                        vendor_data: your-user-id-123
                        didit_internal_id: d9e78474-6c8d-4f2a-bb90-6f5c2f3a1147
                        created_at: '2026-06-09T12:26:54.328364Z'
                        features:
                          - feature: ID_VERIFICATION
                            status: In Review
                          - feature: LIVENESS
                            status: Approved
                        phone_number: null
                        email_address: null
                        additional_details:
                          liveness:
                            method: PASSIVE
                            score: 0.98
                      - session_id: 8a1f63c2-1b9e-4f3a-9c41-2f6a1f0b7d52
                        session_kind: business
                        session_number: 42
                        status: Approved
                        vendor_data: your-company-id-77
                        created_at: '2026-06-08T09:14:02.118450Z'
                        workflow_id: 9f9b1234-aaaa-bbbb-cccc-1234567890ab
                        workflow_type: kyb
                        workflow_label: Standard KYB
                        company_name: Acme Holdings S.L.
                        registration_number: B12345678
                        country: ES
        '301':
          description: >-
            Weiterleitung zur kanonischen URL mit abschließendem Schrägstrich.
            Wird zurückgegeben, wenn der Anfragepfad `/v3/sessions` lautet (ohne
            abschließenden Schrägstrich); der `Location`-Header verweist auf
            `/v3/sessions/` unter Beibehaltung des Query-Strings. GET-Clients
            folgen dieser Weiterleitung typischerweise automatisch.
        '400':
          description: >-
            Ungültiger Abfrageparameter. Der Body ist ein Objekt mit dem
            fehlerhaften Parameter als Schlüssel.
          content:
            application/json:
              examples:
                Invalid session_kind:
                  summary: session_kind ist nicht user/business/all
                  value:
                    session_kind: Must be "user", "business", or "all".
                Invalid date:
                  summary: Ungültiges Format für date_from/date_to
                  value:
                    date_from:
                      - Enter a valid date.
                Invalid didit_internal_id:
                  summary: didit_internal_id ist keine UUID
                  value:
                    didit_internal_id:
                      - Enter a valid UUID.
                Invalid api_service:
                  summary: api_service gehört nicht zu den zulässigen Optionen
                  value:
                    api_service:
                      - >-
                        Select a valid choice. FOO is not one of the available
                        choices.
        '403':
          description: >-
            Fehlender, fehlerhafter oder widerrufener API-Schlüssel. Ein
            fehlender Schlüssel gibt `403` zurück; ein falscher, widerrufener
            oder abgelaufener Schlüssel gibt `401` zurück.


            **Gelöschte Anwendung:** Für einige Minuten nach dem Löschen einer
            Anwendung kann eine mit einem ihrer API-Schlüssel gesendete Anfrage
            mit `{"detail": "This application was deleted.", "code":
            "application_deleted"}` antworten. Versuchen Sie es nicht erneut:
            Die Anwendung und ihre API-Schlüssel existieren nicht mehr. Nach
            diesen wenigen Minuten wird der Schlüssel wie jeder andere ungültige
            Schlüssel abgelehnt.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                    example: You do not have permission to perform this action.
                  code:
                    type: string
                    description: >-
                      Maschinenlesbarer Grund, nur bei bestimmten Fehlern
                      vorhanden. `application_deleted`: Der API-Schlüssel gehört
                      zu einer Anwendung, die gelöscht wurde.
                    example: application_deleted
                required:
                  - detail
              examples:
                Forbidden:
                  summary: Fehlender oder ungültiger x-api-key
                  value:
                    detail: You do not have permission to perform this action.
                ApplicationDeleted:
                  summary: API-Schlüssel einer gelöschten Anwendung
                  value:
                    detail: This application was deleted.
                    code: application_deleted
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -s
            'https://verification.didit.me/v3/sessions/?status=Approved,In%20Review&date_from=2026-06-01&limit=20'
            \
              -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.sessions.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.sessions.list()) {
              console.log(item);
            }
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\niter := client.Sessions.ListAutoPaging(ctx, didit.SessionsListParams{})\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.sessions().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->sessions->list() as $item) {
                print_r($item);
            }
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            didit.sessions.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.Sessions.ListAsync())
            {
                Console.WriteLine(JsonSerializer.Serialize(item));
            }
components:
  schemas:
    UserSessionListItem:
      title: 'KYC session row (session_kind: user)'
      type: object
      description: >-
        Zusammenfassungszeile für eine Benutzerverifizierungs-Sitzung (KYC).
        Identitätsfelder (`full_name`, `country`, `document_type`,
        `portrait_image`, Kontaktfelder) werden schrittweise ausgefüllt, während
        der Benutzer die Verifizierungsschritte abschließt, und sind `null`, bis
        der entsprechende Schritt abgeschlossen ist. Felder, die durch die
        Konfiguration der Antwortattribute des Workflows eingeschränkt sind,
        werden ebenfalls als `null` zurückgegeben.
      required:
        - session_id
        - session_kind
        - session_number
        - session_url
        - portrait_image
        - document_type
        - full_name
        - country
        - status
        - vendor_data
        - didit_internal_id
        - created_at
        - features
        - phone_number
        - email_address
        - additional_details
      properties:
        session_id:
          type: string
          format: uuid
          description: >-
            Eindeutige Kennung der Verifizierungssitzung. Verwenden Sie sie mit
            `GET /v3/session/{sessionId}/decision/`, um die vollständige
            Entscheidungs-Payload abzurufen.
          example: 5b3720ed-d429-42ef-b67f-37ea805f48ee
        session_kind:
          type: string
          enum:
            - user
          description: >-
            Zeilen-Diskriminator. Immer `"user"` für KYC-Zeilen; Zeilen der
            Unternehmensverifizierung (KYB) enthalten `"business"` und haben
            eine andere Struktur.
          example: user
        session_number:
          type: integer
          description: >-
            Benutzerfreundliche fortlaufende Nummer der Sitzung innerhalb Ihrer
            Anwendung. Wird auch über den Parameter `search` gefunden.
          example: 720
        session_url:
          type: string
          nullable: true
          description: >-
            Gehostete Verifizierungs-URL, die der Endbenutzer öffnet, um den
            Ablauf abzuschließen. `null`, wenn die Sitzung keine gehostete URL
            hat.
          example: https://verify.didit.me/session/CuXoBYCYVO5Y
        portrait_image:
          type: string
          nullable: true
          description: >-
            Ablaufende (vorsignierte) URL des besten verfügbaren Porträts: das
            NFC-Chip-Foto, sofern verfügbar, andernfalls das Porträt des
            Ausweisdokuments, andernfalls das Liveness-Referenzbild. `null`, bis
            eines davon existiert. Bitte zeitnah herunterladen; der Link läuft
            ab.
          example: >-
            https://<media-host>/portraits/5b3720ed.jpg?X-Amz-Expires=3600&X-Amz-Signature=...
        document_type:
          type: string
          nullable: true
          enum:
            - Passport
            - Identity Card
            - Driver's License
            - Residence Permit
            - Health Insurance Card
            - Tax Card
          description: >-
            Für Menschen lesbarer Typ des verifizierten Ausweisdokuments.
            `null`, bevor die Dokumentenverifizierung abgeschlossen ist, sowie
            `null` nach Abschluss, wenn der verifizierte Code kein
            Anzeige-Mapping hat (`SSC`, `WP`, `VISA`, `PSC`, `BC`, `OTHER`).
            Hinweis: Der Abfrageparameter `document_type` filtert nach Kurzcodes
            (`P`, `ID`, `DL`, `RP`, ...), nicht nach diesen Anzeigewerten.
          example: Passport
        full_name:
          type: string
          nullable: true
          description: >-
            Bester verfügbarer vollständiger Name für die Sitzung, aufgelöst in
            dieser Reihenfolge: OCR des Ausweisdokuments, per AML geprüfte
            Daten, per Datenbankvalidierung geprüfte Daten,
            Adressnachweis-Dokument, dann die bei der Sitzungserstellung
            angegebenen erwarteten Details. `null`, wenn noch keiner verfügbar
            ist.
          example: Jane Marie Doe
        country:
          type: string
          nullable: true
          description: >-
            Der Sitzung zugeordnetes ISO 3166-1-Alpha-3-Land, aufgelöst in
            dieser Reihenfolge: Ausstellungsstaat des Ausweisdokuments,
            Ausstellungsstaat der Datenbankvalidierung, Ausstellungsstaat des
            Adressnachweises, erwartete Angaben, dann das Land des verifizierten
            Telefons. Kann von der Staatsangehörigkeit abweichen.
          example: ESP
        status:
          type: string
          enum:
            - Not Started
            - In Progress
            - Approved
            - Declined
            - In Review
            - Expired
            - Abandoned
            - Kyc Expired
            - Resubmitted
            - Awaiting User
          description: >-
            Gesamter Sitzungsstatus. Den Lebenszyklus finden Sie auf der Seite
            [Verifizierungsstatus](/de/integration/verification-statuses).
          example: Approved
        vendor_data:
          type: string
          nullable: true
          description: >-
            Ihre eigene Kennung für den Endbenutzer, exakt so zurückgegeben, wie
            bei der Sitzungserstellung übermittelt.
          example: your-user-id-123
        didit_internal_id:
          type: string
          format: uuid
          nullable: true
          description: >-
            Didits interne Kennung für das verifizierte Benutzerprofil hinter
            dieser Sitzung. Stabil über mehrere Sitzungen desselben Benutzers
            hinweg; filterbar über den Abfrageparameter `didit_internal_id`.
          example: d9e78474-6c8d-4f2a-bb90-6f5c2f3a1147
        created_at:
          type: string
          format: date-time
          description: UTC-Zeitstempel, zu dem die Sitzung erstellt wurde.
          example: '2026-06-09T12:26:54.328364Z'
        features:
          type: array
          description: >-
            Status pro Funktion für jeden im Workflow der Sitzung konfigurierten
            Verifizierungsschritt, in der Reihenfolge des Workflows.
          items:
            type: object
            required:
              - feature
              - status
            properties:
              feature:
                type: string
                enum:
                  - ID_VERIFICATION
                  - NFC
                  - LIVENESS
                  - FACE_MATCH
                  - POA
                  - QUESTIONNAIRE
                  - EMAIL_VERIFICATION
                  - PHONE
                  - AML
                  - IP_ANALYSIS
                  - AGE_ESTIMATION
                  - DATABASE_VALIDATION
                  - GEOLOCATION
                description: Kennung der Verifizierungsfunktion.
                example: ID_VERIFICATION
              status:
                type: string
                enum:
                  - Not Finished
                  - Approved
                  - Declined
                  - In Review
                  - Resub Requested
                description: >-
                  Status dieser Funktion. `Not Finished`, bis der Schritt
                  abgeschlossen ist.
                example: Approved
        phone_number:
          type: object
          nullable: true
          description: >-
            Mit der Sitzung verknüpfte Telefonnummer: die verifizierte
            Telefonnummer, wenn die Telefonverifizierung ausgeführt wurde,
            andernfalls die bei der Sitzungserstellung angegebene
            Kontakttelefonnummer. `null`, wenn keine von beiden vorhanden ist.
          required:
            - number
            - is_verified
          properties:
            number:
              type: string
              description: Telefonnummer im E.164-Format.
              example: '+14155552671'
            is_verified:
              type: boolean
              description: >-
                `true` nur, wenn die Funktion zur Telefonverifizierung diese
                Nummer genehmigt hat.
              example: true
        email_address:
          type: object
          nullable: true
          description: >-
            Mit der Sitzung verknüpfte E-Mail: die verifizierte E-Mail, wenn die
            E-Mail-Verifizierung durchgeführt wurde, andernfalls die bei der
            Sitzungserstellung angegebene Kontakt-E-Mail. `null`, wenn keine von
            beiden existiert.
          required:
            - email
            - is_verified
          properties:
            email:
              type: string
              format: email
              example: jane@example.com
            is_verified:
              type: boolean
              description: >-
                `true` nur, wenn die Funktion zur E-Mail-Verifizierung diese
                Adresse genehmigt hat.
              example: true
        additional_details:
          type: object
          nullable: true
          description: >-
            Kompakte Zusatzdaten pro Funktion. Nur Funktionen, die Daten
            generiert haben, erscheinen als Schlüssel; `null`, wenn keine
            Funktion Zusatzdaten generiert hat. Felder, die durch die
            Konfiguration der Antwortattribute des Workflows ausgeschlossen
            wurden, werden weggelassen.
          properties:
            aml:
              type: object
              description: Vorhanden, wenn das AML-Screening ausgeführt wurde.
              properties:
                total_hits:
                  type: integer
                  description: Anzahl der Treffer beim AML-Screening.
                  example: 0
                entity_type:
                  type: string
                  description: Typ der überprüften Entität.
                  example: person
                is_adverse_media_fetched:
                  type: boolean
                  example: false
                screened_data:
                  type: object
                  description: >-
                    Teilmenge der Daten, die überprüft wurden. Nur nicht-leere
                    Schlüssel sind enthalten.
                  properties:
                    nationality:
                      type: string
                      example: ESP
                    document_number:
                      type: string
                      example: XX1234567
                    date_of_birth:
                      type: string
                      example: '1990-05-21'
            database_validation:
              type: object
              description: Vorhanden, wenn die Datenbankvalidierung ausgeführt wurde.
              properties:
                validation_type:
                  type: string
                  example: DOCUMENT_VALIDATION
                match_type:
                  type: string
                  example: FULL_MATCH
                identification_number:
                  type: string
                  description: >-
                    Validierte Steuer-, Personen- oder Dokumentennummer (erste
                    verfügbare).
                  example: 12345678Z
            poa:
              type: object
              description: Vorhanden, wenn der Adressnachweis ausgeführt wurde.
              properties:
                document_type:
                  type: string
                  example: UTILITY_BILL
                issuer:
                  type: string
                  example: Energy Co
                address:
                  type: string
                  example: Calle Mayor 1, 28013 Madrid
                name_on_document:
                  type: string
                  example: Jane Marie Doe
            liveness:
              type: object
              description: Vorhanden, wenn eine Liveness-Erkennung ausgeführt wurde.
              properties:
                method:
                  type: string
                  example: PASSIVE
                score:
                  type: number
                  description: Konfidenzwert der Liveness, auf 2 Nachkommastellen gerundet.
                  example: 0.98
            face_match:
              type: object
              description: Vorhanden, wenn der Gesichtsabgleich ausgeführt wurde.
              properties:
                score:
                  type: number
                  description: >-
                    Ähnlichkeitswert des Gesichtsabgleichs, gerundet auf 2
                    Nachkommastellen.
                  example: 0.95
                source_image:
                  type: string
                  description: Ablaufende (vorsignierte) URL des Quell-Gesichtsbilds.
                  example: https://<media-host>/faces/source.jpg?X-Amz-Expires=3600&...
                target_image:
                  type: string
                  description: Ablaufende (vorsignierte) URL des Ziel-Gesichtsbilds.
                  example: https://<media-host>/faces/target.jpg?X-Amz-Expires=3600&...
            phone_verification:
              type: object
              description: Vorhanden, wenn die Telefonverifizierung ausgeführt wurde.
              properties:
                country_code:
                  type: string
                  description: ISO 3166-1-Alpha-2-Land der Telefonnummer.
                  example: US
                is_temporary:
                  type: boolean
                  example: false
                is_ported:
                  type: boolean
                  example: false
                is_blocked:
                  type: boolean
                  example: false
            email_verification:
              type: object
              description: Vorhanden, wenn die E-Mail-Verifizierung ausgeführt wurde.
              properties:
                is_breached:
                  type: boolean
                  example: false
                is_disposable:
                  type: boolean
                  example: false
                is_undeliverable:
                  type: boolean
                  example: false
                is_blocklisted:
                  type: boolean
                  example: false
        assignee:
          type: object
          nullable: true
          description: >-
            Der Konsolen-Prüfer, dem die Sitzung zugewiesen ist, oder `null`,
            wenn sie niemandem zugewiesen ist.
          properties:
            email:
              type: string
              format: email
            assigned_at:
              type: string
              format: date-time
              nullable: true
        waiting_since:
          type: string
          format: date-time
          nullable: true
          description: >-
            Wann die Sitzung begonnen hat, auf eine Prüfung zu warten. `null`,
            es sei denn, die Sitzung ist `In Review`.
        sla_due_at:
          type: string
          format: date-time
          nullable: true
          description: >-
            Wann die Prüfung fällig ist, basierend auf der für Ihre Anwendung in
            der Console festgelegten Prüffrist. `null`, es sei denn, die Sitzung
            ist `In Review` und eine Frist ist festgelegt.
        top_warnings:
          type: array
          description: >-
            Bis zu einigen der wichtigsten Warnungen der Sitzung für eine
            schnelle Triage-Übersicht. Die vollständige Liste befindet sich in
            der Entscheidung.
          items:
            type: object
            properties:
              risk:
                type: string
                description: Warncode, zum Beispiel `FACE_MATCH_LOW_SIMILARITY`.
              feature:
                type: string
                description: Die Funktion, die sie ausgelöst hat.
              log_type:
                type: string
                nullable: true
                description: '`error` oder `warning`; `null` für einen Legacy-Eintrag.'
              short_description:
                type: string
        warnings_count:
          type: integer
          description: Anzahl der Warnungen zur Sitzung.
    BusinessSessionListItem:
      title: 'KYB session row (session_kind: business)'
      type: object
      description: >-
        Zusammenfassungszeile für eine Unternehmensverifizierungs-Sitzung (KYB).
        Wird nur zurückgegeben, wenn `session_kind` den Wert `business` oder
        `all` hat.
      required:
        - session_id
        - session_kind
        - session_number
        - status
        - vendor_data
        - created_at
        - workflow_id
        - workflow_type
        - workflow_label
        - company_name
        - registration_number
        - country
      properties:
        session_id:
          type: string
          format: uuid
          description: Eindeutige Kennung der Unternehmensverifizierungssitzung.
          example: 8a1f63c2-1b9e-4f3a-9c41-2f6a1f0b7d52
        session_kind:
          type: string
          enum:
            - business
          description: Zeilen-Diskriminator. Immer `"business"` für KYB-Zeilen.
          example: business
        session_number:
          type: integer
          description: >-
            Benutzerfreundliche fortlaufende Nummer der Unternehmenssitzung
            innerhalb Ihrer Anwendung. Unabhängig von KYC-Sitzungen nummeriert.
          example: 42
        status:
          type: string
          enum:
            - Not Started
            - In Progress
            - Approved
            - Declined
            - In Review
            - Expired
            - Abandoned
            - Kyc Expired
            - Resubmitted
            - Awaiting User
          description: >-
            Gesamter Sitzungsstatus. Siehe die Seite
            [Verifizierungsstatus](/de/integration/verification-statuses).
          example: Approved
        vendor_data:
          type: string
          nullable: true
          description: >-
            Ihre eigene Kennung für das Unternehmen, exakt so zurückgegeben, wie
            bei der Sitzungserstellung übermittelt.
          example: your-company-id-77
        created_at:
          type: string
          format: date-time
          description: UTC-Zeitstempel, zu dem die Sitzung erstellt wurde.
          example: '2026-06-08T09:14:02.118450Z'
        workflow_id:
          type: string
          format: uuid
          nullable: true
          description: Kennung des Workflows, mit dem diese Sitzung erstellt wurde.
          example: 9f9b1234-aaaa-bbbb-cccc-1234567890ab
        workflow_type:
          type: string
          nullable: true
          description: Workflow-Typ. `kyb` für Unternehmens-Workflows.
          example: kyb
        workflow_label:
          type: string
          nullable: true
          description: Anzeigename des Workflows.
          example: Standard KYB
        company_name:
          type: string
          nullable: true
          description: >-
            Name des zu verifizierenden Unternehmens aus dem mit der Sitzung
            verknüpften Registerunternehmen. `null`, bis ein Unternehmen
            ausgewählt wird.
          example: Acme Holdings S.L.
        registration_number:
          type: string
          nullable: true
          description: >-
            Registernummer des mit der Sitzung verknüpften Unternehmens aus dem
            Register.
          example: B12345678
        country:
          type: string
          nullable: true
          description: Ländercode des mit der Sitzung verknüpften Registerunternehmens.
          example: ES
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Der API-Schlüssel Ihrer Anwendung, aus Entwickler -> API-Schlüssel in
        der Business Console. Der Primärschlüssel hat Vollzugriff. Ein benannter
        Schlüssel kann im Geltungsbereich eingeschränkt werden: keine, Lese-
        oder Schreibberechtigung pro Ressource, beschränkt auf bestimmte
        Workflows oder genehmigte Sitzungen, auf eine Liste von IP-Adressen und
        auf ein Ablaufdatum. 401 bedeutet, dass der Schlüssel falsch, widerrufen
        oder abgelaufen ist; 403 bedeutet, dass kein Schlüssel gesendet wurde,
        der Schlüssel keinen Zugriff auf diese Ressource oder Aktion hat oder
        die Anfrage von einer Adresse außerhalb seiner IP-Liste stammte; 404 bei
        einer Sitzungsroute bedeutet, dass die Sitzung außerhalb der Workflows
        oder Status des Schlüssels liegt. Ein Schlüssel ohne Medienzugriff
        erhält Bild-, Video- und PDF-URLs als null, und ein Schlüssel ohne
        Schreibberechtigung für Sitzungen erhält Sitzungslinks und Token als
        null. Siehe https://docs.didit.me/console/api-keys.

````

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