Passer au contenu principal
POST
curl

Comportement

Chaque session correspondante est supprimée exactement comme avec Supprimer une session : la session, chaque tentative de vérification qu’elle contient, sa décision et ses données extraites, ses enregistrements de fonctionnalités et tous ses fichiers stockés sont supprimés, elle disparaît de tous les endpoints de lecture, et les URL de médias émises auparavant cessent de fonctionner. Les envois de webhook encore en file d’attente pour une session supprimée, ainsi que leurs nouvelles tentatives, sont abandonnés ; les webhooks déjà livrés ne sont pas affectés. La suppression est définitive et irréversible. Si l’une des sessions sélectionnées fait partie d’un rapport réglementaire finalisé, la requête entière renvoie 409 et rien n’est supprimé. La réponse utilise code: in_filed_report et nomme chaque rapport. Supprimez chaque rapport avec Supprimer un rapport, puis répétez la requête. La suppression d’un rapport ne supprime pas la session : celle-ci reste en place tant que vous n’avez pas répété la requête. Le nombre de sessions correspondantes détermine la réponse, que vous les sélectionniez avec session_numbers ou avec delete_all : Un résultat confirme que la session a été supprimée, sauf lorsque son face_retention_outcome vaut failed_retryable : cette session n’a pas été supprimée et reste en place. Traitez ce résultat comme un échec à réessayer, jamais comme une confirmation de suppression. Les numéros qui ne correspondent à aucune session KYC active dans votre application sont ignorés et n’apparaissent pas dans results.

Restreindre delete_all avec des filtres

Avec delete_all: true, vous pouvez restreindre la sélection grâce aux filtres de Lister les sessions, chacun préfixé par filter_. Ils acceptent les mêmes valeurs que les paramètres de requête. Un filtre qui accepte plusieurs valeurs (status, workflow_id, country, region, document_type, document_name, session_type, warning, organization_name) accepte une chaîne séparée par des virgules ou un tableau :
  • Les filtres ne s’appliquent qu’avec delete_all ; avec session_numbers, ils sont vérifiés mais ne modifient pas la sélection.
  • Chaque autre filtre n’accepte qu’une seule valeur. Un tableau est réuni en une seule valeur séparée par des virgules : plusieurs dates, UUID ou valeurs api_service renvoient donc 400, et plusieurs textes vendor_data, search ou screened_full_name ne sont pas comparés comme des alternatives.
  • Un filtre dont la valeur est vide est ignoré, et ne restreint donc pas la sélection.
  • Une clé filter_* inconnue renvoie 400 avec {"filter_reviewer": "Unknown filter."}, et une valeur illisible renvoie 400 indexée par cette clé filter_*, comme {"filter_date_from": ["Enter a valid date."]}. Dans ces deux cas, rien n’est supprimé : un filtre mal saisi n’élargit donc jamais la suppression à toutes les sessions.
  • Une tâche de suppression applique les mêmes filtres et, comme tout delete_all, ne couvre que les sessions créées avant la requête.

Champs de conservation et d’instruction

L’endpoint accepte les mêmes champs optionnels que l’endpoint de suppression d’une session unique et les applique à chaque session correspondante : Consultez Supprimer une session pour savoir ce que contient, et ce que ne contient pas, un gabarit conservé, comment expires_at est calculé et ce que fait une instruction d’effacement pour raisons de confidentialité.

Résultats par session

Pour jusqu’à 20 sessions correspondantes, 200 OK renvoie un résultat par session :
Chaque résultat contient les mêmes champs que la réponse de Supprimer une session. biometric_template_expires_at indique le moment où un gabarit conservé est supprimé, et deleted_child_verifications vaut toujours 0 ici, car cet endpoint ne supprime que des sessions KYC. Les sessions sont supprimées par groupes. Lorsqu’un groupe ne peut pas être supprimé, chaque session de ce groupe est signalée comme failed_retryable ; les autres groupes ne sont pas affectés et restent supprimés.

Grandes sélections exécutées sous forme de tâche

Lorsque plus de 20 sessions correspondent, la réponse est 202 Accepted avec une tâche de suppression à la place de results :
Interrogez Obtenir la tâche de suppression de session toutes les quelques secondes jusqu’à ce que status soit COMPLETED ou FAILED.
  • La tâche indique combien de sessions ont abouti à chaque résultat, mais jamais lesquelles elle a supprimées.
  • Une tâche delete_all supprime uniquement les sessions créées avant votre requête. Les sessions démarrées pendant son exécution ne sont pas supprimées.
  • Les champs de conservation et d’instruction de votre requête s’appliquent à chaque session supprimée par la tâche.
  • Si un groupe ne peut pas encore être supprimé, la tâche le réessaie automatiquement.
  • Une tâche FAILED explique la raison dans error. Les sessions qu’elle n’a pas atteintes sont toujours en place : renvoyez la requête pour les supprimer.

Exemples

Migration depuis les réponses 204

Jusqu’à cette version, l’endpoint renvoyait 204 No Content. Il renvoie désormais 200 OK avec results[], ou 202 Accepted avec une tâche de suppression pour plus de 20 sessions correspondantes. Mettez à jour les clients qui vérifient 204. Le comportement de suppression par défaut est inchangé : les applications existantes restent sur delete_with_session tant que vous ne modifiez pas explicitement la politique.

Ressources associées

Autorisations

x-api-key
string
header
requis

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.

Corps

application/json
session_numbers
string[]

Valeurs numériques session_number des sessions KYC à supprimer, sous forme de chaînes composées uniquement de chiffres (les nombres JSON sont également acceptés et convertis). Requis sauf si delete_all est true ; une liste vide renvoie 400. Toute entrée ne comportant pas que des chiffres rejette l'ensemble de la requête avec 400 (sauf si delete_all est true, auquel cas la validation est ignorée et les entrées ne sont pas prises en compte). Les numéros qui ne correspondent à aucune session active dans votre application sont ignorés sans erreur.

Minimum array length: 1
Pattern: ^[0-9]+$
Exemple:
delete_all
boolean
défaut:false

Lorsque la valeur est true, toutes les sessions KYC restantes dans l'application appelante sont supprimées et session_numbers est ignoré, sauf si vous restreignez la sélection avec les clés filter_*. Plus de 20 sessions correspondantes sont traitées sous la forme d'une tâche de suppression (202) qui ne couvre que les sessions créées avant la requête. Valeur par défaut : false. Irréversible ; il n'y a aucune étape de confirmation.

Exemple:

false

retain_face_embeddings
boolean | null

Remplacer la face_retention_policy de l'application pour cette suppression. true conserve un gabarit biométrique facial sans image rattaché à l'utilisateur de la session après la suppression de la session ; false supprime l'embedding facial avec la session ; omettez ou définissez sur null pour suivre la politique de l'application. Ignoré pour les sessions KYB et pour les sessions sans embedding facial.

Exemple:

true

face_retention_days
integer

Durée de conservation finie, en jours, pour un gabarit conservé. Requise lorsqu'un gabarit est conservé, sauf si l'application définit déjà face_retention_days. La valeur expires_at du gabarit correspond à la date d'expiration la plus proche, déterminée par cette durée, la fenêtre générale de conservation des données de l'application et face_retention_deadline.

Plage requise: 1 <= x <= 3650
Exemple:

365

face_retention_deadline
string<date-time>

Expiration stricte optionnelle pour un modèle conservé. Doit être dans le futur.

Exemple:

"2027-08-28T00:00:00Z"

deletion_instruction
enum<string>
défaut:operational_session_delete

La catégorie d'instruction que vous donnez. operational_session_delete supprime la session et ne conserve un modèle que si la politique ou retain_face_embeddings l'indique. privacy_erasure purge tout gabarit biométrique conservé ancré à l'Utilisateur de la session avant de supprimer la session, ne peut pas être outrepassé par la politique de l'application, et ne peut pas être combiné avec retain_face_embeddings: true (400).

Options disponibles:
operational_session_delete,
privacy_erasure
Exemple:

"operational_session_delete"

instruction_id
string

Votre référence durable pour cette instruction de suppression (par exemple un ID de ticket d'effacement). Enregistrée dans le journal d'audit et sur tout gabarit conservé. Générée par Didit lorsqu'elle est omise.

Maximum string length: 255
Exemple:

"dsar-2026-0142"

filter_status

Restreint un delete_all aux sessions qui correspondent au filtre status de Lister les sessions, avec les mêmes valeurs. Une chaîne séparée par des virgules ou un tableau. Ignoré sans delete_all. Une valeur vide est ignorée et ne restreint pas la sélection.

filter_vendor_data
string

Restreint un delete_all aux sessions qui correspondent au filtre vendor_data de Lister les sessions, avec la même valeur. Une seule valeur, pas une liste : un tableau est joint en un seul texte séparé par des virgules, donc plusieurs valeurs ne sont pas traitées comme des alternatives. Ignoré sans delete_all. Une valeur vide est ignorée et ne restreint pas la sélection.

Restreint un delete_all aux sessions qui correspondent au filtre search de Lister les sessions, avec la même valeur. Une seule valeur, pas une liste : un tableau est joint en un seul texte séparé par des virgules, donc plusieurs valeurs ne sont pas traitées comme des alternatives. Ignoré sans delete_all. Une valeur vide est ignorée et ne restreint pas la sélection.

filter_workflow_id

Restreint un delete_all aux sessions qui correspondent au filtre workflow_id de Lister les sessions, avec les mêmes valeurs. Une chaîne séparée par des virgules ou un tableau. Ignoré sans delete_all. Une valeur vide est ignorée et ne restreint pas la sélection.

filter_date_from
string<date>

Limite un delete_all aux sessions correspondant au filtre date_from de List Sessions, avec la même valeur. Une seule valeur, pas une liste : un tableau est fusionné en une seule valeur séparée par des virgules, donc plusieurs valeurs sont refusées avec 400. Ignoré sans delete_all. Une valeur vide est ignorée et ne restreint pas la sélection.

filter_date_to
string<date>

Limite un delete_all aux sessions correspondant au filtre date_to de List Sessions, avec la même valeur. Une seule valeur, pas une liste : un tableau est fusionné en une seule valeur séparée par des virgules, donc plusieurs valeurs sont refusées avec 400. Ignoré sans delete_all. Une valeur vide est ignorée et ne restreint pas la sélection.

filter_country

Limite un delete_all aux sessions correspondant au filtre country de List Sessions, avec les mêmes valeurs. Une chaîne séparée par des virgules ou un tableau. Ignoré sans delete_all. Une valeur vide est ignorée et ne restreint pas la sélection.

filter_document_type

Limite un delete_all aux sessions correspondant au filtre document_type de List Sessions, avec les mêmes valeurs. Une chaîne séparée par des virgules ou un tableau. Ignoré sans delete_all. Une valeur vide est ignorée et ne restreint pas la sélection.

filter_document_name

Limite un delete_all aux sessions correspondant au filtre document_name de List Sessions, avec les mêmes valeurs. Une chaîne séparée par des virgules ou un tableau. Ignoré sans delete_all. Une valeur vide est ignorée et ne restreint pas la sélection.

filter_region

Restreint un delete_all aux sessions qui correspondent au filtre region de Lister les sessions, avec les mêmes valeurs. Une chaîne séparée par des virgules ou un tableau. Ignoré sans delete_all. Une valeur vide est ignorée et ne restreint pas la sélection.

filter_didit_internal_id
string<uuid>

Limite un delete_all aux sessions correspondant au filtre didit_internal_id de List Sessions, avec la même valeur. Une seule valeur, pas une liste : un tableau est fusionné en une seule valeur séparée par des virgules, donc plusieurs valeurs sont refusées avec 400. Ignoré sans delete_all. Une valeur vide est ignorée et ne restreint pas la sélection.

filter_session_type

Restreint un delete_all aux sessions qui correspondent au filtre session_type de Lister les sessions, avec les mêmes valeurs. Une chaîne séparée par des virgules ou un tableau. Ignoré sans delete_all. Une valeur vide est ignorée et ne restreint pas la sélection.

filter_api_service
string

Limite un delete_all aux sessions correspondant au filtre api_service de List Sessions, avec la même valeur. Une seule valeur, pas une liste : un tableau est fusionné en une seule valeur séparée par des virgules, donc plusieurs valeurs sont refusées avec 400. Ignoré sans delete_all. Une valeur vide est ignorée et ne restreint pas la sélection.

filter_screened_full_name
string

Restreint un delete_all aux sessions qui correspondent au filtre screened_full_name de Lister les sessions, avec la même valeur. Une seule valeur, pas une liste : un tableau est joint en un seul texte séparé par des virgules, donc plusieurs valeurs ne sont pas traitées comme des alternatives. Ignoré sans delete_all. Une valeur vide est ignorée et ne restreint pas la sélection.

filter_warning

Restreint un delete_all aux sessions qui correspondent au filtre warning de Lister les sessions, avec les mêmes valeurs. Une chaîne séparée par des virgules ou un tableau. Ignoré sans delete_all. Une valeur vide est ignorée et ne restreint pas la sélection.

filter_status_initialized_as_in_review
boolean

Restreint un delete_all aux sessions qui correspondent au filtre status_initialized_as_in_review de Lister les sessions, avec les mêmes valeurs. Ignoré sans delete_all. Une valeur vide est ignorée et ne restreint pas la sélection.

filter_is_kyc_to_be_reviewed
boolean

Limite un delete_all aux sessions correspondant au filtre is_kyc_to_be_reviewed de List Sessions, avec les mêmes valeurs. Ignoré sans delete_all. Une valeur vide est ignorée et ne restreint pas la sélection.

filter_euuid
string<uuid>

Limite un delete_all aux sessions correspondant au filtre euuid de List Sessions, avec la même valeur. Une seule valeur, pas une liste : un tableau est fusionné en une seule valeur séparée par des virgules, donc plusieurs valeurs sont refusées avec 400. Ignoré sans delete_all. Une valeur vide est ignorée et ne restreint pas la sélection.

filter_organization_name

Restreint un delete_all aux sessions qui correspondent au filtre organization_name de Lister les sessions, avec les mêmes valeurs. Une chaîne séparée par des virgules ou un tableau. Avec une clé API, il ne peut correspondre qu'au nom de votre propre organisation, sélectionnant ainsi toutes vos sessions ou aucune. Ignoré sans delete_all. Une valeur vide est ignorée et ne restreint pas la sélection.

Réponse

Jusqu'à 20 sessions ont correspondu et ont été traitées dans la requête. Un résultat par session correspondante ; les numéros qui ne correspondent à rien (inconnus ou déjà supprimés) sont ignorés et n'apparaissent pas. Un résultat confirme la suppression sauf lorsque face_retention_outcome vaut failed_retryable : cette session n'a PAS été supprimée et doit être réessayée.

results
object[]
Dernière modification le 7 novembre 2026