> ## 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 de création d'entrée : blocage et autorisation

> Ajoutez une entrée (visage, document, IP, portefeuille, e-mail, téléphone) à une liste Didit de blocage ou d'autorisation.



Prompt de l’API de création d’une entrée de liste
        Copier le prompt dans le presse-papiers



      
      

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



      
      

Coller dans

Ajoutez une entrée à une liste. La valeur est validée selon le type d'entrée de la liste :* **email** : une adresse e-mail valide
* **phone** : un numéro de téléphone international valide, stocké au format E.164 (par exemple `+14155552671`)
* **ip\_address** : une adresse IP valide ou une plage CIDR (par exemple `192.168.1.1` ou `10.0.0.0/8`)
* **device\_fingerprint** : au moins 8 caractères parmi les lettres, les chiffres, `-`, `_`, `:` et `.`. Une liste de blocage refuse une empreinte signalée par plusieurs appareils distincts, car son blocage refuserait des personnes sans rapport les unes avec les autres.
* **country** : un [code pays ISO 3166-1 alpha-3](https://docs.didit.me/fr/core-technology/id-verification/supported-documents-id-verification.md) valide (par exemple `USA`, `GBR`, `ESP`). Les codes alpha-2 (par exemple `US`) sont acceptés et convertis automatiquement en alpha-3.
* **user**, **business** : le `vendor_data` de l'utilisateur ou de l'entreprise
* **face**, **document**, **wallet\_address**, **bank\_account**, **key** : toute chaîne non vide> [!NOTE]
>
> Toutes les valeurs d'entrée sont **insensibles à la casse**. Les valeurs que vous envoyez sont normalisées au stockage (numéros de téléphone au format E.164, codes pays en majuscules, le reste en minuscules) et comparées sans tenir compte de la casse lors de la vérification. Par exemple, bloquer `User@Example.COM` détectera aussi `user@example.com`. Une liste ne contient chaque valeur qu'une fois : ajouter une valeur déjà présente dans la liste renvoie `400`.Pour un visage, utilisez [Téléverser un visage](https://docs.didit.me/fr/management-api/lists/upload-face.md) lorsque vous ne disposez que d'une image, ou envoyez un `reference_session_id` pour reprendre le visage d'une session existante. Une entrée de type visage a besoin d'un visage enregistré auquel se comparer, ce que ne fournit pas une `value` saisie.## Ajouter depuis une sessionLorsque vous fournissez un `reference_session_id`, Didit :1) Recherche la session (elle doit appartenir à la même application)
2) Lit la valeur dans l'enregistrement **le plus récent** de la session pour le type d'entrée de la liste :
   * **face** : le visage du selfie de détection du vivant ; `value` est l'UUID du visage
   * **document** : le numéro du document ; le nom complet, l'État de délivrance, le type de document, la région et le numéro du document sont stockés dans `metadata`, et `display_label` prend par défaut le nom du titulaire et le numéro du document
   * **phone** : le numéro de téléphone
   * **email** : l'adresse e-mail
   * **ip\_address** : l'adresse IP de la session
   * **device\_fingerprint** : une empreinte qui identifie un appareil, en privilégiant un appareil ayant terminé une étape de vérification. Sur une liste de blocage, Didit refuse une session qui ne possède qu'une empreinte de classe d'appareil, ou une session effectuée sur plusieurs appareils : envoyez alors l'empreinte exacte comme `value`.
3) Relie l'entrée à la session (`reference_session_id`) et à l'enregistrement (`reference_object_uuid`) pour la traçabilitéSur les listes de blocage système (visage, document, téléphone et e-mail), l'enregistrement est aussi marqué comme figurant sur une liste de blocage, si bien que les nouvelles sessions qui lui correspondent sont refusées. Pour tout autre type d'entrée, envoyez aussi `value`.Renvoie `400` si la session est introuvable ou ne contient aucune donnée pour le type d'entrée demandé.### Visages issus du selfie de capture du documentPendant que l'utilisateur photographie son document, la caméra frontale peut prendre un selfie de lui (les images `front_image_camera_front` et `back_image_camera_front` du [rapport de vérification d'identité](https://docs.didit.me/fr/core-technology/id-verification/report-id-verification.md)). Ce visage peut être ajouté à la liste de blocage des visages, en plus du visage de détection du vivant : transmettez `face_image_source` avec l'image souhaitée.```json theme={null}
{
  "reference_session_id": "33333333-4444-5555-6666-777777777777",
  "face_image_source": "front_image_camera_front"
}
```- L'entrée est créée uniquement dans la **liste de blocage des visages** du système, et `value` doit rester vide : Didit prend le visage à partir du selfie de la session.
- Le selfie doit contenir un seul visage net. Sinon, la requête renvoie `400` et rien n'est ajouté.
- Chaque selfie ne peut être ajouté qu'une fois. Les champs `metadata.face_image_source` et `metadata.reference_node_id` indiquent d'où provient le selfie de l'entrée.
- Dans un workflow comportant plusieurs étapes de vérification d'identité, `reference_node_id` désigne l'étape dont le selfie est utilisé. Par défaut, Didit utilise la vérification d'identité la plus récente qui dispose de ce selfie.
- Ensuite, le visage est contrôlé comme tout visage de liste de blocage : par rapport au selfie de détection du vivant de chaque nouvelle session, et par rapport à chaque nouveau selfie de capture de document (voir [`FRONT_CAMERA_FACE_IN_BLOCKLIST`](https://docs.didit.me/fr/core-technology/id-verification/warnings-id-verification)).
- La suppression de l'entrée retire le visage de la liste de blocage, et celui-ci ne correspond plus aux nouvelles sessions.### Sessions avec plusieurs enregistrements du même typeUne session peut contenir plusieurs enregistrements d'un même type, par exemple deux numéros de téléphone issus d'un workflow en plusieurs étapes. Didit lit toujours le **plus récent**. Si vous envoyez `value` avec `reference_session_id`, l'entrée stocke votre `value` mais reste liée à cet enregistrement le plus récent, et sur une liste de blocage système, c'est cet enregistrement qui est marqué.Pour inscrire une valeur provenant d'un enregistrement antérieur, ajoutez-la uniquement avec `value`, sans `reference_session_id` :```json theme={null}
{
  "value": "+34612345678",
  "comment": "First phone number of session 42"
}
```## Référencer des transactions, des utilisateurs et des entreprisesLorsque vous ajoutez à une liste de blocage des données issues d'une transaction, d'un utilisateur du fournisseur ou d'une entreprise du fournisseur, transmettez l'UUID de l'entité comme `reference_object_uuid` et indiquez le type de source dans `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"
  }
}
```Cela vous permet d'accéder, depuis l'entrée de la liste de blocage, à la transaction, à l'utilisateur ou à l'entreprise d'origine dans la console. Didit conserve vos clés `metadata`, à l'exception de `reference_image_url` et `front_image_url`, que seul Didit définit. Pour une entrée issue d'une session, Didit ajoute ses propres clés aux vôtres, et ses clés prévalent.| Entité source | `reference_object_uuid` | `metadata.reference_type` |
| - | - | - |
| Session de vérification | Défini par Didit (l'enregistrement du visage, du document, du téléphone ou de l'e-mail) | Inutile : utilisez `reference_session_id` |
| Transaction | UUID de la transaction | `"transaction"` |
| Utilisateur du fournisseur | `didit_internal_id` | `"vendor_user"` |
| Entreprise du fournisseur | `didit_internal_id` | `"vendor_business"` |Sur les listes de blocage système **Utilisateur** et **Entreprise**, Didit passe aussi au statut `BLOCKED` les utilisateurs ou entreprises correspondants : ceux dont le `vendor_data` est égal à `value`, ou dont le `didit_internal_id` est égal à `reference_object_uuid`. Voir [Liste de blocage des utilisateurs](https://docs.didit.me/fr/entities/users/blocklist.md) et [Liste de blocage des entreprises](https://docs.didit.me/fr/entities/businesses/blocklist.md).


## OpenAPI

````yaml fr/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 vérification d'identité. Authentifiez-vous avec l'en-tête x-api-key.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/lists/{list_uuid}/entries/:
    post:
      tags:
        - Lists
      summary: Créer une entrée de liste
      description: "Ajoute une entrée à une liste, selon l'une des trois méthodes suivantes\_: par `value`\_; à partir d'une session de vérification avec `reference_session_id`, où Didit lit la valeur depuis l'enregistrement le plus récent de la session correspondant au type d'entrée de la liste et lui associe l'entrée\_; ou par `value` avec un `reference_object_uuid` et un `metadata.reference_type` pointant vers une transaction, un utilisateur ou une entreprise. Sur les listes de blocage système de visages, documents, téléphones et e-mails, l'enregistrement lu depuis la session est également marqué comme placé sur liste de blocage, de sorte que les nouvelles sessions correspondantes sont refusées\_; sur les listes de blocage système d'utilisateurs et d'entreprises, les utilisateurs ou entreprises correspondants passent à l'état `BLOCKED`. Les sessions et transactions déjà terminées ne sont pas modifiées. Une clé API restreinte nécessite `workflows: write`. Consultez [Créer une entrée de liste](https://docs.didit.me/fr/management-api/lists/create-entry) pour chaque mode."
      operationId: create_list_entry
      parameters:
        - name: list_uuid
          in: path
          required: true
          description: >-
            UUID de la liste à laquelle ajouter l'élément. Pour un visage dont
            vous ne disposez que sous forme d'image, utilisez plutôt Téléverser
            un visage dans une liste.
          schema:
            type: string
            format: uuid
          example: 11111111-2222-3333-4444-555555555555
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: >-
                Envoyez `value`, `reference_session_id`, ou les deux. Les champs
                applicables dépendent du `entry_type` de la liste.
              properties:
                value:
                  type: string
                  description: >-
                    La valeur à inscrire sur la liste, validée selon
                    l'`entry_type` de la liste : `email` une adresse e-mail
                    valide ; `phone` un numéro international valide, stocké au
                    format E.164 ; `ip_address` une adresse IP ou une plage CIDR
                    (par exemple `10.0.0.0/8`) ; `device_fingerprint` au moins 8
                    caractères parmi lettres, chiffres, `-`, `_`, `:` et `.`
                    (une liste de blocage refuse une empreinte signalée par
                    plusieurs appareils distincts) ; `country` un code ISO
                    3166-1 alpha-2 ou alpha-3, stocké en alpha-3 ; `user` et
                    `business` le `vendor_data` ; tout autre type une chaîne non
                    vide. Stocké en minuscules sauf pour les numéros de
                    téléphone et les codes pays, et une liste conserve chaque
                    valeur une seule fois (insensible à la casse). Requis sauf
                    si `reference_session_id` est envoyé ; doit être laissé vide
                    avec un `face_image_source` de capture de document.
                reference_session_id:
                  type: string
                  format: uuid
                  description: >-
                    Une session de vérification d'utilisateur ou d'entreprise de
                    votre application depuis laquelle extraire la valeur. Didit
                    lit l'enregistrement le plus récent de la session
                    correspondant au type d'entrée de la liste (`face`,
                    `document`, `phone`, `email`, `ip_address` ou
                    `device_fingerprint`), associe l'entrée à la session ainsi
                    qu'à cet enregistrement, et remplit `display_label` et
                    `metadata` pour les documents. Pour une liste de blocage
                    `device_fingerprint`, une session qui ne comporte qu'une
                    empreinte de classe d'appareil, ou qui a été complétée sur
                    plusieurs appareils, est refusée : envoyez l'empreinte
                    exacte dans `value`. Pour les autres types d'entrées, ou
                    lorsque la session ne contient pas un tel enregistrement,
                    envoyez également `value` ; votre `value` est alors stockée
                    et l'entrée reste associée à la session.
                reference_object_uuid:
                  type: string
                  format: uuid
                  description: >-
                    UUID de l'enregistrement représenté par l'entrée lorsqu'elle
                    ne provient pas d'une session : un UUID de transaction, ou
                    le `didit_internal_id` d'un utilisateur ou d'une entreprise.
                    Associez-le à `metadata.reference_type`. Remplacé par
                    l'enregistrement de la session lorsque
                    `reference_session_id` en fournit un.
                face_image_source:
                  type: string
                  enum:
                    - liveness
                    - front_image_camera_front
                    - back_image_camera_front
                  default: liveness
                  description: >-
                    Listes de visages avec `reference_session_id` : image de la
                    session à partir de laquelle le visage est extrait.
                    `liveness` (par défaut) correspond au selfie de détection du
                    vivant. `front_image_camera_front` et
                    `back_image_camera_front` correspondent aux selfies pris par
                    la caméra frontale pendant que l'utilisateur photographiait
                    le recto ou le verso de son document : acceptés uniquement
                    sur la liste de blocage de visages du système, avec
                    `reference_session_id` et une `value` vide. Chaque selfie ne
                    peut être ajouté qu'une seule fois et doit présenter un seul
                    visage net.
                reference_node_id:
                  type: string
                  nullable: true
                  maxLength: 100
                  description: "Avec un `face_image_source` de capture de document\_: le nœud de vérification d'identité dont le selfie doit être utilisé, pour les workflows qui en comportent plusieurs. Par défaut, il s'agit de la vérification d'identité la plus récente disposant de cette image. Refusé avec `liveness`."
                display_label:
                  type: string
                  maxLength: 512
                  description: >-
                    Libellé lisible par l'humain. Lorsqu'il est vide, Didit en
                    déduit un à partir de la session dans la mesure du possible
                    (par exemple le nom du titulaire et le numéro de document).
                comment:
                  type: string
                  description: >-
                    Note en texte libre, telle que le motif d'inscription sur la
                    liste.
                metadata:
                  type: object
                  additionalProperties: true
                  description: >-
                    JSON libre stocké avec l'entrée et renvoyé tel quel.
                    Utilisez `reference_type` et `reference_id` afin que la
                    console crée un lien vers la source. `reference_image_url`
                    et `front_image_url` sont définis par Didit uniquement et
                    sont ignorés si vous les envoyez. Pour une entrée lue depuis
                    une session, les clés de Didit sont fusionnées avec les
                    vôtres.
                  properties:
                    reference_type:
                      type: string
                      enum:
                        - transaction
                        - vendor_user
                        - vendor_business
                      description: Ce vers quoi pointe `reference_object_uuid`.
                    reference_id:
                      type: string
                      description: Identifiant de l'enregistrement source.
            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: L'entrée a été créée.
          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: >-
            Le corps est invalide, la valeur est déjà dans la liste, ou la
            session ne peut pas fournir la valeur.
          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 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.
        '404':
          description: >-
            Aucune liste avec cet UUID n'existe dans l'application de la clé
            API, ou elle a été supprimée.
          content:
            application/json:
              examples:
                Not found:
                  value:
                    detail: List not found.
        '429':
          $ref: '#/components/responses/RateLimitedWrite'
        '503':
          description: >-
            L'analyse faciale du selfie de capture de document est
            temporairement indisponible. Rien n'a été ajouté ; réessayez plus
            tard.
          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: Une valeur dans une liste.
      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: >-
            Identifiant d'entrée. Utilisez-le comme `entry_uuid` dans Supprimer
            une entrée de liste.
        value:
          type: string
          description: "La valeur répertoriée\_: un numéro de téléphone au format E.164, une adresse e-mail, un numéro de document, une adresse IP ou une plage CIDR, une empreinte d'appareil, une adresse, un compte bancaire, un code pays ISO 3166-1 alpha-3, une `vendor_data`, toute chaîne de caractères sur une liste de type `key`, ou l'UUID du visage enregistré sur une liste de visages. Les valeurs que vous envoyez sont stockées en minuscules, à l'exception des numéros de téléphone et des codes pays. La recherche de correspondance est insensible à la casse."
        display_label:
          type: string
          nullable: true
          maxLength: 512
          description: >-
            Libellé lisible par l'humain. Didit le renseigne pour les entrées
            issues d'une session (par exemple le nom du titulaire et le numéro
            de document) lorsque vous n'en transmettez aucun.
        comment:
          type: string
          description: Note en texte libre. Chaîne vide lorsqu'elle n'est pas définie.
        added_by:
          type: string
          nullable: true
          description: >-
            Qui a ajouté l'entrée : `api` (une clé API), l'adresse e-mail d'un
            utilisateur de la console ou `console`, `system` ou `migration`
            (entrées créées par Didit), ou `rule` (une action de règle de
            transaction ou de surveillance).
        reference_session_id:
          type: string
          format: uuid
          nullable: true
          description: >-
            Session de vérification dont provient l'entrée. `null` lorsque
            l'entrée a été ajoutée par valeur.
        reference_session_number:
          type: integer
          nullable: true
          description: >-
            Numéro de cette session propre à l'application, tel qu'affiché dans
            la console.
        reference_session_type:
          type: string
          nullable: true
          enum:
            - kyc
            - kyb
            - null
          description: >-
            `kyc` pour une session de vérification de personne, `kyb` pour une
            session de vérification d'entreprise, `null` lorsqu'il n'y a pas de
            session.
        reference_object_uuid:
          type: string
          format: uuid
          nullable: true
          description: >-
            L'enregistrement que l'entrée représente : l'enregistrement de
            visage, de document, de téléphone ou d'e-mail lu à partir d'une
            session, le visage créé par Charger un visage dans une liste, ou
            l'UUID que vous avez envoyé (par exemple un UUID de transaction ou
            le `didit_internal_id` d'un utilisateur).
        metadata:
          type: object
          nullable: true
          additionalProperties: true
          description: >-
            Contexte supplémentaire. Contient les clés définies par Didit
            (listées ici) fusionnées avec les `metadata` que vous avez envoyées
            lors de la création de l'entrée, renvoyées telles quelles. `null`
            lorsqu'il n'y en a pas.
          properties:
            reference_image_url:
              type: string
              description: >-
                Entrées faciales : URL signée à courte durée de vie, réémise à
                chaque appel ; `null` pour une clé API restreinte sans `media:
                read`. Absent lorsqu'aucune image n'est associée à l'entrée.
            front_image_url:
              type: string
              description: >-
                Entrées de documents comportant une image du recto du document :
                URL signée de courte durée, réémise à chaque appel ; `null` pour
                une clé API restreinte sans `media: read`.
            full_name:
              type: string
              description: >-
                Entrées de documents issues d'une session : nom complet du
                titulaire.
            issuing_state:
              type: string
              description: >-
                Entrées de documents issues d'une session : pays de délivrance
                ISO 3166-1 alpha-3.
            document_type:
              type: string
              description: >-
                Entrées de documents issues d'une session : code du type de
                document, par exemple `P`, `ID` ou `DL`.
            region:
              type: string
              description: >-
                Entrées de documents issues d'une session : État ou province de
                délivrance pour un document émis au niveau régional, vide si non
                applicable. Non défini par l'ajout d'éléments de session à la
                liste de blocage.
            document_number:
              type: string
              description: 'Entrées de documents issues d''une session : numéro du document.'
            face_image_source:
              type: string
              enum:
                - front_image_camera_front
                - back_image_camera_front
              description: >-
                Entrées faciales issues d'un selfie de capture de document :
                identifiant du selfie. Absent pour les visages de détection du
                vivant.
            reference_node_id:
              type: string
              nullable: true
              description: >-
                Entrées faciales issues d'un selfie de capture de document : le
                nœud de Vérification d'identité dont provient le selfie.
            fingerprint_tier:
              type: string
              nullable: true
              enum:
                - persistent_id
                - composite_hash
                - legacy_fp
                - unknown
                - null
              description: "Entrées d'empreinte d'appareil provenant d'une session\_: mode de dérivation de l'empreinte. `persistent_id` identifie un appareil\_; `composite_hash` et `legacy_fp` peuvent être partagés par des appareils du même modèle."
            sandbox:
              type: boolean
              description: >-
                `true` pour une entrée faciale téléversée dans une application
                sandbox ; une telle entrée ne correspond à aucun élément.
            reference_type:
              type: string
              enum:
                - transaction
                - vendor_user
                - vendor_business
              description: >-
                Défini par vous : élément vers lequel pointe
                `reference_object_uuid`, afin que la console puisse créer un
                lien vers celui-ci.
            reference_id:
              type: string
              description: 'Défini par vous : identifiant de l''enregistrement source.'
        created_at:
          type: string
          format: date-time
          description: Date et heure d'ajout de l'entrée.
  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.