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

# KYC-Sitzung für Schlüsselpersonen neu erstellen

> Mit Didit neue KYC-Sitzung für Schlüsselperson erstellen, deren Sitzung gelöscht oder abgelaufen ist, und neuen Link per E-Mail senden.



Prompt für die API zum Neuerzeugen einer KYC-Sitzung für Schlüsselpersonen
        Prompt in die Zwischenablage kopieren



      
      

\<pre>

\`Give a Key People party of a Didit Business Verification (KYB) session a new individual KYC session through the API.

Endpoint:
POST https://verification.didit.me/v3/session/{session_id}/kyb/parties/{party_uuid}/regenerate/
(no request body)

Authentication:
Send my Didit API key in the x-api-key header. A scoped key needs decisions: write.

Goal:
\- Re-verify a person (UBO, director, other key person) whose individual KYC session was deleted, or expired before the person started it. Neither link lets the person complete verification. An expired child can cause the business session to become Declined; regenerate the party to issue a fresh link.

Behavior:
\- {session_id} is the parent business session; {party_uuid} is key_people_checks[].submitted.parties[].uuid from its decision and must belong to that session.
\- Works when the party's KYC session was deleted (kyc_session_deleted: true) or expired before the person started it. A session still in progress or one that ended in another status (Approved, Declined, In Review, Abandoned...) returns 409 unless it was deleted. A party that never had one or a company party always returns 409.
\- Deleted sessions qualify even if the person had already started or finished verification. Imported sessions do not qualify through expiry; they must have been deleted.
\- Didit creates a new hosted KYC session for the person, with the workflow the party was verified with (its latest published version) or, when that is no longer known, the workflow my Key People settings assign to the person's role. The new link lasts that KYC workflow's session expiration time, not the business session's. Its vendor_data is kyb-party-PARTY_UUID.
\- Didit emails the verification link to the party's email, when there is one.
\- is_skipped is cleared, so the Key People check waits on the new session.
\- The Key People check and the business session status are recomputed at once.
\- A data.updated webhook is sent for the business session with trigger "console_key_people_regenerate".
\- To exempt the party instead of re-verifying them, use PATCH /v3/session/{session_id}/kyb/parties/{party_uuid}/ with {"is_skipped": true}.

Example call:
curl -X POST "https://verification.didit.me/v3/session/33333333-4444-5555-6666-777777777777/kyb/parties/0a3f1e2c-7c2f-4a1b-9d55-2f8d2a5d6b41/regenerate/" \
-H "x-api-key: YOUR_API_KEY"

What to read from the response (the updated party):
\- kyc_session_id: the new KYC session.
\- kyc_session_url: its hosted link, to share yourself if the party has no email. A scoped key without sessions: write receives it as null.
\- kyc_session_status (Not Started), kyc_session_deleted (false), is_skipped (false).

Failure modes:
\- 401: the API key has expired.
\- 403: missing key (a wrong, revoked or expired key gets 401), a key of another application, a scoped key without decisions: write, or a request from outside the key's IP allowlist.
\- 404: the session does not exist, was deleted, or is outside a scoped key's limits; no party has this UUID; or the party belongs to another session.
\- 409 with code kyb_party_kyc_session_not_deleted: no eligible KYC session to replace. A person qualifies only when their session was deleted or a non-imported session expired before the person started it. All other sessions, a party that never had one, and company parties are rejected.

Side effects: creates a KYC session, may send an email to the party, recomputes the business session status and sends a data.updated webhook.

For the full integration shape, see /integration/integration-prompt.`

\</pre>



      
      

Einfügen in

Verwenden Sie diese Anleitung, wenn der vorherige Link nicht mehr funktioniert: Die Sitzung wurde gelöscht oder ist abgelaufen, bevor die Person sie gestartet hat. Gelöschte Sitzungen qualifizieren sich auch dann, wenn die Person die Verifizierung bereits begonnen oder abgeschlossen hatte. Importierte Sitzungen qualifizieren sich nicht aufgrund des Ablaufs; sie müssen gelöscht worden sein. Eine Sitzung, die nicht gelöscht wurde und die die Person bereits gestartet hatte, qualifiziert sich nicht aufgrund des Ablaufs.Die neue Sitzung ist mit derselben Partei verknüpft, sodass ihr Ergebnis wie das Ergebnis der ursprünglichen Sitzung in die Prüfung der Schlüsselpersonen einfließt. Der Link ist für die Sitzungsdauer des KYC-Workflows gültig, den die neue Sitzung ausführt (1 Stunde bis 4 Wochen), nicht für die der Unternehmenssitzung geltende Dauer. Lesen Sie die Partei und ihre untergeordneten Sitzungen in der [Entscheidung zur Unternehmenssitzung](https://docs.didit.me/de/business-verification/response-schema.md#key_people_checks). Wenn die Person überhaupt nicht verifiziert werden soll, überspringen Sie stattdessen [die Partei](https://docs.didit.me/de/sessions-api/update-data.md#eine-partei-der-schlüsselpersonen-überspringen). Informationen dazu, wie Parteien und ihre Verifizierungen funktionieren, finden Sie unter [Schlüsselpersonen](https://docs.didit.me/de/business-verification/key-people.md).


## OpenAPI

````yaml de/openapi-25.json POST /v3/session/{sessionId}/kyb/parties/{partyUuid}/regenerate/
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/session/{sessionId}/kyb/parties/{partyUuid}/regenerate/:
    post:
      tags:
        - Sessions
      summary: KYC-Sitzung einer Schlüsselperson (Key People) neu generieren
      description: >-
        Erstellen Sie für eine Schlüsselpersonen-Partei einer
        Unternehmensverifizierungs-Sitzung (KYB) eine neue individuelle
        KYC-Sitzung, nachdem deren vorherige gelöscht wurde oder abgelaufen ist,
        bevor die Person sie gestartet hat, damit die Schlüsselpersonen-Prüfung
        erneut abgeschlossen werden kann; senden Sie keinen Anfrage-Body. Dies
        funktioniert, wenn die KYC-Sitzung der Partei gelöscht wurde
        (`kyc_session_deleted: true`) oder abgelaufen ist, bevor die Person sie
        gestartet hat (`Expired`, nie gestartet). Eine noch laufende Sitzung
        oder eine, die in einem anderen Status geendet hat (`Approved`,
        `Declined`, `In Review`, `Abandoned`, ...), gibt `409` zurück, es sei
        denn, sie wurde gelöscht. Eine Partei, die nie eine Sitzung hatte, oder
        eine Unternehmenspartei gibt immer `409` zurück. Didit erstellt eine
        neue gehostete KYC-Sitzung mit dem Workflow, mit dem die Partei
        verifiziert wurde (seine neueste veröffentlichte Version), oder, wenn
        dieser nicht mehr bekannt ist, mit dem Workflow, den Ihre
        Schlüsselpersonen-Einstellungen der Rolle der Partei zuweisen, sodass
        der Link für die Dauer der Sitzungsablaufzeit dieses KYC-Workflows
        gültig ist; Didit sendet den Link per E-Mail an die Partei, wenn eine
        E-Mail-Adresse hinterlegt ist, setzt `is_skipped` zurück und berechnet
        die Schlüsselpersonen-Prüfung sowie den Status der Unternehmenssitzung
        neu. Anschließend wird ein
        `data.updated`-[Webhook](https://docs.didit.me/de/integration/webhooks)
        für die Unternehmenssitzung mit dem Auslöser
        `console_key_people_regenerate` gesendet; um die Partei stattdessen
        auszunehmen, verwenden Sie `PATCH
        /v3/session/{sessionId}/kyb/parties/{partyUuid}/`. Ein
        berechtigungsbeschränkter API-Schlüssel erfordert `decisions: write`,
        und ohne `sessions: write` erhält er `kyc_session_url` als `null`.
        Gelöschte Sitzungen sind auch dann berechtigt, wenn die Person die
        Verifizierung bereits gestartet oder abgeschlossen hatte. Importierte
        Sitzungen gelten nicht aufgrund ihres Ablaufs als geeignet; sie müssen
        gelöscht worden sein.
      operationId: post_v3_session_kyb_party_regenerate
      parameters:
        - name: sessionId
          in: path
          required: true
          description: UUID der übergeordneten Sitzung zur Unternehmensverifizierung (KYB).
          schema:
            type: string
            format: uuid
            example: 33333333-4444-5555-6666-777777777777
        - name: partyUuid
          in: path
          required: true
          description: >-
            UUID der Partei der Schlüsselpersonen
            (`key_people_checks[].submitted.parties[].uuid` in der Entscheidung
            der Unternehmenssitzung). Muss zu der durch `sessionId`
            referenzierten Sitzung gehören.
          schema:
            type: string
            format: uuid
            example: 0a3f1e2c-7c2f-4a1b-9d55-2f8d2a5d6b41
      responses:
        '200':
          description: >-
            Neue KYC-Sitzung erstellt. Gibt die aktualisierte Partei mit ihrer
            neuen untergeordneten Sitzung zurück, die nach Ablauf der
            Sitzungsdauer ihres KYC-Workflows abläuft.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KYBKeyPeopleParty'
              example:
                uuid: 0a3f1e2c-7c2f-4a1b-9d55-2f8d2a5d6b41
                entity_type: person
                source: USER
                name: Jane Smith
                first_name: Jane
                last_name: Smith
                company_name: null
                registration_number: null
                email: user@example.com
                nationality: GB
                phone_number: null
                date_of_birth: '1980-05-04'
                position: Director
                custom_fields: {}
                is_active: true
                is_skipped: false
                requires_verification: true
                roles:
                  - role: director
                    ownership_percent: null
                    voting_percent: null
                kyc_session_id: 55555555-6666-7777-8888-999999999999
                kyc_session_status: Not Started
                kyc_session_url: https://verify.didit.me/session/abc123def456
                kyc_session_deleted: false
                kyb_sub_session_id: null
                kyb_sub_session_status: null
                kyb_sub_session_url: null
                kyb_sub_session_deleted: false
                verification_workflow_type: kyc
                verification_workflow_id: 12121212-3434-5656-7878-909090909090
                verification_workflow_label: Key People KYC
                verification_workflow_features:
                  - feature: ID_VERIFICATION
                    status: Not Finished
                  - feature: LIVENESS
                    status: Not Finished
                  - feature: AML
                    status: Not Finished
                didit_internal_id: null
        '401':
          description: >-
            Der API-Schlüssel mit eingeschränktem Geltungsbereich ist
            abgelaufen. Dies ist der einzige Fall, der `401` zurückgibt: Ein
            fehlender, ungültiger oder widerrufener Schlüssel gibt `403` zurück.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                    description: Lesbare Fehlermeldung.
              examples:
                Expired key:
                  summary: Das Ablaufdatum des Schlüssels ist überschritten
                  value:
                    detail: This API key has expired.
        '403':
          description: >-
            Authentifizierungs- oder Autorisierungsfehler. Ein fehlender
            Schlüssel gibt `403` zurück, ebenso wie der Schlüssel einer anderen
            Anwendung, ein berechtigungsbeschränkter Schlüssel ohne die für
            diesen Endpoint erforderliche Berechtigung sowie eine Anfrage von
            außerhalb der IP-Allowlist des Schlüssels; ein falscher,
            widerrufener oder abgelaufener Schlüssel gibt `401` zurück.
            Unterscheiden Sie diese anhand von `detail`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                    description: Lesbare Fehlermeldung.
              examples:
                Missing or invalid credentials:
                  summary: >-
                    Kein x-api-key-Header vorhanden oder die Validierung des
                    Schlüssels ist fehlgeschlagen
                  value:
                    detail: >-
                      Authentication credentials were not provided or are
                      invalid.
                Other application:
                  summary: >-
                    Ein gültiger Schlüssel, der zu einer anderen Anwendung als
                    die Sitzung gehört
                  value:
                    detail: You do not have permission to perform this action.
                Scoped key without decisions write:
                  summary: >-
                    Dem Schlüssel mit eingeschränktem Berechtigungsumfang fehlt
                    decisions: write
                  value:
                    detail: This API key has no write access to decisions.
                IP not allowed:
                  summary: Anfrage von außerhalb der IP-Allowlist des Schlüssels
                  value:
                    detail: This API key can't be used from this IP address.
        '404':
          description: >-
            Die Sitzung existiert nicht, wurde gelöscht oder liegt außerhalb der
            Beschränkungen eines Scoped Keys; in Ihrer Anwendung existiert keine
            Partei mit dieser UUID; oder die Partei gehört zu einer anderen
            Sitzung. Jeder Fall hat ein eigenes `detail`. Die Sitzungssuche
            erfolgt vor der Prüfung der Anmeldedaten, sodass eine unbekannte
            `sessionId` auch ohne gültigen Schlüssel `404` zurückgibt.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                    description: Lesbare Fehlermeldung.
              examples:
                Unknown session:
                  summary: >-
                    Es existiert keine Sitzung mit dieser ID oder sie wurde
                    gelöscht
                  value:
                    detail: Not found.
                Outside key limits:
                  summary: >-
                    Die Sitzung liegt außerhalb der Beschränkungen eines Scoped
                    Keys hinsichtlich des Workflows oder der Beschränkung auf
                    genehmigte Sitzungen
                  value:
                    detail: Session not found.
                Unknown party:
                  summary: Keine Partei mit dieser UUID in Ihrer Anwendung
                  value:
                    detail: No BusinessParty matches the given query.
                Party of another session:
                  summary: partyUuid existiert, gehört aber zu einer anderen Sitzung
                  value:
                    detail: Party does not belong to the given session.
        '409':
          description: >-
            Die Partei verfügt über keine berechtigte KYC-Sitzung, die ersetzt
            werden könnte. Sofern sie nicht gelöscht wurde, kann eine noch
            laufende Sitzung oder eine Sitzung, die in einem anderen Status
            (`Approved`, `Declined`, `In Review`, `Abandoned`, ...) geendet hat,
            nicht neu generiert werden. Eine Partei, die nie eine hatte, oder
            eine Unternehmenspartei gibt ebenfalls `409` zurück. Eine
            berechtigte Sitzung wurde gelöscht oder ist abgelaufen, bevor die
            Person sie gestartet hat. Gelöschte Sitzungen qualifizieren sich
            selbst dann, wenn die Person die Verifizierung bereits gestartet
            oder abgeschlossen hatte. Importierte Sitzungen qualifizieren sich
            nicht durch Ablauf; sie müssen gelöscht worden sein. Verzweigen Sie
            nach `code`.
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                  - code
                properties:
                  detail:
                    type: string
                    description: Lesbare Fehlermeldung.
                  code:
                    type: string
                    enum:
                      - kyb_party_kyc_session_not_deleted
                    description: Stabiler maschinenlesbarer Fehlercode.
              example:
                detail: >-
                  This party's KYC session is still live (it has neither been
                  deleted nor expired without starting), so it cannot be
                  regenerated.
                code: kyb_party_kyc_session_not_deleted
        '429':
          description: >-
            Rate-Limit überschritten: 300 Schreibanfragen (POST, PATCH, DELETE)
            pro Minute pro API-Schlüssel. Warten Sie `Retry-After` Sekunden vor
            einem Wiederholungsversuch; die `X-RateLimit-*`-Header zeigen das
            Budget an.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
                    description: Lesbare Fehlermeldung.
              examples:
                Rate limited:
                  summary: Budget für die aktuelle Minute erschöpft
                  value:
                    detail: >-
                      Write request rate limit exceeded. You can make up to 300
                      requests per minute.
          headers:
            Retry-After:
              description: >-
                Sekunden, die vor einem Wiederholungsversuch gewartet werden
                müssen.
              schema:
                type: integer
                minimum: 1
                example: 30
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X POST
            'https://verification.didit.me/v3/session/33333333-4444-5555-6666-777777777777/kyb/parties/0a3f1e2c-7c2f-4a1b-9d55-2f8d2a5d6b41/regenerate/'
            \
              -H 'x-api-key: YOUR_API_KEY'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.sessions.regenerate_kyb_party(
                "33333333-4444-5555-6666-777777777777",
                "0a3f1e2c-7c2f-4a1b-9d55-2f8d2a5d6b41",
            )
            print(result)
        - lang: javascript
          label: Node.js
          source: |-
            import Didit from "@didit-protocol/sdk-node";

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

            const result = await didit.sessions.regenerateKybParty(
              "33333333-4444-5555-6666-777777777777",
              "0a3f1e2c-7c2f-4a1b-9d55-2f8d2a5d6b41",
            );
            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Sessions.RegenerateKYBParty(ctx, \"33333333-4444-5555-6666-777777777777\", \"0a3f1e2c-7c2f-4a1b-9d55-2f8d2a5d6b41\")\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: >-
            import me.didit.Didit;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.sessions().regenerateKybParty("33333333-4444-5555-6666-777777777777",
            "0a3f1e2c-7c2f-4a1b-9d55-2f8d2a5d6b41");

            System.out.println(result);
        - lang: php
          label: PHP
          source: >-
            <?php


            require 'vendor/autoload.php';


            use Didit\DiditClient;


            // Reads DIDIT_API_KEY.

            $didit = new DiditClient();


            $result =
            $didit->sessions->regenerateKybParty('33333333-4444-5555-6666-777777777777',
            '0a3f1e2c-7c2f-4a1b-9d55-2f8d2a5d6b41');

            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            result = didit.sessions.regenerate_kyb_party(
              "33333333-4444-5555-6666-777777777777",
              "0a3f1e2c-7c2f-4a1b-9d55-2f8d2a5d6b41"
            )
            puts result.to_h
        - lang: csharp
          label: .NET
          source: >-
            using System;

            using System.Text.Json;

            using Didit;


            // Reads DIDIT_API_KEY.

            using var client = new DiditClient();


            var result = await
            client.Sessions.RegenerateKybPartyAsync("33333333-4444-5555-6666-777777777777",
            "0a3f1e2c-7c2f-4a1b-9d55-2f8d2a5d6b41");

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    KYBKeyPeopleParty:
      type: object
      description: >-
        Eine Partei aus den Schlüsselpersonen einer Sitzung zur
        Unternehmensverifizierung (KYB) mit ihrer untergeordneten Verifizierung.
        Dieselbe Partei erscheint in `key_people_checks[].submitted.parties[]`
        der Entscheidung zur Unternehmenssitzung.
      required:
        - uuid
        - entity_type
        - source
        - name
        - is_active
        - is_skipped
        - requires_verification
        - roles
        - kyc_session_deleted
        - kyb_sub_session_deleted
      properties:
        uuid:
          type: string
          format: uuid
          description: Parteien-ID.
        entity_type:
          type: string
          enum:
            - person
            - company
          description: Gibt an, ob die Partei eine Einzelperson oder ein Unternehmen ist.
        source:
          type: string
          enum:
            - REGISTRY
            - USER
          description: >-
            `REGISTRY`: Aus dem Unternehmensregister übernommen. `USER`: Im
            Bildschirm „Schlüsselpersonen“ eingegeben.
        name:
          type: string
          description: Anzeigename der Partei.
        first_name:
          type: string
          nullable: true
          description: Vorname (Personen).
        last_name:
          type: string
          nullable: true
          description: Nachname (Personen).
        company_name:
          type: string
          nullable: true
          description: Unternehmensname (Unternehmensparteien).
        registration_number:
          type: string
          nullable: true
          description: Unternehmensregisternummer (Unternehmensparteien).
        email:
          type: string
          format: email
          nullable: true
          description: E-Mail-Adresse, an die der Verifizierungslink gesendet wird.
        nationality:
          type: string
          nullable: true
          description: Staatsangehörigkeit für Personen, Gründungsland für Unternehmen.
        phone_number:
          type: string
          nullable: true
          description: Für die Partei erfasste Telefonnummer.
        date_of_birth:
          type: string
          format: date
          nullable: true
          description: Geburtsdatum (Personen).
        position:
          type: string
          nullable: true
          description: Freitext-Berufsbezeichnung (Personen).
        custom_fields:
          type: object
          additionalProperties: true
          description: >-
            Vom Workflow definierte benutzerdefinierte Felder, die für die
            Partei erfasst wurden, indiziert nach Feldschlüssel.
        is_active:
          type: boolean
          description: Gibt an, ob die Partei aktiv ist.
        is_skipped:
          type: boolean
          description: >-
            Gibt an, ob die Partei von der Verifizierung ausgenommen ist. Ein
            erneutes Generieren hebt dies auf.
        requires_verification:
          type: boolean
          description: >-
            Gibt an, ob die Rollen- und Eigentümerstruktur-Regeln eine
            Verifizierung für diese Partei vorschreiben.
        roles:
          type: array
          description: Rollen, die die Partei im Unternehmen innehat.
          items:
            type: object
            required:
              - role
              - ownership_percent
              - voting_percent
            properties:
              role:
                type: string
                enum:
                  - director
                  - non_executive_director
                  - secretary
                  - chairman
                  - ubo
                  - shareholder
                  - representative
                  - founder
                  - legal_advisor
                  - authorized_signatory
                  - trustee
                  - beneficiary
                  - settlor
                  - protector
                  - company_officer
                  - investor
                  - other
                description: Rollencode.
              ownership_percent:
                type: number
                nullable: true
                description: Eigentumsanteil in Prozent für diese Rolle, sofern bekannt.
              voting_percent:
                type: number
                nullable: true
                description: Stimmrechtsanteil für diese Rolle, sofern bekannt.
        kyc_session_id:
          type: string
          format: uuid
          nullable: true
          description: Untergeordnete individuelle KYC-Sitzung (Personen).
        kyc_session_status:
          type: string
          nullable: true
          enum:
            - Not Started
            - In Progress
            - Approved
            - Declined
            - In Review
            - Expired
            - Abandoned
            - Kyc Expired
            - Resubmitted
            - Awaiting User
            - null
          description: >-
            Status der untergeordneten KYC-Sitzung. Eine gelöschte Sitzung
            behält den Status, den sie zum Zeitpunkt der Löschung hatte.
        kyc_session_url:
          type: string
          format: uri
          nullable: true
          description: >-
            Gehosteter Link der untergeordneten KYC-Sitzung. `null`, wenn keine
            vorhanden ist oder sie gelöscht wurde, sowie bei einem
            berechtigungseingeschränkten API-Schlüssel ohne `sessions: write`.
        kyc_session_deleted:
          type: boolean
          description: >-
            Die untergeordnete KYC-Sitzung wurde gelöscht, sodass sie niemals
            abgeschlossen werden kann.
        kyb_sub_session_id:
          type: string
          format: uuid
          nullable: true
          description: Untergeordnete KYB-Sitzung (Unternehmensparteien).
        kyb_sub_session_status:
          type: string
          nullable: true
          enum:
            - Not Started
            - In Progress
            - Approved
            - Declined
            - In Review
            - Expired
            - Abandoned
            - Kyc Expired
            - Resubmitted
            - Awaiting User
            - null
          description: Status der untergeordneten KYB-Sitzung.
        kyb_sub_session_url:
          type: string
          format: uri
          nullable: true
          description: >-
            Gehosteter Link der untergeordneten KYB-Sitzung, mit denselben
            `null`-Regeln wie bei `kyc_session_url`.
        kyb_sub_session_deleted:
          type: boolean
          description: Unternehmensbezogenes Gegenstück zu `kyc_session_deleted`.
        verification_workflow_type:
          type: string
          nullable: true
          enum:
            - kyc
            - kyb
            - adaptive_age_verification
            - biometric_authentication
            - address_verification
            - questionnaire_verification
            - email_verification
            - phone_verification
            - null
          description: Typ des Workflows, den die untergeordnete Sitzung ausführt.
        verification_workflow_id:
          type: string
          format: uuid
          nullable: true
          description: Workflow, den die untergeordnete Sitzung ausführt.
        verification_workflow_label:
          type: string
          nullable: true
          description: Bezeichnung dieses Workflows.
        verification_workflow_features:
          type: array
          nullable: true
          description: >-
            Funktionen des Workflows der untergeordneten Sitzung mit ihrem
            aktuellen Status.
          items:
            type: object
            required:
              - feature
              - status
            properties:
              feature:
                type: string
                description: Funktionscode, zum Beispiel `ID_VERIFICATION` oder `LIVENESS`.
              status:
                type: string
                description: Funktionsstatus, `Not Finished`, bis sie ausgeführt wird.
        didit_internal_id:
          type: string
          format: uuid
          nullable: true
          description: Didits Kennung der verifizierten Person, sobald bekannt.
  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.