Référence APIInviter un membre dans une salle
POST/v1/rooms/{id}/members

Inviter un membre dans une salle

Crée (ou réactive) un membre de salle et renvoie un lien magique d'accès, avec envoi d'e-mail au mieux.

1 min de lectureTélécharger en PDF

Requête exemple

{
"role": "viewer",
"email": "avocat@cabinet-durand.fr"
}

Réponse exemple

{
"id": "c7e2b914-0a3d-4f88-9c61-2b5e7a4d1f30",
"role": "viewer",
"email": "avocat@cabinet-durand.fr",
"magic_link": "https://files.coffrify.com/room/projet-fusion-acme?t=9f8e7d6c5b4a3210fedcba9876543210"
}
POST/v1/rooms/{id}/membersInvite un membre par e-mail et génère un lien magique d'accès à la salle.

Invite une personne dans une salle de partage à partir de son adresse e-mail. L'endpoint est idempotent par e-mail : s'il existe déjà un membre avec cette adresse dans la salle, son rôle est mis à jour, sa révocation éventuelle est annulée (revoked_at remis à null) et son jeton d'invitation existant est réutilisé ; sinon un nouveau membre est créé avec un nouveau jeton. Dans tous les cas, l'endpoint renvoie un lien magique (https://files.coffrify.com/room/{slug}?t={token}) et déclenche, au mieux, un e-mail d'invitation. L'envoi d'e-mail est best-effort : son échec n'interrompt jamais la requête.

Authentification

Requiert une clé API valide disposant du scope rooms:manage. Un scope englobant (rooms:* ou *) convient également. Sans ce scope, l'appel renvoie un 403 scope_missing.

Corps de la requête

ChampTypeRequisDescription
emailstringOuiAdresse e-mail de l'invité. Normalisée (mise en minuscules et détourée) et validée par expression régulière ; une adresse invalide renvoie un 400.
rolestringNonRôle attribué au membre. Valeur par défaut : viewer si omis.

Réponse

En cas de succès, la réponse a un statut 201 et contient id (identifiant du membre créé ou réactivé), email, role et magic_link. Le magic_link est l'URL d'accès direct à la salle, à transmettre à l'invité : il combine le slug de la salle et le jeton d'invitation opaque. Cette URL est aussi insérée dans l'e-mail d'invitation envoyé en arrière-plan.

Erreurs

CodeQuandRésolution
400 validation_erroremail absent ou non conforme au format attendu.Fournissez une adresse e-mail valide dans le corps JSON.
401 invalid_api_keyClé API absente, malformée ou non reconnue.Vérifiez l'en-tête Authorization.
403 scope_missingLe jeton ne porte pas le scope rooms:manage.Utilisez une clé incluant rooms:manage.
404 not_foundAucune salle avec cet id dans l'espace de travail du jeton.Vérifiez l'id de la salle et l'espace de travail de la clé.
429 rate_limitedQuota de requêtes en écriture par minute dépassé.Respectez l'en-tête Retry-After.
500 internal_errorÉchec de l'insertion ou de la mise à jour en base.Réessayez ; conservez le X-Request-Id pour le support.

Voir aussi