> ## 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 blocklist: elenco degli elementi in blocklist

> GET /v3/blocklist/: elenca volti, documenti, numeri di telefono ed email in blocklist delle sessioni Didit, dal più recente, in un unico feed.



Prompt API per elencare gli elementi in blocklist
        Copia il prompt negli appunti



      
      

\<pre>

\`List the blocklisted faces, documents, phone numbers and email addresses of my Didit verification sessions through the Management API.

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

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

Goal:
\- Get one paginated feed of every session record that is currently blocklisted, to build a "Blocked" screen or audit what my team has blocked.

Behavior:
\- Items are sorted by blocklisted_at, newest first. Items of deleted sessions are not included.
\- Each item has a type ("face", "document", "phone" or "email") and the session it belongs to (session_id, session_number). Fields that do not apply to the type are null.
\- The feed covers records blocklisted from a session: with POST /v3/blocklist/add/, from the console, or with a list entry created from reference_session_id. It does not include values added to a list by hand, uploaded faces, faces taken from a document-capture selfie, or IP address, device fingerprint, wallet, bank account, user and business entries. Read those with GET /v3/lists/{list_uuid}/entries/ on the matching system blocklist.
\- face_image and front_image are short-lived signed URLs, issued again on every call; a scoped key without media: read gets null instead.

Query parameters (all optional):
\- item_type: "face" | "document" | "phone" | "email". When omitted, every type is returned.
\- limit: page size (default 50, at most 1000000).
\- offset: pagination offset (default 0).

Example call:
curl -X GET "https://verification.didit.me/v3/blocklist/?item_type=document" \
-H "x-api-key: YOUR_API_KEY"

What to read from the response:
\- count / next / previous: standard pagination envelope.
\- results[].type, session_id, session_number, blocklisted_at.
\- face items: face_image.
\- document items: document_type (for example "P" passport, "ID" national ID, "DL" driver's license), document_number, front_image.
\- phone items: phone_number (E.164), country_code (ISO 3166-1 alpha-2).
\- email items: email.

Failure modes:
\- 400: an unknown item_type, or limit/offset above 1000000.
\- 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: read.
\- 429: rate limited (see /integration/rate-limiting); back off and retry.

Side effects: none. This is a pure read.

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

\</pre>



      
      

Incolla in

Elenca i volti, i documenti di identità, i numeri di telefono e gli indirizzi email delle tue sessioni di verifica attualmente inseriti in blocklist, prima i più recenti. Ogni elemento rimanda alla sessione da cui proviene, così puoi aprirla nella console o recuperarne la decisione.Questo feed mostra ciò che è stato inserito in blocklist **da una sessione**: con [Aggiungi alla blocklist](https://docs.didit.me/it/management-api/blocklist/add.md), dalla console, oppure con una [voce di lista](https://docs.didit.me/it/management-api/lists/create-entry.md) creata a partire da `reference_session_id`. I valori inseriti in una lista, i [volti caricati](https://docs.didit.me/it/management-api/lists/upload-face.md), i volti ricavati da un selfie acquisito durante la cattura del documento e gli altri tipi di voce (indirizzo IP, impronta del dispositivo, wallet, conto bancario, utente, azienda) si trovano solo nelle blocklist di sistema: leggili con [Voci di lista](https://docs.didit.me/it/management-api/lists/list-entries.md).Consulta [Inserire utenti in blocklist](https://docs.didit.me/it/console/blocklist-users.md) per capire come funziona l'inserimento in blocklist nella console.


## OpenAPI

````yaml it/openapi-25.json GET /v3/blocklist/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API di verifica dell'identità. Autenticati con l'intestazione x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/blocklist/:
    get:
      tags:
        - Blocklist
      summary: Elenca gli elementi nella blocklist
      description: >-
        Restituisce un feed impaginato dei volti, documenti d'identità, numeri
        di telefono e indirizzi email delle sessioni di verifica
        dell'applicazione attualmente inseriti nella blocklist, a partire dal
        più recente in base a `blocklisted_at`; filtra con `item_type`. Gli
        elementi delle sessioni eliminate non sono inclusi. Il feed include i
        record inseriti nella blocklist a partire da una sessione (con [Aggiungi
        elementi della sessione alla
        blocklist](https://docs.didit.me/it/management-api/blocklist/add), dalla
        console o tramite una voce di lista creata da una sessione); i valori
        aggiunti manualmente a una lista, i volti caricati, i volti provenienti
        dal selfie dell'acquisizione del documento e gli altri tipi di voce
        vengono consultati con [Elenca le voci della
        lista](https://docs.didit.me/it/management-api/lists/list-entries).
        `face_image` e `front_image` sono URL firmati di breve durata, e una
        chiave API con ambito limitato priva di `media: read` riceve `null`. Una
        chiave API con ambito limitato richiede `workflows: read`.
      operationId: list_blocklist_items
      parameters:
        - name: item_type
          in: query
          required: false
          description: >-
            Solo elementi di questo tipo. Se omesso, vengono restituiti tutti i
            tipi.
          schema:
            type: string
            enum:
              - face
              - document
              - phone
              - email
        - name: limit
          in: query
          required: false
          description: >-
            Dimensione della pagina. Il valore predefinito è 50. Un valore
            superiore a 1000000 restituisce `400`; zero, un valore negativo o
            non numerico utilizza 50 come valore predefinito.
          schema:
            type: integer
            default: 50
            minimum: 1
            maximum: 1000000
        - name: offset
          in: query
          required: false
          description: >-
            Indice in base zero del primo elemento da restituire. È preferibile
            seguire `next`. Un valore superiore a 1000000 restituisce `400`; un
            valore negativo o non numerico reimposta a 0.
          schema:
            type: integer
            maximum: 1000000
            minimum: 0
            default: 0
      responses:
        '200':
          description: Una pagina di elementi inseriti nella blocklist, dal più recente.
          content:
            application/json:
              schema:
                type: object
                required:
                  - count
                  - next
                  - previous
                  - results
                properties:
                  count:
                    type: integer
                    minimum: 0
                    description: >-
                      Numero totale di elementi in blocklist corrispondenti ai
                      filtri.
                  next:
                    type: string
                    format: uri
                    nullable: true
                    description: >-
                      URL assoluto della pagina successiva, o `null` sull'ultima
                      pagina.
                  previous:
                    type: string
                    format: uri
                    nullable: true
                    description: >-
                      URL assoluto della pagina precedente, o `null` sulla prima
                      pagina.
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/BlocklistedItem'
              examples:
                Mixed feed:
                  value:
                    count: 2
                    next: null
                    previous: null
                    results:
                      - type: document
                        session_id: 33333333-4444-5555-6666-777777777777
                        session_number: 1042
                        blocklisted_at: '2026-10-12T10:06:12.701553Z'
                        face_image: null
                        document_type: ID
                        document_number: X1234567
                        front_image: >-
                          https://media.example.com/documents/front.jpg?expires=1760263938&signature=8b2e47
                        phone_number: null
                        country_code: null
                        email: null
                      - type: phone
                        session_id: 77777777-8888-9999-0000-111111111111
                        session_number: 1017
                        blocklisted_at: '2026-10-08T15:31:09.400127Z'
                        face_image: null
                        document_type: null
                        document_number: null
                        front_image: null
                        phone_number: '+14155552671'
                        country_code: US
                        email: null
        '400':
          description: Un parametro di query non è valido.
          content:
            application/json:
              examples:
                Unknown item type:
                  value:
                    item_type:
                      - '"wallet" is not a valid choice.'
                Limit too large:
                  value:
                    - limit must not exceed 1000000.
        '401':
          description: >-
            La chiave API con ambito è scaduta. Altri errori di autenticazione
            restituiscono `403`.
          content:
            application/json:
              examples:
                Expired API key:
                  value:
                    detail: This API key has expired.
        '403':
          description: >-
            L'intestazione `x-api-key` è mancante (una chiave errata, revocata o
            scaduta riceve `401`), oppure una chiave API con ambito limitato non
            dispone di `workflows: read` o viene utilizzata da un indirizzo IP
            non presente nella sua allowlist.
          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 read access to workflows.
        '429':
          description: >-
            Il limite di lettura condiviso di 600 richieste al minuto per chiave
            API è stato superato. Rispetta `Retry-After` prima di riprovare.
          content:
            application/json:
              examples:
                Rate limited:
                  value:
                    detail: >-
                      GET request rate limit exceeded. You can make up to 600
                      requests per minute.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X GET
            'https://verification.didit.me/v3/blocklist/?item_type=document' \
              -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.blocklist.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.blocklist.list()) {
              console.log(item);
            }
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\niter := client.Blocklist.ListAutoPaging(ctx, didit.BlocklistListParams{})\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.blocklist().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->blocklist->list() as $item) {
                print_r($item->toArray());
            }
        - lang: ruby
          label: Ruby
          source: |-
            require "didit"

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

            didit.blocklist.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.Blocklist.ListAsync())
            {
                Console.WriteLine(JsonSerializer.Serialize(item));
            }
components:
  schemas:
    BlocklistedItem:
      type: object
      description: >-
        Un volto, documento d'identità, numero di telefono o indirizzo email
        presente nella blocklist di una sessione di verifica. I campi non
        applicabili al `type` dell'elemento sono `null`.
      required:
        - type
        - session_id
        - session_number
        - blocklisted_at
        - face_image
        - document_type
        - document_number
        - front_image
        - phone_number
        - country_code
        - email
      properties:
        type:
          type: string
          enum:
            - face
            - document
            - phone
            - email
          description: Cosa è stato inserito nella blocklist.
        session_id:
          type: string
          format: uuid
          description: Sessione di verifica a cui appartiene l'elemento.
        session_number:
          type: integer
          nullable: true
          description: >-
            Numero della sessione con ambito limitato all'applicazione, come
            mostrato nella console.
        blocklisted_at:
          type: string
          format: date-time
          description: Quando l'elemento è stato inserito l'ultima volta nella blocklist.
        face_image:
          type: string
          nullable: true
          description: >-
            Elementi del volto: URL firmato di breve durata, emesso nuovamente a
            ogni chiamata; `null` per una chiave API con ambito senza `media:
            read`. Anche `null` quando non è memorizzata alcuna immagine di
            riferimento.
        document_type:
          type: string
          nullable: true
          description: >-
            Elementi del documento: codice del tipo di documento, ad esempio `P`
            (passaporto), `ID` (carta d'identità), `DL` (patente di guida) o
            `RP` (permesso di soggiorno).
        document_number:
          type: string
          nullable: true
          description: >-
            Elementi del documento: il numero del documento o il numero
            personale quando il documento non ne ha uno.
        front_image:
          type: string
          nullable: true
          description: >-
            Elementi del documento: immagine frontale del documento, URL firmato
            di breve durata, riemesso a ogni chiamata; `null` per una chiave API
            con ambito priva di `media: read`.
        phone_number:
          type: string
          nullable: true
          description: 'Elementi telefonici: il numero di telefono in formato E.164.'
        country_code:
          type: string
          nullable: true
          description: 'Elementi telefonici: paese ISO 3166-1 alpha-2 del numero.'
        email:
          type: string
          nullable: true
          description: 'Elementi email: l''indirizzo email.'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        La chiave API della tua applicazione, da Developers -> API keys nella
        Business Console. La chiave primaria ha accesso completo. Una chiave con
        nome può avere un ambito definito: nessuno, lettura o scrittura per
        risorsa, limitata ad alcuni workflow o a sessioni approvate, a un elenco
        di indirizzi IP e a una data di scadenza. 401 indica che la chiave è
        errata, revocata o scaduta; 403 indica che non è stata inviata alcuna
        chiave, che la chiave non ha accesso a questa risorsa o azione, oppure
        che la richiesta proviene da un indirizzo non incluso nel suo elenco IP;
        404 su una route di sessione indica che la sessione non rientra nei
        workflow o negli stati previsti dalla chiave. Una chiave senza accesso
        ai media riceve gli URL di immagini, video e PDF come null, e una chiave
        senza permessi di scrittura sulle sessioni riceve link e token di
        sessione come null. Consulta https://docs.didit.me/console/api-keys.

````

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