Requête exemple
Réponse exemple
POST/v1/gdpr/deletionDépose une demande d'effacement RGPD (droit à l'oubli, Art. 17) pour le propriétaire de l'espace de travail authentifié.Cet endpoint dépose une demande de suppression des données RGPD (droit à l'effacement, Art. 17) pour le propriétaire de l'espace de travail. Il ne supprime rien immédiatement : il enregistre une demande d'admission DSAR dans la console RGPD/DSAR avec le statut pending, écrit une entrée d'audit (gdpr.deletion_requested), puis renvoie un récépissé. La suppression effective requiert une confirmation humaine du propriétaire par e-mail et un délai de réflexion (cooling-off) de 30 jours. La demande est dédupliquée : si une demande d'effacement est déjà ouverte (statut pending ou in_progress) pour le même utilisateur, aucune seconde demande n'est créée.
Authentification
Requiert une clé API valide (Authorization: Bearer cof_live_...) portant le scope gdpr:request. Aucun alias ne couvre ce scope : il doit être explicitement accordé au jeton. Une demande sans le scope renvoie une erreur 403 scope_missing.
Corps de la requête
| Champ | Type | Requis | Description |
|---|---|---|---|
| confirm | boolean | Oui | Doit valoir exactement true pour accuser réception du caractère irréversible. Toute autre valeur (absent, false, chaîne) déclenche une erreur 400. |
| reason | string | Non | Motif libre de la demande, tronqué à 1000 caractères. Stocké dans les métadonnées de l'audit. Toute valeur non-chaîne est ignorée (enregistrée comme null). |
Réponse
Renvoie un statut 202 Accepted avec un objet gdpr_deletion_request. Champs clés : workspace_id et workspace_name identifient l'espace concerné ; requested_at horodate la demande (ISO 8601) ; cooling_off_until indique la fin du délai de réflexion de 30 jours, au-delà duquel les données peuvent être supprimées définitivement ; next_steps détaille les étapes à venir (e-mail au propriétaire sous 24 h, confirmation par lien, suppression après 30 jours, annulation possible avant échéance) ; dpo_email fournit le contact du délégué à la protection des données (par défaut legal@coffrify.com).
Erreurs
| Code | Quand | Résolution |
|---|---|---|
| 400 validation_error | Le champ confirm n'est pas exactement true. | Renvoyez la requête avec confirm: true pour accuser réception du caractère irréversible. |
| 401 missing_api_key | Aucun en-tête Authorization fourni. | Ajoutez Authorization: Bearer cof_live_.... |
| 401 invalid_api_key | Préfixe de clé invalide, clé introuvable ou inactive. | Vérifiez la clé ou générez-en une nouvelle sur app.coffrify.com/developer. |
| 403 scope_missing | Le jeton ne porte pas le scope gdpr:request. | Générez une clé API avec le scope gdpr:request. |
| 404 not_found | Le propriétaire de l'espace de travail est introuvable. | Vérifiez que l'espace de travail associé à la clé possède bien un propriétaire (owner_id). |
| 429 rate_limited | Quota de requêtes par minute dépassé pour l'espace de travail. | Patientez le délai indiqué dans l'en-tête Retry-After avant de réessayer. |
| 500 internal_error | Erreur interne (ex. service indisponible). | Réessayez ; si le problème persiste, contactez le support avec le request_id. |
Voir aussi
- POST /v1/gdpr/export — exporter les données RGPD de l'espace de travail (Art. 20, portabilité).
- POST /v1/gdpr/deletion — cette demande alimente la console d'administration RGPD/DSAR où elle est validée puis exécutée.