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

# API liste de blocage : bloquer des éléments de session

> POST /v3/blocklist/add/ : bloque le visage, le document, le téléphone ou l'e-mail d'une session Didit ; les sessions correspondantes sont refusées.



Prompt de l'API d'ajout à la liste de blocage
        Copier le prompt dans le presse-papiers



      
      

\<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>



      
      

Coller dans

Ajoutez à la liste de blocage les éléments collectés par une session de vérification : son visage, son document d'identité, son numéro de téléphone ou son adresse e-mail. Didit marque chaque enregistrement sélectionné comme inscrit sur la liste de blocage et l'ajoute à la liste de blocage correspondante du système, liée à la session. Les nouvelles sessions dont le visage, le numéro de document, le numéro de téléphone ou l'adresse e-mail correspondent sont refusées à partir de ce moment.> [!NOTE]
>
> L'appel est tout ou rien : si la session ne contient aucun enregistrement du type sélectionné, ou si le document ne comporte pas son pays de délivrance, son type de document, son numéro de document ou son nom complet, il renvoie `400` et aucun élément n'est inscrit sur la liste de blocage. Répéter l'appel pour un élément déjà inscrit sur la liste de blocage est sans risque.Pour consulter ce qui est bloqué, utilisez [Lister les éléments inscrits sur la liste de blocage](https://docs.didit.me/fr/management-api/blocklist/list.md). Pour lever un blocage, utilisez [Retirer de la liste de blocage](https://docs.didit.me/fr/management-api/blocklist/remove.md). Pour bloquer une adresse IP, une empreinte d'appareil, un utilisateur, une entreprise ou une valeur sans session, ajoutez une entrée à la liste de blocage correspondante avec [Créer une entrée](https://docs.didit.me/fr/management-api/lists/create-entry.md). Consultez [Liste de blocage des utilisateurs](https://docs.didit.me/fr/entities/users/blocklist.md) pour savoir comment les listes de blocage sont appliquées.


## OpenAPI

````yaml fr/openapi-25.json POST /v3/blocklist/add/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API de vérification d'identité. Authentifiez-vous avec l'en-tête x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/blocklist/add/:
    post:
      tags:
        - Blocklist
      summary: Ajouter des éléments de la session à la liste de blocage
      description: >-
        Ajoute le visage, le document d'identité, le numéro de téléphone ou
        l'adresse e-mail d'une session de vérification d'une personne de
        l'application à la liste de blocage. Pour chaque type sélectionné, Didit
        récupère l'enregistrement le plus récent de la session, le marque comme
        bloqué et ajoute une entrée liée à la session à la liste de blocage
        correspondante du système (`added_by: "api"`), de sorte que les
        nouvelles sessions présentant un visage, un numéro de document, un
        numéro de téléphone ou une adresse e-mail correspondant soient refusées.
        Chaque élément sélectionné est d'abord vérifié : si l'un d'eux est
        manquant, rien n'est ajouté à la liste de blocage ; répéter l'appel pour
        un élément déjà répertorié conserve son entrée unique et actualise
        `blocklisted_at`. La session elle-même et les sessions déjà terminées ne
        sont pas modifiées. Une clé API restreinte nécessite `workflows: write`.
      operationId: add_to_blocklist
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - session_id
              description: Au moins un indicateur `blocklist_*` doit être `true`.
              properties:
                session_id:
                  type: string
                  format: uuid
                  description: >-
                    Une session de vérification d'utilisateur de votre
                    application. Les sessions supprimées sont refusées.
                blocklist_face:
                  type: boolean
                  default: false
                  description: Ajouter le visage de la session à la liste de blocage.
                blocklist_document:
                  type: boolean
                  default: false
                  description: >-
                    Ajouter le document d'identité de la session à la liste de
                    blocage. Le document requiert son pays de délivrance, son
                    type de document, son numéro de document et son nom complet.
                blocklist_phone:
                  type: boolean
                  default: false
                  description: >-
                    Ajouter le numéro de téléphone de la session à la liste de
                    blocage.
                blocklist_email:
                  type: boolean
                  default: false
                  description: >-
                    Ajouter l'adresse e-mail de la session à la liste de
                    blocage.
            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: Les éléments sélectionnés ont été ajoutés à la liste de blocage.
          content:
            application/json:
              schema:
                type: object
                required:
                  - message
                properties:
                  message:
                    type: string
                    description: Toujours `Successfully updated blocklist.`
              examples:
                Blocklisted:
                  value:
                    message: Successfully updated blocklist.
        '400':
          description: >-
            Le corps est invalide, la session n'est pas une session de
            vérification de cette application, ou elle ne possède aucun
            enregistrement du type sélectionné. Rien n'a été ajouté à la liste
            de blocage.
          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: >-
            La clé API restreinte a expiré. Les autres échecs d'authentification
            renvoient `403`.
          content:
            application/json:
              examples:
                Expired API key:
                  value:
                    detail: This API key has expired.
        '403':
          description: >-
            L'en-tête `x-api-key` est manquant (une clé incorrecte, révoquée ou
            expirée renvoie `401`), ou une clé API restreinte n'a pas
            l'autorisation `workflows: write` ou est utilisée depuis une adresse
            IP hors de sa liste d'autorisation.
          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: >-
        La limite d'écriture partagée de 300 requêtes par minute et par clé API
        a été dépassée. Respectez l'en-tête `Retry-After` avant de réessayer.
      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: >-
        La clé API de votre application, issue de Développeurs -> Clés API dans
        la Business Console. La clé principale dispose d'un accès complet. Une
        clé nommée peut être restreinte : aucun, lecture ou écriture par
        ressource, limitée à certains workflows ou aux sessions approuvées, à
        une liste d'adresses IP et à une date d'expiration. 401 signifie que la
        clé est incorrecte, révoquée ou expirée ; 403 signifie qu'aucune clé n'a
        été envoyée, que la clé n'a pas accès à cette ressource ou action, ou
        que la requête provient d'une adresse hors de sa liste d'IP ; 404 sur
        une route de session signifie que la session est hors des workflows ou
        des statuts de la clé. Une clé sans accès aux médias reçoit les URL
        d'images, de vidéos et de PDF à null, et une clé sans accès en écriture
        aux sessions reçoit les liens et tokens de session à null. Voir
        https://docs.didit.me/console/api-keys.

````

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