Requête exemple
Réponse exemple
Met à jour une data room M&A existante du workspace actif. Seuls les champs présents dans le corps sont modifiés (mise à jour partielle). Le passage au statut active est soumis au quota de data rooms actives du plan (Free 0, Pro 1, Ultra 5) : si le quota est atteint, la requête est rejetée en 402. Le passage à closed renseigne automatiquement closed_at, et le passage à archived renseigne archived_at. Aucune suppression physique n'est exposée : une data room porte un audit trail juridique et se gère par changement de statut. Chaque mise à jour réussie écrit une entrée d'audit dataroom.updated listant les champs modifiés.
/v1/workspace/datarooms/{id}Mise à jour partielle d'une data room du workspace courant.Authentification
Cette route exige une session utilisateur valide (cookie de session Supabase), aucun scope de clé API spécifique, mais un rôle suffisant dans le workspace : l'utilisateur doit être membre actif avec le rôle owner, admin ou member. Un rôle insuffisant (par exemple viewer) renvoie 403. L'accès reste borné au workspace actif résolu via le cookie cf-workspace-id.
Corps de la requête
| Champ | Type | Requis | Description |
|---|---|---|---|
| name | string | Non | Nom de la data room (tronqué à 200 caractères). Doit être non vide une fois nettoyé, sinon 400. |
| target_company | string | Non | Société cible (tronquée à 200 caractères). |
| description | string | Non | Description (tronquée à 2000 caractères). |
| status | string | Non | Statut : draft, active, archived ou closed. Toute autre valeur renvoie 400. Le passage à active consomme un slot de quota. |
| expires_at | string (ISO 8601) | Non | Date d'expiration. Doit être une date valide et située dans le futur (tolérance de 60 s), sinon 400. |
| nda_required | boolean | Non | Indique si une NDA est requise avant l'accès viewer (coercé en booléen). |
| nda_template_text | string | Non | Texte du modèle de NDA (tronqué à 50000 caractères). |
Au moins un champ modifiable doit être fourni : un corps sans champ exploitable renvoie 400 (No fields to update). Un corps JSON malformé renvoie 400 (Invalid JSON).
Réponse
La réponse 200 renvoie la data room mise à jour avec l'ensemble de ses colonnes (sélection * après update), incluant les champs modifiés et les horodatages dérivés (closed_at / archived_at) le cas échéant. Le corps ne contient pas le bloc stats du GET.
Erreurs
| Code | Quand | Résolution |
|---|---|---|
| 400 | JSON invalide, name vide, status non reconnu, expires_at invalide ou passé, ou aucun champ à mettre à jour. | Corrigez le corps : statut parmi draft/active/archived/closed, date d'expiration future, au moins un champ valide. |
| 401 | Aucune session utilisateur valide (Unauthorized). | Authentifiez-vous et transmettez le cookie de session valide. |
| 402 | Passage à active alors que le quota de data rooms actives du plan est atteint (quota_exceeded). | Archivez/clôturez une autre data room active ou mettez à niveau le plan (upgrade_url). |
| 403 | Rôle insuffisant dans le workspace (Insufficient permissions). | Demandez un rôle owner, admin ou member actif sur le workspace. |
| 404 | Aucun workspace actif (No active workspace) ou data room hors workspace (Not found). | Vérifiez le workspace actif et l'id de la data room. |
| 500 | Échec de la mise à jour en base. | Réessayez ; si l'erreur persiste, contactez le support avec le message renvoyé. |
Voir aussi
- GET /v1/workspace/datarooms/{id} — récupérer le détail et les statistiques de la data room.
- POST /v1/workspace/datarooms — créer une nouvelle data room.
- POST /v1/workspace/datarooms/{id}/viewers — inviter un viewer (soumis au quota de viewers par data room).