> ## 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 para listar elementos de la lista de bloqueo

> GET /v3/blocklist/: lista los rostros, documentos, teléfonos y correos de tus sesiones de Didit en la lista de bloqueo, más recientes primero.



Prompt de la API para listar elementos de la lista de bloqueo
        Copiar el prompt al portapapeles



      
      

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



      
      

Pegar en

Lista los rostros, documentos de identidad, números de teléfono y direcciones de correo electrónico de tus sesiones de verificación que están actualmente en la lista de bloqueo, de más reciente a más antiguo. Cada elemento está vinculado a la sesión de la que procede, para que puedas abrirla en la consola u obtener su decisión.Este listado muestra lo que se añadió a la lista de bloqueo **desde una sesión**: con [Añadir a la lista de bloqueo](https://docs.didit.me/es/management-api/blocklist/add.md), desde la consola o con una [entrada de lista](https://docs.didit.me/es/management-api/lists/create-entry.md) creada a partir de `reference_session_id`. Los valores escritos en una lista, los [rostros subidos](https://docs.didit.me/es/management-api/lists/upload-face.md), los rostros tomados de una selfie de captura de documento y los demás tipos de entrada (dirección IP, huella digital del dispositivo, wallet, cuenta bancaria, usuario, empresa) solo están en las listas de bloqueo del sistema: consúltalos con [Listar entradas](https://docs.didit.me/es/management-api/lists/list-entries.md).Consulta [Bloquear usuarios](https://docs.didit.me/es/console/blocklist-users.md) para saber cómo funciona la lista de bloqueo en la consola.


## OpenAPI

````yaml es/openapi-25.json GET /v3/blocklist/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: API de verificación de identidad. Autentícate con el encabezado x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/blocklist/:
    get:
      tags:
        - Blocklist
      summary: Listar elementos de la lista de bloqueo
      description: >-
        Devuelve un único feed paginado de las caras, los documentos de
        identidad, los números de teléfono y las direcciones de correo
        electrónico de las sesiones de verificación de la aplicación que están
        actualmente en una lista de bloqueo, de más reciente a más antiguo según
        `blocklisted_at`; filtra con `item_type`. No se incluyen los elementos
        de sesiones eliminadas. El feed abarca los registros bloqueados desde
        una sesión (con [Añadir elementos de la sesión a la lista de
        bloqueo](https://docs.didit.me/es/management-api/blocklist/add), desde
        la consola o mediante una entrada de lista creada a partir de una
        sesión); los valores añadidos a mano a una lista, las caras subidas, las
        caras de una selfie de captura de documento y los demás tipos de entrada
        se consultan con [Listar entradas de una
        lista](https://docs.didit.me/es/management-api/lists/list-entries).
        `face_image` y `front_image` son URL firmadas de corta duración, y una
        clave de API con alcance limitado sin `media: read` recibe `null`. Una
        clave de API con alcance limitado necesita `workflows: read`.
      operationId: list_blocklist_items
      parameters:
        - name: item_type
          in: query
          required: false
          description: >-
            Solo elementos de este tipo. Si se omite, se devuelven todos los
            tipos.
          schema:
            type: string
            enum:
              - face
              - document
              - phone
              - email
        - name: limit
          in: query
          required: false
          description: >-
            Tamaño de página. El valor predeterminado es 50. Un valor superior a
            1000000 devuelve `400`; cero, un valor negativo o un valor no
            numérico hacen que se use 50.
          schema:
            type: integer
            default: 50
            minimum: 1
            maximum: 1000000
        - name: offset
          in: query
          required: false
          description: >-
            Índice, empezando en cero, del primer elemento que se devuelve. Es
            preferible seguir `next`. Un valor superior a 1000000 devuelve
            `400`; un valor negativo o no numérico se toma como 0.
          schema:
            type: integer
            maximum: 1000000
            minimum: 0
            default: 0
      responses:
        '200':
          description: >-
            Una página de elementos de la lista de bloqueo, del más reciente al
            más antiguo.
          content:
            application/json:
              schema:
                type: object
                required:
                  - count
                  - next
                  - previous
                  - results
                properties:
                  count:
                    type: integer
                    minimum: 0
                    description: >-
                      Número total de elementos de la lista de bloqueo que
                      coinciden con los filtros.
                  next:
                    type: string
                    format: uri
                    nullable: true
                    description: >-
                      URL absoluta de la página siguiente, o `null` en la última
                      página.
                  previous:
                    type: string
                    format: uri
                    nullable: true
                    description: >-
                      URL absoluta de la página anterior, o `null` en la primera
                      página.
                  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 parámetro de consulta no es válido.
          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 clave de API con alcance limitado ha expirado. Los demás fallos
            de autenticación devuelven `403`.
          content:
            application/json:
              examples:
                Expired API key:
                  value:
                    detail: This API key has expired.
        '403':
          description: >-
            Falta el encabezado `x-api-key` (una clave incorrecta, revocada o
            expirada recibe `401`), o una clave de API con alcance limitado no
            tiene `workflows: read` o se usa desde una dirección IP que no está
            en su lista de permitidas.
          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: >-
            Se superó el límite de lectura compartido de 600 solicitudes por
            minuto por clave de API. Respeta `Retry-After` antes de reintentar.
          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 rostro, documento de identidad, número de teléfono o dirección de
        correo electrónico de una sesión de verificación incluido en la lista de
        bloqueo. Los campos que no se aplican al `type` del elemento son `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: Qué se añadió a la lista de bloqueo.
        session_id:
          type: string
          format: uuid
          description: Sesión de verificación a la que pertenece el elemento.
        session_number:
          type: integer
          nullable: true
          description: >-
            Número de esa sesión dentro de la aplicación, tal como se muestra en
            la consola.
        blocklisted_at:
          type: string
          format: date-time
          description: >-
            Fecha y hora en que el elemento se añadió por última vez a la lista
            de bloqueo.
        face_image:
          type: string
          nullable: true
          description: >-
            Elementos de rostro: URL firmada de corta duración, que se emite de
            nuevo en cada llamada; `null` para una clave de API con alcance
            limitado sin `media: read`. También es `null` cuando no hay ninguna
            imagen de referencia almacenada.
        document_type:
          type: string
          nullable: true
          description: >-
            Elementos de documento: código del tipo de documento, por ejemplo
            `P` (pasaporte), `ID` (documento nacional de identidad), `DL`
            (licencia de conducir) o `RP` (permiso de residencia).
        document_number:
          type: string
          nullable: true
          description: >-
            Elementos de documento: el número de documento o, si el documento no
            tiene, el número personal.
        front_image:
          type: string
          nullable: true
          description: >-
            Elementos de documento: imagen del anverso del documento, URL
            firmada de corta duración, que se emite de nuevo en cada llamada;
            `null` para una clave de API con alcance limitado sin `media: read`.
        phone_number:
          type: string
          nullable: true
          description: 'Elementos de teléfono: el número de teléfono en formato E.164.'
        country_code:
          type: string
          nullable: true
          description: 'Elementos de teléfono: país del número en ISO 3166-1 alfa-2.'
        email:
          type: string
          nullable: true
          description: 'Elementos de correo electrónico: la dirección de correo electrónico.'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        La clave de API de tu aplicación, que encontrarás en Developers -> API
        keys en la Business Console. La clave principal tiene acceso completo.
        Una clave con nombre puede tener un alcance limitado: ninguno, lectura o
        escritura por recurso, limitada a algunos flujos o a sesiones aprobadas,
        a una lista de direcciones IP y a una fecha de caducidad. 401 significa
        que la clave es incorrecta, se revocó o expiró; 403 significa que no se
        envió ninguna clave, que la clave no tiene acceso a este recurso o
        acción, o que la solicitud provino de una dirección fuera de su lista de
        IP; 404 en una ruta de sesión significa que la sesión está fuera de los
        flujos o estados de la clave. Una clave sin acceso a contenido
        multimedia recibe las URL de imágenes, videos y PDF como null, y una
        clave sin permiso de escritura en sesiones recibe los enlaces y tokens
        de sesión como null. Consulta https://docs.didit.me/console/api-keys.

````

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