Chaque clé API Coffrify porte un ensemble de scopes qui décrivent précisément ce qu'elle a le droit de faire. Un scope autorise une action sur une famille de ressources, et l'API refuse toute requête dont le scope requis n'est pas couvert par la clé. Cette page décrit la forme des scopes, la manière dont les caractères génériques (* et resource:*) élargissent une autorisation, les grandes familles disponibles, et la liste des scopes à risque élevé qui exigent une étape de vérification renforcée (MFA) au moment de créer la clé.
La forme ressource:action
Un scope suit toujours la forme ressource:action. La partie ressource désigne la famille concernée (transfers, webhooks, members, etc.) et la partie action décrit l'opération autorisée. Les actions les plus courantes sont read (lecture), write (création et modification) et manage (gestion complète, y compris la suppression et la configuration). Certaines familles ajoutent des actions spécifiques, comme download pour les transferts, invite pour les membres ou export pour l'audit et le RGPD.
transfers:readautorise la lecture des transferts.transfers:writeautorise la création et la modification des transferts.webhooks:manageautorise la gestion complète des endpoints de webhook.members:inviteautorise uniquement l'envoi d'invitations, sans gérer les membres existants.
Le wildcard * et resource:*
Deux formes génériques permettent d'élargir une autorisation sans énumérer chaque scope. Le wildcard global * satisfait n'importe quel scope requis : une clé qui le porte peut appeler tous les endpoints. Le wildcard de ressource resource:* satisfait toute action sur cette ressource : par exemple webhooks:* couvre webhooks:read et webhooks:manage. La vérification suit un ordre simple : le wildcard * d'abord, puis la correspondance exacte du scope demandé, puis le wildcard de ressource resource:*.
| Scope porté par la clé | Satisfait le scope requis | Ne satisfait pas |
|---|---|---|
* | tous les scopes | - |
transfers:* | transfers:read, transfers:write, transfers:download | collections:read |
collections:* | collections:read, collections:write, collections:manage | transfers:read |
transfers:read | transfers:read | transfers:write |
Les grandes familles de scopes
Les scopes se regroupent par famille. Le tableau ci-dessous récapitule les familles principales et les actions typiques de chacune. La lecture (read) reste toujours l'action la moins privilégiée, tandis que manage confère le contrôle complet de la ressource.
| Famille | Scopes typiques | Couvre |
|---|---|---|
| Transferts | transfers:read, transfers:write, transfers:download | Création, lecture et téléchargement des transferts de fichiers |
| Collections | collections:read, collections:write, collections:manage | Espaces regroupant plusieurs transferts |
| Réception | intake:read, intake:write | Points de réception (intakes) et documents déposés |
| Webhooks | webhooks:read, webhooks:manage | Endpoints de notification et leurs secrets de signature |
| Membres | members:read, members:invite, members:manage | Membres du workspace et invitations |
| Audit | audit:read, audit:export | Journal d'audit et export des évènements |
| Analytics | analytics:read | Statistiques d'usage et monitoring |
| Facturation | billing:read | Abonnement, consommation et factures |
| RGPD | gdpr:export | Export et accès aux données personnelles |
| Branding | branding:manage | Personnalisation de la marque du workspace |
| Domaines | domains:manage | Domaines et sous-domaines personnalisés |
| Sessions | sessions:read, sessions:manage | Sessions actives et révocation |
Scopes à risque élevé et étape MFA
Certains scopes confèrent un contrôle administratif sur le workspace : gestion des membres, des sessions, des clés API, des domaines, ou export de données sensibles. Créer une clé qui contient l'un de ces scopes à risque élevé exige une étape de vérification supplémentaire : vous devez fournir un code MFA dans le champ mfa_code de la requête POST /v1/api-keys. Sans ce code, la création est refusée.
members:manage: gérer les membres du workspace.sessions:manage: révoquer des sessions actives.api_keys:manage: créer, faire tourner et supprimer des clés API.workspace:manage: modifier les paramètres du workspace.domains:manage: gérer les domaines personnalisés.audit:export: exporter le journal d'audit.gdpr:export: exporter des données personnelles.workspace:billing: gérer la facturation et l'abonnement.
/v1/api-keysCrée une clé restreinte. Un code MFA est requis dès qu'un scope à risque élevé est demandé.Une clé restreinte (key_type à restricted, préfixe cof_rk_) n'a que les scopes que vous lui accordez. À l'inverse, une clé complète (key_type à full) couvre tous les scopes, ce qui revient à porter le wildcard *. Choisissez le type restreint dès que la clé sort de votre périmètre de confiance, et combinez-le avec une liste de scopes explicite pour rester au plus près du moindre privilège.