Requête exemple
Réponse exemple
POST/v1/workspace/datarooms/{id}/documentsAjoute un document à une data room en le plaçant en fin de liste.Rattache un document à la data room {id}. La source peut être un fichier du coffre (vault_file), un fichier issu d'un transfert (transfer_file) ou un upload direct (upload) ; dans ce dernier cas, source_id correspond à la clé d'objet de stockage. Le nouvel order_index est calculé automatiquement comme max(order_index) + 1, plaçant le document en fin de liste. Une entrée d'audit dataroom.document_added est écrite en mode best-effort (elle ne bloque jamais la création). En cas de succès, la réponse est renvoyée avec le statut 201.
Authentification
Cet endpoint utilise la session Supabase (cookie de connexion) : aucun scope de clé API spécifique n'est requis, mais une session valide l'est. Le workspace est résolu via le cookie cf-workspace-id (sinon le premier workspace actif). L'utilisateur doit avoir l'un des rôles de gestion owner, admin ou member ; tout autre rôle reçoit une erreur 403.
Corps de la requête
| Champ | Type | Requis | Description |
|---|---|---|---|
| source_type | string | oui | Origine du document : vault_file, transfer_file ou upload. Toute autre valeur renvoie 400. |
| source_id | string | oui | UUID du fichier coffre/transfert ou clé d'objet de l'upload. Vide ou non-chaîne renvoie 400. |
| title | string | non | Titre affiché, tronqué à 200 caractères. À défaut, source_id est utilisé. |
| description | string | non | Description libre, tronquée à 1000 caractères ; null si absente/vide. |
| mime_type | string | non | Type MIME, tronqué à 200 caractères ; null si absent. |
| size_bytes | number | non | Taille en octets (entier ≥ 0) ; toute autre valeur est ignorée et stockée null. |
| sha256 | string | non | Empreinte SHA-256 (64 caractères hexadécimaux) ; toute valeur non conforme est ignorée et stockée null. |
| watermark_required | boolean | non | Filigrane requis. Vaut true par défaut ; seul false désactive le filigrane. |
Réponse
La ligne complète du document créé dans coffrify_dataroom_documents, avec son id généré, l'order_index attribué (fin de liste), les champs normalisés (title, description, mime_type, size_bytes, sha256, watermark_required) et added_by renseigné avec l'utilisateur courant.
Erreurs
| Code | Quand | Résolution |
|---|---|---|
| 400 | Corps JSON invalide (Invalid JSON), source_type non reconnu (Invalid source_type) ou source_id manquant (source_id required). | Vérifiez le format du JSON, l'une des trois valeurs de source_type et la présence d'un source_id non vide. |
| 401 | Aucune session utilisateur valide (Unauthorized). | Authentifiez l'utilisateur via une session Supabase active. |
| 403 | Rôle insuffisant (Insufficient permissions). | Utilisez un compte ayant le rôle owner, admin ou member dans le workspace. |
| 404 | Aucun workspace actif (No active workspace) ou data room introuvable / hors du workspace (Not found). | Vérifiez le workspace actif et que {id} appartient à ce workspace. |
| 500 | Échec d'insertion en base. | Réessayez ; si l'erreur persiste, contactez le support avec le message renvoyé. |
Voir aussi
- GET /v1/workspace/datarooms/{id}/documents : lister les documents existants.
- GET /v1/workspace/datarooms/{id} : récupérer les métadonnées de la data room.
- GET /v1/workspace/datarooms : lister les data rooms du workspace.