L'endpoint /v1/rooms/{id}/members vous permet de contrôler entièrement l'accès à une Data Room depuis votre code : récupérer la liste des participants actifs, envoyer une invitation par magic link à une adresse e-mail, et révoquer l'accès d'un membre. La révocation est douce (soft-delete) : le champ revoked_at est renseigné, l'enregistrement conservé pour l'audit. Une re-invitation du même e-mail réactive le membre sans créer de doublon.
/v1/rooms/{id}/membersListe tous les membres actifs et révoqués d'une Data Room appartenant à votre workspace.POST/v1/rooms/{id}/membersInvite un collaborateur à la Data Room via un magic link (email + rôle). Réactive le membre s'il était précédemment révoqué./v1/rooms/{id}/members?id={memberId}Révoque l'accès d'un membre identifié par son ID. L'enregistrement est conservé pour l'audit (soft-delete via revoked_at).Authentification
Toutes les requêtes exigent une clé API au format cof_live_… (production) ou cof_test_… (sandbox) dans l'en-tête Authorization: Bearer <clé>. Le scope requis varie selon la méthode : la lecture (GET) nécessite rooms:read, tandis que l'invitation et la révocation (POST, DELETE) nécessitent rooms:manage. Assurez-vous que la clé utilisée possède les bons scopes dans la console Coffrify.
Corps de la requête (POST)
Une invitation associe un e-mail à un rôle ; un magic link est généré automatiquement. Le tableau ci-dessous liste les champs acceptés.
| Champ | Type | Requis | Description |
|---|---|---|---|
| string | Oui | Adresse e-mail du collaborateur à inviter. Normalisée en minuscules. Doit respecter le format user@domain.tld. | |
| role | string | Non | Rôle attribué dans la Data Room. Valeur libre (ex. viewer, reviewer, admin). Par défaut : viewer. |
Exemples de requêtes
Les exemples ci-dessous listent les membres, en invitent un nouveau, puis révoquent un accès. Choisissez votre langage.
Réponses
GET retourne un objet list contenant le tableau data des membres, triés par rôle décroissant. POST retourne le membre créé ou réactivé (HTTP 201) avec le magic_link à transmettre au collaborateur. DELETE retourne { "ok": true } (HTTP 200).
Erreurs
Les erreurs concernent surtout une room introuvable, un membre déjà présent ou un scope insuffisant. Le tableau ci-dessous indique la résolution.
| HTTP | Code | Quand | Résolution |
|---|---|---|---|
| 400 | validation_error | Le champ email est absent, mal formé ou le paramètre id est manquant sur DELETE. | Vérifiez que email respecte le format user@domain.tld et que ?id= est bien fourni. |
| 401 | invalid_api_key | La clé API est absente, expirée ou révoquée. | Utilisez une clé cof_live_… ou cof_test_… valide depuis la console Coffrify. |
| 403 | scope_missing | La clé n'a pas le scope rooms:read (GET) ou rooms:manage (POST/DELETE). | Régénérez la clé en cochant les scopes nécessaires. |
| 404 | not_found | La Data Room {id} n'existe pas ou n'appartient pas à votre workspace. | Vérifiez l'identifiant de la room et assurez-vous d'utiliser la bonne clé. |
| 409 | validation_error | Invitation en doublon pour le même e-mail (le champ duplicate est détecté en base). | L'API réutilise automatiquement l'invitation existante : ce cas ne devrait pas survenir via /v1/rooms/{id}/members. |
| 429 | rate_limited | Le quota par minute du workspace est dépassé. | Attendez l'expiration indiquée dans l'en-tête Retry-After avant de ré-essayer. |
| 500 | internal_error | Erreur interne Supabase ou indisponibilité temporaire. | Réessayez après quelques secondes. Si le problème persiste, consultez le statut sur status.coffrify.com. |
Voir aussi
- Créer et lister les Data Rooms
- Ajouter des documents à une Data Room
- Invitations workspace (membres internes)
- Authentification et scopes API
- Référence complète : rooms members