Requête exemple
Réponse exemple
L'endpoint `POST /v1/notifications/clear` marque comme archivées toutes les notifications encore actives du workspace authentifié. Concrètement, il pose un horodatage `archived_at` (instant courant) sur chaque notification dont archived_at est nul, et fixe une date de rétention `archived_until` à 30 jours dans le futur. L'opération porte sur l'ensemble du workspace en un seul appel (pas de ciblage par notification) et renvoie le nombre exact de lignes affectées.
Le comportement notable: l'appel est idempotent côté contenu. Si toutes les notifications sont déjà archivées, l'opération s'exécute sans erreur et renvoie simplement cleared: 0. Aucun corps de requête n'est lu ni requis.
Authentification
L'appel exige une clé API valide portant le scope `notifications:read`. Grâce à la hiérarchie de scopes, le scope plus large `workspace:manage` satisfait également cette exigence, de même qu'une clé wildcard *****. L'authentification se fait via l'en-tête Authorization: Bearer cof_live_... (ou cof_test_..., ou un token MCP cof_mcp_live_...). Les sessions dashboard (cookie Supabase) sont acceptées et disposent implicitement du scope *.
Corps de la requête
Aucun champ n'est attendu. Le handler n'effectue aucune lecture ni validation du corps; vous pouvez envoyer un corps vide. Tous les champs ci-dessous sont ignorés s'ils sont fournis.
| Champ | Type | Requis | Description |
|---|---|---|---|
| (aucun) | — | Non | Le point de terminaison n'attend ni ne lit aucun champ. Le périmètre est déduit du workspace de la clé API. |
Réponse
En cas de succès, l'API renvoie un statut 200 avec deux champs. `cleared` (entier) est le nombre de notifications nouvellement archivées par cet appel (0 si tout était déjà archivé). `archived_until` (chaîne ISO 8601) est la date jusqu'à laquelle les notifications archivées sont conservées, soit 30 jours après l'instant de l'appel.
| Champ | Type | Description |
|---|---|---|
| cleared | integer | Nombre de notifications archivées par cet appel. |
| archived_until | string (ISO 8601) | Date de fin de rétention des notifications archivées (J+30). |
Erreurs
| Code | Quand | Résolution |
|---|---|---|
| 401 missing_api_key | En-tête Authorization absent et aucune session valide. | Ajoutez Authorization: Bearer cof_live_.... |
| 401 invalid_api_key | Préfixe de clé non reconnu, clé inexistante ou inactive. | Vérifiez la clé ou émettez-en une nouvelle sur app.coffrify.com/developer. |
| 401 revoked_api_key / expired_api_key | Clé révoquée ou expirée. | Régénérez une clé valide. |
| 403 scope_missing | La clé ne porte pas notifications:read (ni workspace:manage/*). | Émettez une clé avec le scope requis. |
| 403 ip_not_allowed | IP appelante hors de l'allowlist de la clé. | Appelez depuis une IP autorisée ou ajustez l'allowlist. |
| 429 rate_limited | Quota de requêtes du workspace dépassé sur les endpoints d'écriture. | Respectez l'en-tête Retry-After puis réessayez. |
| 500 internal_error | Échec de la mise à jour en base lors de l'archivage. | Réessayez; si le problème persiste, contactez le support avec le request_id. |
Voir aussi
- Lister les notifications — GET /v1/notifications pour récupérer les notifications actives avant de les vider.
- Marquer comme lue — endpoints de notification individuels pour un archivage ciblé plutôt que global.
- Webhooks —
notifications:readpartage la surface de gestionworkspace:manageavec la configuration des événements.