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

# Zur Sperrliste hinzufügen API: Sitzungsdaten sperren

> POST /v3/blocklist/add/: Didit-Sitzungsdaten (Gesicht, Dokument, Telefon, E-Mail) sperren, damit passende neue Sitzungen abgelehnt werden.



API-Prompt: Zur Sperrliste hinzufügen
        Prompt in die Zwischenablage kopieren



      
      

\<pre>

\`Blocklist the face, document, phone number or email address of one of my Didit verification sessions through the Management API.

Endpoint:
POST https://verification.didit.me/v3/blocklist/add/

Authentication:
Use the x-api-key header with my Didit API key. A scoped API key needs workflows: write.

Goal:
\- After reviewing a fraudulent session, block what it collected so the same person is declined next time.

Request body (application/json):
\{
"session_id": "33333333-4444-5555-6666-777777777777", // required: a verification session of my application
"blocklist_face": true,       // optional, default false
"blocklist_document": true,   // optional, default false
"blocklist_phone": false,     // optional, default false
"blocklist_email": false      // optional, default false
}
At least one blocklist_* flag must be true.

Behavior:
\- Didit uses the session's most recent record of each selected type.
\- Each selected record is flagged as blocklisted and gets an entry, linked to the session, in the matching system blocklist (added_by "api").
\- From then on, new sessions with a matching face, document number, phone number or email address are declined.
\- The session itself and sessions that already finished are not changed.
\- Safe to repeat: an item already listed keeps its single entry, and its blocklisted_at is refreshed.
\- All or nothing: Didit checks every selected item first. If one is missing, nothing is blocklisted.
\- A document needs its issuing state, document type, document number and full name.

Example call:
curl -X POST "https://verification.didit.me/v3/blocklist/add/" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"session_id": "33333333-4444-5555-6666-777777777777", "blocklist_face": true, "blocklist_document": true}'

Example response (200):
\{ "message": "Successfully updated blocklist." }

Failure modes:
\- 400: session_id is missing ({ "session_id": ["This field is required."] }) or not a UUID ({ "session_id": ["Must be a valid UUID."] }); the session is not a verification session of this application ({ "non_field_errors": ["Session not found"] }; business verification sessions are not accepted); no flag is true ({ "non_field_errors": ["Must specify at least one item to blocklist"] }); the session has no record of a selected type ({ "non_field_errors": ["Session does not have a face record"] }); or the document lacks a required field.
\- 401: the API key has expired.
\- 403: missing x-api-key (a wrong, revoked or expired key gets 401) ({ "detail": "You do not have permission to perform this action." }), or a scoped key without workflows: write.
\- 429: rate limited (see /integration/rate-limiting); back off and retry.

Side effects:
\- Writes entries to the system face, document, phone and email blocklists and blocks matching new sessions.

To block a value without a session, or an IP address, device fingerprint, user or business, use POST /v3/lists/{list_uuid}/entries/ on the matching system blocklist instead.

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

\</pre>



      
      

Einfügen in

Sperren Sie, was eine Verifizierungssitzung erfasst hat: das Gesicht, das Ausweisdokument, die Telefonnummer oder die E-Mail-Adresse. Didit markiert jeden ausgewählten Datensatz als gesperrt, fügt ihn der passenden Systemsperrliste hinzu und verknüpft ihn mit der Sitzung. Neue Sitzungen mit einem übereinstimmenden Gesicht, einer übereinstimmenden Dokumentnummer, Telefonnummer oder E-Mail-Adresse werden ab diesem Zeitpunkt abgelehnt.> [!NOTE]
>
> Der Aufruf wirkt entweder vollständig oder gar nicht: Hat die Sitzung keinen Datensatz des ausgewählten Typs oder fehlt dem Dokument das Ausstellungsland, der Dokumenttyp, die Dokumentnummer oder der vollständige Name, gibt der Aufruf `400` zurück und es wird nichts gesperrt. Ein wiederholter Aufruf für ein bereits gesperrtes Element ist unbedenklich.Um zu prüfen, was gesperrt ist, verwenden Sie [Gesperrte Elemente auflisten](https://docs.didit.me/de/management-api/blocklist/list.md). Um eine Sperre aufzuheben, verwenden Sie [Aus der Sperrliste entfernen](https://docs.didit.me/de/management-api/blocklist/remove.md). Um eine Adresse, einen Geräte-Fingerprint, einen Benutzer, ein Unternehmen oder einen Wert ohne Sitzung zu sperren, fügen Sie einen Eintrag zur passenden Systemsperrliste hinzu, und zwar mit [Eintrag erstellen](https://docs.didit.me/de/management-api/lists/create-entry.md). Informationen darüber, wie Sperrlisten angewendet werden, finden Sie unter [Benutzer-Sperrliste](https://docs.didit.me/de/entities/users/blocklist.md).


## OpenAPI

````yaml de/openapi-25.json POST /v3/blocklist/add/
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/blocklist/add/:
    post:
      tags:
        - Blocklist
      summary: Sitzungselemente zur Sperrliste hinzufügen
      description: >-
        Setzt das Gesicht, das Ausweisdokument, die Telefonnummer oder die
        E-Mail-Adresse einer Personenverifizierungssitzung der Anwendung auf die
        Sperrliste. Für jeden ausgewählten Typ nimmt Didit den neuesten
        Datensatz der Sitzung, markiert ihn als gesperrt und fügt einen mit der
        Sitzung verknüpften Eintrag zur passenden Systemsperrliste hinzu
        (`added_by: "api"`), sodass neue Sitzungen mit einem übereinstimmenden
        Gesicht, einer Dokumentnummer, Telefonnummer oder E-Mail-Adresse
        abgelehnt werden. Jeder ausgewählte Eintrag wird zuerst geprüft: Fehlt
        ein Eintrag, wird nichts auf die Sperrliste gesetzt; wird der Aufruf für
        einen bereits aufgeführten Eintrag wiederholt, bleibt dessen einzelner
        Eintrag erhalten und `blocklisted_at` wird aktualisiert. Die Sitzung
        selbst und bereits abgeschlossene Sitzungen werden nicht geändert. Ein
        eingeschränkter API-Schlüssel benötigt `workflows: write`.
      operationId: add_to_blocklist
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - session_id
              description: Mindestens ein `blocklist_*`-Flag muss `true` sein.
              properties:
                session_id:
                  type: string
                  format: uuid
                  description: >-
                    Eine Benutzerverifizierungssitzung Ihrer Anwendung.
                    Gelöschte Sitzungen werden abgelehnt.
                blocklist_face:
                  type: boolean
                  default: false
                  description: Gesicht der Sitzung auf die Sperrliste setzen.
                blocklist_document:
                  type: boolean
                  default: false
                  description: >-
                    Ausweisdokument der Sitzung auf die Sperrliste setzen. Das
                    Dokument benötigt Ausstellungsstaat, Dokumenttyp,
                    Dokumentnummer und vollständigen Namen.
                blocklist_phone:
                  type: boolean
                  default: false
                  description: Telefonnummer der Sitzung auf die Sperrliste setzen.
                blocklist_email:
                  type: boolean
                  default: false
                  description: E-Mail-Adresse der Sitzung auf die Sperrliste setzen.
            examples:
              Face and document:
                value:
                  session_id: 33333333-4444-5555-6666-777777777777
                  blocklist_face: true
                  blocklist_document: true
              Phone only:
                value:
                  session_id: 33333333-4444-5555-6666-777777777777
                  blocklist_phone: true
      responses:
        '200':
          description: Die ausgewählten Elemente wurden auf die Sperrliste gesetzt.
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                properties:
                  message:
                    type: string
                    description: Immer `Successfully updated blocklist.`
              examples:
                Blocklisted:
                  value:
                    message: Successfully updated blocklist.
        '400':
          description: >-
            Der Body ist ungültig, die Sitzung ist keine Verifizierungssitzung
            dieser Anwendung oder sie enthält keinen Eintrag des ausgewählten
            Typs. Es wurde nichts auf die Sperrliste gesetzt.
          content:
            application/json:
              examples:
                Unknown session:
                  value:
                    non_field_errors:
                      - Session not found
                No item selected:
                  value:
                    non_field_errors:
                      - Must specify at least one item to blocklist
                No face record:
                  value:
                    non_field_errors:
                      - Session does not have a face record
                Incomplete document:
                  value:
                    non_field_errors:
                      - >-
                        To blocklist a document, the document must have an
                        issuing state, document type, document number and full
                        name
                Invalid session id:
                  value:
                    session_id:
                      - Must be a valid UUID.
                Missing session id:
                  value:
                    session_id:
                      - This field is required.
        '401':
          description: >-
            Der API-Schlüssel mit eingeschränktem Geltungsbereich ist
            abgelaufen. Andere Authentifizierungsfehler geben `403` zurück.
          content:
            application/json:
              examples:
                Expired API key:
                  value:
                    detail: This API key has expired.
        '403':
          description: >-
            Der `x-api-key`-Header fehlt (ein falscher, widerrufener oder
            abgelaufener Schlüssel erhält `401`), oder ein API-Schlüssel mit
            Berechtigungseinschränkungen verfügt nicht über `workflows: write`
            oder wird von einer IP-Adresse außerhalb seiner Zulassungsliste
            verwendet.
          content:
            application/json:
              examples:
                Missing or invalid API key:
                  value:
                    detail: You do not have permission to perform this action.
                Scoped key without workflows access:
                  value:
                    detail: This API key has no write access to workflows.
        '429':
          $ref: '#/components/responses/RateLimitedWrite'
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: |-
            curl -X POST 'https://verification.didit.me/v3/blocklist/add/' \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{
                "session_id": "33333333-4444-5555-6666-777777777777",
                "blocklist_face": true,
                "blocklist_document": true
              }'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.blocklist.add(
                session_id="33333333-4444-5555-6666-777777777777",
                blocklist_face=True,
                blocklist_document=True,
            )
            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.blocklist.add({
              session_id: "33333333-4444-5555-6666-777777777777",
              blocklist_face: true,
              blocklist_document: true,
            });
            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Blocklist.Add(ctx, didit.BlocklistAddParams{\n\tSessionID:         \"33333333-4444-5555-6666-777777777777\",\n\tBlocklistFace:     didit.Bool(true),\n\tBlocklistDocument: didit.Bool(true),\n})\nif err != nil {\n\tlog.Fatal(err)\n}\nfmt.Printf(\"%+v\\n\", result)"
        - lang: java
          label: Java
          source: |-
            import me.didit.Didit;
            import me.didit.types.BlocklistAddParams;

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

            var result = client.blocklist().add(BlocklistAddParams.builder()
                    .sessionId("33333333-4444-5555-6666-777777777777")
                    .blocklistFace(true)
                    .blocklistDocument(true)
                    .build());
            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->blocklist->add([
                'session_id' => '33333333-4444-5555-6666-777777777777',
                'blocklist_face' => true,
                'blocklist_document' => true,
            ]);
            print_r($result->toArray());
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            result = didit.blocklist.add(
              session_id: "33333333-4444-5555-6666-777777777777",
              blocklist_face: true,
              blocklist_document: true
            )
            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.Blocklist.AddAsync(new BlocklistAddParams
            {
                SessionId = "33333333-4444-5555-6666-777777777777",
                BlocklistFace = true,
                BlocklistDocument = true,
            });
            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  responses:
    RateLimitedWrite:
      description: >-
        Das geteilte Schreiblimit von 300 Anfragen pro Minute pro API-Schlüssel
        wurde überschritten. Beachten Sie `Retry-After`, bevor Sie es erneut
        versuchen.
      content:
        application/json:
          schema:
            type: object
            required:
              - detail
            properties:
              detail:
                type: string
          example:
            detail: >-
              Write request rate limit exceeded. You can make up to 300 requests
              per minute.
  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.