Aller au contenu

Suppression RGPD

Quand un utilisateur demande l’effacement de ses données, ton backend demande la suppression de sa person. La suppression se fait en arrière-plan : l’API répond tout de suite avec un job, dont tu suis l’état.

Fenêtre de terminal
curl -X DELETE https://api.belvdr.com/v1/persons/user_42 \
-H "Authorization: Bearer sk_…"

Réponse 202 :

{
"job": {
"id": "0192f3a4-…",
"externalId": "user_42",
"keepRecordings": false,
"status": "pending",
"createdAt": "2026-10-15T09:12:03.000Z",
"startedAt": null,
"completedAt": null
}
}

Par défaut, sont supprimés :

  1. les enregistrements de toutes les sessions des navigateurs de la person, y compris celles d’avant son identification, et leurs events ;
  2. la person, ses propriétés et le rattachement de ses navigateurs.
Fenêtre de terminal
curl -X DELETE "https://api.belvdr.com/v1/persons/user_42?keepRecordings=true" \
-H "Authorization: Bearer sk_…"

Avec keepRecordings=true, seuls la person et le rattachement de ses navigateurs sont supprimés : ses sessions restent, anonymes.

Fenêtre de terminal
curl https://api.belvdr.com/v1/deletion-jobs/0192f3a4-… \
-H "Authorization: Bearer sk_…"
status Signification
pending En attente
running En cours
completed Terminé : completedAt donne l’instant de fin
failed Échec après 5 tentatives (à 30 s, 1, 2 et 4 minutes d’intervalle) : une nouvelle demande crée un nouveau job

Le job reste consultable après la suppression, comme preuve. La fiche de la person, dans le dashboard, affiche aussi une suppression en cours ou en échec.

  • Nouvelle demande pendant la suppression : même job (202). Avec l’autre valeur de keepRecordings : 409 deletion_in_progress.
  • POST ou PATCH de la person pendant la suppression : 409 person_being_deleted.
  • identify() vers cette person pendant la suppression : ignoré, le navigateur reste anonyme.
  • Après la suppression, les navigateurs de la person qui enregistrent encore le font en anonyme.
Réponse Cause
404 person_not_found Aucune person avec cet externalId dans le projet
404 deletion_job_not_found Aucun job avec cet identifiant dans le projet
409 deletion_in_progress Une suppression avec l’autre valeur de keepRecordings est en cours
401, 403 Clé absente, inconnue, révoquée ou publique (Clés secrètes)