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

# Crear entrada de lista por API: bloqueo y permitidos

> Añade una entrada (rostro, documento, IP, wallet, email, teléfono) a una lista de bloqueo, de permitidos o personalizada de Didit.



Prompt de la API para crear una entrada de lista
        Copiar el prompt al portapapeles



      
      

\<pre>

\`Add an entry to a Didit list (blocklist, allowlist, or custom) through the Management API.

Endpoint:
POST https://verification.didit.me/v3/lists/{list_uuid}/entries/

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

Goal:
\- Insert a single entry into a list. Three add modes are supported:
1\. By value: pass value matching the list's entry_type.
2\. From a verification session: pass reference_session_id and Didit reads the value from the session's most recent record of the list's entry_type (face, document, phone, email, ip_address, device_fingerprint) and links the entry to the session.
3\. With a source reference: pass value plus reference_object_uuid and metadata.reference_type so the console links the entry back to the transaction, user or business it came from.

Path parameter:
\- list_uuid: list UUID from GET /v3/lists/. For a face without a session, use POST /v3/lists/{list_uuid}/entries/face-upload/ instead.

Request body (application/json):
\{
"value": "string",                  // required unless reference_session_id is sent
"reference_session_id": "uuid",     // optional: read the value from this session of my application
"reference_object_uuid": "uuid",    // optional: transaction UUID, or didit_internal_id of a user or business
"face_image_source": "liveness" | "front_image_camera_front" | "back_image_camera_front", // optional, system face blocklist + reference_session_id only; default liveness
"reference_node_id": "string",      // optional, with a document-capture face_image_source: which ID verification node's selfie to use
"display_label": "string",          // optional, at most 512 characters
"comment": "string",                // optional, reason or note
"metadata": {                       // optional, free-form; reference_image_url and front_image_url are ignored
"reference_type": "transaction" | "vendor_user" | "vendor_business",
"reference_id": "uuid"
}
}

Value validation by entry_type:
\- email: valid email address.
\- phone: valid international phone number (stored in E.164).
\- ip_address: IP address or CIDR range (e.g. 10.0.0.0/8).
\- device_fingerprint: at least 8 characters among letters, digits, -, _, : and . (a blocklist refuses a fingerprint that several distinct devices have reported).
\- country: ISO 3166-1 alpha-2 or alpha-3 (stored as alpha-3).
\- user, business: the vendor_data to block.
\- face, document, wallet_address, bank_account, key: any non-empty string.
Values are case-insensitive: country codes are stored in upper case, phone numbers in E.164, everything else in lower case.
A list holds each value once: adding a value that is already there returns 400.

Adding from a session, what Didit does:
\- Looks up the session (it must belong to the same application).
\- Reads the value from the session's most recent record of the list's entry_type:
\- face: the liveness face (value is the face UUID). With face_image_source = front_image_camera_front / back_image_camera_front, the face from the selfie the front camera took while the user photographed the front / back of their document instead (system face blocklist only, leave value empty).
\- document: the document number; full_name, issuing_state, document_type, region and document_number go into metadata.
\- phone / email: the phone number / email address.
\- ip_address: the session's IP address.
\- device_fingerprint: a fingerprint that identifies one device. On a blocklist, Didit refuses a session that only has a device-class fingerprint or was completed on more than one device; pass the exact fingerprint as value in that case.
\- Links the entry to the session (reference_session_id) and to that record (reference_object_uuid).
\- If I also send value, Didit stores my value but still links the most recent record. To list a value from an earlier record, add it by value without reference_session_id.

Example calls:
\# By value
curl -X POST "https://verification.didit.me/v3/lists/{list_uuid}/entries/" \
-H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
-d '{"value": "+14155552671", "comment": "Reported fraud"}'

\# From a session
curl -X POST "https://verification.didit.me/v3/lists/{list_uuid}/entries/" \
-H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
-d '{"reference_session_id": "33333333-4444-5555-6666-777777777777"}'

\# The face from the selfie taken during document capture (system face blocklist)
curl -X POST "https://verification.didit.me/v3/lists/{list_uuid}/entries/" \
-H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
-d '{"reference_session_id": "33333333-4444-5555-6666-777777777777", "face_image_source": "front_image_camera_front"}'

\# From a transaction
curl -X POST "https://verification.didit.me/v3/lists/{list_uuid}/entries/" \
-H "x-api-key: YOUR_API_KEY" -H "Content-Type: application/json" \
-d '{"value": "0x52908400098527886E0F7030069857D2E4169EE7", "reference_object_uuid": "55555555-6666-7777-8888-999999999999", "metadata": {"reference_type": "transaction"}}'

Failure modes:
\- 400: value fails the entry_type validator or is already in the list, neither value nor reference_session_id was sent, reference_session_id is not a session of this application, or the session has no data of the list's entry_type.
\- 400 (face_image_source): the list is not the system face blocklist, value was sent, the session has no image for that source, no clear face was found in that selfie, or that selfie is already in the blocklist.
\- 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.
\- 404: list not found in this application ({ "detail": "List not found." }).
\- 503 (face_image_source): face analysis is temporarily unavailable; nothing was added, retry later.
\- 429: rate limited (see /integration/rate-limiting); back off and retry.

Side effects:
\- System face, document, phone and email blocklists: a record read from a session is flagged as blocklisted at once, and new sessions that match it are declined.
\- System user and business blocklists: users or businesses of the application whose vendor_data equals value (or whose UUID equals reference_object_uuid) are set to BLOCKED.
\- Sessions and transactions that already finished are not changed.

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

\</pre>



      
      

Pegar en

Añade una entrada a una lista. El valor se valida según el tipo de entrada de la lista:* **email**: una dirección de correo electrónico válida
* **phone**: un número de teléfono internacional válido, almacenado en formato E.164 (por ejemplo, `+14155552671`)
* **ip\_address**: una dirección IP o un rango CIDR válidos (p. ej., `192.168.1.1` o `10.0.0.0/8`)
* **device\_fingerprint**: al menos 8 caracteres entre letras, dígitos, `-`, `_`, `:` y `.`. Una lista de bloqueo rechaza una huella digital que hayan reportado varios dispositivos distintos, porque bloquearla rechazaría a personas que no tienen relación entre sí.
* **country**: un [código de país ISO 3166-1 alfa-3](https://docs.didit.me/es/core-technology/id-verification/supported-documents-id-verification.md) válido (p. ej., `USA`, `GBR`, `ESP`). Los códigos alfa-2 (p. ej., `US`) se aceptan y se convierten automáticamente a alfa-3.
* **user**, **business**: el `vendor_data` del usuario o de la empresa
* **face**, **document**, **wallet\_address**, **bank\_account**, **key**: cualquier cadena no vacía> [!NOTE]
>
> Todos los valores de las entradas **no distinguen entre mayúsculas y minúsculas**. Los valores que envías se normalizan al almacenarse (los números de teléfono a E.164, los códigos de país a mayúsculas y todo lo demás a minúsculas) y se comparan sin distinguir entre mayúsculas y minúsculas durante la verificación. Por ejemplo, bloquear `User@Example.COM` también detectará `user@example.com`. Una lista contiene cada valor una sola vez: añadir un valor que ya está en la lista devuelve `400`.Para un rostro, usa [Subir rostro](https://docs.didit.me/es/management-api/lists/upload-face.md) cuando solo tengas una imagen, o envía un `reference_session_id` para tomar el rostro de una sesión existente. Una entrada de rostro necesita un rostro almacenado con el que comparar, algo que un `value` escrito no proporciona.## Añadir desde una sesiónCuando proporcionas un `reference_session_id`, Didit:1) Busca la sesión (debe pertenecer a la misma aplicación)
2) Lee el valor del registro **más reciente** de la sesión del tipo de entrada de la lista:
   * **face**: el rostro de la selfie de prueba de vida; `value` es el UUID del rostro
   * **document**: el número de documento; el nombre completo, el estado emisor, el tipo de documento, la región y el número de documento se almacenan en `metadata`, y `display_label` toma por defecto el nombre del titular y el número de documento
   * **phone**: el número de teléfono
   * **email**: la dirección de correo electrónico
   * **ip\_address**: la dirección IP de la sesión
   * **device\_fingerprint**: una huella de dispositivo que identifica un único dispositivo, con preferencia por un dispositivo que haya completado un paso de verificación. En una lista de bloqueo, Didit rechaza una sesión que solo tiene una huella de clase de dispositivo o que se completó en más de un dispositivo: en ese caso, envía la huella exacta como `value`.
3) Vincula la entrada a la sesión (`reference_session_id`) y al registro (`reference_object_uuid`) para garantizar la trazabilidadEn las listas de bloqueo del sistema de rostros, documentos, teléfonos y correos electrónicos, el registro también se marca como bloqueado, de modo que las nuevas sesiones que coincidan con él se rechazan. Para cualquier otro tipo de entrada, envía también `value`.Devuelve `400` si no se encuentra la sesión o si no contiene datos del tipo de entrada solicitado.### Rostros de la selfie de captura del documentoMientras el usuario fotografía su documento, la cámara frontal puede tomarle una selfie (las imágenes `front_image_camera_front` y `back_image_camera_front` del [informe de verificación de identidad](https://docs.didit.me/es/core-technology/id-verification/report-id-verification.md)). Ese rostro se puede añadir a la lista de bloqueo de rostros además del rostro de la prueba de vida: pasa `face_image_source` con la imagen que quieras.```json theme={null}
{
  "reference_session_id": "33333333-4444-5555-6666-777777777777",
  "face_image_source": "front_image_camera_front"
}
```- La entrada se crea solo en la **lista de bloqueo de rostros** del sistema, y `value` debe dejarse vacío: Didit toma el rostro de la selfie de la sesión.
- La selfie debe contener un único rostro nítido. Si no es así, la solicitud devuelve `400` y no se añade nada.
- Cada selfie se puede añadir una sola vez. Los campos `metadata.face_image_source` y `metadata.reference_node_id` de la entrada indican de qué selfie procede.
- En un flujo de verificación (workflow) con más de un paso de verificación de identidad, `reference_node_id` elige el paso cuya selfie se usa. Por defecto, Didit usa la verificación de identidad más reciente que tenga esa selfie.
- A partir de entonces, el rostro se comprueba como cualquier otro rostro bloqueado: con la selfie de prueba de vida de cada nueva sesión y con cada nueva selfie de captura del documento (consulta [`FRONT_CAMERA_FACE_IN_BLOCKLIST`](https://docs.didit.me/es/core-technology/id-verification/warnings-id-verification)).
- Eliminar la entrada quita el rostro de la lista de bloqueo, y deja de coincidir con nuevas sesiones.### Sesiones con varios registros del mismo tipoUna sesión puede contener más de un registro de un tipo, por ejemplo dos números de teléfono de un flujo de varios pasos. Didit siempre lee el **más reciente**. Si envías `value` junto con `reference_session_id`, la entrada almacena tu `value`, pero sigue vinculada a ese registro más reciente, y en una lista de bloqueo del sistema es ese registro el que se marca.Para incluir en la lista un valor de un registro anterior, añádelo solo con `value`, sin `reference_session_id`:```json theme={null}
{
  "value": "+34612345678",
  "comment": "First phone number of session 42"
}
```## Referenciar transacciones, usuarios y empresasAl bloquear datos de una transacción o de un usuario o empresa del proveedor, pasa el UUID de la entidad como `reference_object_uuid` e indica el tipo de origen en `metadata`:```json theme={null}
{
  "value": "0x52908400098527886E0F7030069857D2E4169EE7",
  "reference_object_uuid": "55555555-6666-7777-8888-999999999999",
  "metadata": {
    "reference_type": "transaction",
    "reference_id": "55555555-6666-7777-8888-999999999999"
  }
}
```Esto te permite navegar desde la entrada de la lista de bloqueo hasta la transacción, el usuario o la empresa originales en la consola. Didit almacena tus claves de `metadata`, excepto `reference_image_url` y `front_image_url`, que solo establece Didit. En una entrada obtenida de una sesión, Didit añade sus propias claves a las tuyas, y las suyas prevalecen.| Entidad de origen | `reference_object_uuid` | `metadata.reference_type` |
| - | - | - |
| Sesión de verificación | Lo establece Didit (el registro facial, documento, teléfono o correo electrónico) | No es necesario: usa `reference_session_id` |
| Transacción | UUID de la transacción | `"transaction"` |
| Usuario del proveedor | `didit_internal_id` | `"vendor_user"` |
| Empresa del proveedor | `didit_internal_id` | `"vendor_business"` |En las listas de bloqueo del sistema **User** y **Business**, Didit también marca como `BLOCKED` a los usuarios o empresas coincidentes: aquellos cuyo `vendor_data` sea igual a `value`, o cuyo `didit_internal_id` sea igual a `reference_object_uuid`. Consulta [Lista de bloqueo de usuarios](https://docs.didit.me/es/entities/users/blocklist.md) y [Lista de bloqueo de empresas](https://docs.didit.me/es/entities/businesses/blocklist.md).


## OpenAPI

````yaml es/openapi-25.json POST /v3/lists/{list_uuid}/entries/
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/lists/{list_uuid}/entries/:
    post:
      tags:
        - Lists
      summary: Crear una entrada de lista
      description: >-
        Añade una entrada a una lista, de una de estas tres formas: por `value`;
        desde una sesión de verificación con `reference_session_id`, en cuyo
        caso Didit lee el valor del registro más reciente de la sesión del tipo
        de entrada de la lista y vincula la entrada a él; o por `value` con un
        `reference_object_uuid` y un `metadata.reference_type` que apuntan a una
        transacción, un usuario o una empresa. En las listas de bloqueo del
        sistema de rostros, documentos, teléfonos y correos electrónicos, el
        registro leído de la sesión también se marca como bloqueado, de modo que
        se rechazan las nuevas sesiones que coinciden; en las listas de bloqueo
        del sistema de usuarios y empresas, los usuarios o empresas que
        coinciden pasan a `BLOCKED`. Las sesiones y transacciones que ya
        finalizaron no se modifican. Una clave de API con alcance limitado
        necesita `workflows: write`. Consulta [Crear una entrada de
        lista](https://docs.didit.me/es/management-api/lists/create-entry) para
        cada modo.
      operationId: create_list_entry
      parameters:
        - name: list_uuid
          in: path
          required: true
          description: >-
            UUID de la lista a la que se añade. Para un rostro del que solo
            tienes una imagen, usa en su lugar Subir un rostro a una lista.
          schema:
            type: string
            format: uuid
          example: 11111111-2222-3333-4444-555555555555
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: >-
                Envía `value`, `reference_session_id` o ambos. Los campos que
                aplican dependen del `entry_type` de la lista.
              properties:
                value:
                  type: string
                  description: >-
                    El valor que se añade a la lista, validado según el
                    `entry_type` de la lista: `email`, una dirección de correo
                    electrónico válida; `phone`, un número internacional válido,
                    almacenado en E.164; `ip_address`, una dirección IP o un
                    rango CIDR (por ejemplo, `10.0.0.0/8`);
                    `device_fingerprint`, al menos 8 caracteres entre letras,
                    dígitos, `-`, `_`, `:` y `.` (una lista de bloqueo rechaza
                    una huella digital que hayan reportado varios dispositivos
                    distintos); `country`, un código ISO 3166-1 alfa-2 o alfa-3,
                    almacenado como alfa-3; `user` y `business`, el
                    `vendor_data`; cualquier otro tipo, una cadena no vacía. Se
                    almacena en minúsculas, salvo los números de teléfono y los
                    códigos de país, y una lista contiene cada valor una sola
                    vez (sin distinguir mayúsculas de minúsculas). Obligatorio
                    salvo que se envíe `reference_session_id`; debe dejarse
                    vacío con un `face_image_source` de captura de documento.
                reference_session_id:
                  type: string
                  format: uuid
                  description: >-
                    Una sesión de verificación de persona o de empresa de tu
                    aplicación de la que tomar el valor. Didit lee el registro
                    más reciente de la sesión del tipo de entrada de la lista
                    (`face`, `document`, `phone`, `email`, `ip_address` o
                    `device_fingerprint`), vincula la entrada a la sesión y a
                    ese registro, y rellena `display_label` y `metadata` para
                    los documentos. En una lista de bloqueo
                    `device_fingerprint`, se rechaza una sesión que solo tiene
                    una huella de clase de dispositivo, o que se completó en más
                    de un dispositivo: envía la huella exacta como `value`. Para
                    otros tipos de entrada, o cuando la sesión no tiene ese
                    registro, envía también `value`; en ese caso se almacena tu
                    `value` y la entrada sigue vinculada a la sesión.
                reference_object_uuid:
                  type: string
                  format: uuid
                  description: >-
                    UUID del registro que representa la entrada cuando no
                    procede de una sesión: un UUID de transacción o el
                    `didit_internal_id` de un usuario o una empresa. Combínalo
                    con `metadata.reference_type`. Se sustituye por el registro
                    de la sesión cuando `reference_session_id` aporta uno.
                face_image_source:
                  type: string
                  enum:
                    - liveness
                    - front_image_camera_front
                    - back_image_camera_front
                  default: liveness
                  description: >-
                    Listas de rostros con `reference_session_id`: indica de cuál
                    de las imágenes de la sesión se toma el rostro. `liveness`
                    (valor predeterminado) es la selfie de la prueba de vida.
                    `front_image_camera_front` y `back_image_camera_front` son
                    las selfies que tomó la cámara frontal mientras el usuario
                    fotografiaba el anverso o el reverso de su documento: solo
                    se aceptan en la lista de bloqueo de rostros del sistema,
                    con `reference_session_id` y un `value` vacío. Cada selfie
                    puede añadirse una sola vez y debe mostrar un único rostro
                    nítido.
                reference_node_id:
                  type: string
                  nullable: true
                  maxLength: 100
                  description: >-
                    Con un `face_image_source` de captura de documento: el nodo
                    de verificación de identidad cuya selfie se usará, para
                    flujos con más de uno. De forma predeterminada, la
                    verificación de identidad más reciente que tenga esa imagen.
                    Se rechaza con `liveness`.
                display_label:
                  type: string
                  maxLength: 512
                  description: >-
                    Etiqueta legible. Si está vacía, Didit genera una a partir
                    de la sesión cuando es posible (por ejemplo, el nombre del
                    titular y el número de documento).
                comment:
                  type: string
                  description: >-
                    Nota en texto libre, como el motivo de la inclusión en la
                    lista.
                metadata:
                  type: object
                  additionalProperties: true
                  description: >-
                    JSON libre que se guarda con la entrada y se devuelve tal
                    como se guardó. Usa `reference_type` y `reference_id` para
                    que la consola enlace al origen. `reference_image_url` y
                    `front_image_url` solo los establece Didit y se descartan si
                    los envías. En una entrada leída de una sesión, las claves
                    de Didit se combinan con las tuyas.
                  properties:
                    reference_type:
                      type: string
                      enum:
                        - transaction
                        - vendor_user
                        - vendor_business
                      description: A qué apunta `reference_object_uuid`.
                    reference_id:
                      type: string
                      description: Identificador del registro de origen.
            examples:
              By value:
                value:
                  value: '+14155552671'
                  comment: Reported fraud
              From a session:
                value:
                  reference_session_id: 33333333-4444-5555-6666-777777777777
              Face from a document-capture selfie:
                value:
                  reference_session_id: 33333333-4444-5555-6666-777777777777
                  face_image_source: front_image_camera_front
              From a transaction:
                value:
                  value: '0x52908400098527886E0F7030069857D2E4169EE7'
                  reference_object_uuid: 55555555-6666-7777-8888-999999999999
                  comment: Linked to a chargeback
                  metadata:
                    reference_type: transaction
                    reference_id: 55555555-6666-7777-8888-999999999999
              Country:
                value:
                  value: PRK
                  comment: Sanctioned jurisdiction
      responses:
        '201':
          description: Se creó la entrada.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComplianceListEntry'
              examples:
                By value:
                  value:
                    uuid: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
                    value: '+14155552671'
                    display_label: ''
                    comment: Reported fraud
                    added_by: api
                    reference_session_id: null
                    reference_session_number: null
                    reference_session_type: null
                    reference_object_uuid: null
                    metadata: null
                    created_at: '2026-10-12T10:04:51.220391Z'
                Document from a session:
                  value:
                    uuid: bbbbbbbb-cccc-dddd-eeee-ffffffffffff
                    value: X1234567
                    display_label: Jane Doe - X1234567
                    comment: ''
                    added_by: api
                    reference_session_id: 33333333-4444-5555-6666-777777777777
                    reference_session_number: 1042
                    reference_session_type: kyc
                    reference_object_uuid: 66666666-7777-8888-9999-000000000000
                    metadata:
                      full_name: Jane Doe
                      issuing_state: ESP
                      document_type: ID
                      region: ''
                      document_number: X1234567
                    created_at: '2026-10-12T10:06:12.774915Z'
                From a transaction:
                  value:
                    uuid: dddddddd-eeee-ffff-0000-111111111111
                    value: '0x52908400098527886e0f7030069857d2e4169ee7'
                    display_label: ''
                    comment: Linked to a chargeback
                    added_by: api
                    reference_session_id: null
                    reference_session_number: null
                    reference_session_type: null
                    reference_object_uuid: 55555555-6666-7777-8888-999999999999
                    metadata:
                      reference_type: transaction
                      reference_id: 55555555-6666-7777-8888-999999999999
                    created_at: '2026-10-12T10:20:40.117062Z'
        '400':
          description: >-
            El cuerpo no es válido, el valor ya está en la lista o la sesión no
            puede proporcionar el valor.
          content:
            application/json:
              examples:
                Nothing to list:
                  value:
                    value:
                      - >-
                        Either 'value' or 'reference_session_id' must be
                        provided.
                Duplicate value:
                  value:
                    value:
                      - An entry with this value already exists in this list.
                Invalid phone:
                  value:
                    value:
                      - >-
                        Invalid phone number. Provide a valid international
                        number (e.g. +1234567890).
                Invalid IP:
                  value:
                    value:
                      - >-
                        Invalid IP address or CIDR range (e.g. 192.168.1.1 or
                        10.0.0.0/24).
                Invalid country:
                  value:
                    value:
                      - >-
                        Invalid country code: XX. Provide a valid ISO 3166-1
                        alpha-2 or alpha-3 country code.
                Device-class fingerprint:
                  value:
                    value:
                      - >-
                        This value is a device-class fingerprint: several
                        distinct devices have reported it, so blocklisting it
                        would decline unrelated people. Block the user by
                        document, face, email or phone instead.
                Unknown session:
                  value:
                    reference_session_id:
                      - >-
                        Session not found or does not belong to this
                        application.
                No data in session:
                  value:
                    value:
                      - >-
                        Either provide a 'value' or ensure the session contains
                        data for this entry type.
                Selfie on another list:
                  value:
                    face_image_source:
                      - >-
                        A document-capture selfie can only be added to the face
                        blocklist.
                No clear face in selfie:
                  value:
                    face_image_source:
                      - >-
                        No clear face was found in this selfie, so it cannot be
                        blocklisted.
                Selfie already listed:
                  value:
                    face_image_source:
                      - This selfie is already in the blocklist.
        '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: write` 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 write access to workflows.
        '404':
          description: >-
            No existe ninguna lista con este UUID en la aplicación de la clave
            de API, o se eliminó.
          content:
            application/json:
              examples:
                Not found:
                  value:
                    detail: List not found.
        '429':
          $ref: '#/components/responses/RateLimitedWrite'
        '503':
          description: >-
            El análisis facial de una selfie de captura de documento no está
            disponible temporalmente. No se añadió nada; vuelve a intentarlo más
            tarde.
          content:
            application/json:
              examples:
                Unavailable:
                  value:
                    detail: Service temporarily unavailable. Please try again later.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X POST
            'https://verification.didit.me/v3/lists/11111111-2222-3333-4444-555555555555/entries/'
            \
              -H 'x-api-key: YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"value": "+14155552671", "comment": "Reported fraud"}'
        - lang: python
          label: Python
          source: |-
            from didit import Didit

            # Reads DIDIT_API_KEY.
            client = Didit()

            result = client.lists.entries.create(
                "11111111-2222-3333-4444-555555555555",
                value="+14155552671",
                comment="Reported fraud",
            )
            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.lists.entries.create("11111111-2222-3333-4444-555555555555", {
              value: "+14155552671",
              comment: "Reported fraud",
            });

            console.log(result);
        - lang: go
          label: Go
          source: "ctx := context.Background()\n// Reads DIDIT_API_KEY.\nclient := didit.NewClient()\n\nresult, err := client.Lists.Entries.Create(ctx, \"11111111-2222-3333-4444-555555555555\", didit.ListsEntriesCreateParams{\n\tValue:   didit.String(\"+14155552671\"),\n\tComment: didit.String(\"Reported fraud\"),\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.ListsEntriesCreateParams;


            // Reads DIDIT_API_KEY.

            Didit client = new Didit();


            var result =
            client.lists().entries().create("11111111-2222-3333-4444-555555555555",
            ListsEntriesCreateParams.builder()
                    .value("+14155552671")
                    .comment("Reported fraud")
                    .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->lists->entries->create('11111111-2222-3333-4444-555555555555',
            [
                'value' => '+14155552671',
                'comment' => 'Reported fraud',
            ]);

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

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

            result = didit.lists.entries.create(
              "11111111-2222-3333-4444-555555555555",
              value: "+14155552671",
              comment: "Reported fraud"
            )
            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.Lists.Entries.CreateAsync("11111111-2222-3333-4444-555555555555",
            new ListsEntriesCreateParams

            {
                Value = "+14155552671",
                Comment = "Reported fraud",
            });

            Console.WriteLine(JsonSerializer.Serialize(result));
components:
  schemas:
    ComplianceListEntry:
      type: object
      description: Un valor de una lista.
      required:
        - uuid
        - value
        - display_label
        - comment
        - added_by
        - reference_session_id
        - reference_session_number
        - reference_session_type
        - reference_object_uuid
        - metadata
        - created_at
      properties:
        uuid:
          type: string
          format: uuid
          description: >-
            Identificador de la entrada. Úsalo como `entry_uuid` en Eliminar una
            entrada de lista.
        value:
          type: string
          description: >-
            El valor incluido en la lista: un número de teléfono en formato
            E.164, una dirección de correo electrónico, un número de documento,
            una dirección IP o un rango CIDR, una huella de dispositivo, una
            dirección de wallet, una cuenta bancaria, un código de país ISO
            3166-1 alfa-3, un `vendor_data`, cualquier cadena en una lista
            `key`, o el UUID del rostro almacenado en una lista de rostros. Los
            valores que envías se almacenan en minúsculas, excepto los números
            de teléfono y los códigos de país. La coincidencia no distingue
            entre mayúsculas y minúsculas.
        display_label:
          type: string
          nullable: true
          maxLength: 512
          description: >-
            Etiqueta legible. Didit la completa en las entradas tomadas de una
            sesión (por ejemplo, el nombre del titular y el número de documento)
            cuando no envías ninguna.
        comment:
          type: string
          description: Nota en texto libre. Cadena vacía cuando no está definida.
        added_by:
          type: string
          nullable: true
          description: >-
            Quién añadió la entrada: `api` (una clave de API), el correo
            electrónico de un usuario de la consola o `console`, `system` o
            `migration` (entradas creadas por Didit), o `rule` (una acción de
            una regla de transacciones o de monitorización).
        reference_session_id:
          type: string
          format: uuid
          nullable: true
          description: >-
            Sesión de verificación de la que se tomó la entrada. `null` cuando
            la entrada se añadió por valor.
        reference_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.
        reference_session_type:
          type: string
          nullable: true
          enum:
            - kyc
            - kyb
            - null
          description: >-
            `kyc` para una sesión de verificación de una persona, `kyb` para una
            sesión de verificación de una empresa, `null` cuando no hay sesión.
        reference_object_uuid:
          type: string
          format: uuid
          nullable: true
          description: >-
            El registro que representa la entrada: el registro de rostro,
            documento, teléfono o correo electrónico leído de una sesión, el
            rostro creado con Subir un rostro a una lista, o el UUID que
            enviaste (por ejemplo, el UUID de una transacción o el
            `didit_internal_id` de un usuario).
        metadata:
          type: object
          nullable: true
          additionalProperties: true
          description: >-
            Contexto adicional. Contiene las claves que establece Didit
            (enumeradas aquí) combinadas con cualquier `metadata` que enviaste
            al crear la entrada, devueltas tal como se almacenaron. `null`
            cuando no hay ninguna.
          properties:
            reference_image_url:
              type: string
              description: >-
                Entradas 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`. No aparece cuando ninguna
                imagen pertenece a la entrada.
            front_image_url:
              type: string
              description: >-
                Entradas de documento que incluyen una 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`.
            full_name:
              type: string
              description: >-
                Entradas de documento tomadas de una sesión: nombre completo del
                titular.
            issuing_state:
              type: string
              description: >-
                Entradas de documento tomadas de una sesión: país emisor en
                formato ISO 3166-1 alfa-3.
            document_type:
              type: string
              description: >-
                Entradas de documento tomadas de una sesión: código del tipo de
                documento, por ejemplo `P`, `ID` o `DL`.
            region:
              type: string
              description: >-
                Entradas de documento tomadas de una sesión: estado o provincia
                emisora de un documento de emisión regional; vacío cuando no
                aplica. No lo establece Añadir elementos de la sesión a la lista
                de bloqueo.
            document_number:
              type: string
              description: >-
                Entradas de documento tomadas de una sesión: el número de
                documento.
            face_image_source:
              type: string
              enum:
                - front_image_camera_front
                - back_image_camera_front
              description: >-
                Entradas de rostro tomadas de una selfie de captura de
                documento: qué selfie es. No aparece en los rostros de prueba de
                vida.
            reference_node_id:
              type: string
              nullable: true
              description: >-
                Entradas de rostro tomadas de una selfie de captura de
                documento: el nodo de verificación de identidad del que procede
                la selfie.
            fingerprint_tier:
              type: string
              nullable: true
              enum:
                - persistent_id
                - composite_hash
                - legacy_fp
                - unknown
                - null
              description: >-
                Entradas de huella digital del dispositivo tomadas de una
                sesión: indican cómo se derivó la huella. `persistent_id`
                identifica un único dispositivo; `composite_hash` y `legacy_fp`
                pueden ser compartidos por dispositivos del mismo modelo.
            sandbox:
              type: boolean
              description: >-
                `true` en una entrada facial subida en una aplicación de
                sandbox; esa entrada no coincide con nada.
            reference_type:
              type: string
              enum:
                - transaction
                - vendor_user
                - vendor_business
              description: >-
                Lo defines tú: a qué apunta `reference_object_uuid`, para que la
                consola enlace de vuelta a él.
            reference_id:
              type: string
              description: 'Lo defines tú: identificador del registro de origen.'
        created_at:
          type: string
          format: date-time
          description: Cuándo se añadió la entrada.
  responses:
    RateLimitedWrite:
      description: >-
        Se superó el límite de escritura compartido de 300 solicitudes por
        minuto por clave de API. Respeta `Retry-After` antes de reintentar.
      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 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.